library;
//
// Problems in library:
//
// pkg/front_end/testcases/enhanced_enums/cyclic.dart:6:3: Error: Can't infer the type of 'e1': circularity found during type inference.
// Specify the type explicitly.
//   e1(e2),
//   ^^
//
import self as self;
import "dart:core" as core;

class CyclicReference extends core::_Enum /*isEnum*/  {
  enum-element static const field self::CyclicReference e1 = const self::CyclicReference::•(0, "e1", self::CyclicReference::e2);
  enum-element static const field self::CyclicReference e2 = const self::CyclicReference::•(1, "e2", self::CyclicReference::e1);
  final field self::CyclicReference other;
  static const field core::List<self::CyclicReference> values = const <self::CyclicReference>[self::CyclicReference::e1, self::CyclicReference::e2];
  const constructor •(core::int #index, core::String #name, self::CyclicReference other) → self::CyclicReference
    : self::CyclicReference::other = other, super core::_Enum::•(#index, #name)
    ;
  method core::_enumToString() → core::String
    return "CyclicReference.${this.{core::_Enum::_name}{core::String}}";
}
