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:

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

C:
  Longest path to Object: 2
  superclasses:
    Object
  interfaces: I
  classMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    C.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:
  interfaceMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    C.noSuchMethod
    Object._identityHashCode
    I.interfaceMethod
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  interfaceSetters:

D:
  Longest path to Object: 3
  superclasses:
    Object
      -> C
  interfaces: I
  classMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    D.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
    D.dMethod
  classSetters:
  interfaceMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    D.noSuchMethod
    Object._identityHashCode
    I.interfaceMethod
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
    D.dMethod
  interfaceSetters:
