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:

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

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

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

A:
  Longest path to Object: 2
  superclasses:
    Object
  interfaces: Interface1, Interface2, Interface3
  classMembers:
    Object.toString
    Object.runtimeType
    A.aMethod
    Object._simpleInstanceOf
    Object._instanceOf
    Object.noSuchMethod
    A.abstractMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:
    A.property3
    A.property1
    A.property2
  interfaceMembers:
    Interface2.interfaceMethod2
    Object.toString
    Object.runtimeType
    A.aMethod
    Object._simpleInstanceOf
    Object._instanceOf
    Object.noSuchMethod
    A.abstractMethod
    Interface1.interfaceMethod1
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
    Interface3.interfaceMethod3
  interfaceSetters:
    A.property3
    Interface2.interfaceMethod1
    A.property1
    A.property2

B:
  Longest path to Object: 3
  superclasses:
    Object
      -> A
  interfaces: Interface1, Interface2, Interface3
  classMembers:
    Object.toString
    Object.runtimeType
    B.aMethod
    Object._simpleInstanceOf
    B.bMethod
    Object._instanceOf
    Object.noSuchMethod
    A.abstractMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
    B.property1
  classSetters:
    A.property3
    A.property1
    A.property2
  interfaceMembers:
    Interface2.interfaceMethod2
    Object.toString
    Object.runtimeType
    B.aMethod
    Object._simpleInstanceOf
    B.bMethod
    Object._instanceOf
    Object.noSuchMethod
    A.abstractMethod
    Interface1.interfaceMethod1
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
    B.property1
    Interface3.interfaceMethod3
  interfaceSetters:
    A.property3
    Interface2.interfaceMethod1
    A.property1
    A.property2

MyClass:
  Longest path to Object: 4
  superclasses:
    Object
      -> A
        -> B
  interfaces: Interface1, Interface2, Interface3
  classMembers:
    MyClass.aaMethod
    Object.toString
    Object.runtimeType
    MyClass.aMethod
    Object._simpleInstanceOf
    MyClass.bMethod
    Object._instanceOf
    MyClass.cMethod
    Object.noSuchMethod
    A.abstractMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
    B.property1
    MyClass.property2
  classSetters:
    A.property3
    A.property1
    MyClass.property2
  interfaceMembers:
    MyClass.aaMethod
    Interface2.interfaceMethod2
    Object.toString
    Object.runtimeType
    MyClass.aMethod
    Object._simpleInstanceOf
    MyClass.bMethod
    Object._instanceOf
    MyClass.cMethod
    Object.noSuchMethod
    A.abstractMethod
    Interface1.interfaceMethod1
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
    B.property1
    Interface3.interfaceMethod3
    MyClass.property2
  interfaceSetters:
    A.property3
    Interface2.interfaceMethod1
    A.property1
    MyClass.property2

MyMock1:
  Longest path to Object: 4
  superclasses:
    Object
      -> A
        -> B
  interfaces: Interface1, Interface2, Interface3
  classMembers:
    Object.toString
    Object.runtimeType
    B.aMethod
    Object._simpleInstanceOf
    B.bMethod
    Object._instanceOf
    MyMock1.noSuchMethod
    A.abstractMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
    B.property1
  classSetters:
    A.property3
    A.property1
    A.property2
  interfaceMembers:
    Interface2.interfaceMethod2
    Object.toString
    Object.runtimeType
    B.aMethod
    Object._simpleInstanceOf
    B.bMethod
    Object._instanceOf
    MyMock1.noSuchMethod
    A.abstractMethod
    Interface1.interfaceMethod1
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
    B.property1
    Interface3.interfaceMethod3
  interfaceSetters:
    A.property3
    Interface2.interfaceMethod1
    A.property1
    A.property2

MyMock2:
  Longest path to Object: 5
  superclasses:
    Object
      -> A
        -> B
          -> MyMock1
  interfaces: Interface1, Interface2, Interface3
  classMembers:
    Object.toString
    Object.runtimeType
    B.aMethod
    Object._simpleInstanceOf
    B.bMethod
    Object._instanceOf
    MyMock2.MyMock1.noSuchMethod%MyMock2.noSuchMethod
    A.abstractMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
    B.property1
  classSetters:
    A.property3
    A.property1
    A.property2
  interfaceMembers:
    Interface2.interfaceMethod2
    Object.toString
    Object.runtimeType
    B.aMethod
    Object._simpleInstanceOf
    B.bMethod
    Object._instanceOf
    MyMock2.MyMock1.noSuchMethod%MyMock2.noSuchMethod
    A.abstractMethod
    Interface1.interfaceMethod1
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
    B.property1
    Interface3.interfaceMethod3
  interfaceSetters:
    A.property3
    Interface2.interfaceMethod1
    A.property1
    A.property2

MyMock3:
  Longest path to Object: 4
  superclasses:
    Object
      -> A
        -> B
  interfaces: Interface1, Interface2, Interface3
  classMembers:
    Object.toString
    Object.runtimeType
    B.aMethod
    Object._simpleInstanceOf
    B.bMethod
    Object._instanceOf
    MyMock3.Object.noSuchMethod%MyMock3.noSuchMethod
    A.abstractMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
    B.property1
  classSetters:
    A.property3
    A.property1
    A.property2
  interfaceMembers:
    Interface2.interfaceMethod2
    Object.toString
    Object.runtimeType
    B.aMethod
    Object._simpleInstanceOf
    B.bMethod
    Object._instanceOf
    MyMock3.Object.noSuchMethod%MyMock3.noSuchMethod
    A.abstractMethod
    Interface1.interfaceMethod1
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
    B.property1
    Interface3.interfaceMethod3
  interfaceSetters:
    A.property3
    Interface2.interfaceMethod1
    A.property1
    A.property2

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

D:
  superclasses:
    Object
      -> C
  interfaces: Interface2
  classMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    Object.noSuchMethod
    C.interfaceMethod1
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:
  interfaceMembers:
    Interface2.interfaceMethod2
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    Object.noSuchMethod
    C.interfaceMethod1
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  interfaceSetters:
    Interface2.interfaceMethod1

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

F:
  superclasses:
    Object
      -> E
  interfaces: Interface1
  classMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:
    E.interfaceMethod1
  interfaceMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    Object.noSuchMethod
    Interface1.interfaceMethod1
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  interfaceSetters:
    E.interfaceMethod1

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

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

H:
  superclasses:
    Object
      -> G
  interfaces: Foo
  classMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    G.foo
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:
  interfaceMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    G.foo
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  interfaceSetters:

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

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

J:
  superclasses:
    Object
      -> I
  interfaces: Bar
  classMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    I.foo
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:
  interfaceMembers:
    Object.toString
    Object.runtimeType
    Object._simpleInstanceOf
    Object._instanceOf
    I.foo
    Object.noSuchMethod
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  interfaceSetters:
