Object:
  superclasses:
  interfaces:
  classMembers:
    Object._haveSameRuntimeType
    Object.toString
    Object.runtimeType
    Object._toString
    Object._simpleInstanceOf
    Object._hashCodeRnd
    Object._instanceOf
    Object.noSuchMethod
    Object._objectHashCode
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:

FooBase:
  superclasses:
    Object
  interfaces:
  classMembers:
    Object.toString
    FooBase.x
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    FooBase._redirecting#
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:
    FooBase._redirecting#

Foo:
  superclasses:
    Object
  interfaces: FooBase
  classMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    Foo._redirecting#
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:
    Foo._redirecting#
  interfaceMembers:
    Object.toString
    FooBase.x
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    Foo._redirecting#
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  interfaceSetters:
    Foo._redirecting#

Bar:
  superclasses:
    Object
  interfaces: Foo<Tb>, FooBase
  classMembers:
    Object.toString
    Bar.x
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:
    Bar.x
  interfaceMembers:
    Object.toString
    Bar.x
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  interfaceSetters:
    Bar.x

Builder:
  superclasses:
    Object
  interfaces:
  classMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Builder.method
    Object._instanceOf
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:

SimpleCase:
  superclasses:
    Object
  interfaces:
  classMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    SimpleCase._redirecting#
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:
    SimpleCase._redirecting#

SimpleCaseImpl:
  superclasses:
    Object
  interfaces: SimpleCase<Ai, Bi>
  classMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    SimpleCaseImpl._redirecting#
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:
    SimpleCaseImpl._redirecting#
  interfaceMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    SimpleCaseImpl._redirecting#
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  interfaceSetters:
    SimpleCaseImpl._redirecting#

SimpleCaseImpl2:
  superclasses:
    Object
  interfaces: SimpleCaseImpl<Ai2, Bi2>, SimpleCase<Ai, Bi>
  classMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:
  interfaceMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  interfaceSetters:

Base:
  superclasses:
    Object
  interfaces:
  classMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:

Mixin:
  superclasses:
    Object
  interfaces:
  classMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:

Mix:
  superclasses:
    Object
      -> Base<M>
  interfaces: Mixin<M>
  classMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:
  interfaceMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  interfaceSetters:
