blob: a977d9288d8719584175c7e070e0b2ec57bef08f [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:9:14: Error: 'staticMethod' is already declared in this scope.
// static int staticMethod() => 2;
// ^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd/duplicates_static.dart:8:14: Context: Previous declaration of 'staticMethod'.
// static int staticMethod() => 1;
// ^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:12:18: Error: 'staticGetter' is already declared in this scope.
// static int get staticGetter => 2;
// ^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd/duplicates_static.dart:11:18: Context: Previous declaration of 'staticGetter'.
// static int get staticGetter => 1;
// ^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:18:19: Error: 'staticSetter' is already declared in this scope.
// static void set staticSetter(value) {
// ^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd/duplicates_static.dart:14:19: Context: Previous declaration of 'staticSetter'.
// static void set staticSetter(value) {
// ^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:23:14: Error: 'staticField' is already declared in this scope.
// static int staticField = 2;
// ^^^^^^^^^^^
// pkg/front_end/testcases/nnbd/duplicates_static.dart:22:14: Context: Previous declaration of 'staticField'.
// static int staticField = 1;
// ^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:48:20: Error: 'staticDuplicateFieldAndSetter' is already declared in this scope.
// static final int staticDuplicateFieldAndSetter = 2;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd/duplicates_static.dart:47:20: Context: Previous declaration of 'staticDuplicateFieldAndSetter'.
// static final int staticDuplicateFieldAndSetter = 1;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:58:19: Error: 'staticFieldAndDuplicateSetter' is already declared in this scope.
// static void set staticFieldAndDuplicateSetter(int value) {
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd/duplicates_static.dart:54:19: Context: Previous declaration of 'staticFieldAndDuplicateSetter'.
// static void set staticFieldAndDuplicateSetter(int value) {
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:63:20: Error: 'staticDuplicateFieldAndDuplicateSetter' is already declared in this scope.
// static final int staticDuplicateFieldAndDuplicateSetter = 2;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd/duplicates_static.dart:62:20: Context: Previous declaration of 'staticDuplicateFieldAndDuplicateSetter'.
// static final int staticDuplicateFieldAndDuplicateSetter = 1;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:68:19: Error: 'staticDuplicateFieldAndDuplicateSetter' is already declared in this scope.
// static void set staticDuplicateFieldAndDuplicateSetter(int value) {
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd/duplicates_static.dart:64:19: Context: Previous declaration of 'staticDuplicateFieldAndDuplicateSetter'.
// static void set staticDuplicateFieldAndDuplicateSetter(int value) {
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:26:19: Error: Conflicts with member 'staticFieldAndSetter1'.
// static void set staticFieldAndSetter1(int value) {
// ^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:25:14: Error: Conflicts with setter 'staticFieldAndSetter1'.
// static int staticFieldAndSetter1 = 1;
// ^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:30:19: Error: Conflicts with member 'staticFieldAndSetter2'.
// static void set staticFieldAndSetter2(int value) {
// ^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:34:14: Error: Conflicts with setter 'staticFieldAndSetter2'.
// static int staticFieldAndSetter2 = 1;
// ^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:73:19: Error: Conflicts with member 'staticMethodAndSetter1'.
// static void set staticMethodAndSetter1(int value) {
// ^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:72:14: Error: Conflicts with setter 'staticMethodAndSetter1'.
// static int staticMethodAndSetter1() => 1;
// ^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:77:19: Error: Conflicts with member 'staticMethodAndSetter2'.
// static void set staticMethodAndSetter2(int value) {
// ^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:81:14: Error: Conflicts with setter 'staticMethodAndSetter2'.
// static int staticMethodAndSetter2() => 1;
// ^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:73:19: Error: 'staticMethodAndSetter1' is already declared in this scope.
// static void set staticMethodAndSetter1(int value) {
// ^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd/duplicates_static.dart:72:14: Context: Previous declaration of 'staticMethodAndSetter1'.
// static int staticMethodAndSetter1() => 1;
// ^^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:81:14: Error: 'staticMethodAndSetter2' is already declared in this scope.
// static int staticMethodAndSetter2() => 1;
// ^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd/duplicates_static.dart:77:19: Context: Previous declaration of 'staticMethodAndSetter2'.
// static void set staticMethodAndSetter2(int value) {
// ^^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:85:9: Error: Can't use 'staticMethod' because it is declared more than once.
// Class.staticMethod();
// ^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:86:10: Error: Can't use 'staticMethod' because it is declared more than once.
// (Class.staticMethod)();
// ^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:87:9: Error: Can't use 'staticGetter' because it is declared more than once.
// Class.staticGetter;
// ^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:88:9: Error: Can't use 'staticSetter' because it is declared more than once.
// Class.staticSetter = 0;
// ^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:88:22: Error: Can't assign to this.
// Class.staticSetter = 0;
// ^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:89:9: Error: Can't use 'staticField' because it is declared more than once.
// Class.staticField;
// ^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:90:9: Error: Can't use 'staticField' because it is declared more than once.
// Class.staticField = 0;
// ^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:90:21: Error: Can't assign to this.
// Class.staticField = 0;
// ^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:91:9: Error: Can't use 'staticDuplicateFieldAndSetter' because it is declared more than once.
// Class.staticDuplicateFieldAndSetter;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:92:9: Error: Can't use 'staticDuplicateFieldAndSetter' because it is declared more than once.
// Class.staticDuplicateFieldAndSetter = 0;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:92:39: Error: Can't assign to this.
// Class.staticDuplicateFieldAndSetter = 0;
// ^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:94:9: Error: Setter not found: 'staticFieldAndDuplicateSetter'.
// Class.staticFieldAndDuplicateSetter = 0;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:95:9: Error: Can't use 'staticDuplicateFieldAndDuplicateSetter' because it is declared more than once.
// Class.staticDuplicateFieldAndDuplicateSetter;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:96:9: Error: Can't use 'staticDuplicateFieldAndDuplicateSetter' because it is declared more than once.
// Class.staticDuplicateFieldAndDuplicateSetter = 0;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:96:48: Error: Can't assign to this.
// Class.staticDuplicateFieldAndDuplicateSetter = 0;
// ^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:97:9: Error: Setter not found: 'staticMethodAndSetter1'.
// Class.staticMethodAndSetter1 = 0;
// ^^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/duplicates_static.dart:98:9: Error: Setter not found: 'staticMethodAndSetter2'.
// Class.staticMethodAndSetter2 = 0;
// ^^^^^^^^^^^^^^^^^^^^^^
//
import self as self;
import "dart:core" as core;
class Class extends core::Object {
static field core::int staticField = null;
static field core::int staticFieldAndSetter1 = 1;
static field core::int staticFieldAndSetter2 = 1;
late static final [setter] field core::int staticLateFinalFieldAndSetter1;
late static final [setter] field core::int staticLateFinalFieldAndSetter2;
static final field core::int staticDuplicateFieldAndSetter = null;
static final field core::int staticFieldAndDuplicateSetter = 1;
static final field core::int staticDuplicateFieldAndDuplicateSetter = null;
synthetic constructor •() self::Class
: super core::Object::•()
;
static method staticMethod() core::int
return 1;
static get staticGetter() core::int
return 1;
static set staticSetter(dynamic value) void {
self::result = 1;
}
static set staticFieldAndSetter1(core::int value) void {
self::result = 2;
}
static set staticFieldAndSetter2(core::int value) void {
self::result = 2;
}
static set staticLateFinalFieldAndSetter1(core::int value) void {
self::result = 2;
}
static set staticLateFinalFieldAndSetter2(core::int value) void {
self::result = 2;
}
static set staticDuplicateFieldAndSetter(core::int value) void {
self::result = 3;
}
static set staticFieldAndDuplicateSetter(core::int value) void {
self::result = 2;
}
static set staticDuplicateFieldAndDuplicateSetter(core::int value) void {
self::result = 3;
}
static method staticMethodAndSetter1() core::int
return 1;
static set staticMethodAndSetter1(core::int value) void {
self::result = 2;
}
static set staticMethodAndSetter2(core::int value) void {
self::result = 2;
}
static method staticMethodAndSetter2() core::int
return 1;
}
static field dynamic result;
static method test() dynamic {
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:85:9: Error: Can't use 'staticMethod' because it is declared more than once.
Class.staticMethod();
^^^^^^^^^^^^";
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:86:10: Error: Can't use 'staticMethod' because it is declared more than once.
(Class.staticMethod)();
^^^^^^^^^^^^".call();
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:87:9: Error: Can't use 'staticGetter' because it is declared more than once.
Class.staticGetter;
^^^^^^^^^^^^";
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:88:22: Error: Can't assign to this.
Class.staticSetter = 0;
^";
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:89:9: Error: Can't use 'staticField' because it is declared more than once.
Class.staticField;
^^^^^^^^^^^";
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:90:21: Error: Can't assign to this.
Class.staticField = 0;
^";
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:91:9: Error: Can't use 'staticDuplicateFieldAndSetter' because it is declared more than once.
Class.staticDuplicateFieldAndSetter;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:92:39: Error: Can't assign to this.
Class.staticDuplicateFieldAndSetter = 0;
^";
self::Class::staticFieldAndDuplicateSetter;
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:94:9: Error: Setter not found: 'staticFieldAndDuplicateSetter'.
Class.staticFieldAndDuplicateSetter = 0;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:95:9: Error: Can't use 'staticDuplicateFieldAndDuplicateSetter' because it is declared more than once.
Class.staticDuplicateFieldAndDuplicateSetter;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^";
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:96:48: Error: Can't assign to this.
Class.staticDuplicateFieldAndDuplicateSetter = 0;
^";
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:97:9: Error: Setter not found: 'staticMethodAndSetter1'.
Class.staticMethodAndSetter1 = 0;
^^^^^^^^^^^^^^^^^^^^^^";
invalid-expression "pkg/front_end/testcases/nnbd/duplicates_static.dart:98:9: Error: Setter not found: 'staticMethodAndSetter2'.
Class.staticMethodAndSetter2 = 0;
^^^^^^^^^^^^^^^^^^^^^^";
}
static method main() dynamic {
self::result = null;
self::Class::staticFieldAndSetter1 = 0;
self::expect(null, self::result);
self::expect(0, self::Class::staticFieldAndSetter1);
self::result = null;
self::Class::staticFieldAndSetter2 = 0;
self::expect(null, self::result);
self::expect(0, self::Class::staticFieldAndSetter2);
self::result = null;
self::Class::staticLateFinalFieldAndSetter1 = 0;
self::expect(null, self::result);
self::expect(0, self::Class::staticLateFinalFieldAndSetter1);
self::result = null;
self::Class::staticLateFinalFieldAndSetter2 = 0;
self::expect(null, self::result);
self::expect(0, self::Class::staticLateFinalFieldAndSetter2);
self::expect(1, self::Class::staticMethodAndSetter1());
self::expect(1, self::Class::staticMethodAndSetter2());
}
static method expect(dynamic expected, dynamic actual) dynamic {
if(!expected.{core::Object::==}(actual))
throw "Expected ${expected}, actual ${actual}";
}
static method throws(() dynamic f) dynamic {
try {
f.call();
}
on core::Object catch(final core::Object e) {
core::print(e);
return;
}
throw "Expected exception.";
}