library;
//
// Problems in library:
//
// pkg/front_end/testcases/enhanced_enums/abstract_members.dart:8:8: Error: Enums can't declare abstract members.
//   void foo(); // Error.
//        ^^^
//
// pkg/front_end/testcases/enhanced_enums/abstract_members.dart:14:11: Error: Enums can't declare abstract members.
//   int get foo; // Error.
//           ^^^
//
// pkg/front_end/testcases/enhanced_enums/abstract_members.dart:20:12: Error: Enums can't declare abstract members.
//   void set foo(int val); // Error.
//            ^^^
//
// pkg/front_end/testcases/enhanced_enums/abstract_members.dart:27:6: Error: The non-abstract class 'E4' is missing implementations for these members:
//  - InterfaceMethod.foo
// Try to either
//  - provide an implementation,
//  - inherit an implementation from a superclass or mixin,
//  - mark the class as abstract, or
//  - provide a 'noSuchMethod' implementation.
//
// enum E4 implements InterfaceMethod { // Error.
//      ^^
// pkg/front_end/testcases/enhanced_enums/abstract_members.dart:24:8: Context: 'InterfaceMethod.foo' is defined here.
//   void foo();
//        ^^^
//
// pkg/front_end/testcases/enhanced_enums/abstract_members.dart:35:6: Error: The non-abstract class 'E5' is missing implementations for these members:
//  - InterfaceGetter.foo
// Try to either
//  - provide an implementation,
//  - inherit an implementation from a superclass or mixin,
//  - mark the class as abstract, or
//  - provide a 'noSuchMethod' implementation.
//
// enum E5 implements InterfaceGetter { // Error.
//      ^^
// pkg/front_end/testcases/enhanced_enums/abstract_members.dart:32:11: Context: 'InterfaceGetter.foo' is defined here.
//   int get foo;
//           ^^^
//
// pkg/front_end/testcases/enhanced_enums/abstract_members.dart:43:6: Error: The non-abstract class 'E6' is missing implementations for these members:
//  - InterfaceSetter.foo=
// Try to either
//  - provide an implementation,
//  - inherit an implementation from a superclass or mixin,
//  - mark the class as abstract, or
//  - provide a 'noSuchMethod' implementation.
//
// enum E6 implements InterfaceSetter { // Error.
//      ^^
// pkg/front_end/testcases/enhanced_enums/abstract_members.dart:40:12: Context: 'InterfaceSetter.foo=' is defined here.
//   void set foo(int val);
//            ^^^
//
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];
  enum-element static const field self::E1 element = const self::E1::•(0, "element");
  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}}";
  abstract method foo() → void;
}
class E2 extends core::_Enum /*isEnum*/  {
  static const field core::List<self::E2> values = const <self::E2>[self::E2::element];
  enum-element static const field self::E2 element = const self::E2::•(0, "element");
  const synthetic constructor •(core::int #index, core::String #name) → self::E2
    : super core::_Enum::•(#index, #name)
    ;
  method _enumToString() → core::String
    return "E2.${this.{core::_Enum::_name}{core::String}}";
  abstract get foo() → core::int;
}
class E3 extends core::_Enum /*isEnum*/  {
  static const field core::List<self::E3> values = const <self::E3>[self::E3::element];
  enum-element static const field self::E3 element = const self::E3::•(0, "element");
  const synthetic constructor •(core::int #index, core::String #name) → self::E3
    : super core::_Enum::•(#index, #name)
    ;
  method _enumToString() → core::String
    return "E3.${this.{core::_Enum::_name}{core::String}}";
  abstract set foo(core::int val) → void;
}
abstract class InterfaceMethod extends core::Object {
  synthetic constructor •() → self::InterfaceMethod
    ;
  abstract method foo() → void;
}
class E4 extends core::_Enum implements self::InterfaceMethod /*isEnum*/  {
  static const field core::List<self::E4> values = const <self::E4>[self::E4::element];
  enum-element static const field self::E4 element = const self::E4::•(0, "element");
  const synthetic constructor •(core::int #index, core::String #name) → self::E4
    : super core::_Enum::•(#index, #name)
    ;
  method _enumToString() → core::String
    return "E4.${this.{core::_Enum::_name}{core::String}}";
}
abstract class InterfaceGetter extends core::Object {
  synthetic constructor •() → self::InterfaceGetter
    ;
  abstract get foo() → core::int;
}
class E5 extends core::_Enum implements self::InterfaceGetter /*isEnum*/  {
  static const field core::List<self::E5> values = const <self::E5>[self::E5::element];
  enum-element static const field self::E5 element = const self::E5::•(0, "element");
  const synthetic constructor •(core::int #index, core::String #name) → self::E5
    : super core::_Enum::•(#index, #name)
    ;
  method _enumToString() → core::String
    return "E5.${this.{core::_Enum::_name}{core::String}}";
}
abstract class InterfaceSetter extends core::Object {
  synthetic constructor •() → self::InterfaceSetter
    ;
  abstract set foo(core::int val) → void;
}
class E6 extends core::_Enum implements self::InterfaceSetter /*isEnum*/  {
  static const field core::List<self::E6> values = const <self::E6>[self::E6::element];
  enum-element static const field self::E6 element = const self::E6::•(0, "element");
  const synthetic constructor •(core::int #index, core::String #name) → self::E6
    : super core::_Enum::•(#index, #name)
    ;
  method _enumToString() → core::String
    return "E6.${this.{core::_Enum::_name}{core::String}}";
}
abstract class MethodImplementation extends core::Object /*isMixinDeclaration*/  {
  method foo() → void
    ;
}
abstract class _E7&_Enum&MethodImplementation = core::_Enum with self::MethodImplementation /*isAnonymousMixin,hasConstConstructor*/  {
  const synthetic constructor •(core::int index, core::String _name) → self::_E7&_Enum&MethodImplementation
    : super core::_Enum::•(index, _name)
    ;
  mixin-super-stub method foo() → void
    return super.{self::MethodImplementation::foo}();
}
class E7 extends self::_E7&_Enum&MethodImplementation /*isEnum*/  {
  static const field core::List<self::E7> values = const <self::E7>[self::E7::element];
  enum-element static const field self::E7 element = const self::E7::•(0, "element");
  const synthetic constructor •(core::int #index, core::String #name) → self::E7
    ;
  method _enumToString() → core::String
    return "E7.${this.{core::_Enum::_name}{core::String}}";
  abstract method foo() → void;
}
static method main() → dynamic
  ;


Extra constant evaluation status:
Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:5:6 -> ListConstant(const <E1>[const E1{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///abstract_members.dart:6:3 -> InstanceConstant(const E1{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:11:6 -> ListConstant(const <E2>[const E2{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///abstract_members.dart:12:3 -> InstanceConstant(const E2{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:17:6 -> ListConstant(const <E3>[const E3{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///abstract_members.dart:18:3 -> InstanceConstant(const E3{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:27:6 -> ListConstant(const <E4>[const E4{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///abstract_members.dart:28:3 -> InstanceConstant(const E4{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:35:6 -> ListConstant(const <E5>[const E5{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///abstract_members.dart:36:3 -> InstanceConstant(const E5{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:43:6 -> ListConstant(const <E6>[const E6{_Enum.index: 0, _Enum._name: "element"}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///abstract_members.dart:44:3 -> InstanceConstant(const E6{_Enum.index: 0, _Enum._name: "element"})
Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:51:6 -> ListConstant(const <E7>[const E7{}])
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///abstract_members.dart:52:3 -> InstanceConstant(const E7{})
Extra constant evaluation: evaluated: 50, effectively constant: 14
