| library; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/enhanced_enums/missed_checks.dart:10:6: Error: Conflicts with type variable 'values'. |
| // enum E2<values> { |
| // ^^^^^^ |
| // pkg/front_end/testcases/enhanced_enums/missed_checks.dart:10:9: Context: This is the type variable. |
| // enum E2<values> { |
| // ^^^^^^ |
| // |
| // pkg/front_end/testcases/enhanced_enums/missed_checks.dart:15:3: Error: Conflicts with type variable 'element'. |
| // element; // Error. |
| // ^^^^^^^ |
| // pkg/front_end/testcases/enhanced_enums/missed_checks.dart:14:9: Context: This is the type variable. |
| // enum E3<element> { |
| // ^^^^^^^ |
| // |
| // pkg/front_end/testcases/enhanced_enums/missed_checks.dart:18:6: Error: The name 'values' is not a valid name for an enum. Try using a different name. |
| // enum values { // Error. |
| // ^^^^^^ |
| // |
| // pkg/front_end/testcases/enhanced_enums/missed_checks.dart:34:16: Error: A concrete instance member named '==' can't be inherited from 'SuperclassWithEquals' in a class that implements 'Enum'. |
| // abstract class A1 extends SuperclassWithEquals implements Enum {} // Error. |
| // ^ |
| // |
| // pkg/front_end/testcases/enhanced_enums/missed_checks.dart:36:16: Error: A concrete instance member named 'hashCode' can't be inherited from 'SuperclassWithHashCode' in a class that implements 'Enum'. |
| // abstract class A2 extends SuperclassWithHashCode implements Enum {} // Error. |
| // ^ |
| // |
| // pkg/front_end/testcases/enhanced_enums/missed_checks.dart:38:16: Error: A concrete instance member named 'values' can't be inherited from 'SuperclassWithValues' in a class that implements 'Enum'. |
| // abstract class A3 extends SuperclassWithValues implements Enum {} // Error. |
| // ^ |
| // |
| // pkg/front_end/testcases/enhanced_enums/missed_checks.dart:19:3: Error: Couldn't find constructor 'values'. |
| // element; |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| |
| class E1 extends core::_Enum /*isEnum*/ { |
| static const field core::List<self::E1> values = #C4; |
| enum-element static const field self::E1 element = #C3; |
| const synthetic constructor •(core::int #index, core::String #name) → self::E1 |
| : super core::_Enum::•(#index, #name) |
| ; |
| method _enumToString() → core::String |
| return "E1.${this.{core::_Enum::_name}{core::String}}"; |
| } |
| class E2<values extends core::Object? = dynamic> extends core::_Enum /*isEnum*/ { |
| static const field core::List<self::E2<dynamic>> values = #C6; |
| enum-element static const field self::E2<dynamic> element = #C5; |
| const synthetic constructor •(core::int #index, core::String #name) → self::E2<self::E2::values%> |
| : super core::_Enum::•(#index, #name) |
| ; |
| method _enumToString() → core::String |
| return "E2.${this.{core::_Enum::_name}{core::String}}"; |
| } |
| class E3<element extends core::Object? = dynamic> extends core::_Enum /*isEnum*/ { |
| static const field core::List<self::E3<dynamic>> values = #C8; |
| enum-element static const field self::E3<dynamic> element = #C7; |
| const synthetic constructor •(core::int #index, core::String #name) → self::E3<self::E3::element%> |
| : super core::_Enum::•(#index, #name) |
| ; |
| method _enumToString() → core::String |
| return "E3.${this.{core::_Enum::_name}{core::String}}"; |
| } |
| class values extends core::_Enum /*isEnum*/ { |
| static const field core::List<self::values> values = #C10; |
| enum-element static const field self::values element = #C9; |
| const synthetic constructor •(core::int #index, core::String #name) → self::values |
| : super core::_Enum::•(#index, #name) |
| ; |
| method _enumToString() → core::String |
| return "values.${this.{core::_Enum::_name}{core::String}}"; |
| } |
| abstract class SuperclassWithEquals extends core::Object { |
| synthetic constructor •() → self::SuperclassWithEquals |
| : super core::Object::•() |
| ; |
| operator ==(core::Object other) → core::bool |
| return true; |
| } |
| abstract class SuperclassWithHashCode extends core::Object { |
| synthetic constructor •() → self::SuperclassWithHashCode |
| : super core::Object::•() |
| ; |
| get hashCode() → core::int |
| return 0; |
| } |
| abstract class SuperclassWithValues extends core::Object { |
| synthetic constructor •() → self::SuperclassWithValues |
| : super core::Object::•() |
| ; |
| get values() → Never |
| return throw 0; |
| } |
| abstract class A1 extends self::SuperclassWithEquals implements core::Enum { |
| synthetic constructor •() → self::A1 |
| : super self::SuperclassWithEquals::•() |
| ; |
| } |
| abstract class A2 extends self::SuperclassWithHashCode implements core::Enum { |
| synthetic constructor •() → self::A2 |
| : super self::SuperclassWithHashCode::•() |
| ; |
| } |
| abstract class A3 extends self::SuperclassWithValues implements core::Enum { |
| synthetic constructor •() → self::A3 |
| : super self::SuperclassWithValues::•() |
| ; |
| } |
| static method main() → dynamic {} |
| |
| constants { |
| #C1 = 0 |
| #C2 = "element" |
| #C3 = self::E1 {index:#C1, _name:#C2} |
| #C4 = <self::E1>[#C3] |
| #C5 = self::E2<dynamic> {index:#C1, _name:#C2} |
| #C6 = <self::E2<dynamic>>[#C5] |
| #C7 = self::E3<dynamic> {index:#C1, _name:#C2} |
| #C8 = <self::E3<dynamic>>[#C7] |
| #C9 = self::values {index:#C1, _name:#C2} |
| #C10 = <self::values>[#C9] |
| } |
| |
| |
| Constructor coverage from constants: |
| org-dartlang-testcase:///missed_checks.dart: |
| - E1. (from org-dartlang-testcase:///missed_checks.dart:5:6) |
| - _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart) |
| - Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart) |
| - E2. (from org-dartlang-testcase:///missed_checks.dart:10:6) |
| - E3. (from org-dartlang-testcase:///missed_checks.dart:14:6) |
| - values. (from org-dartlang-testcase:///missed_checks.dart:18:6) |