c0361c291c
Previously one would for instance get an error when trying to expression
compile an expression like `Foo._private()` on a class like
```
class Foo {
static int _private() { return 42; }
}
int _private() { return 42; }
```
whereas the expression `_private()` would be fine.
This CL fixes that, so both expressions are accepted.
Change-Id: I959bd5bf8bf5770852add3b979c8382d005ecf41
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/204782
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
114 lines
4.3 KiB
YAML
114 lines
4.3 KiB
YAML
# Copyright (c) 2021, 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 file.
|
|
|
|
entry_point: "main_private.dart"
|
|
definitions: []
|
|
position: "main_private.dart"
|
|
expression: |
|
|
() {
|
|
// Class constructors.
|
|
Foo foo = new Foo();
|
|
assert(foo.what == 0);
|
|
foo = new Foo.publicNamed();
|
|
assert(foo.what == 1);
|
|
foo = new Foo._privateNamed();
|
|
assert(foo.what == 2);
|
|
|
|
// Class methods.
|
|
assert(foo.publicMethod() == 42);
|
|
assert(foo._privateMethod() == 43);
|
|
assert(Foo.publicStaticMethod() == 44);
|
|
assert(Foo._privateStaticMethod() == 45);
|
|
|
|
// Class fields.
|
|
assert(foo.publicField == 84);
|
|
foo.publicField = -84;
|
|
assert(foo.publicField == -84);
|
|
assert(foo._privateField == 85);
|
|
foo._privateField = -85;
|
|
assert(foo._privateField == -85);
|
|
assert(Foo.publicStaticField == 86);
|
|
Foo.publicStaticField = -86;
|
|
assert(Foo.publicStaticField == -86);
|
|
assert(Foo._privateStaticField == 87);
|
|
Foo._privateStaticField = -87;
|
|
assert(Foo._privateStaticField == -87);
|
|
|
|
// Class getters.
|
|
assert(foo.publicGetter == -1);
|
|
assert(foo._privateGetter == -2);
|
|
assert(Foo.publicStaticGetter == -3);
|
|
assert(Foo._privateStaticGetter == -4);
|
|
|
|
// Class setters.
|
|
foo.publicSetter = 42;
|
|
foo._privateSetter = 42;
|
|
Foo.publicStaticSetter = 42;
|
|
Foo._privateStaticSetter = 42;
|
|
|
|
// Extension methods.
|
|
assert(foo.publicPublicExtensionMethod() == 20);
|
|
assert(foo._publicPrivateExtensionMethod() == 21);
|
|
assert(PublicExtension.publicPublicStaticExtensionMethod() == 22);
|
|
assert(PublicExtension._publicPrivateStaticExtensionMethod() == 23);
|
|
assert(foo.privatePublicExtensionMethod() == 30);
|
|
assert(foo._privatePrivateExtensionMethod() == 31);
|
|
assert(_PrivateExtension.privatePublicStaticExtensionMethod() == 32);
|
|
assert(_PrivateExtension._privatePrivateStaticExtensionMethod() == 33);
|
|
|
|
// Extension fields.
|
|
assert(PublicExtension.publicPublicStaticExtensionField == 24);
|
|
PublicExtension.publicPublicStaticExtensionField = -24;
|
|
assert(PublicExtension.publicPublicStaticExtensionField == -24);
|
|
assert(PublicExtension._publicPrivateStaticExtensionField == 25);
|
|
PublicExtension._publicPrivateStaticExtensionField = -25;
|
|
assert(PublicExtension._publicPrivateStaticExtensionField == -25);
|
|
assert(_PrivateExtension.privatePublicStaticExtensionField == 34);
|
|
_PrivateExtension.privatePublicStaticExtensionField = -34;
|
|
assert(_PrivateExtension.privatePublicStaticExtensionField == -34);
|
|
assert(_PrivateExtension._privatePrivateStaticExtensionField == 35);
|
|
_PrivateExtension._privatePrivateStaticExtensionField = -35;
|
|
assert(_PrivateExtension._privatePrivateStaticExtensionField == -35);
|
|
|
|
// Extension getters.
|
|
assert(foo.publicPublicExtensionGetter == 26);
|
|
assert(foo._publicPrivateExtensionGetter == 27);
|
|
assert(PublicExtension.publicPublicStaticExtensionGetter == 28);
|
|
assert(PublicExtension._publicPrivateStaticExtensionGetter == 29);
|
|
assert(foo.privatePublicExtensionGetter == 36);
|
|
assert(foo._privatePrivateExtensionGetter == 37);
|
|
assert(_PrivateExtension.privatePublicStaticExtensionGetter == 38);
|
|
assert(_PrivateExtension._privatePrivateStaticExtensionGetter == 39);
|
|
|
|
// Extension setters.
|
|
foo.publicPublicExtensionSetter = 42;
|
|
foo._publicPrivateExtensionSetter = 42;
|
|
PublicExtension.publicPublicStaticExtensionSetter = 42;
|
|
PublicExtension._publicPrivateStaticExtensionSetter = 42;
|
|
foo.privatePublicExtensionSetter = 42;
|
|
foo._privatePrivateExtensionSetter = 42;
|
|
_PrivateExtension.privatePublicStaticExtensionSetter = 42;
|
|
_PrivateExtension._privatePrivateStaticExtensionSetter = 42;
|
|
|
|
// Top-level methods.
|
|
assert(publicTopLevelMethod() == 50);
|
|
assert(_privateTopLevelMethod() == 51);
|
|
|
|
// Top-level fields.
|
|
assert(publicTopLevelField == 52);
|
|
publicTopLevelField = -52;
|
|
assert(publicTopLevelField == -52);
|
|
assert(_privateTopLevelField == 53);
|
|
_privateTopLevelField = -53;
|
|
assert(_privateTopLevelField == -53);
|
|
|
|
// Top-level getters.
|
|
assert(publicTopLevelGetter == 54);
|
|
assert(_privateTopLevelGetter == 55);
|
|
|
|
// Top-level setters.
|
|
publicTopLevelSetter = 42;
|
|
_privateTopLevelSetter = 42;
|
|
}
|