library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

class E extends core::_Enum /*isEnum*/  {
  static const field core::List<self::E> values = #C4;
  static const field self::E a = #C3;
  const constructor b(core::int #index, core::String #name) → self::E
    : super core::_Enum::•(#index, #name)
    ;
  method toString() → core::String
    return "E.${this.{core::_Enum::_name}{core::String}}";
}
static method main() → dynamic {}

constants  {
  #C1 = 0
  #C2 = "a"
  #C3 = self::E {index:#C1, _name:#C2}
  #C4 = <self::E*>[#C3]
}


Constructor coverage from constants:
org-dartlang-testcase:///qualified_names_with_no_type_arguments.dart:
- E.b (from org-dartlang-testcase:///qualified_names_with_no_type_arguments.dart:8:9)
- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart:103:9)
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
