blob: 54187e24f11259cf1d22e64e122793984792c959 [file] [log] [blame]
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)