public final class java.lang.Class<T> implements java.io.Serializable, java.lang.reflect.GenericDeclaration, java.lang.reflect.Type, java.lang.reflect.AnnotatedElement
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: java.lang.Class
  super_class: java.lang.Object
{
  private static final int ANNOTATION;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8192

  private static final int ENUM;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16384

  private static final int SYNTHETIC;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4096

  private volatile transient java.lang.reflect.Constructor<T> cachedConstructor;
    descriptor: Ljava/lang/reflect/Constructor;
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
    Signature: Ljava/lang/reflect/Constructor<TT;>;

  private volatile transient java.lang.Class<?> newInstanceCallerCache;
    descriptor: Ljava/lang/Class;
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
    Signature: Ljava/lang/Class<*>;

  private transient java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.lang.Module module;
    descriptor: Ljava/lang/Module;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private final java.lang.ClassLoader classLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private transient java.lang.String packageName;
    descriptor: Ljava/lang/String;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private final java.lang.Class<?> componentType;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private static java.security.ProtectionDomain allPermDomain;
    descriptor: Ljava/security/ProtectionDomain;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private volatile transient java.lang.ref.SoftReference<java.lang.Class$ReflectionData<T>> reflectionData;
    descriptor: Ljava/lang/ref/SoftReference;
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
    Signature: Ljava/lang/ref/SoftReference<Ljava/lang/Class$ReflectionData<TT;>;>;

  private volatile transient int classRedefinedCount;
    descriptor: I
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT

  private volatile transient sun.reflect.generics.repository.ClassRepository genericInfo;
    descriptor: Lsun/reflect/generics/repository/ClassRepository;
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT

  private static final java.lang.Class<?>[] EMPTY_CLASS_ARRAY;
    descriptor: [Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: [Ljava/lang/Class<*>;

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3206093459760846163

  private static final java.io.ObjectStreamField[] serialPersistentFields;
    descriptor: [Ljava/io/ObjectStreamField;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static jdk.internal.reflect.ReflectionFactory reflectionFactory;
    descriptor: Ljdk/internal/reflect/ReflectionFactory;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private volatile transient T[] enumConstants;
    descriptor: [Ljava/lang/Object;
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
    Signature: [TT;

  private volatile transient java.util.Map<java.lang.String, T> enumConstantDirectory;
    descriptor: Ljava/util/Map;
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
    Signature: Ljava/util/Map<Ljava/lang/String;TT;>;

  private volatile transient java.lang.Class$AnnotationData annotationData;
    descriptor: Ljava/lang/Class$AnnotationData;
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT

  private volatile transient sun.reflect.annotation.AnnotationType annotationType;
    descriptor: Lsun/reflect/annotation/AnnotationType;
    flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT

  transient java.lang.ClassValue$ClassValueMap classValueMap;
    descriptor: Ljava/lang/ClassValue$ClassValueMap;
    flags: (0x0080) ACC_TRANSIENT

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 163
            invokestatic java.lang.Class.registerNatives:()V
         1: .line 3287
            iconst_0
            anewarray java.lang.Class
            putstatic java.lang.Class.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
         2: .line 3445
            iconst_0
            anewarray java.io.ObjectStreamField
         3: .line 3444
            putstatic java.lang.Class.serialPersistentFields:[Ljava/io/ObjectStreamField;
         4: .line 3516
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static native void registerNatives();
    descriptor: ()V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private void <init>(java.lang.ClassLoader, java.lang.Class<?>);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.Class this
        start local 1 // java.lang.ClassLoader loader
        start local 2 // java.lang.Class arrayComponentType
         0: .line 171
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 174
            aload 0 /* this */
            aload 1 /* loader */
            putfield java.lang.Class.classLoader:Ljava/lang/ClassLoader;
         2: .line 175
            aload 0 /* this */
            aload 2 /* arrayComponentType */
            putfield java.lang.Class.componentType:Ljava/lang/Class;
         3: .line 176
            return
        end local 2 // java.lang.Class arrayComponentType
        end local 1 // java.lang.ClassLoader loader
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Ljava/lang/Class<TT;>;
            0    4     1              loader  Ljava/lang/ClassLoader;
            0    4     2  arrayComponentType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/ClassLoader;Ljava/lang/Class<*>;)V
    MethodParameters:
                    Name  Flags
      loader              
      arrayComponentType  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 191
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 1
            ldc "interface "
            goto 3
      StackMap locals: java.lang.Class
      StackMap stack: new 0 new 0
         1: aload 0 /* this */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 2
            ldc ""
            goto 3
      StackMap locals: java.lang.Class
      StackMap stack: new 0 new 0
         2: ldc "class "
      StackMap locals: java.lang.Class
      StackMap stack: new 0 new 0 java.lang.String
         3: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 192
            aload 0 /* this */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 191
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/Class<TT;>;

  public java.lang.String toGenericString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // java.lang.Class this
         0: .line 228
            aload 0 /* this */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 2
         1: .line 229
            aload 0 /* this */
            invokevirtual java.lang.Class.toString:()Ljava/lang/String;
            areturn
         2: .line 231
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         3: .line 232
            aload 0 /* this */
            astore 2 /* component */
        start local 2 // java.lang.Class component
         4: .line 233
            iconst_0
            istore 3 /* arrayDepth */
        start local 3 // int arrayDepth
         5: .line 235
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 11
         6: .line 237
      StackMap locals: java.lang.StringBuilder java.lang.Class int
      StackMap stack:
            iinc 3 /* arrayDepth */ 1
         7: .line 238
            aload 2 /* component */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 2 /* component */
         8: .line 239
            aload 2 /* component */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 6
         9: .line 240
            aload 1 /* sb */
            aload 2 /* component */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 241
            goto 25
        11: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.classModifiers:()I
            iand
            istore 4 /* modifiers */
        start local 4 // int modifiers
        12: .line 244
            iload 4 /* modifiers */
            ifeq 15
        13: .line 245
            aload 1 /* sb */
            iload 4 /* modifiers */
            invokestatic java.lang.reflect.Modifier.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 246
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        15: .line 249
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.isAnnotation:()Z
            ifeq 17
        16: .line 250
            aload 1 /* sb */
            bipush 64
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        17: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 20
        18: .line 253
            aload 1 /* sb */
            ldc "interface"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 254
            goto 23
        20: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.isEnum:()Z
            ifeq 22
        21: .line 256
            aload 1 /* sb */
            ldc "enum"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 23
        22: .line 258
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 260
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        24: .line 261
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // int modifiers
        25: .line 264
      StackMap locals:
      StackMap stack:
            aload 2 /* component */
            invokevirtual java.lang.Class.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
            astore 4 /* typeparms */
        start local 4 // java.lang.reflect.TypeVariable[] typeparms
        26: .line 265
            aload 4 /* typeparms */
            arraylength
            ifle 34
        27: .line 266
            new java.util.StringJoiner
            dup
            ldc ","
            ldc "<"
            ldc ">"
            invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
            astore 5 /* sj */
        start local 5 // java.util.StringJoiner sj
        28: .line 267
            aload 4 /* typeparms */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 32
      StackMap locals: java.lang.Class java.lang.StringBuilder java.lang.Class int java.lang.reflect.TypeVariable[] java.util.StringJoiner top int int java.lang.reflect.TypeVariable[]
      StackMap stack:
        29: aload 9
            iload 7
            aaload
            astore 6 /* typeparm */
        start local 6 // java.lang.reflect.TypeVariable typeparm
        30: .line 268
            aload 5 /* sj */
            aload 6 /* typeparm */
            invokeinterface java.lang.reflect.TypeVariable.getTypeName:()Ljava/lang/String;
            invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
            pop
        end local 6 // java.lang.reflect.TypeVariable typeparm
        31: .line 267
            iinc 7 1
      StackMap locals:
      StackMap stack:
        32: iload 7
            iload 8
            if_icmplt 29
        33: .line 270
            aload 1 /* sb */
            aload 5 /* sj */
            invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // java.util.StringJoiner sj
        34: .line 273
      StackMap locals: java.lang.Class java.lang.StringBuilder java.lang.Class int java.lang.reflect.TypeVariable[]
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        35: goto 38
        36: .line 274
      StackMap locals: int
      StackMap stack:
            aload 1 /* sb */
            ldc "[]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        37: .line 273
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 5 /* i */
            iload 3 /* arrayDepth */
            if_icmplt 36
        end local 5 // int i
        39: .line 276
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.reflect.TypeVariable[] typeparms
        end local 3 // int arrayDepth
        end local 2 // java.lang.Class component
        end local 1 // java.lang.StringBuilder sb
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   40     0        this  Ljava/lang/Class<TT;>;
            3   40     1          sb  Ljava/lang/StringBuilder;
            4   40     2   component  Ljava/lang/Class<*>;
            5   40     3  arrayDepth  I
           12   25     4   modifiers  I
           26   40     4   typeparms  [Ljava/lang/reflect/TypeVariable;
           28   34     5          sj  Ljava/util/StringJoiner;
           30   31     6    typeparm  Ljava/lang/reflect/TypeVariable<*>;
           35   39     5           i  I

  public static java.lang.Class<?> forName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String className
         0: .line 314
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            astore 1 /* caller */
        start local 1 // java.lang.Class caller
         1: .line 315
            aload 0 /* className */
            iconst_1
            aload 1 /* caller */
            invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
            aload 1 /* caller */
            invokestatic java.lang.Class.forName0:(Ljava/lang/String;ZLjava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.Class caller
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  className  Ljava/lang/String;
            1    2     1     caller  Ljava/lang/Class<*>;
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()
    MethodParameters:
           Name  Flags
      className  

  public static java.lang.Class<?> forName(java.lang.String, boolean, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.lang.String name
        start local 1 // boolean initialize
        start local 2 // java.lang.ClassLoader loader
         0: .line 384
            aconst_null
            astore 3 /* caller */
        start local 3 // java.lang.Class caller
         1: .line 385
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 4 /* sm */
        start local 4 // java.lang.SecurityManager sm
         2: .line 386
            aload 4 /* sm */
            ifnull 10
         3: .line 389
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            astore 3 /* caller */
         4: .line 390
            aload 2 /* loader */
            ifnonnull 10
         5: .line 391
            aload 3 /* caller */
            invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
            astore 5 /* ccl */
        start local 5 // java.lang.ClassLoader ccl
         6: .line 392
            aload 5 /* ccl */
            ifnull 10
         7: .line 393
            aload 4 /* sm */
         8: .line 394
            getstatic sun.security.util.SecurityConstants.GET_CLASSLOADER_PERMISSION:Ljava/lang/RuntimePermission;
         9: .line 393
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 5 // java.lang.ClassLoader ccl
        10: .line 398
      StackMap locals: java.lang.Class java.lang.SecurityManager
      StackMap stack:
            aload 0 /* name */
            iload 1 /* initialize */
            aload 2 /* loader */
            aload 3 /* caller */
            invokestatic java.lang.Class.forName0:(Ljava/lang/String;ZLjava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class;
            areturn
        end local 4 // java.lang.SecurityManager sm
        end local 3 // java.lang.Class caller
        end local 2 // java.lang.ClassLoader loader
        end local 1 // boolean initialize
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        name  Ljava/lang/String;
            0   11     1  initialize  Z
            0   11     2      loader  Ljava/lang/ClassLoader;
            1   11     3      caller  Ljava/lang/Class<*>;
            2   11     4          sm  Ljava/lang/SecurityManager;
            6   10     5         ccl  Ljava/lang/ClassLoader;
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()
    MethodParameters:
            Name  Flags
      name        
      initialize  
      loader      

  private static native java.lang.Class<?> forName0(java.lang.String, boolean, java.lang.ClassLoader, java.lang.Class<?>);
    descriptor: (Ljava/lang/String;ZLjava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;ZLjava/lang/ClassLoader;Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
    MethodParameters:
            Name  Flags
      name        
      initialize  
      loader      
      caller      

  public static java.lang.Class<?> forName(java.lang.Module, java.lang.String);
    descriptor: (Ljava/lang/Module;Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.lang.Module module
        start local 1 // java.lang.String name
         0: .line 455
            aload 0 /* module */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 456
            aload 1 /* name */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 459
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         3: .line 460
            aload 3 /* sm */
            ifnull 10
         4: .line 461
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            astore 4 /* caller */
        start local 4 // java.lang.Class caller
         5: .line 462
            aload 4 /* caller */
            ifnull 7
            aload 4 /* caller */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            aload 0 /* module */
            if_acmpeq 7
         6: .line 465
            aload 3 /* sm */
            getstatic sun.security.util.SecurityConstants.GET_CLASSLOADER_PERMISSION:Ljava/lang/RuntimePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         7: .line 467
      StackMap locals: java.lang.Module java.lang.String top java.lang.SecurityManager java.lang.Class
      StackMap stack:
            aload 0 /* module */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic run(Ljava/lang/Module;)Ljava/security/PrivilegedAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/lang/Module.getClassLoader()Ljava/lang/ClassLoader; (5)
                  ()Ljava/lang/ClassLoader;
            astore 5 /* pa */
        start local 5 // java.security.PrivilegedAction pa
         8: .line 468
            aload 5 /* pa */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            astore 2 /* cl */
        end local 5 // java.security.PrivilegedAction pa
        end local 4 // java.lang.Class caller
        start local 2 // java.lang.ClassLoader cl
         9: .line 469
            goto 11
        end local 2 // java.lang.ClassLoader cl
        10: .line 470
      StackMap locals:
      StackMap stack:
            aload 0 /* module */
            invokevirtual java.lang.Module.getClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* cl */
        start local 2 // java.lang.ClassLoader cl
        11: .line 473
      StackMap locals: java.lang.Module java.lang.String java.lang.ClassLoader java.lang.SecurityManager
      StackMap stack:
            aload 2 /* cl */
            ifnull 13
        12: .line 474
            aload 2 /* cl */
            aload 0 /* module */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/Module;Ljava/lang/String;)Ljava/lang/Class;
            areturn
        13: .line 476
      StackMap locals:
      StackMap stack:
            aload 0 /* module */
            aload 1 /* name */
            invokestatic jdk.internal.loader.BootLoader.loadClass:(Ljava/lang/Module;Ljava/lang/String;)Ljava/lang/Class;
            areturn
        end local 3 // java.lang.SecurityManager sm
        end local 2 // java.lang.ClassLoader cl
        end local 1 // java.lang.String name
        end local 0 // java.lang.Module module
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0  module  Ljava/lang/Module;
            0   14     1    name  Ljava/lang/String;
            9   10     2      cl  Ljava/lang/ClassLoader;
           11   14     2      cl  Ljava/lang/ClassLoader;
            3   14     3      sm  Ljava/lang/SecurityManager;
            5    9     4  caller  Ljava/lang/Class<*>;
            8    9     5      pa  Ljava/security/PrivilegedAction<Ljava/lang/ClassLoader;>;
    Signature: (Ljava/lang/Module;Ljava/lang/String;)Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()
    MethodParameters:
        Name  Flags
      module  
      name    

  public T newInstance();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.lang.Class this
         0: .line 538
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 539
            aload 1 /* sm */
            ifnull 3
         2: .line 540
            aload 0 /* this */
            aload 1 /* sm */
            iconst_0
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_0
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
         3: .line 547
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.Class.cachedConstructor:Ljava/lang/reflect/Constructor;
            ifnonnull 19
         4: .line 548
            aload 0 /* this */
            ldc Ljava/lang/Class;
            if_acmpne 8
         5: .line 549
            new java.lang.IllegalAccessException
            dup
         6: .line 550
            ldc "Can not call newInstance() on the Class for java.lang.Class"
         7: .line 549
            invokespecial java.lang.IllegalAccessException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 554
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray java.lang.Class
            astore 2 /* empty */
        start local 2 // java.lang.Class[] empty
         9: .line 555
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
        10: .line 556
            aload 0 /* this */
            aload 2 /* empty */
            iconst_1
            invokevirtual java.lang.Class.getConstructor0:([Ljava/lang/Class;I)Ljava/lang/reflect/Constructor;
        11: .line 555
            invokevirtual jdk.internal.reflect.ReflectionFactory.copyConstructor:(Ljava/lang/reflect/Constructor;)Ljava/lang/reflect/Constructor;
            astore 3 /* c */
        start local 3 // java.lang.reflect.Constructor c
        12: .line 562
            new java.lang.Class$1
            dup
            aload 0 /* this */
            aload 3 /* c */
            invokespecial java.lang.Class$1.<init>:(Ljava/lang/Class;Ljava/lang/reflect/Constructor;)V
        13: .line 561
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        14: .line 568
            aload 0 /* this */
            aload 3 /* c */
            putfield java.lang.Class.cachedConstructor:Ljava/lang/reflect/Constructor;
        end local 3 // java.lang.reflect.Constructor c
        end local 2 // java.lang.Class[] empty
        15: .line 569
            goto 19
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
        16: astore 2 /* e */
        start local 2 // java.lang.NoSuchMethodException e
        17: .line 571
            new java.lang.InstantiationException
            dup
            aload 0 /* this */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokespecial java.lang.InstantiationException.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual java.lang.InstantiationException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        18: .line 570
            checkcast java.lang.InstantiationException
            athrow
        end local 2 // java.lang.NoSuchMethodException e
        19: .line 574
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.Class.cachedConstructor:Ljava/lang/reflect/Constructor;
            astore 2 /* tmpConstructor */
        start local 2 // java.lang.reflect.Constructor tmpConstructor
        20: .line 576
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            astore 3 /* caller */
        start local 3 // java.lang.Class caller
        21: .line 577
            aload 0 /* this */
            getfield java.lang.Class.newInstanceCallerCache:Ljava/lang/Class;
            aload 3 /* caller */
            if_acmpeq 25
        22: .line 578
            aload 2 /* tmpConstructor */
            invokevirtual java.lang.reflect.Constructor.getModifiers:()I
            istore 4 /* modifiers */
        start local 4 // int modifiers
        23: .line 579
            aload 3 /* caller */
            aload 0 /* this */
            aload 0 /* this */
            iload 4 /* modifiers */
            invokestatic jdk.internal.reflect.Reflection.ensureMemberAccess:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;I)V
        24: .line 580
            aload 0 /* this */
            aload 3 /* caller */
            putfield java.lang.Class.newInstanceCallerCache:Ljava/lang/Class;
        end local 4 // int modifiers
        25: .line 584
      StackMap locals: java.lang.reflect.Constructor java.lang.Class
      StackMap stack:
            aload 2 /* tmpConstructor */
            aconst_null
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
        26: areturn
        27: .line 585
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 4 /* e */
        start local 4 // java.lang.reflect.InvocationTargetException e
        28: .line 586
            invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
            aload 4 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            invokevirtual jdk.internal.misc.Unsafe.throwException:(Ljava/lang/Throwable;)V
        29: .line 588
            aconst_null
            areturn
        end local 4 // java.lang.reflect.InvocationTargetException e
        end local 3 // java.lang.Class caller
        end local 2 // java.lang.reflect.Constructor tmpConstructor
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   30     0            this  Ljava/lang/Class<TT;>;
            1   30     1              sm  Ljava/lang/SecurityManager;
            9   15     2           empty  [Ljava/lang/Class;
           12   15     3               c  Ljava/lang/reflect/Constructor<TT;>;
           17   19     2               e  Ljava/lang/NoSuchMethodException;
           20   30     2  tmpConstructor  Ljava/lang/reflect/Constructor<TT;>;
           21   30     3          caller  Ljava/lang/Class<*>;
           23   25     4       modifiers  I
           28   30     4               e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           8    15      16  Class java.lang.NoSuchMethodException
          25    26      27  Class java.lang.reflect.InvocationTargetException
    Exceptions:
      throws java.lang.InstantiationException, java.lang.IllegalAccessException
    Signature: ()TT;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()
      java.lang.Deprecated(since = "9")

  public native boolean isInstance(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      jdk.internal.HotSpotIntrinsicCandidate()
    MethodParameters:
      Name  Flags
      obj   

  public native boolean isAssignableFrom(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    Signature: (Ljava/lang/Class<*>;)Z
    RuntimeVisibleAnnotations: 
      jdk.internal.HotSpotIntrinsicCandidate()
    MethodParameters:
      Name  Flags
      cls   

  public native boolean isInterface();
    descriptor: ()Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      jdk.internal.HotSpotIntrinsicCandidate()

  public native boolean isArray();
    descriptor: ()Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      jdk.internal.HotSpotIntrinsicCandidate()

  public native boolean isPrimitive();
    descriptor: ()Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      jdk.internal.HotSpotIntrinsicCandidate()

  public boolean isAnnotation();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 720
            aload 0 /* this */
            invokevirtual java.lang.Class.getModifiers:()I
            sipush 8192
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/Class<TT;>;

  public boolean isSynthetic();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 732
            aload 0 /* this */
            invokevirtual java.lang.Class.getModifiers:()I
            sipush 4096
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/Class<TT;>;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 792
            aload 0 /* this */
            getfield java.lang.Class.name:Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 793
            aload 1 /* name */
            ifnull 2
            aload 1 /* name */
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 0 /* this */
            invokevirtual java.lang.Class.initClassName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/Class<TT;>;
            1    4     1  name  Ljava/lang/String;

  private native java.lang.String initClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE

  public java.lang.ClassLoader getClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.Class this
         0: .line 825
            aload 0 /* this */
            invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
            astore 1 /* cl */
        start local 1 // java.lang.ClassLoader cl
         1: .line 826
            aload 1 /* cl */
            ifnonnull 3
         2: .line 827
            aconst_null
            areturn
         3: .line 828
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         4: .line 829
            aload 2 /* sm */
            ifnull 6
         5: .line 830
            aload 1 /* cl */
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            invokestatic java.lang.ClassLoader.checkClassLoaderPermission:(Ljava/lang/ClassLoader;Ljava/lang/Class;)V
         6: .line 832
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 1 /* cl */
            areturn
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.lang.ClassLoader cl
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/lang/Class<TT;>;
            1    7     1    cl  Ljava/lang/ClassLoader;
            4    7     2    sm  Ljava/lang/SecurityManager;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()
      jdk.internal.vm.annotation.ForceInline()

  java.lang.ClassLoader getClassLoader0();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 836
            aload 0 /* this */
            getfield java.lang.Class.classLoader:Ljava/lang/ClassLoader;
            areturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Class<TT;>;

  public java.lang.Module getModule();
    descriptor: ()Ljava/lang/Module;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 856
            aload 0 /* this */
            getfield java.lang.Class.module:Ljava/lang/Module;
            areturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Class<TT;>;

  public java.lang.reflect.TypeVariable<java.lang.Class<T>>[] getTypeParameters();
    descriptor: ()[Ljava/lang/reflect/TypeVariable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 884
            aload 0 /* this */
            invokevirtual java.lang.Class.getGenericInfo:()Lsun/reflect/generics/repository/ClassRepository;
            astore 1 /* info */
        start local 1 // sun.reflect.generics.repository.ClassRepository info
         1: .line 885
            aload 1 /* info */
            ifnull 3
         2: .line 886
            aload 1 /* info */
            invokevirtual sun.reflect.generics.repository.ClassRepository.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
            areturn
         3: .line 888
      StackMap locals: sun.reflect.generics.repository.ClassRepository
      StackMap stack:
            iconst_0
            anewarray java.lang.reflect.TypeVariable
            areturn
        end local 1 // sun.reflect.generics.repository.ClassRepository info
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/Class<TT;>;
            1    4     1  info  Lsun/reflect/generics/repository/ClassRepository;
    Signature: ()[Ljava/lang/reflect/TypeVariable<Ljava/lang/Class<TT;>;>;

  public native java.lang.Class<? super T> getSuperclass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    Signature: ()Ljava/lang/Class<-TT;>;
    RuntimeVisibleAnnotations: 
      jdk.internal.HotSpotIntrinsicCandidate()

  public java.lang.reflect.Type getGenericSuperclass();
    descriptor: ()Ljava/lang/reflect/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 937
            aload 0 /* this */
            invokevirtual java.lang.Class.getGenericInfo:()Lsun/reflect/generics/repository/ClassRepository;
            astore 1 /* info */
        start local 1 // sun.reflect.generics.repository.ClassRepository info
         1: .line 938
            aload 1 /* info */
            ifnonnull 3
         2: .line 939
            aload 0 /* this */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            areturn
         3: .line 945
      StackMap locals: sun.reflect.generics.repository.ClassRepository
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 5
         4: .line 946
            aconst_null
            areturn
         5: .line 949
      StackMap locals:
      StackMap stack:
            aload 1 /* info */
            invokevirtual sun.reflect.generics.repository.ClassRepository.getSuperclass:()Ljava/lang/reflect/Type;
            areturn
        end local 1 // sun.reflect.generics.repository.ClassRepository info
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/Class<TT;>;
            1    6     1  info  Lsun/reflect/generics/repository/ClassRepository;

  public java.lang.Package getPackage();
    descriptor: ()Ljava/lang/Package;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 963
            aload 0 /* this */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 2
         1: .line 964
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 966
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
            astore 1 /* cl */
        start local 1 // java.lang.ClassLoader cl
         3: .line 967
            aload 1 /* cl */
            ifnull 4
            aload 1 /* cl */
            aload 0 /* this */
            invokevirtual java.lang.ClassLoader.definePackage:(Ljava/lang/Class;)Ljava/lang/Package;
            goto 5
         4: .line 968
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 0 /* this */
            invokestatic jdk.internal.loader.BootLoader.definePackage:(Ljava/lang/Class;)Ljava/lang/Package;
         5: .line 967
      StackMap locals:
      StackMap stack: java.lang.Package
            areturn
        end local 1 // java.lang.ClassLoader cl
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/Class<TT;>;
            3    6     1    cl  Ljava/lang/ClassLoader;

  public java.lang.String getPackageName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.Class this
         0: .line 999
            aload 0 /* this */
            getfield java.lang.Class.packageName:Ljava/lang/String;
            astore 1 /* pn */
        start local 1 // java.lang.String pn
         1: .line 1000
            aload 1 /* pn */
            ifnonnull 15
         2: .line 1001
            aload 0 /* this */
            astore 2 /* c */
        start local 2 // java.lang.Class c
         3: .line 1002
            goto 5
         4: .line 1003
      StackMap locals: java.lang.String java.lang.Class
      StackMap stack:
            aload 2 /* c */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 2 /* c */
         5: .line 1002
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 4
         6: .line 1005
            aload 2 /* c */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 9
         7: .line 1006
            ldc "java.lang"
            astore 1 /* pn */
         8: .line 1007
            goto 14
         9: .line 1008
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* cn */
        start local 3 // java.lang.String cn
        10: .line 1009
            aload 3 /* cn */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 4 /* dot */
        start local 4 // int dot
        11: .line 1010
            iload 4 /* dot */
            iconst_m1
            if_icmpeq 12
            aload 3 /* cn */
            iconst_0
            iload 4 /* dot */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
            goto 13
      StackMap locals: java.lang.String int
      StackMap stack:
        12: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
        13: astore 1 /* pn */
        end local 4 // int dot
        end local 3 // java.lang.String cn
        14: .line 1012
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* pn */
            putfield java.lang.Class.packageName:Ljava/lang/String;
        end local 2 // java.lang.Class c
        15: .line 1014
      StackMap locals:
      StackMap stack:
            aload 1 /* pn */
            areturn
        end local 1 // java.lang.String pn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Ljava/lang/Class<TT;>;
            1   16     1    pn  Ljava/lang/String;
            3   15     2     c  Ljava/lang/Class<*>;
           10   14     3    cn  Ljava/lang/String;
           11   14     4   dot  I

  public java.lang.Class<?>[] getInterfaces();
    descriptor: ()[Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1066
            aload 0 /* this */
            iconst_1
            invokevirtual java.lang.Class.getInterfaces:(Z)[Ljava/lang/Class;
            areturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Class<TT;>;
    Signature: ()[Ljava/lang/Class<*>;

  private java.lang.Class<?>[] getInterfaces(boolean);
    descriptor: (Z)[Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // boolean cloneArray
         0: .line 1070
            aload 0 /* this */
            invokevirtual java.lang.Class.reflectionData:()Ljava/lang/Class$ReflectionData;
            astore 2 /* rd */
        start local 2 // java.lang.Class$ReflectionData rd
         1: .line 1071
            aload 2 /* rd */
            ifnonnull 3
         2: .line 1073
            aload 0 /* this */
            invokevirtual java.lang.Class.getInterfaces0:()[Ljava/lang/Class;
            areturn
         3: .line 1075
      StackMap locals: java.lang.Class$ReflectionData
      StackMap stack:
            aload 2 /* rd */
            getfield java.lang.Class$ReflectionData.interfaces:[Ljava/lang/Class;
            astore 3 /* interfaces */
        start local 3 // java.lang.Class[] interfaces
         4: .line 1076
            aload 3 /* interfaces */
            ifnonnull 7
         5: .line 1077
            aload 0 /* this */
            invokevirtual java.lang.Class.getInterfaces0:()[Ljava/lang/Class;
            astore 3 /* interfaces */
         6: .line 1078
            aload 2 /* rd */
            aload 3 /* interfaces */
            putfield java.lang.Class$ReflectionData.interfaces:[Ljava/lang/Class;
         7: .line 1081
      StackMap locals: java.lang.Class[]
      StackMap stack:
            iload 1 /* cloneArray */
            ifeq 8
            aload 3 /* interfaces */
            invokevirtual java.lang.Class[].clone:()Ljava/lang/Object;
            checkcast java.lang.Class[]
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 3 /* interfaces */
      StackMap locals:
      StackMap stack: java.lang.Class[]
         9: areturn
        end local 3 // java.lang.Class[] interfaces
        end local 2 // java.lang.Class$ReflectionData rd
        end local 1 // boolean cloneArray
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Ljava/lang/Class<TT;>;
            0   10     1  cloneArray  Z
            1   10     2          rd  Ljava/lang/Class$ReflectionData<TT;>;
            4   10     3  interfaces  [Ljava/lang/Class;
    Signature: (Z)[Ljava/lang/Class<*>;
    MethodParameters:
            Name  Flags
      cloneArray  

  private native java.lang.Class<?>[] getInterfaces0();
    descriptor: ()[Ljava/lang/Class;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    Signature: ()[Ljava/lang/Class<*>;

  public java.lang.reflect.Type[] getGenericInterfaces();
    descriptor: ()[Ljava/lang/reflect/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1136
            aload 0 /* this */
            invokevirtual java.lang.Class.getGenericInfo:()Lsun/reflect/generics/repository/ClassRepository;
            astore 1 /* info */
        start local 1 // sun.reflect.generics.repository.ClassRepository info
         1: .line 1137
            aload 1 /* info */
            ifnonnull 2
            aload 0 /* this */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            goto 3
      StackMap locals: sun.reflect.generics.repository.ClassRepository
      StackMap stack:
         2: aload 1 /* info */
            invokevirtual sun.reflect.generics.repository.ClassRepository.getSuperInterfaces:()[Ljava/lang/reflect/Type;
      StackMap locals:
      StackMap stack: java.lang.reflect.Type[]
         3: areturn
        end local 1 // sun.reflect.generics.repository.ClassRepository info
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/Class<TT;>;
            1    4     1  info  Lsun/reflect/generics/repository/ClassRepository;

  public java.lang.Class<?> getComponentType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1153
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 2
         1: .line 1154
            aload 0 /* this */
            getfield java.lang.Class.componentType:Ljava/lang/Class;
            areturn
         2: .line 1156
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/Class<TT;>;
    Signature: ()Ljava/lang/Class<*>;

  public native int getModifiers();
    descriptor: ()I
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      jdk.internal.HotSpotIntrinsicCandidate()

  public native java.lang.Object[] getSigners();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  native void setSigners(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)V
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
         Name  Flags
      signers  

  public java.lang.reflect.Method getEnclosingMethod();
    descriptor: ()Ljava/lang/reflect/Method;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=14, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1249
            aload 0 /* this */
            invokevirtual java.lang.Class.getEnclosingMethodInfo:()Ljava/lang/Class$EnclosingMethodInfo;
            astore 1 /* enclosingInfo */
        start local 1 // java.lang.Class$EnclosingMethodInfo enclosingInfo
         1: .line 1251
            aload 1 /* enclosingInfo */
            ifnonnull 3
         2: .line 1252
            aconst_null
            areturn
         3: .line 1254
      StackMap locals: java.lang.Class$EnclosingMethodInfo
      StackMap stack:
            aload 1 /* enclosingInfo */
            invokevirtual java.lang.Class$EnclosingMethodInfo.isMethod:()Z
            ifne 5
         4: .line 1255
            aconst_null
            areturn
         5: .line 1257
      StackMap locals:
      StackMap stack:
            aload 1 /* enclosingInfo */
            invokevirtual java.lang.Class$EnclosingMethodInfo.getDescriptor:()Ljava/lang/String;
         6: .line 1258
            aload 0 /* this */
            invokevirtual java.lang.Class.getFactory:()Lsun/reflect/generics/factory/GenericsFactory;
         7: .line 1257
            invokestatic sun.reflect.generics.repository.MethodRepository.make:(Ljava/lang/String;Lsun/reflect/generics/factory/GenericsFactory;)Lsun/reflect/generics/repository/MethodRepository;
            astore 2 /* typeInfo */
        start local 2 // sun.reflect.generics.repository.MethodRepository typeInfo
         8: .line 1259
            aload 2 /* typeInfo */
            invokevirtual sun.reflect.generics.repository.MethodRepository.getReturnType:()Ljava/lang/reflect/Type;
            invokestatic java.lang.Class.toClass:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            astore 3 /* returnType */
        start local 3 // java.lang.Class returnType
         9: .line 1260
            aload 2 /* typeInfo */
            invokevirtual sun.reflect.generics.repository.MethodRepository.getParameterTypes:()[Ljava/lang/reflect/Type;
            astore 4 /* parameterTypes */
        start local 4 // java.lang.reflect.Type[] parameterTypes
        10: .line 1261
            aload 4 /* parameterTypes */
            arraylength
            anewarray java.lang.Class
            astore 5 /* parameterClasses */
        start local 5 // java.lang.Class[] parameterClasses
        11: .line 1266
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        12: goto 15
        13: .line 1267
      StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo sun.reflect.generics.repository.MethodRepository java.lang.Class java.lang.reflect.Type[] java.lang.Class[] int
      StackMap stack:
            aload 5 /* parameterClasses */
            iload 6 /* i */
            aload 4 /* parameterTypes */
            iload 6 /* i */
            aaload
            invokestatic java.lang.Class.toClass:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            aastore
        14: .line 1266
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 6 /* i */
            aload 5 /* parameterClasses */
            arraylength
            if_icmplt 13
        end local 6 // int i
        16: .line 1270
            aload 1 /* enclosingInfo */
            invokevirtual java.lang.Class$EnclosingMethodInfo.getEnclosingClass:()Ljava/lang/Class;
            astore 6 /* enclosingCandidate */
        start local 6 // java.lang.Class enclosingCandidate
        17: .line 1271
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 7 /* sm */
        start local 7 // java.lang.SecurityManager sm
        18: .line 1272
            aload 7 /* sm */
            ifnull 22
        19: .line 1273
            aload 6 /* enclosingCandidate */
            aload 7 /* sm */
            iconst_1
        20: .line 1274
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_1
        21: .line 1273
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
        22: .line 1276
      StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo sun.reflect.generics.repository.MethodRepository java.lang.Class java.lang.reflect.Type[] java.lang.Class[] java.lang.Class java.lang.SecurityManager
      StackMap stack:
            aload 6 /* enclosingCandidate */
            iconst_0
            invokevirtual java.lang.Class.privateGetDeclaredMethods:(Z)[Ljava/lang/reflect/Method;
            astore 8 /* candidates */
        start local 8 // java.lang.reflect.Method[] candidates
        23: .line 1284
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
            astore 9 /* fact */
        start local 9 // jdk.internal.reflect.ReflectionFactory fact
        24: .line 1285
            aload 8 /* candidates */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 34
      StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo sun.reflect.generics.repository.MethodRepository java.lang.Class java.lang.reflect.Type[] java.lang.Class[] java.lang.Class java.lang.SecurityManager java.lang.reflect.Method[] jdk.internal.reflect.ReflectionFactory top int int java.lang.reflect.Method[]
      StackMap stack:
        25: aload 13
            iload 11
            aaload
            astore 10 /* m */
        start local 10 // java.lang.reflect.Method m
        26: .line 1286
            aload 10 /* m */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 1 /* enclosingInfo */
            invokevirtual java.lang.Class$EnclosingMethodInfo.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
        27: .line 1287
            aload 5 /* parameterClasses */
        28: .line 1288
            aload 9 /* fact */
            aload 10 /* m */
            invokevirtual jdk.internal.reflect.ReflectionFactory.getExecutableSharedParameterTypes:(Ljava/lang/reflect/Executable;)[Ljava/lang/Class;
        29: .line 1287
            invokestatic java.lang.Class.arrayContentsEq:([Ljava/lang/Object;[Ljava/lang/Object;)Z
        30: .line 1288
            ifeq 33
        31: .line 1290
            aload 10 /* m */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            aload 3 /* returnType */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 33
        32: .line 1291
            aload 9 /* fact */
            aload 10 /* m */
            invokevirtual jdk.internal.reflect.ReflectionFactory.copyMethod:(Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
            areturn
        end local 10 // java.lang.reflect.Method m
        33: .line 1285
      StackMap locals:
      StackMap stack:
            iinc 11 1
      StackMap locals:
      StackMap stack:
        34: iload 11
            iload 12
            if_icmplt 25
        35: .line 1296
            new java.lang.InternalError
            dup
            ldc "Enclosing method not found"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // jdk.internal.reflect.ReflectionFactory fact
        end local 8 // java.lang.reflect.Method[] candidates
        end local 7 // java.lang.SecurityManager sm
        end local 6 // java.lang.Class enclosingCandidate
        end local 5 // java.lang.Class[] parameterClasses
        end local 4 // java.lang.reflect.Type[] parameterTypes
        end local 3 // java.lang.Class returnType
        end local 2 // sun.reflect.generics.repository.MethodRepository typeInfo
        end local 1 // java.lang.Class$EnclosingMethodInfo enclosingInfo
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   36     0                this  Ljava/lang/Class<TT;>;
            1   36     1       enclosingInfo  Ljava/lang/Class$EnclosingMethodInfo;
            8   36     2            typeInfo  Lsun/reflect/generics/repository/MethodRepository;
            9   36     3          returnType  Ljava/lang/Class<*>;
           10   36     4      parameterTypes  [Ljava/lang/reflect/Type;
           11   36     5    parameterClasses  [Ljava/lang/Class;
           12   16     6                   i  I
           17   36     6  enclosingCandidate  Ljava/lang/Class<*>;
           18   36     7                  sm  Ljava/lang/SecurityManager;
           23   36     8          candidates  [Ljava/lang/reflect/Method;
           24   36     9                fact  Ljdk/internal/reflect/ReflectionFactory;
           26   33    10                   m  Ljava/lang/reflect/Method;
    Exceptions:
      throws java.lang.SecurityException
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()

  private native java.lang.Object[] getEnclosingMethod0();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE

  private java.lang.Class$EnclosingMethodInfo getEnclosingMethodInfo();
    descriptor: ()Ljava/lang/Class$EnclosingMethodInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1303
            aload 0 /* this */
            invokevirtual java.lang.Class.getEnclosingMethod0:()[Ljava/lang/Object;
            astore 1 /* enclosingInfo */
        start local 1 // java.lang.Object[] enclosingInfo
         1: .line 1304
            aload 1 /* enclosingInfo */
            ifnonnull 3
         2: .line 1305
            aconst_null
            areturn
         3: .line 1307
      StackMap locals: java.lang.Object[]
      StackMap stack:
            new java.lang.Class$EnclosingMethodInfo
            dup
            aload 1 /* enclosingInfo */
            invokespecial java.lang.Class$EnclosingMethodInfo.<init>:([Ljava/lang/Object;)V
            areturn
        end local 1 // java.lang.Object[] enclosingInfo
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Ljava/lang/Class<TT;>;
            1    4     1  enclosingInfo  [Ljava/lang/Object;

  private static java.lang.Class<?> toClass(java.lang.reflect.Type);
    descriptor: (Ljava/lang/reflect/Type;)Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.reflect.Type o
         0: .line 1363
            aload 0 /* o */
            instanceof java.lang.reflect.GenericArrayType
            ifeq 6
         1: .line 1364
            aload 0 /* o */
            checkcast java.lang.reflect.GenericArrayType
            invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
            invokestatic java.lang.Class.toClass:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
         2: .line 1365
            iconst_0
         3: .line 1364
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
         4: .line 1366
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
         5: .line 1364
            areturn
         6: .line 1367
      StackMap locals:
      StackMap stack:
            aload 0 /* o */
            checkcast java.lang.Class
            areturn
        end local 0 // java.lang.reflect.Type o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     o  Ljava/lang/reflect/Type;
    Signature: (Ljava/lang/reflect/Type;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      o     

  public java.lang.reflect.Constructor<?> getEnclosingConstructor();
    descriptor: ()Ljava/lang/reflect/Constructor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1406
            aload 0 /* this */
            invokevirtual java.lang.Class.getEnclosingMethodInfo:()Ljava/lang/Class$EnclosingMethodInfo;
            astore 1 /* enclosingInfo */
        start local 1 // java.lang.Class$EnclosingMethodInfo enclosingInfo
         1: .line 1408
            aload 1 /* enclosingInfo */
            ifnonnull 3
         2: .line 1409
            aconst_null
            areturn
         3: .line 1411
      StackMap locals: java.lang.Class$EnclosingMethodInfo
      StackMap stack:
            aload 1 /* enclosingInfo */
            invokevirtual java.lang.Class$EnclosingMethodInfo.isConstructor:()Z
            ifne 5
         4: .line 1412
            aconst_null
            areturn
         5: .line 1414
      StackMap locals:
      StackMap stack:
            aload 1 /* enclosingInfo */
            invokevirtual java.lang.Class$EnclosingMethodInfo.getDescriptor:()Ljava/lang/String;
         6: .line 1415
            aload 0 /* this */
            invokevirtual java.lang.Class.getFactory:()Lsun/reflect/generics/factory/GenericsFactory;
         7: .line 1414
            invokestatic sun.reflect.generics.repository.ConstructorRepository.make:(Ljava/lang/String;Lsun/reflect/generics/factory/GenericsFactory;)Lsun/reflect/generics/repository/ConstructorRepository;
            astore 2 /* typeInfo */
        start local 2 // sun.reflect.generics.repository.ConstructorRepository typeInfo
         8: .line 1416
            aload 2 /* typeInfo */
            invokevirtual sun.reflect.generics.repository.ConstructorRepository.getParameterTypes:()[Ljava/lang/reflect/Type;
            astore 3 /* parameterTypes */
        start local 3 // java.lang.reflect.Type[] parameterTypes
         9: .line 1417
            aload 3 /* parameterTypes */
            arraylength
            anewarray java.lang.Class
            astore 4 /* parameterClasses */
        start local 4 // java.lang.Class[] parameterClasses
        10: .line 1422
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        11: goto 14
        12: .line 1423
      StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo sun.reflect.generics.repository.ConstructorRepository java.lang.reflect.Type[] java.lang.Class[] int
      StackMap stack:
            aload 4 /* parameterClasses */
            iload 5 /* i */
            aload 3 /* parameterTypes */
            iload 5 /* i */
            aaload
            invokestatic java.lang.Class.toClass:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            aastore
        13: .line 1422
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* i */
            aload 4 /* parameterClasses */
            arraylength
            if_icmplt 12
        end local 5 // int i
        15: .line 1426
            aload 1 /* enclosingInfo */
            invokevirtual java.lang.Class$EnclosingMethodInfo.getEnclosingClass:()Ljava/lang/Class;
            astore 5 /* enclosingCandidate */
        start local 5 // java.lang.Class enclosingCandidate
        16: .line 1427
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 6 /* sm */
        start local 6 // java.lang.SecurityManager sm
        17: .line 1428
            aload 6 /* sm */
            ifnull 21
        18: .line 1429
            aload 5 /* enclosingCandidate */
            aload 6 /* sm */
            iconst_1
        19: .line 1430
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_1
        20: .line 1429
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
        21: .line 1433
      StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo sun.reflect.generics.repository.ConstructorRepository java.lang.reflect.Type[] java.lang.Class[] java.lang.Class java.lang.SecurityManager
      StackMap stack:
            aload 5 /* enclosingCandidate */
        22: .line 1434
            iconst_0
            invokevirtual java.lang.Class.privateGetDeclaredConstructors:(Z)[Ljava/lang/reflect/Constructor;
        23: .line 1433
            astore 7 /* candidates */
        start local 7 // java.lang.reflect.Constructor[] candidates
        24: .line 1439
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
            astore 8 /* fact */
        start local 8 // jdk.internal.reflect.ReflectionFactory fact
        25: .line 1440
            aload 7 /* candidates */
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 33
      StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo sun.reflect.generics.repository.ConstructorRepository java.lang.reflect.Type[] java.lang.Class[] java.lang.Class java.lang.SecurityManager java.lang.reflect.Constructor[] jdk.internal.reflect.ReflectionFactory top int int java.lang.reflect.Constructor[]
      StackMap stack:
        26: aload 12
            iload 10
            aaload
            astore 9 /* c */
        start local 9 // java.lang.reflect.Constructor c
        27: .line 1441
            aload 4 /* parameterClasses */
        28: .line 1442
            aload 8 /* fact */
            aload 9 /* c */
            invokevirtual jdk.internal.reflect.ReflectionFactory.getExecutableSharedParameterTypes:(Ljava/lang/reflect/Executable;)[Ljava/lang/Class;
        29: .line 1441
            invokestatic java.lang.Class.arrayContentsEq:([Ljava/lang/Object;[Ljava/lang/Object;)Z
        30: .line 1442
            ifeq 32
        31: .line 1443
            aload 8 /* fact */
            aload 9 /* c */
            invokevirtual jdk.internal.reflect.ReflectionFactory.copyConstructor:(Ljava/lang/reflect/Constructor;)Ljava/lang/reflect/Constructor;
            areturn
        end local 9 // java.lang.reflect.Constructor c
        32: .line 1440
      StackMap locals:
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        33: iload 10
            iload 11
            if_icmplt 26
        34: .line 1447
            new java.lang.InternalError
            dup
            ldc "Enclosing constructor not found"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // jdk.internal.reflect.ReflectionFactory fact
        end local 7 // java.lang.reflect.Constructor[] candidates
        end local 6 // java.lang.SecurityManager sm
        end local 5 // java.lang.Class enclosingCandidate
        end local 4 // java.lang.Class[] parameterClasses
        end local 3 // java.lang.reflect.Type[] parameterTypes
        end local 2 // sun.reflect.generics.repository.ConstructorRepository typeInfo
        end local 1 // java.lang.Class$EnclosingMethodInfo enclosingInfo
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   35     0                this  Ljava/lang/Class<TT;>;
            1   35     1       enclosingInfo  Ljava/lang/Class$EnclosingMethodInfo;
            8   35     2            typeInfo  Lsun/reflect/generics/repository/ConstructorRepository;
            9   35     3      parameterTypes  [Ljava/lang/reflect/Type;
           10   35     4    parameterClasses  [Ljava/lang/Class;
           11   15     5                   i  I
           16   35     5  enclosingCandidate  Ljava/lang/Class<*>;
           17   35     6                  sm  Ljava/lang/SecurityManager;
           24   35     7          candidates  [Ljava/lang/reflect/Constructor;
           25   35     8                fact  Ljdk/internal/reflect/ReflectionFactory;
           27   32     9                   c  Ljava/lang/reflect/Constructor<*>;
    Exceptions:
      throws java.lang.SecurityException
    Signature: ()Ljava/lang/reflect/Constructor<*>;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()

  public java.lang.Class<?> getDeclaringClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1471
            aload 0 /* this */
            invokevirtual java.lang.Class.getDeclaringClass0:()Ljava/lang/Class;
            astore 1 /* candidate */
        start local 1 // java.lang.Class candidate
         1: .line 1473
            aload 1 /* candidate */
            ifnull 7
         2: .line 1474
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         3: .line 1475
            aload 2 /* sm */
            ifnull 7
         4: .line 1476
            aload 1 /* candidate */
            aload 2 /* sm */
         5: .line 1477
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
            iconst_1
         6: .line 1476
            invokevirtual java.lang.Class.checkPackageAccess:(Ljava/lang/SecurityManager;Ljava/lang/ClassLoader;Z)V
        end local 2 // java.lang.SecurityManager sm
         7: .line 1480
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* candidate */
            areturn
        end local 1 // java.lang.Class candidate
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Ljava/lang/Class<TT;>;
            1    8     1  candidate  Ljava/lang/Class<*>;
            3    7     2         sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.lang.SecurityException
    Signature: ()Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()

  private native java.lang.Class<?> getDeclaringClass0();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    Signature: ()Ljava/lang/Class<*>;

  public java.lang.Class<?> getEnclosingClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1512
            aload 0 /* this */
            invokevirtual java.lang.Class.getEnclosingMethodInfo:()Ljava/lang/Class$EnclosingMethodInfo;
            astore 1 /* enclosingInfo */
        start local 1 // java.lang.Class$EnclosingMethodInfo enclosingInfo
         1: .line 1515
            aload 1 /* enclosingInfo */
            ifnonnull 4
         2: .line 1517
            aload 0 /* this */
            invokevirtual java.lang.Class.getDeclaringClass0:()Ljava/lang/Class;
            astore 2 /* enclosingCandidate */
        start local 2 // java.lang.Class enclosingCandidate
         3: .line 1518
            goto 8
        end local 2 // java.lang.Class enclosingCandidate
         4: .line 1519
      StackMap locals: java.lang.Class$EnclosingMethodInfo
      StackMap stack:
            aload 1 /* enclosingInfo */
            invokevirtual java.lang.Class$EnclosingMethodInfo.getEnclosingClass:()Ljava/lang/Class;
            astore 3 /* enclosingClass */
        start local 3 // java.lang.Class enclosingClass
         5: .line 1521
            aload 3 /* enclosingClass */
            aload 0 /* this */
            if_acmpeq 6
            aload 3 /* enclosingClass */
            ifnonnull 7
         6: .line 1522
      StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo top java.lang.Class
      StackMap stack:
            new java.lang.InternalError
            dup
            ldc "Malformed enclosing method information"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 1524
      StackMap locals:
      StackMap stack:
            aload 3 /* enclosingClass */
            astore 2 /* enclosingCandidate */
        end local 3 // java.lang.Class enclosingClass
        start local 2 // java.lang.Class enclosingCandidate
         8: .line 1527
      StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo java.lang.Class
      StackMap stack:
            aload 2 /* enclosingCandidate */
            ifnull 14
         9: .line 1528
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
        10: .line 1529
            aload 3 /* sm */
            ifnull 14
        11: .line 1530
            aload 2 /* enclosingCandidate */
            aload 3 /* sm */
        12: .line 1531
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
            iconst_1
        13: .line 1530
            invokevirtual java.lang.Class.checkPackageAccess:(Ljava/lang/SecurityManager;Ljava/lang/ClassLoader;Z)V
        end local 3 // java.lang.SecurityManager sm
        14: .line 1534
      StackMap locals:
      StackMap stack:
            aload 2 /* enclosingCandidate */
            areturn
        end local 2 // java.lang.Class enclosingCandidate
        end local 1 // java.lang.Class$EnclosingMethodInfo enclosingInfo
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   15     0                this  Ljava/lang/Class<TT;>;
            1   15     1       enclosingInfo  Ljava/lang/Class$EnclosingMethodInfo;
            3    4     2  enclosingCandidate  Ljava/lang/Class<*>;
            8   15     2  enclosingCandidate  Ljava/lang/Class<*>;
            5    8     3      enclosingClass  Ljava/lang/Class<*>;
           10   14     3                  sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.lang.SecurityException
    Signature: ()Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()

  public java.lang.String getSimpleName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1550
            aload 0 /* this */
            invokevirtual java.lang.Class.reflectionData:()Ljava/lang/Class$ReflectionData;
            astore 1 /* rd */
        start local 1 // java.lang.Class$ReflectionData rd
         1: .line 1551
            aload 1 /* rd */
            getfield java.lang.Class$ReflectionData.simpleName:Ljava/lang/String;
            astore 2 /* simpleName */
        start local 2 // java.lang.String simpleName
         2: .line 1552
            aload 2 /* simpleName */
            ifnonnull 4
         3: .line 1553
            aload 1 /* rd */
            aload 0 /* this */
            invokevirtual java.lang.Class.getSimpleName0:()Ljava/lang/String;
            dup
            astore 2 /* simpleName */
            putfield java.lang.Class$ReflectionData.simpleName:Ljava/lang/String;
         4: .line 1555
      StackMap locals: java.lang.Class$ReflectionData java.lang.String
      StackMap stack:
            aload 2 /* simpleName */
            areturn
        end local 2 // java.lang.String simpleName
        end local 1 // java.lang.Class$ReflectionData rd
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Ljava/lang/Class<TT;>;
            1    5     1          rd  Ljava/lang/Class$ReflectionData<TT;>;
            2    5     2  simpleName  Ljava/lang/String;

  private java.lang.String getSimpleName0();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1559
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 2
         1: .line 1560
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "[]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 1562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.getSimpleBinaryName:()Ljava/lang/String;
            astore 1 /* simpleName */
        start local 1 // java.lang.String simpleName
         3: .line 1563
            aload 1 /* simpleName */
            ifnonnull 6
         4: .line 1564
            aload 0 /* this */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 1 /* simpleName */
         5: .line 1565
            aload 1 /* simpleName */
            aload 1 /* simpleName */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* simpleName */
         6: .line 1567
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* simpleName */
            areturn
        end local 1 // java.lang.String simpleName
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Ljava/lang/Class<TT;>;
            3    7     1  simpleName  Ljava/lang/String;

  public java.lang.String getTypeName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1577
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 16
         1: .line 1579
            aload 0 /* this */
            astore 1 /* cl */
        start local 1 // java.lang.Class cl
         2: .line 1580
            iconst_0
            istore 2 /* dimensions */
        start local 2 // int dimensions
         3: .line 1582
      StackMap locals: java.lang.Class int
      StackMap stack:
            iinc 2 /* dimensions */ 1
         4: .line 1583
            aload 1 /* cl */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 1 /* cl */
         5: .line 1584
            aload 1 /* cl */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 3
         6: .line 1585
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         7: .line 1586
            aload 3 /* sb */
            aload 1 /* cl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 1587
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 12
        10: .line 1588
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 3 /* sb */
            ldc "[]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 1587
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 2 /* dimensions */
            if_icmplt 10
        end local 4 // int i
        13: .line 1590
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: areturn
        end local 3 // java.lang.StringBuilder sb
        end local 2 // int dimensions
        end local 1 // java.lang.Class cl
        15: .line 1591
      StackMap locals: java.lang.Class
      StackMap stack: java.lang.Throwable
            pop
        16: .line 1593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Ljava/lang/Class<TT;>;
            2   15     1          cl  Ljava/lang/Class<*>;
            3   15     2  dimensions  I
            7   15     3          sb  Ljava/lang/StringBuilder;
            9   13     4           i  I
      Exception table:
        from    to  target  type
           1    14      15  Class java.lang.Throwable

  public java.lang.String getCanonicalName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1607
            aload 0 /* this */
            invokevirtual java.lang.Class.reflectionData:()Ljava/lang/Class$ReflectionData;
            astore 1 /* rd */
        start local 1 // java.lang.Class$ReflectionData rd
         1: .line 1608
            aload 1 /* rd */
            getfield java.lang.Class$ReflectionData.canonicalName:Ljava/lang/String;
            astore 2 /* canonicalName */
        start local 2 // java.lang.String canonicalName
         2: .line 1609
            aload 2 /* canonicalName */
            ifnonnull 4
         3: .line 1610
            aload 1 /* rd */
            aload 0 /* this */
            invokevirtual java.lang.Class.getCanonicalName0:()Ljava/lang/String;
            dup
            astore 2 /* canonicalName */
            putfield java.lang.Class$ReflectionData.canonicalName:Ljava/lang/String;
         4: .line 1612
      StackMap locals: java.lang.Class$ReflectionData java.lang.String
      StackMap stack:
            aload 2 /* canonicalName */
            getstatic java.lang.Class$ReflectionData.NULL_SENTINEL:Ljava/lang/String;
            if_acmpne 5
            aconst_null
            goto 6
      StackMap locals:
      StackMap stack:
         5: aload 2 /* canonicalName */
      StackMap locals:
      StackMap stack: java.lang.String
         6: areturn
        end local 2 // java.lang.String canonicalName
        end local 1 // java.lang.Class$ReflectionData rd
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Ljava/lang/Class<TT;>;
            1    7     1             rd  Ljava/lang/Class$ReflectionData<TT;>;
            2    7     2  canonicalName  Ljava/lang/String;

  private java.lang.String getCanonicalName0();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1616
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 5
         1: .line 1617
            aload 0 /* this */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            astore 1 /* canonicalName */
        start local 1 // java.lang.String canonicalName
         2: .line 1618
            aload 1 /* canonicalName */
            ifnull 4
         3: .line 1619
            new java.lang.StringBuilder
            dup
            aload 1 /* canonicalName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "[]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         4: .line 1621
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic java.lang.Class$ReflectionData.NULL_SENTINEL:Ljava/lang/String;
            areturn
        end local 1 // java.lang.String canonicalName
         5: .line 1623
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.isLocalOrAnonymousClass:()Z
            ifeq 7
         6: .line 1624
            getstatic java.lang.Class$ReflectionData.NULL_SENTINEL:Ljava/lang/String;
            areturn
         7: .line 1625
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.getEnclosingClass:()Ljava/lang/Class;
            astore 1 /* enclosingClass */
        start local 1 // java.lang.Class enclosingClass
         8: .line 1626
            aload 1 /* enclosingClass */
            ifnonnull 10
         9: .line 1627
            aload 0 /* this */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        10: .line 1629
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* enclosingClass */
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            astore 2 /* enclosingName */
        start local 2 // java.lang.String enclosingName
        11: .line 1630
            aload 2 /* enclosingName */
            ifnonnull 13
        12: .line 1631
            getstatic java.lang.Class$ReflectionData.NULL_SENTINEL:Ljava/lang/String;
            areturn
        13: .line 1632
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* enclosingName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String enclosingName
        end local 1 // java.lang.Class enclosingClass
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Ljava/lang/Class<TT;>;
            2    5     1   canonicalName  Ljava/lang/String;
            8   14     1  enclosingClass  Ljava/lang/Class<*>;
           11   14     2   enclosingName  Ljava/lang/String;

  public boolean isAnonymousClass();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1644
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 3
            aload 0 /* this */
            invokevirtual java.lang.Class.isLocalOrAnonymousClass:()Z
            ifeq 3
         1: .line 1645
            aload 0 /* this */
            invokevirtual java.lang.Class.getSimpleBinaryName0:()Ljava/lang/String;
            ifnonnull 3
         2: .line 1644
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/Class<TT;>;

  public boolean isLocalClass();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1656
            aload 0 /* this */
            invokevirtual java.lang.Class.isLocalOrAnonymousClass:()Z
            ifeq 3
         1: .line 1657
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 2
            aload 0 /* this */
            invokevirtual java.lang.Class.getSimpleBinaryName0:()Ljava/lang/String;
            ifnull 3
         2: .line 1656
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/Class<TT;>;

  public boolean isMemberClass();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1668
            aload 0 /* this */
            invokevirtual java.lang.Class.isLocalOrAnonymousClass:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual java.lang.Class.getDeclaringClass0:()Ljava/lang/Class;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/Class<TT;>;

  private java.lang.String getSimpleBinaryName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1678
            aload 0 /* this */
            invokevirtual java.lang.Class.isTopLevelClass:()Z
            ifeq 2
         1: .line 1679
            aconst_null
            areturn
         2: .line 1680
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.getSimpleBinaryName0:()Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         3: .line 1681
            aload 1 /* name */
            ifnonnull 5
         4: .line 1682
            ldc ""
            areturn
         5: .line 1683
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* name */
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/Class<TT;>;
            3    6     1  name  Ljava/lang/String;

  private native java.lang.String getSimpleBinaryName0();
    descriptor: ()Ljava/lang/String;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE

  private boolean isTopLevelClass();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1693
            aload 0 /* this */
            invokevirtual java.lang.Class.isLocalOrAnonymousClass:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual java.lang.Class.getDeclaringClass0:()Ljava/lang/Class;
            ifnonnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/Class<TT;>;

  private boolean isLocalOrAnonymousClass();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1704
            aload 0 /* this */
            invokevirtual java.lang.Class.hasEnclosingMethodInfo:()Z
            ireturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Class<TT;>;

  private boolean hasEnclosingMethodInfo();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1708
            aload 0 /* this */
            invokevirtual java.lang.Class.getEnclosingMethod0:()[Ljava/lang/Object;
            astore 1 /* enclosingInfo */
        start local 1 // java.lang.Object[] enclosingInfo
         1: .line 1709
            aload 1 /* enclosingInfo */
            ifnull 4
         2: .line 1710
            aload 1 /* enclosingInfo */
            invokestatic java.lang.Class$EnclosingMethodInfo.validate:([Ljava/lang/Object;)V
         3: .line 1711
            iconst_1
            ireturn
         4: .line 1713
      StackMap locals: java.lang.Object[]
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object[] enclosingInfo
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Ljava/lang/Class<TT;>;
            1    5     1  enclosingInfo  [Ljava/lang/Object;

  public java.lang.Class<?>[] getClasses();
    descriptor: ()[Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1741
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 1742
            aload 1 /* sm */
            ifnull 3
         2: .line 1743
            aload 0 /* this */
            aload 1 /* sm */
            iconst_0
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_0
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
         3: .line 1753
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            new java.lang.Class$2
            dup
            aload 0 /* this */
            invokespecial java.lang.Class$2.<init>:(Ljava/lang/Class;)V
         4: .line 1752
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Class[]
            areturn
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/lang/Class<TT;>;
            1    5     1    sm  Ljava/lang/SecurityManager;
    Signature: ()[Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()

  public java.lang.reflect.Field[] getFields();
    descriptor: ()[Ljava/lang/reflect/Field;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1810
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 1811
            aload 1 /* sm */
            ifnull 3
         2: .line 1812
            aload 0 /* this */
            aload 1 /* sm */
            iconst_0
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_1
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
         3: .line 1814
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.privateGetPublicFields:()[Ljava/lang/reflect/Field;
            invokestatic java.lang.Class.copyFields:([Ljava/lang/reflect/Field;)[Ljava/lang/reflect/Field;
            areturn
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/Class<TT;>;
            1    4     1    sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.lang.SecurityException
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()

  public java.lang.reflect.Method[] getMethods();
    descriptor: ()[Ljava/lang/reflect/Method;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1900
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 1901
            aload 1 /* sm */
            ifnull 3
         2: .line 1902
            aload 0 /* this */
            aload 1 /* sm */
            iconst_0
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_1
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
         3: .line 1904
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.privateGetPublicMethods:()[Ljava/lang/reflect/Method;
            invokestatic java.lang.Class.copyMethods:([Ljava/lang/reflect/Method;)[Ljava/lang/reflect/Method;
            areturn
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/Class<TT;>;
            1    4     1    sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.lang.SecurityException
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()

  public java.lang.reflect.Constructor<?>[] getConstructors();
    descriptor: ()[Ljava/lang/reflect/Constructor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1939
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 1940
            aload 1 /* sm */
            ifnull 3
         2: .line 1941
            aload 0 /* this */
            aload 1 /* sm */
            iconst_0
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_1
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
         3: .line 1943
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual java.lang.Class.privateGetDeclaredConstructors:(Z)[Ljava/lang/reflect/Constructor;
            invokestatic java.lang.Class.copyConstructors:([Ljava/lang/reflect/Constructor;)[Ljava/lang/reflect/Constructor;
            areturn
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/Class<TT;>;
            1    4     1    sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.lang.SecurityException
    Signature: ()[Ljava/lang/reflect/Constructor<*>;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()

  public java.lang.reflect.Field getField(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/reflect/Field;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // java.lang.String name
         0: .line 1992
            aload 1 /* name */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1993
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         2: .line 1994
            aload 2 /* sm */
            ifnull 4
         3: .line 1995
            aload 0 /* this */
            aload 2 /* sm */
            iconst_0
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_1
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
         4: .line 1997
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.Class.getField0:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 3 /* field */
        start local 3 // java.lang.reflect.Field field
         5: .line 1998
            aload 3 /* field */
            ifnonnull 7
         6: .line 1999
            new java.lang.NoSuchFieldException
            dup
            aload 1 /* name */
            invokespecial java.lang.NoSuchFieldException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 2001
      StackMap locals: java.lang.reflect.Field
      StackMap stack:
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
            aload 3 /* field */
            invokevirtual jdk.internal.reflect.ReflectionFactory.copyField:(Ljava/lang/reflect/Field;)Ljava/lang/reflect/Field;
            areturn
        end local 3 // java.lang.reflect.Field field
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Ljava/lang/Class<TT;>;
            0    8     1   name  Ljava/lang/String;
            2    8     2     sm  Ljava/lang/SecurityManager;
            5    8     3  field  Ljava/lang/reflect/Field;
    Exceptions:
      throws java.lang.NoSuchFieldException, java.lang.SecurityException
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()
    MethodParameters:
      Name  Flags
      name  

  public java.lang.reflect.Method getMethod(java.lang.String, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // java.lang.Class this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class[] parameterTypes
         0: .line 2101
            aload 1 /* name */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 2102
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         2: .line 2103
            aload 3 /* sm */
            ifnull 4
         3: .line 2104
            aload 0 /* this */
            aload 3 /* sm */
            iconst_0
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_1
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
         4: .line 2106
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* parameterTypes */
            invokevirtual java.lang.Class.getMethod0:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 4 /* method */
        start local 4 // java.lang.reflect.Method method
         5: .line 2107
            aload 4 /* method */
            ifnonnull 7
         6: .line 2108
            new java.lang.NoSuchMethodException
            dup
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* parameterTypes */
            invokevirtual java.lang.Class.methodToString:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/String;
            invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 2110
      StackMap locals: java.lang.reflect.Method
      StackMap stack:
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
            aload 4 /* method */
            invokevirtual jdk.internal.reflect.ReflectionFactory.copyMethod:(Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
            areturn
        end local 4 // java.lang.reflect.Method method
        end local 3 // java.lang.SecurityManager sm
        end local 2 // java.lang.Class[] parameterTypes
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Ljava/lang/Class<TT;>;
            0    8     1            name  Ljava/lang/String;
            0    8     2  parameterTypes  [Ljava/lang/Class;
            2    8     3              sm  Ljava/lang/SecurityManager;
            5    8     4          method  Ljava/lang/reflect/Method;
    Exceptions:
      throws java.lang.NoSuchMethodException, java.lang.SecurityException
    Signature: (Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()
    MethodParameters:
                Name  Flags
      name            
      parameterTypes  

  public java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<?>[]);
    descriptor: ([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // java.lang.Class[] parameterTypes
         0: .line 2146
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 2147
            aload 2 /* sm */
            ifnull 3
         2: .line 2148
            aload 0 /* this */
            aload 2 /* sm */
            iconst_0
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_1
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
         3: .line 2150
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
         4: .line 2151
            aload 0 /* this */
            aload 1 /* parameterTypes */
            iconst_0
            invokevirtual java.lang.Class.getConstructor0:([Ljava/lang/Class;I)Ljava/lang/reflect/Constructor;
         5: .line 2150
            invokevirtual jdk.internal.reflect.ReflectionFactory.copyConstructor:(Ljava/lang/reflect/Constructor;)Ljava/lang/reflect/Constructor;
            areturn
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.lang.Class[] parameterTypes
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Ljava/lang/Class<TT;>;
            0    6     1  parameterTypes  [Ljava/lang/Class;
            1    6     2              sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.lang.NoSuchMethodException, java.lang.SecurityException
    Signature: ([Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor<TT;>;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()
    MethodParameters:
                Name  Flags
      parameterTypes  

  public java.lang.Class<?>[] getDeclaredClasses();
    descriptor: ()[Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 2192
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 2193
            aload 1 /* sm */
            ifnull 3
         2: .line 2194
            aload 0 /* this */
            aload 1 /* sm */
            iconst_1
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_0
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
         3: .line 2196
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.getDeclaredClasses0:()[Ljava/lang/Class;
            areturn
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/Class<TT;>;
            1    4     1    sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.lang.SecurityException
    Signature: ()[Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()

  public java.lang.reflect.Field[] getDeclaredFields();
    descriptor: ()[Ljava/lang/reflect/Field;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 2244
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 2245
            aload 1 /* sm */
            ifnull 3
         2: .line 2246
            aload 0 /* this */
            aload 1 /* sm */
            iconst_1
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_1
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
         3: .line 2248
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.lang.Class.privateGetDeclaredFields:(Z)[Ljava/lang/reflect/Field;
            invokestatic java.lang.Class.copyFields:([Ljava/lang/reflect/Field;)[Ljava/lang/reflect/Field;
            areturn
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/Class<TT;>;
            1    4     1    sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.lang.SecurityException
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()

  public java.lang.reflect.Method[] getDeclaredMethods();
    descriptor: ()[Ljava/lang/reflect/Method;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 2305
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 2306
            aload 1 /* sm */
            ifnull 3
         2: .line 2307
            aload 0 /* this */
            aload 1 /* sm */
            iconst_1
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_1
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
         3: .line 2309
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.lang.Class.privateGetDeclaredMethods:(Z)[Ljava/lang/reflect/Method;
            invokestatic java.lang.Class.copyMethods:([Ljava/lang/reflect/Method;)[Ljava/lang/reflect/Method;
            areturn
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/Class<TT;>;
            1    4     1    sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.lang.SecurityException
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()

  public java.lang.reflect.Constructor<?>[] getDeclaredConstructors();
    descriptor: ()[Ljava/lang/reflect/Constructor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 2353
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 2354
            aload 1 /* sm */
            ifnull 3
         2: .line 2355
            aload 0 /* this */
            aload 1 /* sm */
            iconst_1
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_1
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
         3: .line 2357
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.lang.Class.privateGetDeclaredConstructors:(Z)[Ljava/lang/reflect/Constructor;
            invokestatic java.lang.Class.copyConstructors:([Ljava/lang/reflect/Constructor;)[Ljava/lang/reflect/Constructor;
            areturn
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/Class<TT;>;
            1    4     1    sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.lang.SecurityException
    Signature: ()[Ljava/lang/reflect/Constructor<*>;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()

  public java.lang.reflect.Field getDeclaredField(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/reflect/Field;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // java.lang.String name
         0: .line 2404
            aload 1 /* name */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 2405
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         2: .line 2406
            aload 2 /* sm */
            ifnull 4
         3: .line 2407
            aload 0 /* this */
            aload 2 /* sm */
            iconst_1
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_1
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
         4: .line 2409
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.lang.Class.privateGetDeclaredFields:(Z)[Ljava/lang/reflect/Field;
            aload 1 /* name */
            invokestatic java.lang.Class.searchFields:([Ljava/lang/reflect/Field;Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 3 /* field */
        start local 3 // java.lang.reflect.Field field
         5: .line 2410
            aload 3 /* field */
            ifnonnull 7
         6: .line 2411
            new java.lang.NoSuchFieldException
            dup
            aload 1 /* name */
            invokespecial java.lang.NoSuchFieldException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 2413
      StackMap locals: java.lang.reflect.Field
      StackMap stack:
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
            aload 3 /* field */
            invokevirtual jdk.internal.reflect.ReflectionFactory.copyField:(Ljava/lang/reflect/Field;)Ljava/lang/reflect/Field;
            areturn
        end local 3 // java.lang.reflect.Field field
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Ljava/lang/Class<TT;>;
            0    8     1   name  Ljava/lang/String;
            2    8     2     sm  Ljava/lang/SecurityManager;
            5    8     3  field  Ljava/lang/reflect/Field;
    Exceptions:
      throws java.lang.NoSuchFieldException, java.lang.SecurityException
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()
    MethodParameters:
      Name  Flags
      name  

  public java.lang.reflect.Method getDeclaredMethod(java.lang.String, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // java.lang.Class this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class[] parameterTypes
         0: .line 2468
            aload 1 /* name */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 2469
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         2: .line 2470
            aload 3 /* sm */
            ifnull 4
         3: .line 2471
            aload 0 /* this */
            aload 3 /* sm */
            iconst_1
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_1
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
         4: .line 2473
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.lang.Class.privateGetDeclaredMethods:(Z)[Ljava/lang/reflect/Method;
            aload 1 /* name */
            aload 2 /* parameterTypes */
            invokestatic java.lang.Class.searchMethods:([Ljava/lang/reflect/Method;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 4 /* method */
        start local 4 // java.lang.reflect.Method method
         5: .line 2474
            aload 4 /* method */
            ifnonnull 7
         6: .line 2475
            new java.lang.NoSuchMethodException
            dup
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* parameterTypes */
            invokevirtual java.lang.Class.methodToString:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/String;
            invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 2477
      StackMap locals: java.lang.reflect.Method
      StackMap stack:
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
            aload 4 /* method */
            invokevirtual jdk.internal.reflect.ReflectionFactory.copyMethod:(Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
            areturn
        end local 4 // java.lang.reflect.Method method
        end local 3 // java.lang.SecurityManager sm
        end local 2 // java.lang.Class[] parameterTypes
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Ljava/lang/Class<TT;>;
            0    8     1            name  Ljava/lang/String;
            0    8     2  parameterTypes  [Ljava/lang/Class;
            2    8     3              sm  Ljava/lang/SecurityManager;
            5    8     4          method  Ljava/lang/reflect/Method;
    Exceptions:
      throws java.lang.NoSuchMethodException, java.lang.SecurityException
    Signature: (Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()
    MethodParameters:
                Name  Flags
      name            
      parameterTypes  

  java.util.List<java.lang.reflect.Method> getDeclaredPublicMethods(java.lang.String, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0080) ACC_VARARGS
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // java.lang.Class this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class[] parameterTypes
         0: .line 2491
            aload 0 /* this */
            iconst_1
            invokevirtual java.lang.Class.privateGetDeclaredMethods:(Z)[Ljava/lang/reflect/Method;
            astore 3 /* methods */
        start local 3 // java.lang.reflect.Method[] methods
         1: .line 2492
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
            astore 4 /* factory */
        start local 4 // jdk.internal.reflect.ReflectionFactory factory
         2: .line 2493
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* result */
        start local 5 // java.util.List result
         3: .line 2494
            aload 3 /* methods */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 12
      StackMap locals: java.lang.Class java.lang.String java.lang.Class[] java.lang.reflect.Method[] jdk.internal.reflect.ReflectionFactory java.util.List top int int java.lang.reflect.Method[]
      StackMap stack:
         4: aload 9
            iload 7
            aaload
            astore 6 /* method */
        start local 6 // java.lang.reflect.Method method
         5: .line 2495
            aload 6 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         6: .line 2497
            aload 4 /* factory */
            aload 6 /* method */
            invokevirtual jdk.internal.reflect.ReflectionFactory.getExecutableSharedParameterTypes:(Ljava/lang/reflect/Executable;)[Ljava/lang/Class;
         7: .line 2498
            aload 2 /* parameterTypes */
         8: .line 2496
            invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
         9: .line 2498
            ifeq 11
        10: .line 2499
            aload 5 /* result */
            aload 4 /* factory */
            aload 6 /* method */
            invokevirtual jdk.internal.reflect.ReflectionFactory.copyMethod:(Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.reflect.Method method
        11: .line 2494
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        12: iload 7
            iload 8
            if_icmplt 4
        13: .line 2502
            aload 5 /* result */
            areturn
        end local 5 // java.util.List result
        end local 4 // jdk.internal.reflect.ReflectionFactory factory
        end local 3 // java.lang.reflect.Method[] methods
        end local 2 // java.lang.Class[] parameterTypes
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Ljava/lang/Class<TT;>;
            0   14     1            name  Ljava/lang/String;
            0   14     2  parameterTypes  [Ljava/lang/Class;
            1   14     3         methods  [Ljava/lang/reflect/Method;
            2   14     4         factory  Ljdk/internal/reflect/ReflectionFactory;
            3   14     5          result  Ljava/util/List<Ljava/lang/reflect/Method;>;
            5   11     6          method  Ljava/lang/reflect/Method;
    Signature: (Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/util/List<Ljava/lang/reflect/Method;>;
    MethodParameters:
                Name  Flags
      name            
      parameterTypes  

  public java.lang.reflect.Constructor<T> getDeclaredConstructor(java.lang.Class<?>[]);
    descriptor: ([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // java.lang.Class[] parameterTypes
         0: .line 2547
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 2548
            aload 2 /* sm */
            ifnull 3
         2: .line 2549
            aload 0 /* this */
            aload 2 /* sm */
            iconst_1
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_1
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
         3: .line 2552
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
         4: .line 2553
            aload 0 /* this */
            aload 1 /* parameterTypes */
            iconst_1
            invokevirtual java.lang.Class.getConstructor0:([Ljava/lang/Class;I)Ljava/lang/reflect/Constructor;
         5: .line 2552
            invokevirtual jdk.internal.reflect.ReflectionFactory.copyConstructor:(Ljava/lang/reflect/Constructor;)Ljava/lang/reflect/Constructor;
            areturn
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.lang.Class[] parameterTypes
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Ljava/lang/Class<TT;>;
            0    6     1  parameterTypes  [Ljava/lang/Class;
            1    6     2              sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.lang.NoSuchMethodException, java.lang.SecurityException
    Signature: ([Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor<TT;>;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()
    MethodParameters:
                Name  Flags
      parameterTypes  

  public java.io.InputStream getResourceAsStream(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // java.lang.String name
         0: .line 2614
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.Class.resolveName:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* name */
         1: .line 2616
            aload 0 /* this */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            astore 2 /* thisModule */
        start local 2 // java.lang.Module thisModule
         2: .line 2617
            aload 2 /* thisModule */
            invokevirtual java.lang.Module.isNamed:()Z
            ifeq 20
         3: .line 2619
            aload 1 /* name */
            invokestatic jdk.internal.module.Resources.canEncapsulate:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 2620
            aload 0 /* this */
            aload 1 /* name */
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isOpenToCaller:(Ljava/lang/String;Ljava/lang/Class;)Z
            ifne 6
         5: .line 2621
            aconst_null
            areturn
         6: .line 2625
      StackMap locals: java.lang.Module
      StackMap stack:
            aload 2 /* thisModule */
            invokevirtual java.lang.Module.getName:()Ljava/lang/String;
            astore 3 /* mn */
        start local 3 // java.lang.String mn
         7: .line 2626
            aload 0 /* this */
            invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
            astore 4 /* cl */
        start local 4 // java.lang.ClassLoader cl
         8: .line 2631
            aload 4 /* cl */
            ifnonnull 11
         9: .line 2632
            aload 3 /* mn */
            aload 1 /* name */
            invokestatic jdk.internal.loader.BootLoader.findResourceAsStream:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/InputStream;
        10: areturn
        11: .line 2633
      StackMap locals: java.lang.String java.lang.ClassLoader
      StackMap stack:
            aload 4 /* cl */
            instanceof jdk.internal.loader.BuiltinClassLoader
            ifeq 14
        12: .line 2634
            aload 4 /* cl */
            checkcast jdk.internal.loader.BuiltinClassLoader
            aload 3 /* mn */
            aload 1 /* name */
            invokevirtual jdk.internal.loader.BuiltinClassLoader.findResourceAsStream:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/InputStream;
        13: areturn
        14: .line 2636
      StackMap locals:
      StackMap stack:
            aload 4 /* cl */
            aload 3 /* mn */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findResource:(Ljava/lang/String;Ljava/lang/String;)Ljava/net/URL;
            astore 5 /* url */
        start local 5 // java.net.URL url
        15: .line 2637
            aload 5 /* url */
            ifnull 16
            aload 5 /* url */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            goto 17
      StackMap locals: java.net.URL
      StackMap stack:
        16: aconst_null
      StackMap locals:
      StackMap stack: java.io.InputStream
        17: areturn
        end local 5 // java.net.URL url
        18: .line 2640
      StackMap locals: java.lang.Class java.lang.String java.lang.Module java.lang.String java.lang.ClassLoader
      StackMap stack: java.lang.Exception
            pop
        19: .line 2641
            aconst_null
            areturn
        end local 4 // java.lang.ClassLoader cl
        end local 3 // java.lang.String mn
        20: .line 2646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
            astore 3 /* cl */
        start local 3 // java.lang.ClassLoader cl
        21: .line 2647
            aload 3 /* cl */
            ifnonnull 23
        22: .line 2648
            aload 1 /* name */
            invokestatic java.lang.ClassLoader.getSystemResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            areturn
        23: .line 2650
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 3 /* cl */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            areturn
        end local 3 // java.lang.ClassLoader cl
        end local 2 // java.lang.Module thisModule
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Ljava/lang/Class<TT;>;
            0   24     1        name  Ljava/lang/String;
            2   24     2  thisModule  Ljava/lang/Module;
            7   20     3          mn  Ljava/lang/String;
            8   20     4          cl  Ljava/lang/ClassLoader;
           15   18     5         url  Ljava/net/URL;
           21   24     3          cl  Ljava/lang/ClassLoader;
      Exception table:
        from    to  target  type
           8    10      18  Class java.io.IOException
          11    13      18  Class java.io.IOException
          14    17      18  Class java.io.IOException
           8    10      18  Class java.lang.SecurityException
          11    13      18  Class java.lang.SecurityException
          14    17      18  Class java.lang.SecurityException
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()
    MethodParameters:
      Name  Flags
      name  

  public java.net.URL getResource(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URL;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // java.lang.String name
         0: .line 2711
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.Class.resolveName:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* name */
         1: .line 2713
            aload 0 /* this */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            astore 2 /* thisModule */
        start local 2 // java.lang.Module thisModule
         2: .line 2714
            aload 2 /* thisModule */
            invokevirtual java.lang.Module.isNamed:()Z
            ifeq 15
         3: .line 2716
            aload 1 /* name */
            invokestatic jdk.internal.module.Resources.canEncapsulate:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 2717
            aload 0 /* this */
            aload 1 /* name */
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isOpenToCaller:(Ljava/lang/String;Ljava/lang/Class;)Z
            ifne 6
         5: .line 2718
            aconst_null
            areturn
         6: .line 2722
      StackMap locals: java.lang.Module
      StackMap stack:
            aload 2 /* thisModule */
            invokevirtual java.lang.Module.getName:()Ljava/lang/String;
            astore 3 /* mn */
        start local 3 // java.lang.String mn
         7: .line 2723
            aload 0 /* this */
            invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
            astore 4 /* cl */
        start local 4 // java.lang.ClassLoader cl
         8: .line 2725
            aload 4 /* cl */
            ifnonnull 11
         9: .line 2726
            aload 3 /* mn */
            aload 1 /* name */
            invokestatic jdk.internal.loader.BootLoader.findResource:(Ljava/lang/String;Ljava/lang/String;)Ljava/net/URL;
        10: areturn
        11: .line 2728
      StackMap locals: java.lang.String java.lang.ClassLoader
      StackMap stack:
            aload 4 /* cl */
            aload 3 /* mn */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findResource:(Ljava/lang/String;Ljava/lang/String;)Ljava/net/URL;
        12: areturn