public class org.springframework.core.type.StandardClassMetadata implements org.springframework.core.type.ClassMetadata
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.core.type.StandardClassMetadata
  super_class: java.lang.Object
{
  private final java.lang.Class<?> introspectedClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  public void <init>(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.core.type.StandardClassMetadata this
        start local 1 // java.lang.Class introspectedClass
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 43
            aload 1 /* introspectedClass */
            ldc "Class must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 44
            aload 0 /* this */
            aload 1 /* introspectedClass */
            putfield org.springframework.core.type.StandardClassMetadata.introspectedClass:Ljava/lang/Class;
         3: .line 45
            return
        end local 1 // java.lang.Class introspectedClass
        end local 0 // org.springframework.core.type.StandardClassMetadata this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lorg/springframework/core/type/StandardClassMetadata;
            0    4     1  introspectedClass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
                   Name  Flags
      introspectedClass  

  public final java.lang.Class<?> getIntrospectedClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.type.StandardClassMetadata this
         0: .line 51
            aload 0 /* this */
            getfield org.springframework.core.type.StandardClassMetadata.introspectedClass:Ljava/lang/Class;
            areturn
        end local 0 // org.springframework.core.type.StandardClassMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/type/StandardClassMetadata;
    Signature: ()Ljava/lang/Class<*>;

  public java.lang.String getClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.type.StandardClassMetadata this
         0: .line 57
            aload 0 /* this */
            getfield org.springframework.core.type.StandardClassMetadata.introspectedClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        end local 0 // org.springframework.core.type.StandardClassMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/type/StandardClassMetadata;

  public boolean isInterface();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.type.StandardClassMetadata this
         0: .line 62
            aload 0 /* this */
            getfield org.springframework.core.type.StandardClassMetadata.introspectedClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.isInterface:()Z
            ireturn
        end local 0 // org.springframework.core.type.StandardClassMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/type/StandardClassMetadata;

  public boolean isAnnotation();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.type.StandardClassMetadata this
         0: .line 67
            aload 0 /* this */
            getfield org.springframework.core.type.StandardClassMetadata.introspectedClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.isAnnotation:()Z
            ireturn
        end local 0 // org.springframework.core.type.StandardClassMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/type/StandardClassMetadata;

  public boolean isAbstract();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.type.StandardClassMetadata this
         0: .line 72
            aload 0 /* this */
            getfield org.springframework.core.type.StandardClassMetadata.introspectedClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isAbstract:(I)Z
            ireturn
        end local 0 // org.springframework.core.type.StandardClassMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/type/StandardClassMetadata;

  public boolean isConcrete();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.type.StandardClassMetadata this
         0: .line 77
            aload 0 /* this */
            invokevirtual org.springframework.core.type.StandardClassMetadata.isInterface:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.springframework.core.type.StandardClassMetadata.isAbstract:()Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 0 // org.springframework.core.type.StandardClassMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/core/type/StandardClassMetadata;

  public boolean isFinal();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.type.StandardClassMetadata this
         0: .line 82
            aload 0 /* this */
            getfield org.springframework.core.type.StandardClassMetadata.introspectedClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
            ireturn
        end local 0 // org.springframework.core.type.StandardClassMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/type/StandardClassMetadata;

  public boolean isIndependent();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.type.StandardClassMetadata this
         0: .line 87
            aload 0 /* this */
            invokevirtual org.springframework.core.type.StandardClassMetadata.hasEnclosingClass:()Z
            ifeq 4
         1: .line 88
            aload 0 /* this */
            getfield org.springframework.core.type.StandardClassMetadata.introspectedClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getDeclaringClass:()Ljava/lang/Class;
            ifnull 3
         2: .line 89
            aload 0 /* this */
            getfield org.springframework.core.type.StandardClassMetadata.introspectedClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifne 4
         3: .line 87
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_1
            ireturn
        end local 0 // org.springframework.core.type.StandardClassMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/springframework/core/type/StandardClassMetadata;

  public boolean hasEnclosingClass();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.type.StandardClassMetadata this
         0: .line 94
            aload 0 /* this */
            getfield org.springframework.core.type.StandardClassMetadata.introspectedClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getEnclosingClass:()Ljava/lang/Class;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.springframework.core.type.StandardClassMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/core/type/StandardClassMetadata;

  public java.lang.String getEnclosingClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.springframework.core.type.StandardClassMetadata this
         0: .line 100
            aload 0 /* this */
            getfield org.springframework.core.type.StandardClassMetadata.introspectedClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getEnclosingClass:()Ljava/lang/Class;
            astore 1 /* enclosingClass */
        start local 1 // java.lang.Class enclosingClass
         1: .line 101
            aload 1 /* enclosingClass */
            ifnull 2
            aload 1 /* enclosingClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            goto 3
      StackMap locals: java.lang.Class
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // java.lang.Class enclosingClass
        end local 0 // org.springframework.core.type.StandardClassMetadata this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lorg/springframework/core/type/StandardClassMetadata;
            1    4     1  enclosingClass  Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public boolean hasSuperClass();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.type.StandardClassMetadata this
         0: .line 106
            aload 0 /* this */
            getfield org.springframework.core.type.StandardClassMetadata.introspectedClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.springframework.core.type.StandardClassMetadata this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/core/type/StandardClassMetadata;

  public java.lang.String getSuperClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.springframework.core.type.StandardClassMetadata this
         0: .line 112
            aload 0 /* this */
            getfield org.springframework.core.type.StandardClassMetadata.introspectedClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 1 /* superClass */
        start local 1 // java.lang.Class superClass
         1: .line 113
            aload 1 /* superClass */
            ifnull 2
            aload 1 /* superClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            goto 3
      StackMap locals: java.lang.Class
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // java.lang.Class superClass
        end local 0 // org.springframework.core.type.StandardClassMetadata this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/springframework/core/type/StandardClassMetadata;
            1    4     1  superClass  Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public java.lang.String[] getInterfaceNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.springframework.core.type.StandardClassMetadata this
         0: .line 118
            aload 0 /* this */
            getfield org.springframework.core.type.StandardClassMetadata.introspectedClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            astore 1 /* ifcs */
        start local 1 // java.lang.Class[] ifcs
         1: .line 119
            aload 1 /* ifcs */
            arraylength
            anewarray java.lang.String
            astore 2 /* ifcNames */
        start local 2 // java.lang.String[] ifcNames
         2: .line 120
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 121
      StackMap locals: java.lang.Class[] java.lang.String[] int
      StackMap stack:
            aload 2 /* ifcNames */
            iload 3 /* i */
            aload 1 /* ifcs */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
         5: .line 120
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 1 /* ifcs */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 123
            aload 2 /* ifcNames */
            areturn
        end local 2 // java.lang.String[] ifcNames
        end local 1 // java.lang.Class[] ifcs
        end local 0 // org.springframework.core.type.StandardClassMetadata this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/springframework/core/type/StandardClassMetadata;
            1    8     1      ifcs  [Ljava/lang/Class;
            2    8     2  ifcNames  [Ljava/lang/String;
            3    7     3         i  I

  public java.lang.String[] getMemberClassNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // org.springframework.core.type.StandardClassMetadata this
         0: .line 128
            new java.util.LinkedHashSet
            dup
            iconst_4
            invokespecial java.util.LinkedHashSet.<init>:(I)V
            astore 1 /* memberClassNames */
        start local 1 // java.util.LinkedHashSet memberClassNames
         1: .line 129
            aload 0 /* this */
            getfield org.springframework.core.type.StandardClassMetadata.introspectedClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getDeclaredClasses:()[Ljava/lang/Class;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.springframework.core.type.StandardClassMetadata java.util.LinkedHashSet top int int java.lang.Class[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* nestedClass */
        start local 2 // java.lang.Class nestedClass
         3: .line 130
            aload 1 /* memberClassNames */
            aload 2 /* nestedClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.lang.Class nestedClass
         4: .line 129
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 132
            aload 1 /* memberClassNames */
            invokestatic org.springframework.util.StringUtils.toStringArray:(Ljava/util/Collection;)[Ljava/lang/String;
            areturn
        end local 1 // java.util.LinkedHashSet memberClassNames
        end local 0 // org.springframework.core.type.StandardClassMetadata this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lorg/springframework/core/type/StandardClassMetadata;
            1    7     1  memberClassNames  Ljava/util/LinkedHashSet<Ljava/lang/String;>;
            3    4     2       nestedClass  Ljava/lang/Class<*>;
}
SourceFile: "StandardClassMetadata.java"