Files
sdk/pkg/front_end/testcases/none/property_set.dart
T
Johnni Winther 5dbb6e245b [kernel,cfe,ddc] Add new method invocation node to package:kernel
This adds
* InstanceInvocation, DynamicInvocation, FunctionInvocation, and
   LocalFunctionInvocation, EqualsCall, and EqualsNull as a future
   replacement for MethodInvocation.
* InstanceGet, DynamicGet, InstanceTearOff, and FunctionTearOff as a
   future replacement for PropertyGet
* InstanceSet and DynamicSet as a future replacement of PropertySet
* StaticTearOff as an addition to StaticGet

TEST=pkg/front_end/test/binary_md_vm_tags_and_version_test.dart

This CL combines
* https://dart-review.googlesource.com/c/sdk/+/171729
* https://dart-review.googlesource.com/c/sdk/+/172649
* https://dart-review.googlesource.com/c/sdk/+/172650
* https://dart-review.googlesource.com/c/sdk/+/172651

using the initial encoding fo EqualsCall and EqualsNull

Change-Id: I98e020b5f2b405a812663bdcd2c05aba8efa74c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175480
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-12-14 10:55:48 +00:00

36 lines
848 B
Dart

// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE.md file.
class Class1 {
int field;
Class1(this.field);
method(o) {}
}
test(Class1 nonNullableClass1, Class1? nullableClass1, dynamic dyn,
Never never) {
print("InstanceSet");
nonNullableClass1.field = 42;
nullableClass1?.field = 42;
const int set_instance_field = nonNullableClass1.field = 42;
print("DynamicSet");
dyn.field = 42;
dyn?.field = 42;
const int set_dynamic_field = dyn.field = 42;
print("DynamicSet (Never)");
never.field = 42;
print("DynamicSet (Invalid)");
nonNullableClass1.method().field = 42;
print("DynamicSet (Unresolved)");
nonNullableClass1.unresolved = 42;
}
main() {}