***** class ClassAttrs: name: ClassAttrs canonical: ClassAttrs simple: ClassAttrs genericSignature: null super: class java.lang.Object genericSuperclass: class java.lang.Object declaring: null enclosing: null enclosingCon: null enclosingMeth: null modifiers: 1 package: null declaredClasses: [2] class ClassAttrs$PublicMemberClass, class ClassAttrs$MemberClass member classes: [1] class ClassAttrs$PublicMemberClass isAnnotation: false isAnonymous: false isArray: false isEnum: false isInterface: false isLocalClass: false isMemberClass: false isPrimitive: false isSynthetic: false genericInterfaces: [0] typeParameters: [0] ***** class OtherClass: name: OtherClass canonical: OtherClass simple: OtherClass genericSignature: null super: class java.lang.Object genericSuperclass: class java.lang.Object declaring: null enclosing: null enclosingCon: null enclosingMeth: null modifiers: 0 package: null declaredClasses: [0] member classes: [0] isAnnotation: false isAnonymous: false isArray: false isEnum: false isInterface: false isLocalClass: false isMemberClass: false isPrimitive: false isSynthetic: false genericInterfaces: [0] typeParameters: [0] ***** class otherpackage.OtherPackageClass: name: otherpackage.OtherPackageClass canonical: otherpackage.OtherPackageClass simple: OtherPackageClass genericSignature: null super: class java.lang.Object genericSuperclass: class java.lang.Object declaring: null enclosing: null enclosingCon: null enclosingMeth: null modifiers: 1 package: package otherpackage declaredClasses: [0] member classes: [0] isAnnotation: false isAnonymous: false isArray: false isEnum: false isInterface: false isLocalClass: false isMemberClass: false isPrimitive: false isSynthetic: false genericInterfaces: [0] typeParameters: [0] ***** class ClassAttrs$1InnerNamed: name: ClassAttrs$1InnerNamed canonical: null simple: InnerNamed genericSignature: null super: class java.lang.Object genericSuperclass: class java.lang.Object declaring: null enclosing: class ClassAttrs enclosingCon: null enclosingMeth: public static void ClassAttrs.main() modifiers: 0 package: null declaredClasses: [0] member classes: [0] isAnnotation: false isAnonymous: false isArray: false isEnum: false isInterface: false isLocalClass: true isMemberClass: false isPrimitive: false isSynthetic: false genericInterfaces: [0] typeParameters: [0] ***** class ClassAttrs$1ConsInnerNamed: name: ClassAttrs$1ConsInnerNamed canonical: null simple: ConsInnerNamed genericSignature: null super: class java.lang.Object genericSuperclass: class java.lang.Object declaring: null enclosing: class ClassAttrs enclosingCon: ClassAttrs() enclosingMeth: null modifiers: 0 package: null declaredClasses: [0] member classes: [0] isAnnotation: false isAnonymous: false isArray: false isEnum: false isInterface: false isLocalClass: true isMemberClass: false isPrimitive: false isSynthetic: false genericInterfaces: [0] typeParameters: [0] ***** class ClassAttrs$1: name: ClassAttrs$1 canonical: null simple: genericSignature: null super: class OtherClass genericSuperclass: class OtherClass declaring: null enclosing: class ClassAttrs enclosingCon: null enclosingMeth: public static void ClassAttrs.main() modifiers: 8 package: null declaredClasses: [0] member classes: [0] isAnnotation: false isAnonymous: true isArray: false isEnum: false isInterface: false isLocalClass: false isMemberClass: false isPrimitive: false isSynthetic: false genericInterfaces: [0] typeParameters: [0] ***** class ClassAttrs$MemberClass: name: ClassAttrs$MemberClass canonical: ClassAttrs.MemberClass simple: MemberClass genericSignature: <XYZ:Ljava/lang/Object;>Ljava/lang/Object; super: class java.lang.Object genericSuperclass: class java.lang.Object declaring: class ClassAttrs enclosing: class ClassAttrs enclosingCon: null enclosingMeth: null modifiers: 8 package: null declaredClasses: [0] member classes: [0] isAnnotation: false isAnonymous: false isArray: false isEnum: false isInterface: false isLocalClass: false isMemberClass: true isPrimitive: false isSynthetic: false genericInterfaces: [0] typeParameters: [1] XYZ ***** class FancyClass: name: FancyClass canonical: FancyClass simple: FancyClass genericSignature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/HashMap<TK;TV;>;Ljava/util/Map<TK;TV;>; super: class java.util.HashMap genericSuperclass: java.util.HashMap<K, V> declaring: null enclosing: null enclosingCon: null enclosingMeth: null modifiers: 1 package: null declaredClasses: [0] member classes: [2] class java.util.AbstractMap$SimpleEntry, class java.util.AbstractMap$SimpleImmutableEntry isAnnotation: false isAnonymous: false isArray: false isEnum: false isInterface: false isLocalClass: false isMemberClass: false isPrimitive: false isSynthetic: false genericInterfaces: [1] java.util.Map<K, V> typeParameters: [2] K, V constructor signature: (LClassAttrs$MemberClass<TXYZ;>;)V method signature: ()Ljava/lang/Class<TXYZ;>; field signature: LClassAttrs$MemberClass<TXYZ;>;