public final class java.lang.Class<T> implements java.io.Serializable, java.lang.reflect.GenericDeclaration, java.lang.reflect.Type, java.lang.reflect.AnnotatedElement, java.lang.invoke.TypeDescriptor$OfField<java.lang.Class<?>>, java.lang.constant.Constable
  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 static final java.lang.constant.ClassDesc[] EMPTY_CLASS_DESC_ARRAY;
    descriptor: [Ljava/lang/constant/ClassDesc;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  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 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.Object classData;
    descriptor: Ljava/lang/Object;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  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 final java.lang.Class<?> JAVA_LANG_RECORD_CLASS;
    descriptor: Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  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 204
            iconst_0
            anewarray java.lang.constant.ClassDesc
            putstatic java.lang.Class.EMPTY_CLASS_DESC_ARRAY:[Ljava/lang/constant/ClassDesc;
         1: .line 208
            invokestatic java.lang.Class.registerNatives:()V
         2: .line 3446
            iconst_0
            anewarray java.lang.Class
            putstatic java.lang.Class.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
         3: .line 3607
            iconst_0
            anewarray java.io.ObjectStreamField
         4: .line 3606
            putstatic java.lang.Class.serialPersistentFields:[Ljava/io/ObjectStreamField;
         5: .line 3681
            invokestatic java.lang.Class.javaLangRecordClass:()Ljava/lang/Class;
            putstatic java.lang.Class.JAVA_LANG_RECORD_CLASS:Ljava/lang/Class;
         6: .line 3727
            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 216
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 219
            aload 0 /* this */
            aload 1 /* loader */
            putfield java.lang.Class.classLoader:Ljava/lang/ClassLoader;
         2: .line 220
            aload 0 /* this */
            aload 2 /* arrayComponentType */
            putfield java.lang.Class.componentType:Ljava/lang/Class;
         3: .line 221
            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 236
            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 237
            aload 0 /* this */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 236
            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=5, args_size=1
        start local 0 // java.lang.Class this
         0: .line 275
            aload 0 /* this */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 2
         1: .line 276
            aload 0 /* this */
            invokevirtual java.lang.Class.toString:()Ljava/lang/String;
            areturn
         2: .line 278
      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 279
            aload 0 /* this */
            astore 2 /* component */
        start local 2 // java.lang.Class component
         4: .line 280
            iconst_0
            istore 3 /* arrayDepth */
        start local 3 // int arrayDepth
         5: .line 282
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 11
         6: .line 284
      StackMap locals: java.lang.StringBuilder java.lang.Class int
      StackMap stack:
            iinc 3 /* arrayDepth */ 1
         7: .line 285
            aload 2 /* component */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 2 /* component */
         8: .line 286
            aload 2 /* component */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 6
         9: .line 287
            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 288
            goto 27
        11: .line 290
      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 291
            iload 4 /* modifiers */
            ifeq 15
        13: .line 292
            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 293
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        15: .line 296
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.isAnnotation:()Z
            ifeq 17
        16: .line 297
            aload 1 /* sb */
            bipush 64
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        17: .line 299
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 20
        18: .line 300
            aload 1 /* sb */
            ldc "interface"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 301
            goto 25
        20: .line 302
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.isEnum:()Z
            ifeq 22
        21: .line 303
            aload 1 /* sb */
            ldc "enum"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 25
        22: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.isRecord:()Z
            ifeq 24
        23: .line 305
            aload 1 /* sb */
            ldc "record"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 25
        24: .line 307
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        25: .line 309
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        26: .line 310
            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
        27: .line 313
      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
        28: .line 314
            aload 4 /* typeparms */
            arraylength
            ifle 33
        29: .line 315
            aload 1 /* sb */
            aload 4 /* typeparms */
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
        30: .line 316
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  java/lang/Class.typeVarBounds(Ljava/lang/reflect/TypeVariable;)Ljava/lang/String; (6)
                  (Ljava/lang/reflect/TypeVariable;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        31: .line 317
            ldc ","
            ldc "<"
            ldc ">"
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
        32: .line 315
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        33: .line 320
      StackMap locals: java.lang.reflect.TypeVariable[]
      StackMap stack:
            iload 3 /* arrayDepth */
            ifle 34
            aload 1 /* sb */
            ldc "[]"
            iload 3 /* arrayDepth */
            invokevirtual java.lang.String.repeat:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        34: .line 322
      StackMap locals:
      StackMap stack:
            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   35     0        this  Ljava/lang/Class<TT;>;
            3   35     1          sb  Ljava/lang/StringBuilder;
            4   35     2   component  Ljava/lang/Class<*>;
            5   35     3  arrayDepth  I
           12   27     4   modifiers  I
           28   35     4   typeparms  [Ljava/lang/reflect/TypeVariable;

  static java.lang.String typeVarBounds(java.lang.reflect.TypeVariable<?>);
    descriptor: (Ljava/lang/reflect/TypeVariable;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.reflect.TypeVariable typeVar
         0: .line 327
            aload 0 /* typeVar */
            invokeinterface java.lang.reflect.TypeVariable.getBounds:()[Ljava/lang/reflect/Type;
            astore 1 /* bounds */
        start local 1 // java.lang.reflect.Type[] bounds
         1: .line 328
            aload 1 /* bounds */
            arraylength
            iconst_1
            if_icmpne 3
            aload 1 /* bounds */
            iconst_0
            aaload
            ldc Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 329
            aload 0 /* typeVar */
            invokeinterface java.lang.reflect.TypeVariable.getName:()Ljava/lang/String;
            areturn
         3: .line 331
      StackMap locals: java.lang.reflect.Type[]
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* typeVar */
            invokeinterface java.lang.reflect.TypeVariable.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " extends "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 332
            aload 1 /* bounds */
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
         5: .line 333
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  java/lang/reflect/Type.getTypeName()Ljava/lang/String; (9 itf)
                  (Ljava/lang/reflect/Type;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         6: .line 334
            ldc " & "
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
         7: .line 332
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 331
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.reflect.Type[] bounds
        end local 0 // java.lang.reflect.TypeVariable typeVar
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0  typeVar  Ljava/lang/reflect/TypeVariable<*>;
            1    9     1   bounds  [Ljava/lang/reflect/Type;
    Signature: (Ljava/lang/reflect/TypeVariable<*>;)Ljava/lang/String;
    MethodParameters:
         Name  Flags
      typeVar  

  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 376
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            astore 1 /* caller */
        start local 1 // java.lang.Class caller
         1: .line 377
            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 454
            aconst_null
            astore 3 /* caller */
        start local 3 // java.lang.Class caller
         1: .line 455
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 4 /* sm */
        start local 4 // java.lang.SecurityManager sm
         2: .line 456
            aload 4 /* sm */
            ifnull 10
         3: .line 459
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            astore 3 /* caller */
         4: .line 460
            aload 2 /* loader */
            ifnonnull 10
         5: .line 461
            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 462
            aload 5 /* ccl */
            ifnull 10
         7: .line 463
            aload 4 /* sm */
         8: .line 464
            getstatic sun.security.util.SecurityConstants.GET_CLASSLOADER_PERMISSION:Ljava/lang/RuntimePermission;
         9: .line 463
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 5 // java.lang.ClassLoader ccl
        10: .line 468
      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 527
            aload 0 /* module */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 528
            aload 1 /* name */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 531
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         3: .line 532
            aload 3 /* sm */
            ifnull 10
         4: .line 533
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            astore 4 /* caller */
        start local 4 // java.lang.Class caller
         5: .line 534
            aload 4 /* caller */
            ifnull 7
            aload 4 /* caller */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            aload 0 /* module */
            if_acmpeq 7
         6: .line 537
            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 539
      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 540
            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 541
            goto 11
        end local 2 // java.lang.ClassLoader cl
        10: .line 542
      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 545
      StackMap locals: java.lang.Module java.lang.String java.lang.ClassLoader java.lang.SecurityManager
      StackMap stack:
            aload 2 /* cl */
            ifnull 13
        12: .line 546
            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 548
      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 610
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 611
            aload 1 /* sm */
            ifnull 3
         2: .line 612
            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 616
      StackMap locals: java.lang.SecurityManager
      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
         4: .line 617
            aload 2 /* tmpConstructor */
            ifnonnull 20
         5: .line 618
            aload 0 /* this */
            ldc Ljava/lang/Class;
            if_acmpne 9
         6: .line 619
            new java.lang.IllegalAccessException
            dup
         7: .line 620
            ldc "Can not call newInstance() on the Class for java.lang.Class"
         8: .line 619
            invokespecial java.lang.IllegalAccessException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 624
      StackMap locals: java.lang.reflect.Constructor
      StackMap stack:
            iconst_0
            anewarray java.lang.Class
            astore 3 /* empty */
        start local 3 // java.lang.Class[] empty
        10: .line 625
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
        11: .line 626
            aload 0 /* this */
            aload 3 /* empty */
            iconst_1
            invokevirtual java.lang.Class.getConstructor0:([Ljava/lang/Class;I)Ljava/lang/reflect/Constructor;
        12: .line 625
            invokevirtual jdk.internal.reflect.ReflectionFactory.copyConstructor:(Ljava/lang/reflect/Constructor;)Ljava/lang/reflect/Constructor;
            astore 4 /* c */
        start local 4 // java.lang.reflect.Constructor c
        13: .line 630
            new java.lang.Class$1
            dup
            aload 0 /* this */
            aload 4 /* c */
            invokespecial java.lang.Class$1.<init>:(Ljava/lang/Class;Ljava/lang/reflect/Constructor;)V
        14: .line 629
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        15: .line 636
            aload 0 /* this */
            aload 4 /* c */
            dup
            astore 2 /* tmpConstructor */
            putfield java.lang.Class.cachedConstructor:Ljava/lang/reflect/Constructor;
        end local 4 // java.lang.reflect.Constructor c
        end local 3 // java.lang.Class[] empty
        16: .line 637
            goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
        17: astore 3 /* e */
        start local 3 // java.lang.NoSuchMethodException e
        18: .line 639
            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 3 /* e */
            invokevirtual java.lang.InstantiationException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        19: .line 638
            checkcast java.lang.InstantiationException
            athrow
        end local 3 // java.lang.NoSuchMethodException e
        20: .line 644
      StackMap locals:
      StackMap stack:
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            astore 3 /* caller */
        start local 3 // java.lang.Class caller
        21: .line 645
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
            aload 2 /* tmpConstructor */
            aconst_null
            aload 3 /* caller */
            invokevirtual jdk.internal.reflect.ReflectionFactory.newInstance:(Ljava/lang/reflect/Constructor;[Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
        22: areturn
        end local 3 // java.lang.Class caller
        23: .line 646
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* e */
        start local 3 // java.lang.reflect.InvocationTargetException e
        24: .line 647
            invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
            aload 3 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            invokevirtual jdk.internal.misc.Unsafe.throwException:(Ljava/lang/Throwable;)V
        25: .line 649
            aconst_null
            areturn
        end local 3 // java.lang.reflect.InvocationTargetException e
        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   26     0            this  Ljava/lang/Class<TT;>;
            1   26     1              sm  Ljava/lang/SecurityManager;
            4   26     2  tmpConstructor  Ljava/lang/reflect/Constructor<TT;>;
           10   16     3           empty  [Ljava/lang/Class;
           13   16     4               c  Ljava/lang/reflect/Constructor<TT;>;
           18   20     3               e  Ljava/lang/NoSuchMethodException;
           21   23     3          caller  Ljava/lang/Class<*>;
           24   26     3               e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           9    16      17  Class java.lang.NoSuchMethodException
          20    22      23  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 781
            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 794
            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 860
            aload 0 /* this */
            getfield java.lang.Class.name:Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 861
            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 893
            aload 0 /* this */
            invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
            astore 1 /* cl */
        start local 1 // java.lang.ClassLoader cl
         1: .line 894
            aload 1 /* cl */
            ifnonnull 3
         2: .line 895
            aconst_null
            areturn
         3: .line 896
      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 897
            aload 2 /* sm */
            ifnull 6
         5: .line 898
            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 900
      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 904
            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 924
            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;>;

  java.lang.Object getClassData();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 940
            aload 0 /* this */
            getfield java.lang.Class.classData:Ljava/lang/Object;
            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 960
            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 961
            aload 1 /* info */
            ifnull 3
         2: .line 962
            aload 1 /* info */
            invokevirtual sun.reflect.generics.repository.ClassRepository.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
            areturn
         3: .line 964
      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 1014
            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 1015
            aload 1 /* info */
            ifnonnull 3
         2: .line 1016
            aload 0 /* this */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            areturn
         3: .line 1022
      StackMap locals: sun.reflect.generics.repository.ClassRepository
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 5
         4: .line 1023
            aconst_null
            areturn
         5: .line 1026
      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 1040
            aload 0 /* this */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 2
         1: .line 1041
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 1043
      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 1044
            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 1045
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 0 /* this */
            invokestatic jdk.internal.loader.BootLoader.definePackage:(Ljava/lang/Class;)Ljava/lang/Package;
         5: .line 1044
      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 1076
            aload 0 /* this */
            getfield java.lang.Class.packageName:Ljava/lang/String;
            astore 1 /* pn */
        start local 1 // java.lang.String pn
         1: .line 1077
            aload 1 /* pn */
            ifnonnull 14
         2: .line 1078
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 3
            aload 0 /* this */
            invokevirtual java.lang.Class.elementType:()Ljava/lang/Class;
            goto 4
      StackMap locals: java.lang.String
      StackMap stack:
         3: aload 0 /* this */
      StackMap locals:
      StackMap stack: java.lang.Class
         4: astore 2 /* c */
        start local 2 // java.lang.Class c
         5: .line 1079
            aload 2 /* c */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 8
         6: .line 1080
            ldc "java.lang"
            astore 1 /* pn */
         7: .line 1081
            goto 13
         8: .line 1082
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 2 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* cn */
        start local 3 // java.lang.String cn
         9: .line 1083
            aload 3 /* cn */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 4 /* dot */
        start local 4 // int dot
        10: .line 1084
            iload 4 /* dot */
            iconst_m1
            if_icmpeq 11
            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 12
      StackMap locals: java.lang.String int
      StackMap stack:
        11: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
        12: astore 1 /* pn */
        end local 4 // int dot
        end local 3 // java.lang.String cn
        13: .line 1086
      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
        14: .line 1088
      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   15     0  this  Ljava/lang/Class<TT;>;
            1   15     1    pn  Ljava/lang/String;
            5   14     2     c  Ljava/lang/Class<*>;
            9   13     3    cn  Ljava/lang/String;
           10   13     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 1140
            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 1144
            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 1145
            aload 2 /* rd */
            ifnonnull 3
         2: .line 1147
            aload 0 /* this */
            invokevirtual java.lang.Class.getInterfaces0:()[Ljava/lang/Class;
            areturn
         3: .line 1149
      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 1150
            aload 3 /* interfaces */
            ifnonnull 7
         5: .line 1151
            aload 0 /* this */
            invokevirtual java.lang.Class.getInterfaces0:()[Ljava/lang/Class;
            astore 3 /* interfaces */
         6: .line 1152
            aload 2 /* rd */
            aload 3 /* interfaces */
            putfield java.lang.Class$ReflectionData.interfaces:[Ljava/lang/Class;
         7: .line 1155
      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 1210
            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 1211
            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 1227
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 2
         1: .line 1228
            aload 0 /* this */
            getfield java.lang.Class.componentType:Ljava/lang/Class;
            areturn
         2: .line 1230
      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<*>;

  private java.lang.Class<?> elementType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1242
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 1
            aconst_null
            areturn
         1: .line 1244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            astore 1 /* c */
        start local 1 // java.lang.Class c
         2: .line 1245
            goto 4
         3: .line 1246
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* c */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 1 /* c */
         4: .line 1245
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 3
         5: .line 1248
            aload 1 /* c */
            areturn
        end local 1 // java.lang.Class c
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/Class<TT;>;
            2    6     1     c  Ljava/lang/Class<*>;
    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 1337
            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 1339
            aload 1 /* enclosingInfo */
            ifnonnull 3
         2: .line 1340
            aconst_null
            areturn
         3: .line 1342
      StackMap locals: java.lang.Class$EnclosingMethodInfo
      StackMap stack:
            aload 1 /* enclosingInfo */
            invokevirtual java.lang.Class$EnclosingMethodInfo.isMethod:()Z
            ifne 5
         4: .line 1343
            aconst_null
            areturn
         5: .line 1345
      StackMap locals:
      StackMap stack:
            aload 1 /* enclosingInfo */
            invokevirtual java.lang.Class$EnclosingMethodInfo.getDescriptor:()Ljava/lang/String;
         6: .line 1346
            aload 0 /* this */
            invokevirtual java.lang.Class.getFactory:()Lsun/reflect/generics/factory/GenericsFactory;
         7: .line 1345
            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 1347
            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 1348
            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 1349
            aload 4 /* parameterTypes */
            arraylength
            anewarray java.lang.Class
            astore 5 /* parameterClasses */
        start local 5 // java.lang.Class[] parameterClasses
        11: .line 1354
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        12: goto 15
        13: .line 1355
      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 1354
            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 1358
            aload 1 /* enclosingInfo */
            invokevirtual java.lang.Class$EnclosingMethodInfo.getEnclosingClass:()Ljava/lang/Class;
            astore 6 /* enclosingCandidate */
        start local 6 // java.lang.Class enclosingCandidate
        17: .line 1359
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 7 /* sm */
        start local 7 // java.lang.SecurityManager sm
        18: .line 1360
            aload 7 /* sm */
            ifnull 22
        19: .line 1361
            aload 6 /* enclosingCandidate */
            aload 7 /* sm */
            iconst_1
        20: .line 1362
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_1
        21: .line 1361
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
        22: .line 1364
      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 1372
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
            astore 9 /* fact */
        start local 9 // jdk.internal.reflect.ReflectionFactory fact
        24: .line 1373
            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 1374
            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 1375
            aload 5 /* parameterClasses */
        28: .line 1376
            aload 9 /* fact */
            aload 10 /* m */
            invokevirtual jdk.internal.reflect.ReflectionFactory.getExecutableSharedParameterTypes:(Ljava/lang/reflect/Executable;)[Ljava/lang/Class;
        29: .line 1375
            invokestatic java.lang.Class.arrayContentsEq:([Ljava/lang/Object;[Ljava/lang/Object;)Z
        30: .line 1376
            ifeq 33
        31: .line 1378
            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 1379
            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 1373
      StackMap locals:
      StackMap stack:
            iinc 11 1
      StackMap locals:
      StackMap stack:
        34: iload 11
            iload 12
            if_icmplt 25
        35: .line 1384
            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 1391
            aload 0 /* this */
            invokevirtual java.lang.Class.getEnclosingMethod0:()[Ljava/lang/Object;
            astore 1 /* enclosingInfo */
        start local 1 // java.lang.Object[] enclosingInfo
         1: .line 1392
            aload 1 /* enclosingInfo */
            ifnonnull 3
         2: .line 1393
            aconst_null
            areturn
         3: .line 1395
      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 1451
            aload 0 /* o */
            instanceof java.lang.reflect.GenericArrayType
            ifeq 6
         1: .line 1452
            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 1453
            iconst_0
         3: .line 1452
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
         4: .line 1454
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
         5: .line 1452
            areturn
         6: .line 1455
      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 1494
            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 1496
            aload 1 /* enclosingInfo */
            ifnonnull 3
         2: .line 1497
            aconst_null
            areturn
         3: .line 1499
      StackMap locals: java.lang.Class$EnclosingMethodInfo
      StackMap stack:
            aload 1 /* enclosingInfo */
            invokevirtual java.lang.Class$EnclosingMethodInfo.isConstructor:()Z
            ifne 5
         4: .line 1500
            aconst_null
            areturn
         5: .line 1502
      StackMap locals:
      StackMap stack:
            aload 1 /* enclosingInfo */
            invokevirtual java.lang.Class$EnclosingMethodInfo.getDescriptor:()Ljava/lang/String;
         6: .line 1503
            aload 0 /* this */
            invokevirtual java.lang.Class.getFactory:()Lsun/reflect/generics/factory/GenericsFactory;
         7: .line 1502
            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 1504
            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 1505
            aload 3 /* parameterTypes */
            arraylength
            anewarray java.lang.Class
            astore 4 /* parameterClasses */
        start local 4 // java.lang.Class[] parameterClasses
        10: .line 1510
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        11: goto 14
        12: .line 1511
      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 1510
            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 1514
            aload 1 /* enclosingInfo */
            invokevirtual java.lang.Class$EnclosingMethodInfo.getEnclosingClass:()Ljava/lang/Class;
            astore 5 /* enclosingCandidate */
        start local 5 // java.lang.Class enclosingCandidate
        16: .line 1515
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 6 /* sm */
        start local 6 // java.lang.SecurityManager sm
        17: .line 1516
            aload 6 /* sm */
            ifnull 21
        18: .line 1517
            aload 5 /* enclosingCandidate */
            aload 6 /* sm */
            iconst_1
        19: .line 1518
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            iconst_1
        20: .line 1517
            invokevirtual java.lang.Class.checkMemberAccess:(Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
        21: .line 1521
      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 1522
            iconst_0
            invokevirtual java.lang.Class.privateGetDeclaredConstructors:(Z)[Ljava/lang/reflect/Constructor;
        23: .line 1521
            astore 7 /* candidates */
        start local 7 // java.lang.reflect.Constructor[] candidates
        24: .line 1527
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
            astore 8 /* fact */
        start local 8 // jdk.internal.reflect.ReflectionFactory fact
        25: .line 1528
            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 1529
            aload 4 /* parameterClasses */
        28: .line 1530
            aload 8 /* fact */
            aload 9 /* c */
            invokevirtual jdk.internal.reflect.ReflectionFactory.getExecutableSharedParameterTypes:(Ljava/lang/reflect/Executable;)[Ljava/lang/Class;
        29: .line 1529
            invokestatic java.lang.Class.arrayContentsEq:([Ljava/lang/Object;[Ljava/lang/Object;)Z
        30: .line 1530
            ifeq 32
        31: .line 1531
            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 1528
      StackMap locals:
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        33: iload 10
            iload 11
            if_icmplt 26
        34: .line 1535
            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 1559
            aload 0 /* this */
            invokevirtual java.lang.Class.getDeclaringClass0:()Ljava/lang/Class;
            astore 1 /* candidate */
        start local 1 // java.lang.Class candidate
         1: .line 1561
            aload 1 /* candidate */
            ifnull 7
         2: .line 1562
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         3: .line 1563
            aload 2 /* sm */
            ifnull 7
         4: .line 1564
            aload 1 /* candidate */
            aload 2 /* sm */
         5: .line 1565
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
            iconst_1
         6: .line 1564
            invokevirtual java.lang.Class.checkPackageAccess:(Ljava/lang/SecurityManager;Ljava/lang/ClassLoader;Z)V
        end local 2 // java.lang.SecurityManager sm
         7: .line 1568
      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 1600
            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 1603
            aload 1 /* enclosingInfo */
            ifnonnull 4
         2: .line 1605
            aload 0 /* this */
            invokevirtual java.lang.Class.getDeclaringClass0:()Ljava/lang/Class;
            astore 2 /* enclosingCandidate */
        start local 2 // java.lang.Class enclosingCandidate
         3: .line 1606
            goto 8
        end local 2 // java.lang.Class enclosingCandidate
         4: .line 1607
      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 1609
            aload 3 /* enclosingClass */
            aload 0 /* this */
            if_acmpeq 6
            aload 3 /* enclosingClass */
            ifnonnull 7
         6: .line 1610
      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 1612
      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 1615
      StackMap locals: java.lang.Class java.lang.Class$EnclosingMethodInfo java.lang.Class
      StackMap stack:
            aload 2 /* enclosingCandidate */
            ifnull 14
         9: .line 1616
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
        10: .line 1617
            aload 3 /* sm */
            ifnull 14
        11: .line 1618
            aload 2 /* enclosingCandidate */
            aload 3 /* sm */
        12: .line 1619
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
            iconst_1
        13: .line 1618
            invokevirtual java.lang.Class.checkPackageAccess:(Ljava/lang/SecurityManager;Ljava/lang/ClassLoader;Z)V
        end local 3 // java.lang.SecurityManager sm
        14: .line 1622
      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 1638
            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 1639
            aload 1 /* rd */
            getfield java.lang.Class$ReflectionData.simpleName:Ljava/lang/String;
            astore 2 /* simpleName */
        start local 2 // java.lang.String simpleName
         2: .line 1640
            aload 2 /* simpleName */
            ifnonnull 4
         3: .line 1641
            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 1643
      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 1647
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 2
         1: .line 1648
            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 1650
      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 1651
            aload 1 /* simpleName */
            ifnonnull 6
         4: .line 1652
            aload 0 /* this */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 1 /* simpleName */
         5: .line 1653
            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 1655
      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=3, locals=3, args_size=1
        start local 0 // java.lang.Class this
         0: .line 1665
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 9
         1: .line 1667
            aload 0 /* this */
            astore 1 /* cl */
        start local 1 // java.lang.Class cl
         2: .line 1668
            iconst_0
            istore 2 /* dimensions */
        start local 2 // int dimensions
         3: .line 1670
      StackMap locals: java.lang.Class int
      StackMap stack:
            iinc 2 /* dimensions */ 1
         4: .line 1671
            aload 1 /* cl */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 1 /* cl */
         5: .line 1672
            aload 1 /* cl */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 3
         6: .line 1673
            new java.lang.StringBuilder
            dup
            aload 1 /* cl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "[]"
            iload 2 /* dimensions */
            invokevirtual java.lang.String.repeat:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: areturn
        end local 2 // int dimensions
        end local 1 // java.lang.Class cl
         8: .line 1674
      StackMap locals: java.lang.Class
      StackMap stack: java.lang.Throwable
            pop
         9: .line 1676
      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   10     0        this  Ljava/lang/Class<TT;>;
            2    8     1          cl  Ljava/lang/Class<*>;
            3    8     2  dimensions  I
      Exception table:
        from    to  target  type
           1     7       8  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 1696
            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 1697
            aload 1 /* rd */
            getfield java.lang.Class$ReflectionData.canonicalName:Ljava/lang/String;
            astore 2 /* canonicalName */
        start local 2 // java.lang.String canonicalName
         2: .line 1698
            aload 2 /* canonicalName */
            ifnonnull 4
         3: .line 1699
            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 1701
      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 1705
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 5
         1: .line 1706
            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 1707
            aload 1 /* canonicalName */
            ifnull 4
         3: .line 1708
            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 1710
      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 1712
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.isHidden:()Z
            ifne 6
            aload 0 /* this */
            invokevirtual java.lang.Class.isLocalOrAnonymousClass:()Z
            ifeq 7
         6: .line 1713
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Class$ReflectionData.NULL_SENTINEL:Ljava/lang/String;
            areturn
         7: .line 1714
      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 1715
            aload 1 /* enclosingClass */
            ifnonnull 10
         9: .line 1716
            aload 0 /* this */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        10: .line 1718
      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 1719
            aload 2 /* enclosingName */
            ifnonnull 13
        12: .line 1720
            getstatic java.lang.Class$ReflectionData.NULL_SENTINEL:Ljava/lang/String;
            areturn
        13: .line 1721
      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 1736
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 3
            aload 0 /* this */
            invokevirtual java.lang.Class.isLocalOrAnonymousClass:()Z
            ifeq 3
         1: .line 1737
            aload 0 /* this */
            invokevirtual java.lang.Class.getSimpleBinaryName0:()Ljava/lang/String;
            ifnonnull 3
         2: .line 1736
            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 1748
            aload 0 /* this */
            invokevirtual java.lang.Class.isLocalOrAnonymousClass:()Z
            ifeq 3
         1: .line 1749
            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 1748
      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 1760
            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 1770
            aload 0 /* this */
            invokevirtual java.lang.Class.isTopLevelClass:()Z
            ifeq 2
         1: .line 1771
            aconst_null
            areturn
         2: .line 1772
      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 1773
            aload 1 /* name */
            ifnonnull 5
         4: .line 1774
            ldc ""
            areturn
         5: .line 1775
      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 1785
            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 1796
            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 1800
            aload 0 /* this */
            invokevirtual java.lang.Class.getEnclosingMethod0:()[Ljava/lang/Object;
            astore 1 /* enclosingInfo */
        start local 1 // java.lang.Object[] enclosingInfo
         1: .line 1801
            aload 1 /* enclosingInfo */
            ifnull 4
         2: .line 1802
            aload 1 /* enclosingInfo */
            invokestatic java.lang.Class$EnclosingMethodInfo.validate:([Ljava/lang/Object;)V
         3: .line 1803
            iconst_1
            ireturn
         4: .line 1805
      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 1833
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 1834
            aload 1 /* sm */
            ifnull 3
         2: .line 1835
            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 1845
      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 1844
            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 1902
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 1903
            aload 1 /* sm */
            ifnull 3
         2: .line 1904
            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 1906
      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 1992
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 1993
            aload 1 /* sm */
            ifnull 3
         2: .line 1994
            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 1996
      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 2032
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 2033
            aload 1 /* sm */
            ifnull 3
         2: .line 2034
            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 2036
      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 2085
            aload 1 /* name */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 2086
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         2: .line 2087
            aload 2 /* sm */
            ifnull 4
         3: .line 2088
            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 2090
      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 2091
            aload 3 /* field */
            ifnonnull 7
         6: .line 2092
            new java.lang.NoSuchFieldException
            dup
            aload 1 /* name */
            invokespecial java.lang.NoSuchFieldException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 2094
      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 2194
            aload 1 /* name */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 2195
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         2: .line 2196
            aload 3 /* sm */
            ifnull 4
         3: .line 2197
            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 2199
      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 2200
            aload 4 /* method */
            ifnonnull 7
         6: .line 2201
            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 2203
      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 2239
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 2240
            aload 2 /* sm */
            ifnull 3
         2: .line 2241
            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 2243
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
         4: .line 2244
            aload 0 /* this */
            aload 1 /* parameterTypes */
            iconst_0
            invokevirtual java.lang.Class.getConstructor0:([Ljava/lang/Class;I)Ljava/lang/reflect/Constructor;
         5: .line 2243
            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 2285
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 2286
            aload 1 /* sm */
            ifnull 3
         2: .line 2287
            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 2289
      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 2337
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 2338
            aload 1 /* sm */
            ifnull 3
         2: .line 2339
            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 2341
      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.RecordComponent[] getRecordComponents();
    descriptor: ()[Ljava/lang/reflect/RecordComponent;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.lang.Class this
         0: .line 2395
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 2396
            aload 1 /* sm */
            ifnull 3
         2: .line 2397
            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 2399
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.isRecord:()Z
            ifne 5
         4: .line 2400
            aconst_null
            areturn
         5: .line 2402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.getRecordComponents0:()[Ljava/lang/reflect/RecordComponent;
            astore 2 /* recordComponents */
        start local 2 // java.lang.reflect.RecordComponent[] recordComponents
         6: .line 2403
            aload 2 /* recordComponents */
            ifnonnull 8
         7: .line 2404
            iconst_0
            anewarray java.lang.reflect.RecordComponent
            areturn
         8: .line 2406
      StackMap locals: java.lang.reflect.RecordComponent[]
      StackMap stack:
            aload 2 /* recordComponents */
            areturn
        end local 2 // java.lang.reflect.RecordComponent[] recordComponents
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Ljava/lang/Class<TT;>;
            1    9     1                sm  Ljava/lang/SecurityManager;
            6    9     2  recordComponents  [Ljava/lang/reflect/RecordComponent;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()
    RuntimeInvisibleAnnotations: 
      jdk.internal.PreviewFeature(feature = jdk.internal.PreviewFeature$Feature.RECORDS:Ljdk/internal/PreviewFeature$Feature;, essentialAPI = false)

  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 2462
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 2463
            aload 1 /* sm */
            ifnull 3
         2: .line 2464
            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 2466
      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 2511
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 2512
            aload 1 /* sm */
            ifnull 3
         2: .line 2513
            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 2515
      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 2562
            aload 1 /* name */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 2563
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         2: .line 2564
            aload 2 /* sm */
            ifnull 4
         3: .line 2565
            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 2567
      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 2568
            aload 3 /* field */
            ifnonnull 7
         6: .line 2569
            new java.lang.NoSuchFieldException
            dup
            aload 1 /* name */
            invokespecial java.lang.NoSuchFieldException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 2571
      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 2626
            aload 1 /* name */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 2627
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         2: .line 2628
            aload 3 /* sm */
            ifnull 4
         3: .line 2629
            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 2631
      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 2632
            aload 4 /* method */
            ifnonnull 7
         6: .line 2633
            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 2635
      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 2649
            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 2650
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
            astore 4 /* factory */
        start local 4 // jdk.internal.reflect.ReflectionFactory factory
         2: .line 2651
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* result */
        start local 5 // java.util.List result
         3: .line 2652
            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 2653
            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 2655
            aload 4 /* factory */
            aload 6 /* method */
            invokevirtual jdk.internal.reflect.ReflectionFactory.getExecutableSharedParameterTypes:(Ljava/lang/reflect/Executable;)[Ljava/lang/Class;
         7: .line 2656
            aload 2 /* parameterTypes */
         8: .line 2654
            invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
         9: .line 2656
            ifeq 11
        10: .line 2657
            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 2652
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        12: iload 7
            iload 8
            if_icmplt 4
        13: .line 2660
            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 2705
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 2706
            aload 2 /* sm */
            ifnull 3
         2: .line 2707
            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 2710
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
         4: .line 2711
            aload 0 /* this */
            aload 1 /* parameterTypes */
            iconst_1
            invokevirtual java.lang.Class.getConstructor0:([Ljava/lang/Class;I)Ljava/lang/reflect/Constructor;
         5: .line 2710
            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 2772
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.Class.resolveName:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* name */
         1: .line 2774
            aload 0 /* this */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            astore 2 /* thisModule */
        start local 2 // java.lang.Module thisModule
         2: .line 2775
            aload 2 /* thisModule */
            invokevirtual java.lang.Module.isNamed:()Z
            ifeq 20
         3: .line 2777
            aload 1 /* name */
            invokestatic jdk.internal.module.Resources.canEncapsulate:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 2778
            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 2779
            aconst_null
            areturn
         6: .line 2783
      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 2784
            aload 0 /* this */
            invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
            astore 4 /* cl */
        start local 4 // java.lang.ClassLoader cl
         8: .line 2789
            aload 4 /* cl */
            ifnonnull 11
         9: .line 2790
            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 2791
      StackMap locals: java.lang.String java.lang.ClassLoader
      StackMap stack:
            aload 4 /* cl */
            instanceof jdk.internal.loader.BuiltinClassLoader
            ifeq 14
        12: .line 2792
            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 2794
      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 2795
            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 2798
      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 2799
            aconst_null
            areturn
        end local 4 // java.lang.ClassLoader cl
        end local 3 // java.lang.String mn
        20: .line 2804
      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 2805
            aload 3 /* cl */
            ifnonnull 23
        22: .line 2806
            aload 1 /* name */
            invokestatic java.lang.ClassLoader.getSystemResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            areturn
        23: .line 2808
      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 2869
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.Class.resolveName:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* name */
         1: .line 2871
            aload 0 /* this */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            astore 2 /* thisModule */
        start local 2 // java.lang.Module thisModule
         2: .line 2872
            aload 2 /* thisModule */
            invokevirtual java.lang.Module.isNamed:()Z
            ifeq 15
         3: .line 2874
            aload 1 /* name */
            invokestatic jdk.internal.module.Resources.canEncapsulate:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 2875
            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 2876
            aconst_null
            areturn
         6: .line 2880
      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 2881
            aload 0 /* this */
            invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
            astore 4 /* cl */
        start local 4 // java.lang.ClassLoader cl
         8: .line 2883
            aload 4 /* cl */
            ifnonnull 11
         9: .line 2884
            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 2886
      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
        13: .line 2888
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        14: .line 2889
            aconst_null
            areturn
        end local 4 // java.lang.ClassLoader cl
        end local 3 // java.lang.String mn
        15: .line 2894
      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
        16: .line 2895
            aload 3 /* cl */
            ifnonnull 18
        17: .line 2896
            aload 1 /* name */
            invokestatic java.lang.ClassLoader.getSystemResource:(Ljava/lang/String;)Ljava/net/URL;
            areturn
        18: .line 2898
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 3 /* cl */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            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   19     0        this  Ljava/lang/Class<TT;>;
            0   19     1        name  Ljava/lang/String;
            2   19     2  thisModule  Ljava/lang/Module;
            7   15     3          mn  Ljava/lang/String;
            8   15     4          cl  Ljava/lang/ClassLoader;
           16   19     3          cl  Ljava/lang/ClassLoader;
      Exception table:
        from    to  target  type
           8    10      13  Class java.io.IOException
          11    12      13  Class java.io.IOException
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()
    MethodParameters:
      Name  Flags
      name  

  private boolean isOpenToCaller(java.lang.String, java.lang.Class<?>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.lang.Class this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class caller
         0: .line 2910
            aload 0 /* this */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            astore 3 /* thisModule */
        start local 3 // java.lang.Module thisModule
         1: .line 2911
            aload 2 /* caller */
            ifnull 2
            aload 2 /* caller */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            goto 3
      StackMap locals: java.lang.Module
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Module
         3: astore 4 /* callerModule */
        start local 4 // java.lang.Module callerModule
         4: .line 2912
            aload 4 /* callerModule */
            aload 3 /* thisModule */
            if_acmpeq 11
         5: .line 2913
            aload 1 /* name */
            invokestatic jdk.internal.module.Resources.toPackageName:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* pn */
        start local 5 // java.lang.String pn
         6: .line 2914
            aload 3 /* thisModule */
            invokevirtual java.lang.Module.getDescriptor:()Ljava/lang/module/ModuleDescriptor;
            invokevirtual java.lang.module.ModuleDescriptor.packages:()Ljava/util/Set;
            aload 5 /* pn */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 11
         7: .line 2915
            aload 4 /* callerModule */
            ifnonnull 9
            aload 3 /* thisModule */
            aload 5 /* pn */
            invokevirtual java.lang.Module.isOpen:(Ljava/lang/String;)Z
            ifne 9
         8: .line 2917
            iconst_0
            ireturn
         9: .line 2919
      StackMap locals: java.lang.Module java.lang.String
      StackMap stack:
            aload 3 /* thisModule */
            aload 5 /* pn */
            aload 4 /* callerModule */
            invokevirtual java.lang.Module.isOpen:(Ljava/lang/String;Ljava/lang/Module;)Z
            ifne 11
        10: .line 2921
            iconst_0
            ireturn
        end local 5 // java.lang.String pn
        11: .line 2925
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.lang.Module callerModule
        end local 3 // java.lang.Module thisModule
        end local 2 // java.lang.Class caller
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Ljava/lang/Class<TT;>;
            0   12     1          name  Ljava/lang/String;
            0   12     2        caller  Ljava/lang/Class<*>;
            1   12     3    thisModule  Ljava/lang/Module;
            4   12     4  callerModule  Ljava/lang/Module;
            6   11     5            pn  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;)Z
    MethodParameters:
        Name  Flags
      name    
      caller  

  public java.security.ProtectionDomain getProtectionDomain();
    descriptor: ()Ljava/security/ProtectionDomain;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 2953
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 2954
            aload 1 /* sm */
            ifnull 3
         2: .line 2955
            aload 1 /* sm */
            getstatic sun.security.util.SecurityConstants.GET_PD_PERMISSION:Ljava/lang/RuntimePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 2957
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.protectionDomain:()Ljava/security/ProtectionDomain;
            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;

  java.security.ProtectionDomain protectionDomain();
    descriptor: ()Ljava/security/ProtectionDomain;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.Class this
         0: .line 2962
            aload 0 /* this */
            invokevirtual java.lang.Class.getProtectionDomain0:()Ljava/security/ProtectionDomain;
            astore 1 /* pd */
        start local 1 // java.security.ProtectionDomain pd
         1: .line 2963
            aload 1 /* pd */
            ifnonnull 9
         2: .line 2964
            getstatic java.lang.Class.allPermDomain:Ljava/security/ProtectionDomain;
            ifnonnull 8
         3: .line 2966
            new java.security.Permissions
            dup
            invokespecial java.security.Permissions.<init>:()V
         4: .line 2965
            astore 2 /* perms */
        start local 2 // java.security.Permissions perms
         5: .line 2967
            aload 2 /* perms */
            getstatic sun.security.util.SecurityConstants.ALL_PERMISSION:Ljava/security/AllPermission;
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
         6: .line 2969
            new java.security.ProtectionDomain
            dup
            aconst_null
            aload 2 /* perms */
            invokespecial java.security.ProtectionDomain.<init>:(Ljava/security/CodeSource;Ljava/security/PermissionCollection;)V
         7: .line 2968
            putstatic java.lang.Class.allPermDomain:Ljava/security/ProtectionDomain;
        end local 2 // java.security.Permissions perms
         8: .line 2971
      StackMap locals: java.security.ProtectionDomain
      StackMap stack:
            getstatic java.lang.Class.allPermDomain:Ljava/security/ProtectionDomain;
            astore 1 /* pd */
         9: .line 2973
      StackMap locals:
      StackMap stack:
            aload 1 /* pd */
            areturn
        end local 1 // java.security.ProtectionDomain pd
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Ljava/lang/Class<TT;>;
            1   10     1     pd  Ljava/security/ProtectionDomain;
            5    8     2  perms  Ljava/security/Permissions;

  private native java.security.ProtectionDomain getProtectionDomain0();
    descriptor: ()Ljava/security/ProtectionDomain;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE

  static native java.lang.Class<?> getPrimitiveClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  private void checkMemberAccess(java.lang.SecurityManager, int, java.lang.Class<?>, );
    descriptor: (Ljava/lang/SecurityManager;ILjava/lang/Class;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // java.lang.Class this
        start local 1 // java.lang.SecurityManager sm
        start local 2 // int which
        start local 3 // java.lang.Class caller
        start local 4 // boolean checkProxyInterfaces
         0: .line 3005
            aload 3 /* caller */
            invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
            astore 5 /* ccl */
        start local 5 // java.lang.ClassLoader ccl
         1: .line 3006
            iload 2 /* which */
            ifeq 5
         2: .line 3007
            aload 0 /* this */
            invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
            astore 6 /* cl */
        start local 6 // java.lang.ClassLoader cl
         3: .line 3008
            aload 5 /* ccl */
            aload 6 /* cl */
            if_acmpeq 5
         4: .line 3009
            aload 1 /* sm */
            getstatic sun.security.util.SecurityConstants.CHECK_MEMBER_ACCESS_PERMISSION:Ljava/lang/RuntimePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 6 // java.lang.ClassLoader cl
         5: .line 3012
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sm */
            aload 5 /* ccl */
            iload 4 /* checkProxyInterfaces */
            invokevirtual java.lang.Class.checkPackageAccess:(Ljava/lang/SecurityManager;Ljava/lang/ClassLoader;Z)V
         6: .line 3013
            return
        end local 5 // java.lang.ClassLoader ccl
        end local 4 // boolean checkProxyInterfaces
        end local 3 // java.lang.Class caller
        end local 2 // int which
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    7     0                  this  Ljava/lang/Class<TT;>;
            0    7     1                    sm  Ljava/lang/SecurityManager;
            0    7     2                 which  I
            0    7     3                caller  Ljava/lang/Class<*>;
            0    7     4  checkProxyInterfaces  Z
            1    7     5                   ccl  Ljava/lang/ClassLoader;
            3    5     6                    cl  Ljava/lang/ClassLoader;
    Signature: (Ljava/lang/SecurityManager;ILjava/lang/Class<*>;Z)V
    MethodParameters:
                      Name  Flags
      sm                    
      which                 
      caller                
      checkProxyInterfaces  

  private void checkPackageAccess(java.lang.SecurityManager, java.lang.ClassLoader, boolean);
    descriptor: (Ljava/lang/SecurityManager;Ljava/lang/ClassLoader;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=4
        start local 0 // java.lang.Class this
        start local 1 // java.lang.SecurityManager sm
        start local 2 // java.lang.ClassLoader ccl
        start local 3 // boolean checkProxyInterfaces
         0: .line 3024
            aload 0 /* this */
            invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
            astore 4 /* cl */
        start local 4 // java.lang.ClassLoader cl
         1: .line 3026
            aload 2 /* ccl */
            aload 4 /* cl */
            invokestatic sun.reflect.misc.ReflectUtil.needsPackageAccessCheck:(Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
            ifeq 6
         2: .line 3027
            aload 0 /* this */
            invokevirtual java.lang.Class.getPackageName:()Ljava/lang/String;
            astore 5 /* pkg */
        start local 5 // java.lang.String pkg
         3: .line 3028
            aload 5 /* pkg */
            ifnull 6
            aload 5 /* pkg */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 6
         4: .line 3030
            aload 0 /* this */
            invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
            ifeq 5
            aload 0 /* this */
            invokestatic sun.reflect.misc.ReflectUtil.isNonPublicProxyClass:(Ljava/lang/Class;)Z
            ifeq 6
         5: .line 3031
      StackMap locals: java.lang.ClassLoader java.lang.String
      StackMap stack:
            aload 1 /* sm */
            aload 5 /* pkg */
            invokevirtual java.lang.SecurityManager.checkPackageAccess:(Ljava/lang/String;)V
        end local 5 // java.lang.String pkg
         6: .line 3036
      StackMap locals:
      StackMap stack:
            iload 3 /* checkProxyInterfaces */
            ifeq 8
            aload 0 /* this */
            invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
            ifeq 8
         7: .line 3037
            aload 2 /* ccl */
            aload 0 /* this */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            invokestatic sun.reflect.misc.ReflectUtil.checkProxyPackageAccess:(Ljava/lang/ClassLoader;[Ljava/lang/Class;)V
         8: .line 3039
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.ClassLoader cl
        end local 3 // boolean checkProxyInterfaces
        end local 2 // java.lang.ClassLoader ccl
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    9     0                  this  Ljava/lang/Class<TT;>;
            0    9     1                    sm  Ljava/lang/SecurityManager;
            0    9     2                   ccl  Ljava/lang/ClassLoader;
            0    9     3  checkProxyInterfaces  Z
            1    9     4                    cl  Ljava/lang/ClassLoader;
            3    6     5                   pkg  Ljava/lang/String;
    MethodParameters:
                      Name  Flags
      sm                    
      ccl                   final
      checkProxyInterfaces  

  private java.lang.String resolveName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // java.lang.String name
         0: .line 3046
            aload 1 /* name */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
         1: .line 3047
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 2
            aload 0 /* this */
            invokevirtual java.lang.Class.elementType:()Ljava/lang/Class;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
      StackMap locals:
      StackMap stack: java.lang.Class
         3: astore 2 /* c */
        start local 2 // java.lang.Class c
         4: .line 3048
            aload 2 /* c */
            invokevirtual java.lang.Class.getPackageName:()Ljava/lang/String;
            astore 3 /* baseName */
        start local 3 // java.lang.String baseName
         5: .line 3049
            aload 3 /* baseName */
            ifnull 9
            aload 3 /* baseName */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 9
         6: .line 3050
            new java.lang.StringBuilder
            dup
            aload 3 /* baseName */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)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;
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* name */
        end local 3 // java.lang.String baseName
        end local 2 // java.lang.Class c
         7: .line 3052
            goto 9
         8: .line 3053
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* name */
         9: .line 3055
      StackMap locals:
      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   10     0      this  Ljava/lang/Class<TT;>;
            0   10     1      name  Ljava/lang/String;
            4    7     2         c  Ljava/lang/Class<*>;
            5    7     3  baseName  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private java.lang.Class$ReflectionData<T> reflectionData();
    descriptor: ()Ljava/lang/Class$ReflectionData;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.Class this
         0: .line 3133
            aload 0 /* this */
            getfield java.lang.Class.reflectionData:Ljava/lang/ref/SoftReference;
            astore 1 /* reflectionData */
        start local 1 // java.lang.ref.SoftReference reflectionData
         1: .line 3134
            aload 0 /* this */
            getfield java.lang.Class.classRedefinedCount:I
            istore 2 /* classRedefinedCount */
        start local 2 // int classRedefinedCount
         2: .line 3136
            aload 1 /* reflectionData */
            ifnull 7
         3: .line 3137
            aload 1 /* reflectionData */
            invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
            checkcast java.lang.Class$ReflectionData
            dup
            astore 3 /* rd */
        start local 3 // java.lang.Class$ReflectionData rd
         4: ifnull 7
         5: .line 3138
            aload 3 /* rd */
            getfield java.lang.Class$ReflectionData.redefinedCount:I
            iload 2 /* classRedefinedCount */
            if_icmpne 7
         6: .line 3139
            aload 3 /* rd */
            areturn
        end local 3 // java.lang.Class$ReflectionData rd
         7: .line 3143
      StackMap locals: java.lang.ref.SoftReference int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* reflectionData */
            iload 2 /* classRedefinedCount */
            invokevirtual java.lang.Class.newReflectionData:(Ljava/lang/ref/SoftReference;I)Ljava/lang/Class$ReflectionData;
            areturn
        end local 2 // int classRedefinedCount
        end local 1 // java.lang.ref.SoftReference reflectionData
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    8     0                 this  Ljava/lang/Class<TT;>;
            1    8     1       reflectionData  Ljava/lang/ref/SoftReference<Ljava/lang/Class$ReflectionData<TT;>;>;
            2    8     2  classRedefinedCount  I
            4    7     3                   rd  Ljava/lang/Class$ReflectionData<TT;>;
    Signature: ()Ljava/lang/Class$ReflectionData<TT;>;

  private java.lang.Class$ReflectionData<T> newReflectionData(java.lang.ref.SoftReference<java.lang.Class$ReflectionData<T>>, int);
    descriptor: (Ljava/lang/ref/SoftReference;I)Ljava/lang/Class$ReflectionData;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.Class this
        start local 1 // java.lang.ref.SoftReference oldReflectionData
        start local 2 // int classRedefinedCount
         0: .line 3149
      StackMap locals:
      StackMap stack:
            new java.lang.Class$ReflectionData
            dup
            iload 2 /* classRedefinedCount */
            invokespecial java.lang.Class$ReflectionData.<init>:(I)V
            astore 3 /* rd */
        start local 3 // java.lang.Class$ReflectionData rd
         1: .line 3151
            aload 0 /* this */
            aload 1 /* oldReflectionData */
            new java.lang.ref.SoftReference
            dup
            aload 3 /* rd */
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            invokestatic java.lang.Class$Atomic.casReflectionData:(Ljava/lang/Class;Ljava/lang/ref/SoftReference;Ljava/lang/ref/SoftReference;)Z
            ifeq 3
         2: .line 3152
            aload 3 /* rd */
            areturn
         3: .line 3155
      StackMap locals: java.lang.Class$ReflectionData
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.Class.reflectionData:Ljava/lang/ref/SoftReference;
            astore 1 /* oldReflectionData */
         4: .line 3156
            aload 0 /* this */
            getfield java.lang.Class.classRedefinedCount:I
            istore 2 /* classRedefinedCount */
         5: .line 3157
            aload 1 /* oldReflectionData */
            ifnull 0
         6: .line 3158
            aload 1 /* oldReflectionData */
            invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
            checkcast java.lang.Class$ReflectionData
            dup
            astore 3 /* rd */
            ifnull 0
         7: .line 3159
            aload 3 /* rd */
            getfield java.lang.Class$ReflectionData.redefinedCount:I
            iload 2 /* classRedefinedCount */
            if_icmpne 0
         8: .line 3160
            aload 3 /* rd */
            areturn
        end local 3 // java.lang.Class$ReflectionData rd
        end local 2 // int classRedefinedCount
        end local 1 // java.lang.ref.SoftReference oldReflectionData
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Ljava/lang/Class<TT;>;
            0    9     1    oldReflectionData  Ljava/lang/ref/SoftReference<Ljava/lang/Class$ReflectionData<TT;>;>;
            0    9     2  classRedefinedCount  I
            1    9     3                   rd  Ljava/lang/Class$ReflectionData<TT;>;
    Signature: (Ljava/lang/ref/SoftReference<Ljava/lang/Class$ReflectionData<TT;>;>;I)Ljava/lang/Class$ReflectionData<TT;>;
    MethodParameters:
                     Name  Flags
      oldReflectionData    
      classRedefinedCount  

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

  private sun.reflect.generics.factory.GenericsFactory getFactory();
    descriptor: ()Lsun/reflect/generics/factory/GenericsFactory;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 3174
            aload 0 /* this */
            aload 0 /* this */
            invokestatic sun.reflect.generics.scope.ClassScope.make:(Ljava/lang/Class;)Lsun/reflect/generics/scope/ClassScope;
            invokestatic sun.reflect.generics.factory.CoreReflectionFactory.make:(Ljava/lang/reflect/GenericDeclaration;Lsun/reflect/generics/scope/Scope;)Lsun/reflect/generics/factory/CoreReflectionFactory;
            areturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Class<TT;>;

  private sun.reflect.generics.repository.ClassRepository getGenericInfo();
    descriptor: ()Lsun/reflect/generics/repository/ClassRepository;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.Class this
         0: .line 3180
            aload 0 /* this */
            getfield java.lang.Class.genericInfo:Lsun/reflect/generics/repository/ClassRepository;
            astore 1 /* genericInfo */
        start local 1 // sun.reflect.generics.repository.ClassRepository genericInfo
         1: .line 3181
            aload 1 /* genericInfo */
            ifnonnull 8
         2: .line 3182
            aload 0 /* this */
            invokevirtual java.lang.Class.getGenericSignature0:()Ljava/lang/String;
            astore 2 /* signature */
        start local 2 // java.lang.String signature
         3: .line 3183
            aload 2 /* signature */
            ifnonnull 6
         4: .line 3184
            getstatic sun.reflect.generics.repository.ClassRepository.NONE:Lsun/reflect/generics/repository/ClassRepository;
            astore 1 /* genericInfo */
         5: .line 3185
            goto 7
         6: .line 3186
      StackMap locals: sun.reflect.generics.repository.ClassRepository java.lang.String
      StackMap stack:
            aload 2 /* signature */
            aload 0 /* this */
            invokevirtual java.lang.Class.getFactory:()Lsun/reflect/generics/factory/GenericsFactory;
            invokestatic sun.reflect.generics.repository.ClassRepository.make:(Ljava/lang/String;Lsun/reflect/generics/factory/GenericsFactory;)Lsun/reflect/generics/repository/ClassRepository;
            astore 1 /* genericInfo */
         7: .line 3188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* genericInfo */
            putfield java.lang.Class.genericInfo:Lsun/reflect/generics/repository/ClassRepository;
        end local 2 // java.lang.String signature
         8: .line 3190
      StackMap locals:
      StackMap stack:
            aload 1 /* genericInfo */
            getstatic sun.reflect.generics.repository.ClassRepository.NONE:Lsun/reflect/generics/repository/ClassRepository;
            if_acmpeq 9
            aload 1 /* genericInfo */
            goto 10
      StackMap locals:
      StackMap stack:
         9: aconst_null
      StackMap locals:
      StackMap stack: sun.reflect.generics.repository.ClassRepository
        10: areturn
        end local 1 // sun.reflect.generics.repository.ClassRepository genericInfo
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Ljava/lang/Class<TT;>;
            1   11     1  genericInfo  Lsun/reflect/generics/repository/ClassRepository;
            3    8     2    signature  Ljava/lang/String;

  native byte[] getRawAnnotations();
    descriptor: ()[B
    flags: (0x0100) ACC_NATIVE

  native byte[] getRawTypeAnnotations();
    descriptor: ()[B
    flags: (0x0100) ACC_NATIVE

  static byte[] getExecutableTypeAnnotationBytes(java.lang.reflect.Executable);
    descriptor: (Ljava/lang/reflect/Executable;)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.reflect.Executable ex
         0: .line 3198
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
            aload 0 /* ex */
            invokevirtual jdk.internal.reflect.ReflectionFactory.getExecutableTypeAnnotationBytes:(Ljava/lang/reflect/Executable;)[B
            areturn
        end local 0 // java.lang.reflect.Executable ex
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    ex  Ljava/lang/reflect/Executable;
    MethodParameters:
      Name  Flags
      ex    

  native jdk.internal.reflect.ConstantPool getConstantPool();
    descriptor: ()Ljdk/internal/reflect/ConstantPool;
    flags: (0x0100) ACC_NATIVE

  private java.lang.reflect.Field[] privateGetDeclaredFields(boolean);
    descriptor: (Z)[Ljava/lang/reflect/Field;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // boolean publicOnly
         0: .line 3214
            aload 0 /* this */
            invokevirtual java.lang.Class.reflectionData:()Ljava/lang/Class$ReflectionData;
            astore 3 /* rd */
        start local 3 // java.lang.Class$ReflectionData rd
         1: .line 3215
            aload 3 /* rd */
            ifnull 6
         2: .line 3216
            iload 1 /* publicOnly */
            ifeq 3
            aload 3 /* rd */
            getfield java.lang.Class$ReflectionData.declaredPublicFields:[Ljava/lang/reflect/Field;
            goto 4
      StackMap locals: java.lang.Class int top java.lang.Class$ReflectionData
      StackMap stack:
         3: aload 3 /* rd */
            getfield java.lang.Class$ReflectionData.declaredFields:[Ljava/lang/reflect/Field;
      StackMap locals:
      StackMap stack: java.lang.reflect.Field[]
         4: astore 2 /* res */
        start local 2 // java.lang.reflect.Field[] res
         5: .line 3217
            aload 2 /* res */
            ifnull 6
            aload 2 /* res */
            areturn
        end local 2 // java.lang.reflect.Field[] res
         6: .line 3220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* publicOnly */
            invokevirtual java.lang.Class.getDeclaredFields0:(Z)[Ljava/lang/reflect/Field;
            invokestatic jdk.internal.reflect.Reflection.filterFields:(Ljava/lang/Class;[Ljava/lang/reflect/Field;)[Ljava/lang/reflect/Field;
            astore 2 /* res */
        start local 2 // java.lang.reflect.Field[] res
         7: .line 3221
            aload 3 /* rd */
            ifnull 12
         8: .line 3222
            iload 1 /* publicOnly */
            ifeq 11
         9: .line 3223
            aload 3 /* rd */
            aload 2 /* res */
            putfield java.lang.Class$ReflectionData.declaredPublicFields:[Ljava/lang/reflect/Field;
        10: .line 3224
            goto 12
        11: .line 3225
      StackMap locals: java.lang.Class int java.lang.reflect.Field[] java.lang.Class$ReflectionData
      StackMap stack:
            aload 3 /* rd */
            aload 2 /* res */
            putfield java.lang.Class$ReflectionData.declaredFields:[Ljava/lang/reflect/Field;
        12: .line 3228
      StackMap locals:
      StackMap stack:
            aload 2 /* res */
            areturn
        end local 3 // java.lang.Class$ReflectionData rd
        end local 2 // java.lang.reflect.Field[] res
        end local 1 // boolean publicOnly
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Ljava/lang/Class<TT;>;
            0   13     1  publicOnly  Z
            5    6     2         res  [Ljava/lang/reflect/Field;
            7   13     2         res  [Ljava/lang/reflect/Field;
            1   13     3          rd  Ljava/lang/Class$ReflectionData<TT;>;
    MethodParameters:
            Name  Flags
      publicOnly  

  private java.lang.reflect.Field[] privateGetPublicFields();
    descriptor: ()[Ljava/lang/reflect/Field;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // java.lang.Class this
         0: .line 3236
            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 3237
            aload 2 /* rd */
            ifnull 4
         2: .line 3238
            aload 2 /* rd */
            getfield java.lang.Class$ReflectionData.publicFields:[Ljava/lang/reflect/Field;
            astore 1 /* res */
        start local 1 // java.lang.reflect.Field[] res
         3: .line 3239
            aload 1 /* res */
            ifnull 4
            aload 1 /* res */
            areturn
        end local 1 // java.lang.reflect.Field[] res
         4: .line 3244
      StackMap locals: java.lang.Class top java.lang.Class$ReflectionData
      StackMap stack:
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 3 /* fields */
        start local 3 // java.util.LinkedHashSet fields
         5: .line 3247
            aload 3 /* fields */
            aload 0 /* this */
            iconst_1
            invokevirtual java.lang.Class.privateGetDeclaredFields:(Z)[Ljava/lang/reflect/Field;
            invokestatic java.lang.Class.addAll:(Ljava/util/Collection;[Ljava/lang/reflect/Field;)V
         6: .line 3250
            aload 0 /* this */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 10
      StackMap locals: java.lang.Class top java.lang.Class$ReflectionData java.util.LinkedHashSet top int int java.lang.Class[]
      StackMap stack:
         7: aload 7
            iload 5
            aaload
            astore 4 /* si */
        start local 4 // java.lang.Class si
         8: .line 3251
            aload 3 /* fields */
            aload 4 /* si */
            invokevirtual java.lang.Class.privateGetPublicFields:()[Ljava/lang/reflect/Field;
            invokestatic java.lang.Class.addAll:(Ljava/util/Collection;[Ljava/lang/reflect/Field;)V
        end local 4 // java.lang.Class si
         9: .line 3250
            iinc 5 1
      StackMap locals:
      StackMap stack:
        10: iload 5
            iload 6
            if_icmplt 7
        11: .line 3255
            aload 0 /* this */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 4 /* sc */
        start local 4 // java.lang.Class sc
        12: .line 3256
            aload 4 /* sc */
            ifnull 14
        13: .line 3257
            aload 3 /* fields */
            aload 4 /* sc */
            invokevirtual java.lang.Class.privateGetPublicFields:()[Ljava/lang/reflect/Field;
            invokestatic java.lang.Class.addAll:(Ljava/util/Collection;[Ljava/lang/reflect/Field;)V
        14: .line 3260
      StackMap locals: java.lang.Class top java.lang.Class$ReflectionData java.util.LinkedHashSet java.lang.Class
      StackMap stack:
            aload 3 /* fields */
            iconst_0
            anewarray java.lang.reflect.Field
            invokevirtual java.util.LinkedHashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.reflect.Field[]
            astore 1 /* res */
        start local 1 // java.lang.reflect.Field[] res
        15: .line 3261
            aload 2 /* rd */
            ifnull 17
        16: .line 3262
            aload 2 /* rd */
            aload 1 /* res */
            putfield java.lang.Class$ReflectionData.publicFields:[Ljava/lang/reflect/Field;
        17: .line 3264
      StackMap locals: java.lang.Class java.lang.reflect.Field[] java.lang.Class$ReflectionData java.util.LinkedHashSet java.lang.Class
      StackMap stack:
            aload 1 /* res */
            areturn
        end local 4 // java.lang.Class sc
        end local 3 // java.util.LinkedHashSet fields
        end local 2 // java.lang.Class$ReflectionData rd
        end local 1 // java.lang.reflect.Field[] res
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Ljava/lang/Class<TT;>;
            3    4     1     res  [Ljava/lang/reflect/Field;
           15   18     1     res  [Ljava/lang/reflect/Field;
            1   18     2      rd  Ljava/lang/Class$ReflectionData<TT;>;
            5   18     3  fields  Ljava/util/LinkedHashSet<Ljava/lang/reflect/Field;>;
            8    9     4      si  Ljava/lang/Class<*>;
           12   18     4      sc  Ljava/lang/Class<*>;

  private static void addAll(java.util.Collection<java.lang.reflect.Field>, java.lang.reflect.Field[]);
    descriptor: (Ljava/util/Collection;[Ljava/lang/reflect/Field;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.util.Collection c
        start local 1 // java.lang.reflect.Field[] o
         0: .line 3268
            aload 1 /* o */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 4
      StackMap locals: java.util.Collection java.lang.reflect.Field[] top int int java.lang.reflect.Field[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* f */
        start local 2 // java.lang.reflect.Field f
         2: .line 3269
            aload 0 /* c */
            aload 2 /* f */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.lang.reflect.Field f
         3: .line 3268
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 3271
            return
        end local 1 // java.lang.reflect.Field[] o
        end local 0 // java.util.Collection c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     c  Ljava/util/Collection<Ljava/lang/reflect/Field;>;
            0    6     1     o  [Ljava/lang/reflect/Field;
            2    3     2     f  Ljava/lang/reflect/Field;
    Signature: (Ljava/util/Collection<Ljava/lang/reflect/Field;>;[Ljava/lang/reflect/Field;)V
    MethodParameters:
      Name  Flags
      c     
      o     

  private java.lang.reflect.Constructor<T>[] privateGetDeclaredConstructors(boolean);
    descriptor: (Z)[Ljava/lang/reflect/Constructor;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // boolean publicOnly
         0: .line 3285
            aload 0 /* this */
            invokevirtual java.lang.Class.reflectionData:()Ljava/lang/Class$ReflectionData;
            astore 3 /* rd */
        start local 3 // java.lang.Class$ReflectionData rd
         1: .line 3286
            aload 3 /* rd */
            ifnull 6
         2: .line 3287
            iload 1 /* publicOnly */
            ifeq 3
            aload 3 /* rd */
            getfield java.lang.Class$ReflectionData.publicConstructors:[Ljava/lang/reflect/Constructor;
            goto 4
      StackMap locals: java.lang.Class int top java.lang.Class$ReflectionData
      StackMap stack:
         3: aload 3 /* rd */
            getfield java.lang.Class$ReflectionData.declaredConstructors:[Ljava/lang/reflect/Constructor;
      StackMap locals:
      StackMap stack: java.lang.reflect.Constructor[]
         4: astore 2 /* res */
        start local 2 // java.lang.reflect.Constructor[] res
         5: .line 3288
            aload 2 /* res */
            ifnull 6
            aload 2 /* res */
            areturn
        end local 2 // java.lang.reflect.Constructor[] res
         6: .line 3291
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 10
         7: .line 3293
            iconst_0
            anewarray java.lang.reflect.Constructor
            astore 4 /* temporaryRes */
        start local 4 // java.lang.reflect.Constructor[] temporaryRes
         8: .line 3294
            aload 4 /* temporaryRes */
            astore 2 /* res */
        end local 4 // java.lang.reflect.Constructor[] temporaryRes
        start local 2 // java.lang.reflect.Constructor[] res
         9: .line 3295
            goto 11
        end local 2 // java.lang.reflect.Constructor[] res
        10: .line 3296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* publicOnly */
            invokevirtual java.lang.Class.getDeclaredConstructors0:(Z)[Ljava/lang/reflect/Constructor;
            astore 2 /* res */
        start local 2 // java.lang.reflect.Constructor[] res
        11: .line 3298
      StackMap locals: java.lang.Class int java.lang.reflect.Constructor[] java.lang.Class$ReflectionData
      StackMap stack:
            aload 3 /* rd */
            ifnull 16
        12: .line 3299
            iload 1 /* publicOnly */
            ifeq 15
        13: .line 3300
            aload 3 /* rd */
            aload 2 /* res */
            putfield java.lang.Class$ReflectionData.publicConstructors:[Ljava/lang/reflect/Constructor;
        14: .line 3301
            goto 16
        15: .line 3302
      StackMap locals:
      StackMap stack:
            aload 3 /* rd */
            aload 2 /* res */
            putfield java.lang.Class$ReflectionData.declaredConstructors:[Ljava/lang/reflect/Constructor;
        16: .line 3305
      StackMap locals:
      StackMap stack:
            aload 2 /* res */
            areturn
        end local 3 // java.lang.Class$ReflectionData rd
        end local 2 // java.lang.reflect.Constructor[] res
        end local 1 // boolean publicOnly
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Ljava/lang/Class<TT;>;
            0   17     1    publicOnly  Z
            5    6     2           res  [Ljava/lang/reflect/Constructor;
            9   10     2           res  [Ljava/lang/reflect/Constructor;
           11   17     2           res  [Ljava/lang/reflect/Constructor;
            1   17     3            rd  Ljava/lang/Class$ReflectionData<TT;>;
            8    9     4  temporaryRes  [Ljava/lang/reflect/Constructor;
    Signature: (Z)[Ljava/lang/reflect/Constructor<TT;>;
    MethodParameters:
            Name  Flags
      publicOnly  

  private java.lang.reflect.Method[] privateGetDeclaredMethods(boolean);
    descriptor: (Z)[Ljava/lang/reflect/Method;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // boolean publicOnly
         0: .line 3319
            aload 0 /* this */
            invokevirtual java.lang.Class.reflectionData:()Ljava/lang/Class$ReflectionData;
            astore 3 /* rd */
        start local 3 // java.lang.Class$ReflectionData rd
         1: .line 3320
            aload 3 /* rd */
            ifnull 6
         2: .line 3321
            iload 1 /* publicOnly */
            ifeq 3
            aload 3 /* rd */
            getfield java.lang.Class$ReflectionData.declaredPublicMethods:[Ljava/lang/reflect/Method;
            goto 4
      StackMap locals: java.lang.Class int top java.lang.Class$ReflectionData
      StackMap stack:
         3: aload 3 /* rd */
            getfield java.lang.Class$ReflectionData.declaredMethods:[Ljava/lang/reflect/Method;
      StackMap locals:
      StackMap stack: java.lang.reflect.Method[]
         4: astore 2 /* res */
        start local 2 // java.lang.reflect.Method[] res
         5: .line 3322
            aload 2 /* res */
            ifnull 6
            aload 2 /* res */
            areturn
        end local 2 // java.lang.reflect.Method[] res
         6: .line 3325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* publicOnly */
            invokevirtual java.lang.Class.getDeclaredMethods0:(Z)[Ljava/lang/reflect/Method;
            invokestatic jdk.internal.reflect.Reflection.filterMethods:(Ljava/lang/Class;[Ljava/lang/reflect/Method;)[Ljava/lang/reflect/Method;
            astore 2 /* res */
        start local 2 // java.lang.reflect.Method[] res
         7: .line 3326
            aload 3 /* rd */
            ifnull 12
         8: .line 3327
            iload 1 /* publicOnly */
            ifeq 11
         9: .line 3328
            aload 3 /* rd */
            aload 2 /* res */
            putfield java.lang.Class$ReflectionData.declaredPublicMethods:[Ljava/lang/reflect/Method;
        10: .line 3329
            goto 12
        11: .line 3330
      StackMap locals: java.lang.Class int java.lang.reflect.Method[] java.lang.Class$ReflectionData
      StackMap stack:
            aload 3 /* rd */
            aload 2 /* res */
            putfield java.lang.Class$ReflectionData.declaredMethods:[Ljava/lang/reflect/Method;
        12: .line 3333
      StackMap locals:
      StackMap stack:
            aload 2 /* res */
            areturn
        end local 3 // java.lang.Class$ReflectionData rd
        end local 2 // java.lang.reflect.Method[] res
        end local 1 // boolean publicOnly
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Ljava/lang/Class<TT;>;
            0   13     1  publicOnly  Z
            5    6     2         res  [Ljava/lang/reflect/Method;
            7   13     2         res  [Ljava/lang/reflect/Method;
            1   13     3          rd  Ljava/lang/Class$ReflectionData<TT;>;
    MethodParameters:
            Name  Flags
      publicOnly  

  private java.lang.reflect.Method[] privateGetPublicMethods();
    descriptor: ()[Ljava/lang/reflect/Method;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=13, args_size=1
        start local 0 // java.lang.Class this
         0: .line 3341
            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 3342
            aload 2 /* rd */
            ifnull 4
         2: .line 3343
            aload 2 /* rd */
            getfield java.lang.Class$ReflectionData.publicMethods:[Ljava/lang/reflect/Method;
            astore 1 /* res */
        start local 1 // java.lang.reflect.Method[] res
         3: .line 3344
            aload 1 /* res */
            ifnull 4
            aload 1 /* res */
            areturn
        end local 1 // java.lang.reflect.Method[] res
         4: .line 3349
      StackMap locals: java.lang.Class top java.lang.Class$ReflectionData
      StackMap stack:
            new java.lang.PublicMethods
            dup
            invokespecial java.lang.PublicMethods.<init>:()V
            astore 3 /* pms */
        start local 3 // java.lang.PublicMethods pms
         5: .line 3350
            aload 0 /* this */
            iconst_1
            invokevirtual java.lang.Class.privateGetDeclaredMethods:(Z)[Ljava/lang/reflect/Method;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 9
      StackMap locals: java.lang.Class top java.lang.Class$ReflectionData java.lang.PublicMethods top int int java.lang.reflect.Method[]
      StackMap stack:
         6: aload 7
            iload 5
            aaload
            astore 4 /* m */
        start local 4 // java.lang.reflect.Method m
         7: .line 3351
            aload 3 /* pms */
            aload 4 /* m */
            invokevirtual java.lang.PublicMethods.merge:(Ljava/lang/reflect/Method;)V
        end local 4 // java.lang.reflect.Method m
         8: .line 3350
            iinc 5 1
      StackMap locals:
      StackMap stack:
         9: iload 5
            iload 6
            if_icmplt 6
        10: .line 3354
            aload 0 /* this */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 4 /* sc */
        start local 4 // java.lang.Class sc
        11: .line 3355
            aload 4 /* sc */
            ifnull 17
        12: .line 3356
            aload 4 /* sc */
            invokevirtual java.lang.Class.privateGetPublicMethods:()[Ljava/lang/reflect/Method;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 16
      StackMap locals: java.lang.Class top java.lang.Class$ReflectionData java.lang.PublicMethods java.lang.Class top int int java.lang.reflect.Method[]
      StackMap stack:
        13: aload 8
            iload 6
            aaload
            astore 5 /* m */
        start local 5 // java.lang.reflect.Method m
        14: .line 3357
            aload 3 /* pms */
            aload 5 /* m */
            invokevirtual java.lang.PublicMethods.merge:(Ljava/lang/reflect/Method;)V
        end local 5 // java.lang.reflect.Method m
        15: .line 3356
            iinc 6 1
      StackMap locals:
      StackMap stack:
        16: iload 6
            iload 7
            if_icmplt 13
        17: .line 3361
      StackMap locals: java.lang.Class top java.lang.Class$ReflectionData java.lang.PublicMethods java.lang.Class
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.lang.Class.getInterfaces:(Z)[Ljava/lang/Class;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 26
      StackMap locals: java.lang.Class top java.lang.Class$ReflectionData java.lang.PublicMethods java.lang.Class top int int java.lang.Class[]
      StackMap stack:
        18: aload 8
            iload 6
            aaload
            astore 5 /* intf */
        start local 5 // java.lang.Class intf
        19: .line 3362
            aload 5 /* intf */
            invokevirtual java.lang.Class.privateGetPublicMethods:()[Ljava/lang/reflect/Method;
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 24
      StackMap locals: java.lang.Class top java.lang.Class$ReflectionData java.lang.PublicMethods java.lang.Class java.lang.Class int int java.lang.Class[] top int int java.lang.reflect.Method[]
      StackMap stack:
        20: aload 12
            iload 10
            aaload
            astore 9 /* m */
        start local 9 // java.lang.reflect.Method m
        21: .line 3364
            aload 9 /* m */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifne 23
        22: .line 3365
            aload 3 /* pms */
            aload 9 /* m */
            invokevirtual java.lang.PublicMethods.merge:(Ljava/lang/reflect/Method;)V
        end local 9 // java.lang.reflect.Method m
        23: .line 3362
      StackMap locals:
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        24: iload 10
            iload 11
            if_icmplt 20
        end local 5 // java.lang.Class intf
        25: .line 3361
            iinc 6 1
      StackMap locals: java.lang.Class top java.lang.Class$ReflectionData java.lang.PublicMethods java.lang.Class top int int java.lang.Class[]
      StackMap stack:
        26: iload 6
            iload 7
            if_icmplt 18
        27: .line 3370
            aload 3 /* pms */
            invokevirtual java.lang.PublicMethods.toArray:()[Ljava/lang/reflect/Method;
            astore 1 /* res */
        start local 1 // java.lang.reflect.Method[] res
        28: .line 3371
            aload 2 /* rd */
            ifnull 30
        29: .line 3372
            aload 2 /* rd */
            aload 1 /* res */
            putfield java.lang.Class$ReflectionData.publicMethods:[Ljava/lang/reflect/Method;
        30: .line 3374
      StackMap locals: java.lang.Class java.lang.reflect.Method[] java.lang.Class$ReflectionData java.lang.PublicMethods java.lang.Class
      StackMap stack:
            aload 1 /* res */
            areturn
        end local 4 // java.lang.Class sc
        end local 3 // java.lang.PublicMethods pms
        end local 2 // java.lang.Class$ReflectionData rd
        end local 1 // java.lang.reflect.Method[] res
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   31     0  this  Ljava/lang/Class<TT;>;
            3    4     1   res  [Ljava/lang/reflect/Method;
           28   31     1   res  [Ljava/lang/reflect/Method;
            1   31     2    rd  Ljava/lang/Class$ReflectionData<TT;>;
            5   31     3   pms  Ljava/lang/PublicMethods;
            7    8     4     m  Ljava/lang/reflect/Method;
           11   31     4    sc  Ljava/lang/Class<*>;
           14   15     5     m  Ljava/lang/reflect/Method;
           19   25     5  intf  Ljava/lang/Class<*>;
           21   23     9     m  Ljava/lang/reflect/Method;

  private static java.lang.reflect.Field searchFields(java.lang.reflect.Field[], java.lang.String);
    descriptor: ([Ljava/lang/reflect/Field;Ljava/lang/String;)Ljava/lang/reflect/Field;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.lang.reflect.Field[] fields
        start local 1 // java.lang.String name
         0: .line 3384
            aload 0 /* fields */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: java.lang.reflect.Field[] java.lang.String top int int java.lang.reflect.Field[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* field */
        start local 2 // java.lang.reflect.Field field
         2: .line 3385
            aload 2 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 3386
            aload 2 /* field */
            areturn
        end local 2 // java.lang.reflect.Field field
         4: .line 3384
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 3389
            aconst_null
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.reflect.Field[] fields
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0  fields  [Ljava/lang/reflect/Field;
            0    7     1    name  Ljava/lang/String;
            2    4     2   field  Ljava/lang/reflect/Field;
    MethodParameters:
        Name  Flags
      fields  
      name    

  private java.lang.reflect.Field getField0(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/reflect/Field;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // java.lang.String name
         0: .line 3405
            aload 0 /* this */
            iconst_1
            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;
            dup
            astore 2 /* res */
        start local 2 // java.lang.reflect.Field res
         1: ifnull 3
         2: .line 3406
            aload 2 /* res */
            areturn
         3: .line 3409
      StackMap locals: java.lang.reflect.Field
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.lang.Class.getInterfaces:(Z)[Ljava/lang/Class;
            astore 3 /* interfaces */
        start local 3 // java.lang.Class[] interfaces
         4: .line 3410
            aload 3 /* interfaces */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 9
      StackMap locals: java.lang.Class java.lang.String java.lang.reflect.Field java.lang.Class[] top int int java.lang.Class[]
      StackMap stack:
         5: aload 7
            iload 5
            aaload
            astore 4 /* c */
        start local 4 // java.lang.Class c
         6: .line 3411
            aload 4 /* c */
            aload 1 /* name */
            invokevirtual java.lang.Class.getField0:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            dup
            astore 2 /* res */
            ifnull 8
         7: .line 3412
            aload 2 /* res */
            areturn
        end local 4 // java.lang.Class c
         8: .line 3410
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         9: iload 5
            iload 6
            if_icmplt 5
        10: .line 3416
            aload 0 /* this */
            invokevirtual java.lang.Class.isInterface:()Z
            ifne 15
        11: .line 3417
            aload 0 /* this */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 4 /* c */
        start local 4 // java.lang.Class c
        12: .line 3418
            aload 4 /* c */
            ifnull 15
        13: .line 3419
            aload 4 /* c */
            aload 1 /* name */
            invokevirtual java.lang.Class.getField0:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            dup
            astore 2 /* res */
            ifnull 15
        14: .line 3420
            aload 2 /* res */
            areturn
        end local 4 // java.lang.Class c
        15: .line 3424
      StackMap locals: java.lang.Class java.lang.String java.lang.reflect.Field java.lang.Class[]
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.lang.Class[] interfaces
        end local 2 // java.lang.reflect.Field res
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Ljava/lang/Class<TT;>;
            0   16     1        name  Ljava/lang/String;
            1   16     2         res  Ljava/lang/reflect/Field;
            4   16     3  interfaces  [Ljava/lang/Class;
            6    8     4           c  Ljava/lang/Class<*>;
           12   15     4           c  Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  private static java.lang.reflect.Method searchMethods(java.lang.reflect.Method[], java.lang.String, java.lang.Class<?>[]);
    descriptor: ([Ljava/lang/reflect/Method;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // java.lang.reflect.Method[] methods
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class[] parameterTypes
         0: .line 3432
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
            astore 3 /* fact */
        start local 3 // jdk.internal.reflect.ReflectionFactory fact
         1: .line 3433
            aconst_null
            astore 4 /* res */
        start local 4 // java.lang.reflect.Method res
         2: .line 3434
            aload 0 /* methods */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 14
      StackMap locals: java.lang.reflect.Method[] java.lang.String java.lang.Class[] jdk.internal.reflect.ReflectionFactory java.lang.reflect.Method top int int java.lang.reflect.Method[]
      StackMap stack:
         3: aload 8
            iload 6
            aaload
            astore 5 /* m */
        start local 5 // java.lang.reflect.Method m
         4: .line 3435
            aload 5 /* m */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
         5: .line 3436
            aload 2 /* parameterTypes */
         6: .line 3437
            aload 3 /* fact */
            aload 5 /* m */
            invokevirtual jdk.internal.reflect.ReflectionFactory.getExecutableSharedParameterTypes:(Ljava/lang/reflect/Executable;)[Ljava/lang/Class;
         7: .line 3436
            invokestatic java.lang.Class.arrayContentsEq:([Ljava/lang/Object;[Ljava/lang/Object;)Z
         8: .line 3437
            ifeq 13
         9: .line 3438
            aload 4 /* res */
            ifnull 12
        10: .line 3439
            aload 4 /* res */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            aload 5 /* m */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            if_acmpeq 13
        11: .line 3440
            aload 4 /* res */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            aload 5 /* m */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 13
        12: .line 3441
      StackMap locals: java.lang.reflect.Method[] java.lang.String java.lang.Class[] jdk.internal.reflect.ReflectionFactory java.lang.reflect.Method java.lang.reflect.Method int int java.lang.reflect.Method[]
      StackMap stack:
            aload 5 /* m */
            astore 4 /* res */
        end local 5 // java.lang.reflect.Method m
        13: .line 3434
      StackMap locals: java.lang.reflect.Method[] java.lang.String java.lang.Class[] jdk.internal.reflect.ReflectionFactory java.lang.reflect.Method top int int java.lang.reflect.Method[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        14: iload 6
            iload 7
            if_icmplt 3
        15: .line 3443
            aload 4 /* res */
            areturn
        end local 4 // java.lang.reflect.Method res
        end local 3 // jdk.internal.reflect.ReflectionFactory fact
        end local 2 // java.lang.Class[] parameterTypes
        end local 1 // java.lang.String name
        end local 0 // java.lang.reflect.Method[] methods
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   16     0         methods  [Ljava/lang/reflect/Method;
            0   16     1            name  Ljava/lang/String;
            0   16     2  parameterTypes  [Ljava/lang/Class;
            1   16     3            fact  Ljdk/internal/reflect/ReflectionFactory;
            2   16     4             res  Ljava/lang/reflect/Method;
            4   13     5               m  Ljava/lang/reflect/Method;
    Signature: ([Ljava/lang/reflect/Method;Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
    MethodParameters:
                Name  Flags
      methods         
      name            
      parameterTypes  

  private java.lang.reflect.Method getMethod0(java.lang.String, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, 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 3452
            aload 0 /* this */
         1: .line 3453
            aload 1 /* name */
         2: .line 3454
            aload 2 /* parameterTypes */
            ifnonnull 3
            getstatic java.lang.Class.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
            goto 4
      StackMap locals: java.lang.Class java.lang.String java.lang.Class[]
      StackMap stack: java.lang.Class java.lang.String
         3: aload 2 /* parameterTypes */
         4: .line 3455
      StackMap locals: java.lang.Class java.lang.String java.lang.Class[]
      StackMap stack: java.lang.Class java.lang.String java.lang.Class[]
            iconst_1
         5: .line 3452
            invokevirtual java.lang.Class.getMethodsRecursive:(Ljava/lang/String;[Ljava/lang/Class;Z)Ljava/lang/PublicMethods$MethodList;
            astore 3 /* res */
        start local 3 // java.lang.PublicMethods$MethodList res
         6: .line 3456
            aload 3 /* res */
            ifnonnull 7
            aconst_null
            goto 8
      StackMap locals: java.lang.PublicMethods$MethodList
      StackMap stack:
         7: aload 3 /* res */
            invokevirtual java.lang.PublicMethods$MethodList.getMostSpecific:()Ljava/lang/reflect/Method;
      StackMap locals:
      StackMap stack: java.lang.reflect.Method
         8: areturn
        end local 3 // java.lang.PublicMethods$MethodList res
        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    9     0            this  Ljava/lang/Class<TT;>;
            0    9     1            name  Ljava/lang/String;
            0    9     2  parameterTypes  [Ljava/lang/Class;
            6    9     3             res  Ljava/lang/PublicMethods$MethodList;
    Signature: (Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
    MethodParameters:
                Name  Flags
      name            
      parameterTypes  

  private java.lang.PublicMethods$MethodList getMethodsRecursive(java.lang.String, java.lang.Class<?>[], boolean);
    descriptor: (Ljava/lang/String;[Ljava/lang/Class;Z)Ljava/lang/PublicMethods$MethodList;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // java.lang.Class this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class[] parameterTypes
        start local 3 // boolean includeStatic
         0: .line 3466
            aload 0 /* this */
            iconst_1
            invokevirtual java.lang.Class.privateGetDeclaredMethods:(Z)[Ljava/lang/reflect/Method;
            astore 4 /* methods */
        start local 4 // java.lang.reflect.Method[] methods
         1: .line 3468
            aload 4 /* methods */
            aload 1 /* name */
            aload 2 /* parameterTypes */
            iload 3 /* includeStatic */
            invokestatic java.lang.PublicMethods$MethodList.filter:([Ljava/lang/reflect/Method;Ljava/lang/String;[Ljava/lang/Class;Z)Ljava/lang/PublicMethods$MethodList;
         2: .line 3467
            astore 5 /* res */
        start local 5 // java.lang.PublicMethods$MethodList res
         3: .line 3472
            aload 5 /* res */
            ifnull 5
         4: .line 3473
            aload 5 /* res */
            areturn
         5: .line 3478
      StackMap locals: java.lang.reflect.Method[] java.lang.PublicMethods$MethodList
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 6 /* sc */
        start local 6 // java.lang.Class sc
         6: .line 3479
            aload 6 /* sc */
            ifnull 8
         7: .line 3480
            aload 6 /* sc */
            aload 1 /* name */
            aload 2 /* parameterTypes */
            iload 3 /* includeStatic */
            invokevirtual java.lang.Class.getMethodsRecursive:(Ljava/lang/String;[Ljava/lang/Class;Z)Ljava/lang/PublicMethods$MethodList;
            astore 5 /* res */
         8: .line 3485
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.lang.Class.getInterfaces:(Z)[Ljava/lang/Class;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 15
      StackMap locals: java.lang.Class java.lang.String java.lang.Class[] int java.lang.reflect.Method[] java.lang.PublicMethods$MethodList java.lang.Class top int int java.lang.Class[]
      StackMap stack:
         9: aload 10
            iload 8
            aaload
            astore 7 /* intf */
        start local 7 // java.lang.Class intf
        10: .line 3487
            aload 5 /* res */
            aload 7 /* intf */
            aload 1 /* name */
            aload 2 /* parameterTypes */
        11: .line 3488
            iconst_0
        12: .line 3487
            invokevirtual java.lang.Class.getMethodsRecursive:(Ljava/lang/String;[Ljava/lang/Class;Z)Ljava/lang/PublicMethods$MethodList;
        13: .line 3486
            invokestatic java.lang.PublicMethods$MethodList.merge:(Ljava/lang/PublicMethods$MethodList;Ljava/lang/PublicMethods$MethodList;)Ljava/lang/PublicMethods$MethodList;
            astore 5 /* res */
        end local 7 // java.lang.Class intf
        14: .line 3485
            iinc 8 1
      StackMap locals:
      StackMap stack:
        15: iload 8
            iload 9
            if_icmplt 9
        16: .line 3491
            aload 5 /* res */
            areturn
        end local 6 // java.lang.Class sc
        end local 5 // java.lang.PublicMethods$MethodList res
        end local 4 // java.lang.reflect.Method[] methods
        end local 3 // boolean includeStatic
        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   17     0            this  Ljava/lang/Class<TT;>;
            0   17     1            name  Ljava/lang/String;
            0   17     2  parameterTypes  [Ljava/lang/Class;
            0   17     3   includeStatic  Z
            1   17     4         methods  [Ljava/lang/reflect/Method;
            3   17     5             res  Ljava/lang/PublicMethods$MethodList;
            6   17     6              sc  Ljava/lang/Class<*>;
           10   14     7            intf  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/String;[Ljava/lang/Class<*>;Z)Ljava/lang/PublicMethods$MethodList;
    MethodParameters:
                Name  Flags
      name            
      parameterTypes  
      includeStatic   

  private java.lang.reflect.Constructor<T> getConstructor0(java.lang.Class<?>[], int);
    descriptor: ([Ljava/lang/Class;I)Ljava/lang/reflect/Constructor;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // java.lang.Class this
        start local 1 // java.lang.Class[] parameterTypes
        start local 2 // int which
         0: .line 3500
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
            astore 3 /* fact */
        start local 3 // jdk.internal.reflect.ReflectionFactory fact
         1: .line 3501
            aload 0 /* this */
            iload 2 /* which */
            ifne 2
            iconst_1
            goto 3
      StackMap locals: java.lang.Class java.lang.Class[] int jdk.internal.reflect.ReflectionFactory
      StackMap stack: java.lang.Class
         2: iconst_0
      StackMap locals: java.lang.Class java.lang.Class[] int jdk.internal.reflect.ReflectionFactory
      StackMap stack: java.lang.Class int
         3: invokevirtual java.lang.Class.privateGetDeclaredConstructors:(Z)[Ljava/lang/reflect/Constructor;
            astore 4 /* constructors */
        start local 4 // java.lang.reflect.Constructor[] constructors
         4: .line 3502
            aload 4 /* constructors */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 12
      StackMap locals: java.lang.Class java.lang.Class[] int jdk.internal.reflect.ReflectionFactory java.lang.reflect.Constructor[] top int int java.lang.reflect.Constructor[]
      StackMap stack:
         5: aload 8
            iload 6
            aaload
            astore 5 /* constructor */
        start local 5 // java.lang.reflect.Constructor constructor
         6: .line 3503
            aload 1 /* parameterTypes */
         7: .line 3504
            aload 3 /* fact */
            aload 5 /* constructor */
            invokevirtual jdk.internal.reflect.ReflectionFactory.getExecutableSharedParameterTypes:(Ljava/lang/reflect/Executable;)[Ljava/lang/Class;
         8: .line 3503
            invokestatic java.lang.Class.arrayContentsEq:([Ljava/lang/Object;[Ljava/lang/Object;)Z
         9: .line 3504
            ifeq 11
        10: .line 3505
            aload 5 /* constructor */
            areturn
        end local 5 // java.lang.reflect.Constructor constructor
        11: .line 3502
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        12: iload 6
            iload 7
            if_icmplt 5
        13: .line 3508
            new java.lang.NoSuchMethodException
            dup
            aload 0 /* this */
            ldc "<init>"
            aload 1 /* 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
        end local 4 // java.lang.reflect.Constructor[] constructors
        end local 3 // jdk.internal.reflect.ReflectionFactory fact
        end local 2 // int which
        end local 1 // java.lang.Class[] parameterTypes
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Ljava/lang/Class<TT;>;
            0   14     1  parameterTypes  [Ljava/lang/Class;
            0   14     2           which  I
            1   14     3            fact  Ljdk/internal/reflect/ReflectionFactory;
            4   14     4    constructors  [Ljava/lang/reflect/Constructor;
            6   11     5     constructor  Ljava/lang/reflect/Constructor<TT;>;
    Exceptions:
      throws java.lang.NoSuchMethodException
    Signature: ([Ljava/lang/Class<*>;I)Ljava/lang/reflect/Constructor<TT;>;
    MethodParameters:
                Name  Flags
      parameterTypes  
      which           

  private static boolean arrayContentsEq(java.lang.Object[], java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Object[] a1
        start local 1 // java.lang.Object[] a2
         0: .line 3516
            aload 0 /* a1 */
            ifnonnull 3
         1: .line 3517
            aload 1 /* a2 */
            ifnull 2
            aload 1 /* a2 */
            arraylength
            ifeq 2
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
         3: .line 3520
      StackMap locals:
      StackMap stack:
            aload 1 /* a2 */
            ifnonnull 6
         4: .line 3521
            aload 0 /* a1 */
            arraylength
            ifne 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
         6: .line 3524
      StackMap locals:
      StackMap stack:
            aload 0 /* a1 */
            arraylength
            aload 1 /* a2 */
            arraylength
            if_icmpeq 8
         7: .line 3525
            iconst_0
            ireturn
         8: .line 3528
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         9: goto 13
        10: .line 3529
      StackMap locals: int
      StackMap stack:
            aload 0 /* a1 */
            iload 2 /* i */
            aaload
            aload 1 /* a2 */
            iload 2 /* i */
            aaload
            if_acmpeq 12
        11: .line 3530
            iconst_0
            ireturn
        12: .line 3528
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 2 /* i */
            aload 0 /* a1 */
            arraylength
            if_icmplt 10
        end local 2 // int i
        14: .line 3534
            iconst_1
            ireturn
        end local 1 // java.lang.Object[] a2
        end local 0 // java.lang.Object[] a1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0    a1  [Ljava/lang/Object;
            0   15     1    a2  [Ljava/lang/Object;
            9   14     2     i  I
    MethodParameters:
      Name  Flags
      a1    
      a2    

  private static java.lang.reflect.Field[] copyFields(java.lang.reflect.Field[]);
    descriptor: ([Ljava/lang/reflect/Field;)[Ljava/lang/reflect/Field;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.lang.reflect.Field[] arg
         0: .line 3538
            aload 0 /* arg */
            arraylength
            anewarray java.lang.reflect.Field
            astore 1 /* out */
        start local 1 // java.lang.reflect.Field[] out
         1: .line 3539
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
            astore 2 /* fact */
        start local 2 // jdk.internal.reflect.ReflectionFactory fact
         2: .line 3540
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 3541
      StackMap locals: java.lang.reflect.Field[] jdk.internal.reflect.ReflectionFactory int
      StackMap stack:
            aload 1 /* out */
            iload 3 /* i */
            aload 2 /* fact */
            aload 0 /* arg */
            iload 3 /* i */
            aaload
            invokevirtual jdk.internal.reflect.ReflectionFactory.copyField:(Ljava/lang/reflect/Field;)Ljava/lang/reflect/Field;
            aastore
         5: .line 3540
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 0 /* arg */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 3543
            aload 1 /* out */
            areturn
        end local 2 // jdk.internal.reflect.ReflectionFactory fact
        end local 1 // java.lang.reflect.Field[] out
        end local 0 // java.lang.reflect.Field[] arg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0   arg  [Ljava/lang/reflect/Field;
            1    8     1   out  [Ljava/lang/reflect/Field;
            2    8     2  fact  Ljdk/internal/reflect/ReflectionFactory;
            3    7     3     i  I
    MethodParameters:
      Name  Flags
      arg   

  private static java.lang.reflect.Method[] copyMethods(java.lang.reflect.Method[]);
    descriptor: ([Ljava/lang/reflect/Method;)[Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.lang.reflect.Method[] arg
         0: .line 3547
            aload 0 /* arg */
            arraylength
            anewarray java.lang.reflect.Method
            astore 1 /* out */
        start local 1 // java.lang.reflect.Method[] out
         1: .line 3548
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
            astore 2 /* fact */
        start local 2 // jdk.internal.reflect.ReflectionFactory fact
         2: .line 3549
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 3550
      StackMap locals: java.lang.reflect.Method[] jdk.internal.reflect.ReflectionFactory int
      StackMap stack:
            aload 1 /* out */
            iload 3 /* i */
            aload 2 /* fact */
            aload 0 /* arg */
            iload 3 /* i */
            aaload
            invokevirtual jdk.internal.reflect.ReflectionFactory.copyMethod:(Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
            aastore
         5: .line 3549
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 0 /* arg */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 3552
            aload 1 /* out */
            areturn
        end local 2 // jdk.internal.reflect.ReflectionFactory fact
        end local 1 // java.lang.reflect.Method[] out
        end local 0 // java.lang.reflect.Method[] arg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0   arg  [Ljava/lang/reflect/Method;
            1    8     1   out  [Ljava/lang/reflect/Method;
            2    8     2  fact  Ljdk/internal/reflect/ReflectionFactory;
            3    7     3     i  I
    MethodParameters:
      Name  Flags
      arg   

  private static <U> java.lang.reflect.Constructor<U>[] copyConstructors(java.lang.reflect.Constructor<U>[]);
    descriptor: ([Ljava/lang/reflect/Constructor;)[Ljava/lang/reflect/Constructor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.lang.reflect.Constructor[] arg
         0: .line 3556
            aload 0 /* arg */
            invokevirtual java.lang.reflect.Constructor[].clone:()Ljava/lang/Object;
            checkcast java.lang.reflect.Constructor[]
            astore 1 /* out */
        start local 1 // java.lang.reflect.Constructor[] out
         1: .line 3557
            invokestatic java.lang.Class.getReflectionFactory:()Ljdk/internal/reflect/ReflectionFactory;
            astore 2 /* fact */
        start local 2 // jdk.internal.reflect.ReflectionFactory fact
         2: .line 3558
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 3559
      StackMap locals: java.lang.reflect.Constructor[] jdk.internal.reflect.ReflectionFactory int
      StackMap stack:
            aload 1 /* out */
            iload 3 /* i */
            aload 2 /* fact */
            aload 1 /* out */
            iload 3 /* i */
            aaload
            invokevirtual jdk.internal.reflect.ReflectionFactory.copyConstructor:(Ljava/lang/reflect/Constructor;)Ljava/lang/reflect/Constructor;
            aastore
         5: .line 3558
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 1 /* out */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 3561
            aload 1 /* out */
            areturn
        end local 2 // jdk.internal.reflect.ReflectionFactory fact
        end local 1 // java.lang.reflect.Constructor[] out
        end local 0 // java.lang.reflect.Constructor[] arg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0   arg  [Ljava/lang/reflect/Constructor;
            1    8     1   out  [Ljava/lang/reflect/Constructor;
            2    8     2  fact  Ljdk/internal/reflect/ReflectionFactory;
            3    7     3     i  I
    Signature: <U:Ljava/lang/Object;>([Ljava/lang/reflect/Constructor<TU;>;)[Ljava/lang/reflect/Constructor<TU;>;
    MethodParameters:
      Name  Flags
      arg   

  private native java.lang.reflect.Field[] getDeclaredFields0(boolean);
    descriptor: (Z)[Ljava/lang/reflect/Field;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
            Name  Flags
      publicOnly  

  private native java.lang.reflect.Method[] getDeclaredMethods0(boolean);
    descriptor: (Z)[Ljava/lang/reflect/Method;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
            Name  Flags
      publicOnly  

  private native java.lang.reflect.Constructor<T>[] getDeclaredConstructors0(boolean);
    descriptor: (Z)[Ljava/lang/reflect/Constructor;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    Signature: (Z)[Ljava/lang/reflect/Constructor<TT;>;
    MethodParameters:
            Name  Flags
      publicOnly  

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

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

  private native boolean isRecord0();
    descriptor: ()Z
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE

  private java.lang.String methodToString(java.lang.String, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.Class this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class[] argTypes
         0: .line 3576
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 3577
            aload 2 /* argTypes */
            ifnull 2
            aload 2 /* argTypes */
            arraylength
            ifne 3
         2: .line 3578
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
            ldc "()"
            goto 6
         3: .line 3579
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
            aload 2 /* argTypes */
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
         4: .line 3580
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  java/lang/Class.lambda$3(Ljava/lang/Class;)Ljava/lang/String; (6)
                  (Ljava/lang/Class;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         5: .line 3581
            ldc ","
            ldc "("
            ldc ")"
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
         6: .line 3577
      StackMap locals: java.lang.Class java.lang.String java.lang.Class[]
      StackMap stack: java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 3576
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.Class[] argTypes
        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  argTypes  [Ljava/lang/Class;
    Signature: (Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/String;
    MethodParameters:
          Name  Flags
      name      
      argTypes  

  public boolean desiredAssertionStatus();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.Class this
         0: .line 3636
            aload 0 /* this */
            invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
            astore 1 /* loader */
        start local 1 // java.lang.ClassLoader loader
         1: .line 3638
            aload 1 /* loader */
            ifnonnull 3
         2: .line 3639
            aload 0 /* this */
            invokestatic java.lang.Class.desiredAssertionStatus0:(Ljava/lang/Class;)Z
            ireturn
         3: .line 3643
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 1 /* loader */
            getfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         4: .line 3644
            aload 1 /* loader */
            getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
            ifnull 7
         5: .line 3645
            aload 1 /* loader */
            aload 0 /* this */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.ClassLoader.desiredAssertionStatus:(Ljava/lang/String;)Z
            aload 2
            monitorexit
         6: ireturn
         7: .line 3643
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 2
            monitorexit
        10: athrow
        11: .line 3648
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic java.lang.Class.desiredAssertionStatus0:(Ljava/lang/Class;)Z
            ireturn
        end local 1 // java.lang.ClassLoader loader
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Ljava/lang/Class<TT;>;
            1   12     1  loader  Ljava/lang/ClassLoader;
      Exception table:
        from    to  target  type
           4     6       9  any
           7     8       9  any
           9    10       9  any

  private static native boolean desiredAssertionStatus0(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
       Name  Flags
      clazz  

  public boolean isEnum();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 3676
            aload 0 /* this */
            invokevirtual java.lang.Class.getModifiers:()I
            sipush 16384
            iand
            ifeq 3
         1: .line 3677
            aload 0 /* this */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            ldc Ljava/lang/Enum;
            if_acmpne 3
         2: .line 3676
            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;>;

  private static java.lang.Class<?> javaLangRecordClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 3684
            ldc "java.lang.Record"
            iconst_0
            aconst_null
            aconst_null
            invokestatic java.lang.Class.forName0:(Ljava/lang/String;ZLjava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class;
         1: areturn
         2: .line 3685
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 0 /* e */
        start local 0 // java.lang.ClassNotFoundException e
         3: .line 3686
            new java.lang.InternalError
            dup
            ldc "should not reach here"
            aload 0 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.ClassNotFoundException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            3    4     0     e  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassNotFoundException
    Signature: ()Ljava/lang/Class<*>;

  public boolean isRecord();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 3715
            aload 0 /* this */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            getstatic java.lang.Class.JAVA_LANG_RECORD_CLASS:Ljava/lang/Class;
            if_acmpne 1
            aload 0 /* this */
            invokevirtual java.lang.Class.isRecord0:()Z
            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;>;
    RuntimeInvisibleAnnotations: 
      jdk.internal.PreviewFeature(feature = jdk.internal.PreviewFeature$Feature.RECORDS:Ljdk/internal/PreviewFeature$Feature;, essentialAPI = false)

  private static jdk.internal.reflect.ReflectionFactory getReflectionFactory();
    descriptor: ()Ljdk/internal/reflect/ReflectionFactory;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 3720
            getstatic java.lang.Class.reflectionFactory:Ljdk/internal/reflect/ReflectionFactory;
            ifnonnull 4
         1: .line 3723
            new jdk.internal.reflect.ReflectionFactory$GetReflectionFactoryAction
            dup
            invokespecial jdk.internal.reflect.ReflectionFactory$GetReflectionFactoryAction.<init>:()V
         2: .line 3722
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast jdk.internal.reflect.ReflectionFactory
         3: .line 3721
            putstatic java.lang.Class.reflectionFactory:Ljdk/internal/reflect/ReflectionFactory;
         4: .line 3725
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Class.reflectionFactory:Ljdk/internal/reflect/ReflectionFactory;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public T[] getEnumConstants();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 3740
            aload 0 /* this */
            invokevirtual java.lang.Class.getEnumConstantsShared:()[Ljava/lang/Object;
            astore 1 /* values */
        start local 1 // java.lang.Object[] values
         1: .line 3741
            aload 1 /* values */
            ifnull 2
            aload 1 /* values */
            invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
            checkcast java.lang.Object[]
            goto 3
      StackMap locals: java.lang.Object[]
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Object[]
         3: areturn
        end local 1 // java.lang.Object[] values
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljava/lang/Class<TT;>;
            1    4     1  values  [Ljava/lang/Object;
    Signature: ()[TT;

  T[] getEnumConstantsShared();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.Class this
         0: .line 3751
            aload 0 /* this */
            getfield java.lang.Class.enumConstants:[Ljava/lang/Object;
            astore 1 /* constants */
        start local 1 // java.lang.Object[] constants
         1: .line 3752
            aload 1 /* constants */
            ifnonnull 10
         2: .line 3753
            aload 0 /* this */
            invokevirtual java.lang.Class.isEnum:()Z
            ifne 3
            aconst_null
            areturn
         3: .line 3755
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 0 /* this */
            ldc "values"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 2 /* values */
        start local 2 // java.lang.reflect.Method values
         4: .line 3757
            new java.lang.Class$3
            dup
            aload 0 /* this */
            aload 2 /* values */
            invokespecial java.lang.Class$3.<init>:(Ljava/lang/Class;Ljava/lang/reflect/Method;)V
         5: .line 3756
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         6: .line 3764
            aload 2 /* values */
            aconst_null
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Object[]
            astore 3 /* temporaryConstants */
        start local 3 // java.lang.Object[] temporaryConstants
         7: .line 3765
            aload 0 /* this */
            aload 3 /* temporaryConstants */
            dup
            astore 1 /* constants */
            putfield java.lang.Class.enumConstants:[Ljava/lang/Object;
        end local 3 // java.lang.Object[] temporaryConstants
        end local 2 // java.lang.reflect.Method values
         8: .line 3766
            goto 10
         9: .line 3770
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            pop
            aconst_null
            areturn
        10: .line 3772
      StackMap locals:
      StackMap stack:
            aload 1 /* constants */
            areturn
        end local 1 // java.lang.Object[] constants
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   11     0                this  Ljava/lang/Class<TT;>;
            1   11     1           constants  [Ljava/lang/Object;
            4    8     2              values  Ljava/lang/reflect/Method;
            7    8     3  temporaryConstants  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           3     8       9  Class java.lang.reflect.InvocationTargetException
           3     8       9  Class java.lang.NoSuchMethodException
           3     8       9  Class java.lang.IllegalAccessException
    Signature: ()[TT;

  java.util.Map<java.lang.String, T> enumConstantDirectory();
    descriptor: ()Ljava/util/Map;
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // java.lang.Class this
         0: .line 3784
            aload 0 /* this */
            getfield java.lang.Class.enumConstantDirectory:Ljava/util/Map;
            astore 1 /* directory */
        start local 1 // java.util.Map directory
         1: .line 3785
            aload 1 /* directory */
            ifnonnull 14
         2: .line 3786
            aload 0 /* this */
            invokevirtual java.lang.Class.getEnumConstantsShared:()[Ljava/lang/Object;
            astore 2 /* universe */
        start local 2 // java.lang.Object[] universe
         3: .line 3787
            aload 2 /* universe */
            ifnonnull 7
         4: .line 3788
            new java.lang.IllegalArgumentException
            dup
         5: .line 3789
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not an enum type"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 3788
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 3790
      StackMap locals: java.util.Map java.lang.Object[]
      StackMap stack:
            new java.util.HashMap
            dup
            aload 2 /* universe */
            arraylength
            i2f
            ldc 0.75
            fdiv
            f2i
            iconst_1
            iadd
            invokespecial java.util.HashMap.<init>:(I)V
            astore 1 /* directory */
         8: .line 3791
            aload 2 /* universe */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 12
      StackMap locals: java.lang.Class java.util.Map java.lang.Object[] top int int java.lang.Object[]
      StackMap stack:
         9: aload 6
            iload 4
            aaload
            astore 3 /* constant */
        start local 3 // java.lang.Object constant
        10: .line 3792
            aload 1 /* directory */
            aload 3 /* constant */
            checkcast java.lang.Enum
            invokevirtual java.lang.Enum.name:()Ljava/lang/String;
            aload 3 /* constant */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.Object constant
        11: .line 3791
            iinc 4 1
      StackMap locals:
      StackMap stack:
        12: iload 4
            iload 5
            if_icmplt 9
        13: .line 3794
            aload 0 /* this */
            aload 1 /* directory */
            putfield java.lang.Class.enumConstantDirectory:Ljava/util/Map;
        end local 2 // java.lang.Object[] universe
        14: .line 3796
      StackMap locals: java.lang.Class java.util.Map
      StackMap stack:
            aload 1 /* directory */
            areturn
        end local 1 // java.util.Map directory
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Ljava/lang/Class<TT;>;
            1   15     1  directory  Ljava/util/Map<Ljava/lang/String;TT;>;
            3   14     2   universe  [Ljava/lang/Object;
           10   11     3   constant  TT;
    Signature: ()Ljava/util/Map<Ljava/lang/String;TT;>;

  public T cast();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // java.lang.Object obj
         0: .line 3815
            aload 1 /* obj */
            ifnull 2
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 3816
            new java.lang.ClassCastException
            dup
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual java.lang.Class.cannotCastMsg:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 3817
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            areturn
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/Class<TT;>;
            0    3     1   obj  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;)TT;
    RuntimeVisibleAnnotations: 
      jdk.internal.HotSpotIntrinsicCandidate()
    MethodParameters:
      Name  Flags
      obj   

  private java.lang.String cannotCastMsg(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // java.lang.Object obj
         0: .line 3821
            new java.lang.StringBuilder
            dup
            ldc "Cannot cast "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual java.lang.Class.getName:()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 1 // java.lang.Object obj
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Class<TT;>;
            0    1     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public <U> java.lang.Class<? extends U> asSubclass(java.lang.Class<U>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // java.lang.Class clazz
         0: .line 3848
            aload 1 /* clazz */
            aload 0 /* this */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 2
         1: .line 3849
            aload 0 /* this */
            areturn
         2: .line 3851
      StackMap locals:
      StackMap stack:
            new java.lang.ClassCastException
            dup
            aload 0 /* this */
            invokevirtual java.lang.Class.toString:()Ljava/lang/String;
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljava/lang/Class<TT;>;
            0    3     1  clazz  Ljava/lang/Class<TU;>;
    Signature: <U:Ljava/lang/Object;>(Ljava/lang/Class<TU;>;)Ljava/lang/Class<+TU;>;
    MethodParameters:
       Name  Flags
      clazz  

  public <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.Class<A>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // java.lang.Class annotationClass
         0: .line 3865
            aload 1 /* annotationClass */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 3867
            aload 0 /* this */
            invokevirtual java.lang.Class.annotationData:()Ljava/lang/Class$AnnotationData;
            getfield java.lang.Class$AnnotationData.annotations:Ljava/util/Map;
            aload 1 /* annotationClass */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.annotation.Annotation
            areturn
        end local 1 // java.lang.Class annotationClass
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Ljava/lang/Class<TT;>;
            0    2     1  annotationClass  Ljava/lang/Class<TA;>;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)TA;
    MethodParameters:
                 Name  Flags
      annotationClass  

  public boolean isAnnotationPresent(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // java.lang.Class annotationClass
         0: .line 3877
            aload 0 /* this */
            aload 1 /* annotationClass */
            invokespecial java.lang.reflect.GenericDeclaration.isAnnotationPresent:(Ljava/lang/Class;)Z
            ireturn
        end local 1 // java.lang.Class annotationClass
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Ljava/lang/Class<TT;>;
            0    1     1  annotationClass  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Z
    MethodParameters:
                 Name  Flags
      annotationClass  

  public <A extends java.lang.annotation.Annotation> A[] getAnnotationsByType(java.lang.Class<A>);
    descriptor: (Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // java.lang.Class annotationClass
         0: .line 3890
            aload 1 /* annotationClass */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 3892
            aload 0 /* this */
            invokevirtual java.lang.Class.annotationData:()Ljava/lang/Class$AnnotationData;
            astore 2 /* annotationData */
        start local 2 // java.lang.Class$AnnotationData annotationData
         2: .line 3893
            aload 2 /* annotationData */
            getfield java.lang.Class$AnnotationData.declaredAnnotations:Ljava/util/Map;
         3: .line 3894
            aload 0 /* this */
         4: .line 3895
            aload 1 /* annotationClass */
         5: .line 3893
            invokestatic sun.reflect.annotation.AnnotationSupport.getAssociatedAnnotations:(Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
            areturn
        end local 2 // java.lang.Class$AnnotationData annotationData
        end local 1 // java.lang.Class annotationClass
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Ljava/lang/Class<TT;>;
            0    6     1  annotationClass  Ljava/lang/Class<TA;>;
            2    6     2   annotationData  Ljava/lang/Class$AnnotationData;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)[TA;
    MethodParameters:
                 Name  Flags
      annotationClass  

  public java.lang.annotation.Annotation[] getAnnotations();
    descriptor: ()[Ljava/lang/annotation/Annotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 3907
            aload 0 /* this */
            invokevirtual java.lang.Class.annotationData:()Ljava/lang/Class$AnnotationData;
            getfield java.lang.Class$AnnotationData.annotations:Ljava/util/Map;
            invokestatic sun.reflect.annotation.AnnotationParser.toArray:(Ljava/util/Map;)[Ljava/lang/annotation/Annotation;
            areturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Class<TT;>;

  public <A extends java.lang.annotation.Annotation> A getDeclaredAnnotation(java.lang.Class<A>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // java.lang.Class annotationClass
         0: .line 3921
            aload 1 /* annotationClass */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 3923
            aload 0 /* this */
            invokevirtual java.lang.Class.annotationData:()Ljava/lang/Class$AnnotationData;
            getfield java.lang.Class$AnnotationData.declaredAnnotations:Ljava/util/Map;
            aload 1 /* annotationClass */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.annotation.Annotation
            areturn
        end local 1 // java.lang.Class annotationClass
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Ljava/lang/Class<TT;>;
            0    2     1  annotationClass  Ljava/lang/Class<TA;>;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)TA;
    MethodParameters:
                 Name  Flags
      annotationClass  

  public <A extends java.lang.annotation.Annotation> A[] getDeclaredAnnotationsByType(java.lang.Class<A>);
    descriptor: (Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // java.lang.Class annotationClass
         0: .line 3936
            aload 1 /* annotationClass */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 3938
            aload 0 /* this */
            invokevirtual java.lang.Class.annotationData:()Ljava/lang/Class$AnnotationData;
            getfield java.lang.Class$AnnotationData.declaredAnnotations:Ljava/util/Map;
         2: .line 3939
            aload 1 /* annotationClass */
         3: .line 3938
            invokestatic sun.reflect.annotation.AnnotationSupport.getDirectlyAndIndirectlyPresent:(Ljava/util/Map;Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
            areturn
        end local 1 // java.lang.Class annotationClass
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Ljava/lang/Class<TT;>;
            0    4     1  annotationClass  Ljava/lang/Class<TA;>;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)[TA;
    MethodParameters:
                 Name  Flags
      annotationClass  

  public java.lang.annotation.Annotation[] getDeclaredAnnotations();
    descriptor: ()[Ljava/lang/annotation/Annotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 3951
            aload 0 /* this */
            invokevirtual java.lang.Class.annotationData:()Ljava/lang/Class$AnnotationData;
            getfield java.lang.Class$AnnotationData.declaredAnnotations:Ljava/util/Map;
            invokestatic sun.reflect.annotation.AnnotationParser.toArray:(Ljava/util/Map;)[Ljava/lang/annotation/Annotation;
            areturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Class<TT;>;

  private java.lang.Class$AnnotationData annotationData();
    descriptor: ()Ljava/lang/Class$AnnotationData;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.Class this
         0: .line 3977
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.Class.annotationData:Ljava/lang/Class$AnnotationData;
            astore 1 /* annotationData */
        start local 1 // java.lang.Class$AnnotationData annotationData
         1: .line 3978
            aload 0 /* this */
            getfield java.lang.Class.classRedefinedCount:I
            istore 2 /* classRedefinedCount */
        start local 2 // int classRedefinedCount
         2: .line 3979
            aload 1 /* annotationData */
            ifnull 5
         3: .line 3980
            aload 1 /* annotationData */
            getfield java.lang.Class$AnnotationData.redefinedCount:I
            iload 2 /* classRedefinedCount */
            if_icmpne 5
         4: .line 3981
            aload 1 /* annotationData */
            areturn
         5: .line 3984
      StackMap locals: java.lang.Class$AnnotationData int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* classRedefinedCount */
            invokevirtual java.lang.Class.createAnnotationData:(I)Ljava/lang/Class$AnnotationData;
            astore 3 /* newAnnotationData */
        start local 3 // java.lang.Class$AnnotationData newAnnotationData
         6: .line 3986
            aload 0 /* this */
            aload 1 /* annotationData */
            aload 3 /* newAnnotationData */
            invokestatic java.lang.Class$Atomic.casAnnotationData:(Ljava/lang/Class;Ljava/lang/Class$AnnotationData;Ljava/lang/Class$AnnotationData;)Z
            ifeq 0
         7: .line 3988
            aload 3 /* newAnnotationData */
            areturn
        end local 3 // java.lang.Class$AnnotationData newAnnotationData
        end local 2 // int classRedefinedCount
        end local 1 // java.lang.Class$AnnotationData annotationData
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    8     0                 this  Ljava/lang/Class<TT;>;
            1    8     1       annotationData  Ljava/lang/Class$AnnotationData;
            2    8     2  classRedefinedCount  I
            6    8     3    newAnnotationData  Ljava/lang/Class$AnnotationData;

  private java.lang.Class$AnnotationData createAnnotationData(int);
    descriptor: (I)Ljava/lang/Class$AnnotationData;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // int classRedefinedCount
         0: .line 3995
            aload 0 /* this */
            invokevirtual java.lang.Class.getRawAnnotations:()[B
            aload 0 /* this */
            invokevirtual java.lang.Class.getConstantPool:()Ljdk/internal/reflect/ConstantPool;
            aload 0 /* this */
            invokestatic sun.reflect.annotation.AnnotationParser.parseAnnotations:([BLjdk/internal/reflect/ConstantPool;Ljava/lang/Class;)Ljava/util/Map;
         1: .line 3994
            astore 2 /* declaredAnnotations */
        start local 2 // java.util.Map declaredAnnotations
         2: .line 3996
            aload 0 /* this */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 3 /* superClass */
        start local 3 // java.lang.Class superClass
         3: .line 3997
            aconst_null
            astore 4 /* annotations */
        start local 4 // java.util.Map annotations
         4: .line 3998
            aload 3 /* superClass */
            ifnull 24
         5: .line 4000
            aload 3 /* superClass */
            invokevirtual java.lang.Class.annotationData:()Ljava/lang/Class$AnnotationData;
            getfield java.lang.Class$AnnotationData.annotations:Ljava/util/Map;
         6: .line 3999
            astore 5 /* superAnnotations */
        start local 5 // java.util.Map superAnnotations
         7: .line 4001
            aload 5 /* superAnnotations */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 23
      StackMap locals: java.lang.Class int java.util.Map java.lang.Class java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
         8: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* e */
        start local 6 // java.util.Map$Entry e
         9: .line 4002
            aload 6 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 8 /* annotationClass */
        start local 8 // java.lang.Class annotationClass
        10: .line 4003
            aload 8 /* annotationClass */
            invokestatic sun.reflect.annotation.AnnotationType.getInstance:(Ljava/lang/Class;)Lsun/reflect/annotation/AnnotationType;
            invokevirtual sun.reflect.annotation.AnnotationType.isInherited:()Z
            ifeq 23
        11: .line 4004
            aload 4 /* annotations */
            ifnonnull 22
        12: .line 4005
            new java.util.LinkedHashMap
            dup
        13: .line 4006
            aload 2 /* declaredAnnotations */
            invokeinterface java.util.Map.size:()I
        14: .line 4007
            bipush 12
            aload 2 /* declaredAnnotations */
            invokeinterface java.util.Map.size:()I
            aload 5 /* superAnnotations */
            invokeinterface java.util.Map.size:()I
            iadd
            invokestatic java.lang.Math.min:(II)I
        15: .line 4005
            invokestatic java.lang.Math.max:(II)I
        16: .line 4008
            iconst_4
        17: .line 4005
            imul
        18: .line 4008
            iconst_2
        19: .line 4005
            iadd
        20: .line 4008
            iconst_3
        21: .line 4005
            idiv
            invokespecial java.util.LinkedHashMap.<init>:(I)V
            astore 4 /* annotations */
        22: .line 4011
      StackMap locals: java.lang.Class int java.util.Map java.lang.Class java.util.Map java.util.Map java.util.Map$Entry java.util.Iterator java.lang.Class
      StackMap stack:
            aload 4 /* annotations */
            aload 8 /* annotationClass */
            aload 6 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.annotation.Annotation
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.lang.Class annotationClass
        end local 6 // java.util.Map$Entry e
        23: .line 4001
      StackMap locals: java.lang.Class int java.util.Map java.lang.Class java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 5 // java.util.Map superAnnotations
        24: .line 4015
      StackMap locals: java.lang.Class int java.util.Map java.lang.Class java.util.Map
      StackMap stack:
            aload 4 /* annotations */
            ifnonnull 27
        25: .line 4017
            aload 2 /* declaredAnnotations */
            astore 4 /* annotations */
        26: .line 4018
            goto 28
        27: .line 4020
      StackMap locals:
      StackMap stack:
            aload 4 /* annotations */
            aload 2 /* declaredAnnotations */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        28: .line 4022
      StackMap locals:
      StackMap stack:
            new java.lang.Class$AnnotationData
            dup
            aload 4 /* annotations */
            aload 2 /* declaredAnnotations */
            iload 1 /* classRedefinedCount */
            invokespecial java.lang.Class$AnnotationData.<init>:(Ljava/util/Map;Ljava/util/Map;I)V
            areturn
        end local 4 // java.util.Map annotations
        end local 3 // java.lang.Class superClass
        end local 2 // java.util.Map declaredAnnotations
        end local 1 // int classRedefinedCount
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   29     0                 this  Ljava/lang/Class<TT;>;
            0   29     1  classRedefinedCount  I
            2   29     2  declaredAnnotations  Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/annotation/Annotation;>;
            3   29     3           superClass  Ljava/lang/Class<*>;
            4   29     4          annotations  Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/annotation/Annotation;>;
            7   24     5     superAnnotations  Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/annotation/Annotation;>;
            9   23     6                    e  Ljava/util/Map$Entry<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/annotation/Annotation;>;
           10   23     8      annotationClass  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    MethodParameters:
                     Name  Flags
      classRedefinedCount  

  boolean casAnnotationType(sun.reflect.annotation.AnnotationType, sun.reflect.annotation.AnnotationType);
    descriptor: (Lsun/reflect/annotation/AnnotationType;Lsun/reflect/annotation/AnnotationType;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.Class this
        start local 1 // sun.reflect.annotation.AnnotationType oldType
        start local 2 // sun.reflect.annotation.AnnotationType newType
         0: .line 4031
            aload 0 /* this */
            aload 1 /* oldType */
            aload 2 /* newType */
            invokestatic java.lang.Class$Atomic.casAnnotationType:(Ljava/lang/Class;Lsun/reflect/annotation/AnnotationType;Lsun/reflect/annotation/AnnotationType;)Z
            ireturn
        end local 2 // sun.reflect.annotation.AnnotationType newType
        end local 1 // sun.reflect.annotation.AnnotationType oldType
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljava/lang/Class<TT;>;
            0    1     1  oldType  Lsun/reflect/annotation/AnnotationType;
            0    1     2  newType  Lsun/reflect/annotation/AnnotationType;
    MethodParameters:
         Name  Flags
      oldType  
      newType  

  sun.reflect.annotation.AnnotationType getAnnotationType();
    descriptor: ()Lsun/reflect/annotation/AnnotationType;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 4035
            aload 0 /* this */
            getfield java.lang.Class.annotationType:Lsun/reflect/annotation/AnnotationType;
            areturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Class<TT;>;

  java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.annotation.Annotation> getDeclaredAnnotationMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 4039
            aload 0 /* this */
            invokevirtual java.lang.Class.annotationData:()Ljava/lang/Class$AnnotationData;
            getfield java.lang.Class$AnnotationData.declaredAnnotations:Ljava/util/Map;
            areturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Class<TT;>;
    Signature: ()Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/annotation/Annotation;>;

  public java.lang.reflect.AnnotatedType getAnnotatedSuperclass();
    descriptor: ()Ljava/lang/reflect/AnnotatedType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 4067
            aload 0 /* this */
            ldc Ljava/lang/Object;
            if_acmpeq 5
         1: .line 4068
            aload 0 /* this */
            invokevirtual java.lang.Class.isInterface:()Z
            ifne 5
         2: .line 4069
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 5
         3: .line 4070
            aload 0 /* this */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 5
         4: .line 4071
            aload 0 /* this */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 6
         5: .line 4072
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         6: .line 4075
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.getRawTypeAnnotations:()[B
            aload 0 /* this */
            invokevirtual java.lang.Class.getConstantPool:()Ljdk/internal/reflect/ConstantPool;
            aload 0 /* this */
            invokestatic sun.reflect.annotation.TypeAnnotationParser.buildAnnotatedSuperclass:([BLjdk/internal/reflect/ConstantPool;Ljava/lang/Class;)Ljava/lang/reflect/AnnotatedType;
            areturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/lang/Class<TT;>;

  public java.lang.reflect.AnnotatedType[] getAnnotatedInterfaces();
    descriptor: ()[Ljava/lang/reflect/AnnotatedType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 4110
            aload 0 /* this */
            invokevirtual java.lang.Class.getRawTypeAnnotations:()[B
            aload 0 /* this */
            invokevirtual java.lang.Class.getConstantPool:()Ljdk/internal/reflect/ConstantPool;
            aload 0 /* this */
            invokestatic sun.reflect.annotation.TypeAnnotationParser.buildAnnotatedInterfaces:([BLjdk/internal/reflect/ConstantPool;Ljava/lang/Class;)[Ljava/lang/reflect/AnnotatedType;
            areturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/Class<TT;>;

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

  public java.lang.Class<?> getNestHost();
    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 4151
            aload 0 /* this */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 2
         1: .line 4152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
         2: .line 4155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.getNestHost0:()Ljava/lang/Class;
            astore 1 /* host */
        start local 1 // java.lang.Class host
         3: .line 4156
            aload 1 /* host */
            aload 0 /* this */
            if_acmpne 5
         4: .line 4157
            aload 0 /* this */
            areturn
         5: .line 4160
      StackMap locals: java.lang.Class
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         6: .line 4161
            aload 2 /* sm */
            ifnull 10
         7: .line 4162
            aload 0 /* this */
            aload 2 /* sm */
         8: .line 4163
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
            iconst_1
         9: .line 4162
            invokevirtual java.lang.Class.checkPackageAccess:(Ljava/lang/SecurityManager;Ljava/lang/ClassLoader;Z)V
        10: .line 4165
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 1 /* host */
            areturn
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.lang.Class host
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/lang/Class<TT;>;
            3   11     1  host  Ljava/lang/Class<*>;
            6   11     2    sm  Ljava/lang/SecurityManager;
    Signature: ()Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()

  public boolean isNestmateOf(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Class this
        start local 1 // java.lang.Class c
         0: .line 4181
            aload 0 /* this */
            aload 1 /* c */
            if_acmpne 2
         1: .line 4182
            iconst_1
            ireturn
         2: .line 4184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 4
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 4
         3: .line 4185
            aload 1 /* c */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 4
            aload 1 /* c */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 5
         4: .line 4186
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         5: .line 4189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.getNestHost:()Ljava/lang/Class;
            aload 1 /* c */
            invokevirtual java.lang.Class.getNestHost:()Ljava/lang/Class;
            if_acmpne 6
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 1 // java.lang.Class c
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/lang/Class<TT;>;
            0    7     1     c  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      c     

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

  public java.lang.Class<?>[] getNestMembers();
    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 4242
            aload 0 /* this */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 2
         1: .line 4243
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 0 /* this */
            aastore
            areturn
         2: .line 4245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.getNestMembers0:()[Ljava/lang/Class;
            astore 1 /* members */
        start local 1 // java.lang.Class[] members
         3: .line 4249
            aload 1 /* members */
            arraylength
            iconst_1
            if_icmple 9
         4: .line 4252
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         5: .line 4253
            aload 2 /* sm */
            ifnull 9
         6: .line 4254
            aload 0 /* this */
            aload 2 /* sm */
         7: .line 4255
            invokestatic jdk.internal.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
            iconst_1
         8: .line 4254
            invokevirtual java.lang.Class.checkPackageAccess:(Ljava/lang/SecurityManager;Ljava/lang/ClassLoader;Z)V
        end local 2 // java.lang.SecurityManager sm
         9: .line 4258
      StackMap locals: java.lang.Class[]
      StackMap stack:
            aload 1 /* members */
            areturn
        end local 1 // java.lang.Class[] members
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Ljava/lang/Class<TT;>;
            3   10     1  members  [Ljava/lang/Class;
            5    9     2       sm  Ljava/lang/SecurityManager;
    Signature: ()[Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      jdk.internal.reflect.CallerSensitive()

  public java.lang.String descriptorString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.Class this
         0: .line 4318
            aload 0 /* this */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 2
         1: .line 4319
            aload 0 /* this */
            invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
            invokevirtual sun.invoke.util.Wrapper.basicTypeString:()Ljava/lang/String;
            areturn
         2: .line 4321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 4
         3: .line 4322
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.lang.Class.componentType:Ljava/lang/Class;
            invokevirtual java.lang.Class.descriptorString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         4: .line 4323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.isHidden:()Z
            ifeq 10
         5: .line 4324
            aload 0 /* this */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         6: .line 4325
            aload 1 /* name */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* index */
        start local 2 // int index
         7: .line 4326
            new java.lang.StringBuilder
            dup
            ldc "L"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            iconst_0
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 4327
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* name */
            iload 2 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 4326
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // int index
        end local 1 // java.lang.String name
        10: .line 4329
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "L"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Ljava/lang/Class<TT;>;
            6   10     1   name  Ljava/lang/String;
            7   10     2  index  I

  public java.lang.Class<?> componentType();
    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 4346
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 1
            aload 0 /* this */
            getfield java.lang.Class.componentType:Ljava/lang/Class;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Class
         2: 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 java.lang.Class<?> arrayType();
    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 4358
            aload 0 /* this */
            iconst_0
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            invokevirtual java.lang.Object.getClass:()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<*>;

  public java.util.Optional<java.lang.constant.ClassDesc> describeConstable();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Class this
         0: .line 4371
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual java.lang.Class.elementType:()Ljava/lang/Class;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
      StackMap locals:
      StackMap stack: java.lang.Class
         2: astore 1 /* c */
        start local 1 // java.lang.Class c
         3: .line 4372
            aload 1 /* c */
            invokevirtual java.lang.Class.isHidden:()Z
            ifeq 4
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            goto 5
         4: .line 4373
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.descriptorString:()Ljava/lang/String;
            invokestatic java.lang.constant.ClassDesc.ofDescriptor:(Ljava/lang/String;)Ljava/lang/constant/ClassDesc;
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
         5: .line 4372
      StackMap locals:
      StackMap stack: java.util.Optional
            areturn
        end local 1 // java.lang.Class c
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/Class<TT;>;
            3    6     1     c  Ljava/lang/Class<*>;
    Signature: ()Ljava/util/Optional<Ljava/lang/constant/ClassDesc;>;

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

  public java.lang.constant.ClassDesc[] permittedSubclasses();
    descriptor: ()[Ljava/lang/constant/ClassDesc;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // java.lang.Class this
         0: .line 4411
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 2
            aload 0 /* this */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 2
            aload 0 /* this */
            invokevirtual java.lang.Class.getPermittedSubclasses0:()[Ljava/lang/String;
            dup
            astore 1 /* subclassNames */
        start local 1 // java.lang.String[] subclassNames
         1: arraylength
            ifne 3
        end local 1 // java.lang.String[] subclassNames
         2: .line 4412
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Class.EMPTY_CLASS_DESC_ARRAY:[Ljava/lang/constant/ClassDesc;
            areturn
        start local 1 // java.lang.String[] subclassNames
         3: .line 4414
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 1 /* subclassNames */
            arraylength
            anewarray java.lang.constant.ClassDesc
            astore 2 /* constants */
        start local 2 // java.lang.constant.ClassDesc[] constants
         4: .line 4415
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: .line 4416
            aload 1 /* subclassNames */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 12
      StackMap locals: java.lang.Class java.lang.String[] java.lang.constant.ClassDesc[] int top int int java.lang.String[]
      StackMap stack:
         6: aload 7
            iload 5
            aaload
            astore 4 /* subclassName */
        start local 4 // java.lang.String subclassName
         7: .line 4418
            aload 2 /* constants */
            iload 3 /* i */
            iinc 3 /* i */ 1
            aload 4 /* subclassName */
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokestatic java.lang.constant.ClassDesc.of:(Ljava/lang/String;)Ljava/lang/constant/ClassDesc;
            aastore
         8: .line 4419
            goto 11
      StackMap locals: java.lang.Class java.lang.String[] java.lang.constant.ClassDesc[] int java.lang.String int int java.lang.String[]
      StackMap stack: java.lang.IllegalArgumentException
         9: astore 8 /* iae */
        start local 8 // java.lang.IllegalArgumentException iae
        10: .line 4420
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid type in permitted subclasses information: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* subclassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 8 /* iae */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.lang.IllegalArgumentException iae
        end local 4 // java.lang.String subclassName
        11: .line 4416
      StackMap locals: java.lang.Class java.lang.String[] java.lang.constant.ClassDesc[] int top int int java.lang.String[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        12: iload 5
            iload 6
            if_icmplt 6
        13: .line 4423
            aload 2 /* constants */
            areturn
        end local 3 // int i
        end local 2 // java.lang.constant.ClassDesc[] constants
        end local 1 // java.lang.String[] subclassNames
        end local 0 // java.lang.Class this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Ljava/lang/Class<TT;>;
            1    2     1  subclassNames  [Ljava/lang/String;
            3   14     1  subclassNames  [Ljava/lang/String;
            4   14     2      constants  [Ljava/lang/constant/ClassDesc;
            5   14     3              i  I
            7   11     4   subclassName  Ljava/lang/String;
           10   11     8            iae  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.IllegalArgumentException
    RuntimeInvisibleAnnotations: 
      jdk.internal.PreviewFeature(feature = jdk.internal.PreviewFeature$Feature.SEALED_CLASSES:Ljdk/internal/PreviewFeature$Feature;, essentialAPI = false)

  public boolean isSealed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class this
         0: .line 4447
            aload 0 /* this */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 2
         1: .line 4448
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 4450
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Class.permittedSubclasses:()[Ljava/lang/constant/ClassDesc;
            arraylength
            ifeq 3
            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;>;
    RuntimeInvisibleAnnotations: 
      jdk.internal.PreviewFeature(feature = jdk.internal.PreviewFeature$Feature.SEALED_CLASSES:Ljdk/internal/PreviewFeature$Feature;, essentialAPI = false)

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

  public java.lang.invoke.TypeDescriptor$OfField arrayType();
    descriptor: ()Ljava/lang/invoke/TypeDescriptor$OfField;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual java.lang.Class.arrayType:()Ljava/lang/Class;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.invoke.TypeDescriptor$OfField componentType();
    descriptor: ()Ljava/lang/invoke/TypeDescriptor$OfField;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual java.lang.Class.componentType:()Ljava/lang/Class;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String lambda$3(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class c
         0: .line 3580
            aload 0 /* c */
            ifnonnull 1
            ldc "null"
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // java.lang.Class c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     c  Ljava/lang/Class<*>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/reflect/GenericDeclaration;Ljava/lang/reflect/Type;Ljava/lang/reflect/AnnotatedElement;Ljava/lang/invoke/TypeDescriptor$OfField<Ljava/lang/Class<*>;>;Ljava/lang/constant/Constable;
SourceFile: "Class.java"
NestMembers:
  java.lang.Class$1  java.lang.Class$2  java.lang.Class$3  java.lang.Class$AnnotationData  java.lang.Class$Atomic  java.lang.Class$EnclosingMethodInfo  java.lang.Class$ReflectionData
InnerClasses:
  java.lang.Class$1
  java.lang.Class$2
  java.lang.Class$3
  private AnnotationData = java.lang.Class$AnnotationData of java.lang.Class
  private Atomic = java.lang.Class$Atomic of java.lang.Class
  private final EnclosingMethodInfo = java.lang.Class$EnclosingMethodInfo of java.lang.Class
  private ReflectionData = java.lang.Class$ReflectionData of java.lang.Class
  ClassValueMap = java.lang.ClassValue$ClassValueMap of java.lang.ClassValue
  final MethodList = java.lang.PublicMethods$MethodList of java.lang.PublicMethods
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract OfField = java.lang.invoke.TypeDescriptor$OfField of java.lang.invoke.TypeDescriptor
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final Feature = jdk.internal.PreviewFeature$Feature of jdk.internal.PreviewFeature
  public final GetReflectionFactoryAction = jdk.internal.reflect.ReflectionFactory$GetReflectionFactoryAction of jdk.internal.reflect.ReflectionFactory