blob: da36f49cd07599bf1415f570291c596bbc60e245 [file] [log] [blame]
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