public abstract final int public abstract final [I public java.lang.Object public abstract final [Ljava.lang.Object; public ClassAttrs$PublicInnerClass public abstract final [LClassAttrs$PublicInnerClass; protected ClassAttrs$ProtectedInnerClass protected abstract final [LClassAttrs$ProtectedInnerClass; private ClassAttrs$PrivateInnerClass private abstract final [LClassAttrs$PrivateInnerClass; ClassAttrs$PackagePrivateInnerClass abstract final [LClassAttrs$PackagePrivateInnerClass; public abstract interface java.io.Serializable public abstract final [Ljava.io.Serializable; public abstract static interface ClassAttrs$PublicInnerInterface public abstract final [LClassAttrs$PublicInnerInterface; protected abstract static interface ClassAttrs$ProtectedInnerInterface protected abstract final [LClassAttrs$ProtectedInnerInterface; private abstract static interface ClassAttrs$PrivateInnerInterface private abstract final [LClassAttrs$PrivateInnerInterface; abstract static interface ClassAttrs$PackagePrivateInnerInterface abstract final [LClassAttrs$PackagePrivateInnerInterface; ***** 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: [10] class ClassAttrs$PublicMemberClass, class ClassAttrs$MemberClass, interface ClassAttrs$PackagePrivateInnerInterface, interface ClassAttrs$PrivateInnerInterface, interface ClassAttrs$ProtectedInnerInterface, interface ClassAttrs$PublicInnerInterface, class ClassAttrs$PackagePrivateInnerClass, class ClassAttrs$PrivateInnerClass, class ClassAttrs$ProtectedInnerClass, class ClassAttrs$PublicInnerClass member classes: [3] class ClassAttrs$PublicMemberClass, interface ClassAttrs$PublicInnerInterface, class ClassAttrs$PublicInnerClass 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;>;