| library /*isNonNullableByDefault*/; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/enhanced_enums/declared_equals.dart:8:16: Error: An enum can't declare a non-abstract member named '=='. |
| // bool operator==(Object other) => true; // Error. |
| // ^^ |
| // |
| 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}}"; |
| operator ==(core::Object other) → core::bool |
| ; |
| } |
| 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}}"; |
| abstract operator ==(core::Object other) → core::bool; |
| } |
| abstract class I3 extends core::Object { |
| synthetic constructor •() → self::I3 |
| ; |
| abstract operator ==(core::Object other) → core::bool; |
| } |
| class E3 extends core::_Enum implements self::I3 /*isEnum*/ { |
| static const field core::List<self::E3> values = const <self::E3>[self::E3::element]; |
| 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}}"; |
| } |
| static method main() → dynamic |
| ; |
| |
| |
| Extra constant evaluation status: |
| Evaluated: ListLiteral @ org-dartlang-testcase:///declared_equals.dart:5:6 -> ListConstant(const <E1*>[const E1{_Enum.index: 0, _Enum._name: "element"}]) |
| Evaluated: ConstructorInvocation @ org-dartlang-testcase:///declared_equals.dart:6:3 -> InstanceConstant(const E1{_Enum.index: 0, _Enum._name: "element"}) |
| Evaluated: ListLiteral @ org-dartlang-testcase:///declared_equals.dart:11:6 -> ListConstant(const <E2*>[const E2{_Enum.index: 0, _Enum._name: "element"}]) |
| Evaluated: ConstructorInvocation @ org-dartlang-testcase:///declared_equals.dart:12:3 -> InstanceConstant(const E2{_Enum.index: 0, _Enum._name: "element"}) |
| Evaluated: ListLiteral @ org-dartlang-testcase:///declared_equals.dart:21:6 -> ListConstant(const <E3*>[const E3{_Enum.index: 0, _Enum._name: "element"}]) |
| Evaluated: ConstructorInvocation @ org-dartlang-testcase:///declared_equals.dart:21:25 -> InstanceConstant(const E3{_Enum.index: 0, _Enum._name: "element"}) |
| Extra constant evaluation: evaluated: 21, effectively constant: 6 |