blob: 9546bffe216095b8c0eeede276cbac505bf1f592 [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/enhanced_enums/declared_index.dart:8:11: Error: An enum can't declare a non-abstract member named 'index'.
// int get index => 42; // Error.
// ^^^^^
//
// pkg/front_end/testcases/enhanced_enums/declared_index.dart:14:14: Error: An enum can't declare a non-abstract member named 'index'.
// String get index => "foo"; // Error.
// ^^^^^
//
// pkg/front_end/testcases/enhanced_enums/declared_index.dart:20:13: Error: An enum can't declare a non-abstract member named 'index'.
// final int index = 42; // Error.
// ^^^^^
//
// pkg/front_end/testcases/enhanced_enums/declared_index.dart:26:16: Error: An enum can't declare a non-abstract member named 'index'.
// List<String> index() => []; // Error.
// ^^^^^
//
// pkg/front_end/testcases/enhanced_enums/declared_index.dart:32:13: Error: An enum can't declare a non-abstract member named 'index'.
// Never get index => throw 42; // Error.
// ^^^^^
//
// pkg/front_end/testcases/enhanced_enums/declared_index.dart:38:22: Error: An enum can't declare a non-abstract member named 'index'.
// final int foo = 0, index = 1, bar = 2; // Error.
// ^^^^^
//
// pkg/front_end/testcases/enhanced_enums/declared_index.dart:64:18: Error: An enum can't declare a non-abstract member named 'index'.
// static int get index => 42; // Error.
// ^^^^^
//
// pkg/front_end/testcases/enhanced_enums/declared_index.dart:26:16: Error: Can't declare a member that conflicts with an inherited one.
// List<String> index() => []; // Error.
// ^^^^^
// sdk/lib/core/enum.dart:101:13: Context: This is the inherited member.
// final int index;
// ^^^^^
//
// pkg/front_end/testcases/enhanced_enums/declared_index.dart:64:18: Error: Can't declare a member that conflicts with an inherited one.
// static int get index => 42; // Error.
// ^^^^^
// sdk/lib/core/enum.dart:101:13: Context: This is the inherited member.
// final int index;
// ^^^^^
//
// pkg/front_end/testcases/enhanced_enums/declared_index.dart:70:19: Error: Can't declare a member that conflicts with an inherited one.
// static void set index(int value) {} // Error.
// ^^^^^
// sdk/lib/core/enum.dart:101:13: Context: This is the inherited member.
// final int index;
// ^^^^^
//
// pkg/front_end/testcases/enhanced_enums/declared_index.dart:74:3: Error: Can't declare a member that conflicts with an inherited one.
// index // Error.
// ^^^^^
// sdk/lib/core/enum.dart:101:13: Context: This is the inherited member.
// final int index;
// ^^^^^
//
// pkg/front_end/testcases/enhanced_enums/declared_index.dart:14:14: Error: The return type of the method 'E2.index' is 'String', which does not match the return type, 'int', of the overridden method, '_Enum.index'.
// Change to a subtype of 'int'.
// String get index => "foo"; // Error.
// ^
// sdk/lib/core/enum.dart:101:13: Context: This is the overridden method ('index').
// final int index;
// ^
//
// pkg/front_end/testcases/enhanced_enums/declared_index.dart:52:12: Error: The type 'int' of the inherited field '_Enum.index' is not a subtype of the type 'String' of the setter 'E8.index'.
// void set index(String value) {} // Error.
// ^^^^^
// sdk/lib/core/enum.dart:101:13: Context: This is the declaration of the field '_Enum.index'.
// final int index;
// ^^^^^
//
// pkg/front_end/testcases/enhanced_enums/declared_index.dart:58:14: Error: The return type of the method 'E9.index' is 'double', which does not match the return type, 'int', of the overridden method, '_Enum.index'.
// Change to a subtype of 'int'.
// double get index; // Error.
// ^
// sdk/lib/core/enum.dart:101:13: Context: This is the overridden method ('index').
// final int index;
// ^
//
// pkg/front_end/testcases/enhanced_enums/declared_index.dart:55:6: Error: The implementation of 'index' in the non-abstract class 'E9' does not conform to its interface.
// enum E9 {
// ^^
// sdk/lib/core/enum.dart:101:13: Context: The return type of the method '_Enum.index' is 'int', which does not match the return type, 'double', of the overridden method, 'E9.index'.
// Change to a subtype of 'double'.
// final int index;
// ^
// pkg/front_end/testcases/enhanced_enums/declared_index.dart:58:14: Context: This is the overridden method ('index').
// double get index; // Error.
// ^
//
// pkg/front_end/testcases/enhanced_enums/declared_index.dart:87:6: Error: The implementation of 'index' in the non-abstract class 'E14' does not conform to its interface.
// enum E14 implements I14 { element } // Error.
// ^^^
// sdk/lib/core/enum.dart:101:13: Context: The return type of the method '_Enum.index' is 'int', which does not match the return type, 'Never', of the overridden method, 'I14.index'.
// Change to a subtype of 'Never'.
// final int index;
// ^
// pkg/front_end/testcases/enhanced_enums/declared_index.dart:84:13: Context: This is the overridden method ('index').
// Never get index;
// ^
//
import self as self;
import "dart:core" as core;
class E1 extends core::_Enum /*isEnum*/ {
static const field core::List<self::E1> values = const <self::E1>[self::E1::element];
static const field self::E1 element = const self::E1::•(0, "element");
const constructor •(core::int index, core::String name) self::E1
: super core::_Enum::•(index, name)
;
method toString() core::String
return "E1.${this.{core::_Enum::_name}{core::String}}";
get index() core::int
;
}
class E2 extends core::_Enum /*isEnum*/ {
static const field core::List<self::E2> values = const <self::E2>[self::E2::element];
static const field self::E2 element = const self::E2::•(0, "element");
const constructor •(core::int index, core::String name) self::E2
: super core::_Enum::•(index, name)
;
method toString() core::String
return "E2.${this.{core::_Enum::_name}{core::String}}";
get index() core::String
;
}
class E3 extends core::_Enum /*isEnum*/ {
static const field core::List<self::E3> values = const <self::E3>[self::E3::element];
final field core::int index;
static const field self::E3 element = const self::E3::•(0, "element");
const constructor •(core::int index, core::String name) self::E3
: super core::_Enum::•(index, name)
;
method toString() core::String
return "E3.${this.{core::_Enum::_name}{core::String}}";
}
class E4 extends core::_Enum /*isEnum*/ {
static const field core::List<self::E4> values = const <self::E4>[self::E4::element];
static const field self::E4 element = const self::E4::•(0, "element");
const constructor •(core::int index, core::String name) self::E4
: super core::_Enum::•(index, name)
;
method toString() core::String
return "E4.${this.{core::_Enum::_name}{core::String}}";
method index() core::List<core::String>
;
}
class E5 extends core::_Enum /*isEnum*/ {
static const field core::List<self::E5> values = const <self::E5>[self::E5::element];
static const field self::E5 element = const self::E5::•(0, "element");
const constructor •(core::int index, core::String name) self::E5
: super core::_Enum::•(index, name)
;
method toString() core::String
return "E5.${this.{core::_Enum::_name}{core::String}}";
get index() Never
;
}
class E6 extends core::_Enum /*isEnum*/ {
static const field core::List<self::E6> values = const <self::E6>[self::E6::element];
final field core::int foo;
final field core::int index;
final field core::int bar;
static const field self::E6 element = const self::E6::•(0, "element");
const constructor •(core::int index, core::String name) self::E6
: super core::_Enum::•(index, name)
;
method toString() core::String
return "E6.${this.{core::_Enum::_name}{core::String}}";
}
class E7 extends core::_Enum /*isEnum*/ {
static const field core::List<self::E7> values = const <self::E7>[self::E7::element];
static const field self::E7 element = const self::E7::•(0, "element");
const constructor •(core::int index, core::String name) self::E7
: super core::_Enum::•(index, name)
;
method toString() core::String
return "E7.${this.{core::_Enum::_name}{core::String}}";
set index(core::int value) void
;
abstract get index() core::int;
}
class E8 extends core::_Enum /*isEnum*/ {
static const field core::List<self::E8> values = const <self::E8>[self::E8::element];
static const field self::E8 element = const self::E8::•(0, "element");
const constructor •(core::int index, core::String name) self::E8
: super core::_Enum::•(index, name)
;
method toString() core::String
return "E8.${this.{core::_Enum::_name}{core::String}}";
set index(core::String value) void
;
}
class E9 extends core::_Enum /*isEnum*/ {
static const field core::List<self::E9> values = const <self::E9>[self::E9::element];
static const field self::E9 element = const self::E9::•(0, "element");
const constructor •(core::int index, core::String name) self::E9
: super core::_Enum::•(index, name)
;
method toString() core::String
return "E9.${this.{core::_Enum::_name}{core::String}}";
abstract get index() core::double;
}
class E10 extends core::_Enum /*isEnum*/ {
static const field core::List<self::E10> values = const <self::E10>[self::E10::element];
static const field self::E10 element = const self::E10::•(0, "element");
const constructor •(core::int index, core::String name) self::E10
: super core::_Enum::•(index, name)
;
method toString() core::String
return "E10.${this.{core::_Enum::_name}{core::String}}";
static get index() core::int
;
}
class E11 extends core::_Enum /*isEnum*/ {
static const field core::List<self::E11> values = const <self::E11>[self::E11::element];
static const field self::E11 element = const self::E11::•(0, "element");
const constructor •(core::int index, core::String name) self::E11
: super core::_Enum::•(index, name)
;
method toString() core::String
return "E11.${this.{core::_Enum::_name}{core::String}}";
static set index(core::int value) void
;
}
class E12 extends core::_Enum /*isEnum*/ {
static const field core::List<self::E12> values = const <self::E12>[self::E12::index];
static const field self::E12 index = const self::E12::•(0, "index");
const constructor •(core::int index, core::String name) self::E12
: super core::_Enum::•(index, name)
;
method toString() core::String
return "E12.${this.{core::_Enum::_name}{core::String}}";
}
abstract class I13 extends core::Object {
synthetic constructor •() self::I13
;
abstract get index() core::int;
}
class E13 extends core::_Enum implements self::I13 /*isEnum*/ {
static const field core::List<self::E13> values = const <self::E13>[self::E13::element];
static const field self::E13 element = const self::E13::•(0, "element");
const constructor •(core::int index, core::String name) self::E13
: super core::_Enum::•(index, name)
;
method toString() core::String
return "E13.${this.{core::_Enum::_name}{core::String}}";
}
abstract class I14 extends core::Object {
synthetic constructor •() self::I14
;
abstract get index() Never;
}
class E14 extends core::_Enum implements self::I14 /*isEnum*/ {
static const field core::List<self::E14> values = const <self::E14>[self::E14::element];
static const field self::E14 element = const self::E14::•(0, "element");
const constructor •(core::int index, core::String name) self::E14
: super core::_Enum::•(index, name)
;
method toString() core::String
return "E14.${this.{core::_Enum::_name}{core::String}}";
abstract member-signature get index() Never; -> self::I14::index
}
static method main() dynamic
;
Extra constant evaluation status:
Evaluated: ListLiteral @ org-dartlang-testcase:///declared_index.dart:5:6 -> ListConstant(const <E1*>[const E1{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///declared_index.dart:6:3 -> InstanceConstant(const E1{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///declared_index.dart:11:6 -> ListConstant(const <E2*>[const E2{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///declared_index.dart:12:3 -> InstanceConstant(const E2{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///declared_index.dart:17:6 -> ListConstant(const <E3*>[const E3{E3.index: null, _Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///declared_index.dart:18:3 -> InstanceConstant(const E3{E3.index: null, _Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///declared_index.dart:23:6 -> ListConstant(const <E4*>[const E4{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///declared_index.dart:24:3 -> InstanceConstant(const E4{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///declared_index.dart:29:6 -> ListConstant(const <E5*>[const E5{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///declared_index.dart:30:3 -> InstanceConstant(const E5{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///declared_index.dart:35:6 -> ListConstant(const <E6*>[const E6{E6.foo: null, E6.index: null, E6.bar: null, _Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///declared_index.dart:36:3 -> InstanceConstant(const E6{E6.foo: null, E6.index: null, E6.bar: null, _Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///declared_index.dart:41:6 -> ListConstant(const <E7*>[const E7{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///declared_index.dart:42:3 -> InstanceConstant(const E7{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///declared_index.dart:49:6 -> ListConstant(const <E8*>[const E8{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///declared_index.dart:50:3 -> InstanceConstant(const E8{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///declared_index.dart:55:6 -> ListConstant(const <E9*>[const E9{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///declared_index.dart:56:3 -> InstanceConstant(const E9{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///declared_index.dart:61:6 -> ListConstant(const <E10*>[const E10{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///declared_index.dart:62:3 -> InstanceConstant(const E10{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///declared_index.dart:67:6 -> ListConstant(const <E11*>[const E11{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///declared_index.dart:68:3 -> InstanceConstant(const E11{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///declared_index.dart:73:6 -> ListConstant(const <E12*>[const E12{_Enum.index: 0, _Enum._name: "index"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///declared_index.dart:74:3 -> InstanceConstant(const E12{_Enum.index: 0, _Enum._name: "index"})
Evaluated: ListLiteral @ org-dartlang-testcase:///declared_index.dart:81:6 -> ListConstant(const <E13*>[const E13{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///declared_index.dart:81:27 -> InstanceConstant(const E13{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///declared_index.dart:87:6 -> ListConstant(const <E14*>[const E14{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///declared_index.dart:87:27 -> InstanceConstant(const E14{_Enum.index: 0, _Enum._name: "element"})
Extra constant evaluation: evaluated: 98, effectively constant: 28