public final class java.lang.invoke.MethodHandles$Lookup
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: java.lang.invoke.MethodHandles$Lookup
  super_class: java.lang.Object
{
  private final java.lang.Class<?> lookupClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private final int allowedModes;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public static final int PUBLIC;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int PRIVATE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int PROTECTED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int PACKAGE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int MODULE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  public static final int UNCONDITIONAL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

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

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

  private static final int TRUSTED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private volatile java.security.ProtectionDomain cachedProtectionDomain;
    descriptor: Ljava/security/ProtectionDomain;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static final java.lang.invoke.MethodHandles$Lookup IMPL_LOOKUP;
    descriptor: Ljava/lang/invoke/MethodHandles$Lookup;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.invoke.MethodHandles$Lookup PUBLIC_LOOKUP;
    descriptor: Ljava/lang/invoke/MethodHandles$Lookup;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static java.util.concurrent.ConcurrentHashMap<java.lang.invoke.MemberName, java.lang.invoke.DirectMethodHandle> LOOKASIDE_TABLE;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0008) ACC_STATIC
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/invoke/MemberName;Ljava/lang/invoke/DirectMethodHandle;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 644
            ldc Ljava/lang/invoke/MethodHandles;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
         3: .line 652
            ldc Ljava/lang/invoke/MethodHandles$Lookup;
            ldc "lookupClass"
            ldc "allowedModes"
            invokestatic java.util.Set.of:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;
            invokestatic jdk.internal.reflect.Reflection.registerFieldsToFilter:(Ljava/lang/Class;Ljava/util/Set;)V
         4: .line 997
            getstatic java.lang.invoke.MethodHandles.IMPL_NAMES:Ljava/lang/invoke/MemberName$Factory;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
         5: .line 1000
            new java.lang.invoke.MethodHandles$Lookup
            dup
            ldc Ljava/lang/Object;
            iconst_m1
            invokespecial java.lang.invoke.MethodHandles$Lookup.<init>:(Ljava/lang/Class;I)V
            putstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
         6: .line 1006
            new java.lang.invoke.MethodHandles$Lookup
            dup
            ldc Ljava/lang/Object;
            bipush 33
            invokespecial java.lang.invoke.MethodHandles$Lookup.<init>:(Ljava/lang/Class;I)V
            putstatic java.lang.invoke.MethodHandles$Lookup.PUBLIC_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
         7: .line 2556
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putstatic java.lang.invoke.MethodHandles$Lookup.LOOKASIDE_TABLE:Ljava/util/concurrent/ConcurrentHashMap;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static int fixmods(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int mods
         0: .line 717
            iload 0 /* mods */
            bipush 7
            iand
            istore 0 /* mods */
         1: .line 718
            iload 0 /* mods */
            ifeq 2
            iload 0 /* mods */
            goto 3
      StackMap locals:
      StackMap stack:
         2: bipush 56
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 0 // int mods
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  mods  I
    MethodParameters:
      Name  Flags
      mods  

  public java.lang.Class<?> lookupClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
         0: .line 731
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            areturn
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/MethodHandles$Lookup;
    Signature: ()Ljava/lang/Class<*>;

  private java.lang.Class<?> lookupClassOrNull();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
         0: .line 736
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_m1
            if_icmpne 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
      StackMap locals:
      StackMap stack: java.lang.Class
         2: areturn
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/invoke/MethodHandles$Lookup;
    Signature: ()Ljava/lang/Class<*>;

  public int lookupModes();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
         0: .line 768
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            bipush 63
            iand
            ireturn
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/MethodHandles$Lookup;

  void <init>(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class lookupClass
         0: .line 777
            aload 0 /* this */
            aload 1 /* lookupClass */
            bipush 31
            invokespecial java.lang.invoke.MethodHandles$Lookup.<init>:(Ljava/lang/Class;I)V
         1: .line 779
            aload 1 /* lookupClass */
            invokestatic java.lang.invoke.MethodHandles$Lookup.checkUnprivilegedlookupClass:(Ljava/lang/Class;)V
         2: .line 780
            return
        end local 1 // java.lang.Class lookupClass
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    3     1  lookupClass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
             Name  Flags
      lookupClass  

  private void <init>(java.lang.Class<?>, );
    descriptor: (Ljava/lang/Class;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class lookupClass
        start local 2 // int allowedModes
         0: .line 782
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 783
            aload 0 /* this */
            aload 1 /* lookupClass */
            putfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
         2: .line 784
            aload 0 /* this */
            iload 2 /* allowedModes */
            putfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
         3: .line 785
            return
        end local 2 // int allowedModes
        end local 1 // java.lang.Class lookupClass
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    4     1   lookupClass  Ljava/lang/Class<*>;
            0    4     2  allowedModes  I
    Signature: (Ljava/lang/Class<*>;I)V
    MethodParameters:
              Name  Flags
      lookupClass   
      allowedModes  

  public java.lang.invoke.MethodHandles$Lookup in(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/invoke/MethodHandles$Lookup;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class requestedLookupClass
         0: .line 828
            aload 1 /* requestedLookupClass */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 829
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_m1
            if_icmpne 3
         2: .line 830
            new java.lang.invoke.MethodHandles$Lookup
            dup
            aload 1 /* requestedLookupClass */
            bipush 31
            invokespecial java.lang.invoke.MethodHandles$Lookup.<init>:(Ljava/lang/Class;I)V
            areturn
         3: .line 831
      StackMap locals:
      StackMap stack:
            aload 1 /* requestedLookupClass */
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            if_acmpne 5
         4: .line 832
            aload 0 /* this */
            areturn
         5: .line 833
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            bipush 31
            iand
            istore 2 /* newModes */
        start local 2 // int newModes
         6: .line 834
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            aload 1 /* requestedLookupClass */
            invokestatic sun.invoke.util.VerifyAccess.isSameModule:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifne 11
         7: .line 837
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            invokevirtual java.lang.Module.isNamed:()Z
            ifeq 10
         8: .line 838
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            bipush 32
            iand
            ifne 10
         9: .line 839
            iconst_0
            istore 2 /* newModes */
            goto 11
        10: .line 841
      StackMap locals: int
      StackMap stack:
            iload 2 /* newModes */
            bipush -31
            iand
            istore 2 /* newModes */
        11: .line 843
      StackMap locals:
      StackMap stack:
            iload 2 /* newModes */
            bipush 8
            iand
            ifeq 14
        12: .line 844
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            aload 1 /* requestedLookupClass */
            invokestatic sun.invoke.util.VerifyAccess.isSamePackage:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifne 14
        13: .line 845
            iload 2 /* newModes */
            bipush -15
            iand
            istore 2 /* newModes */
        14: .line 848
      StackMap locals:
      StackMap stack:
            iload 2 /* newModes */
            iconst_2
            iand
            ifeq 17
        15: .line 849
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            aload 1 /* requestedLookupClass */
            invokestatic sun.invoke.util.VerifyAccess.isSamePackageMember:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifne 17
        16: .line 850
            iload 2 /* newModes */
            bipush -7
            iand
            istore 2 /* newModes */
        17: .line 852
      StackMap locals:
      StackMap stack:
            iload 2 /* newModes */
            iconst_1
            iand
            ifeq 20
        18: .line 853
            aload 1 /* requestedLookupClass */
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            invokestatic sun.invoke.util.VerifyAccess.isClassAccessible:(Ljava/lang/Class;Ljava/lang/Class;I)Z
            ifne 20
        19: .line 856
            iconst_0
            istore 2 /* newModes */
        20: .line 859
      StackMap locals:
      StackMap stack:
            aload 1 /* requestedLookupClass */
            invokestatic java.lang.invoke.MethodHandles$Lookup.checkUnprivilegedlookupClass:(Ljava/lang/Class;)V
        21: .line 860
            new java.lang.invoke.MethodHandles$Lookup
            dup
            aload 1 /* requestedLookupClass */
            iload 2 /* newModes */
            invokespecial java.lang.invoke.MethodHandles$Lookup.<init>:(Ljava/lang/Class;I)V
            areturn
        end local 2 // int newModes
        end local 1 // java.lang.Class requestedLookupClass
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   22     0                  this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   22     1  requestedLookupClass  Ljava/lang/Class<*>;
            6   22     2              newModes  I
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandles$Lookup;
    MethodParameters:
                      Name  Flags
      requestedLookupClass  

  public java.lang.invoke.MethodHandles$Lookup dropLookupMode(int);
    descriptor: (I)Ljava/lang/invoke/MethodHandles$Lookup;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // int modeToDrop
         0: .line 883
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupModes:()I
            istore 2 /* oldModes */
        start local 2 // int oldModes
         1: .line 884
            iload 2 /* oldModes */
            iload 1 /* modeToDrop */
            iconst_4
            ior
            bipush 32
            ior
            iconst_m1
            ixor
            iand
            istore 3 /* newModes */
        start local 3 // int newModes
         2: .line 885
            iload 1 /* modeToDrop */
            lookupswitch { // 6
                    1: 3
                    2: 6
                    4: 6
                    8: 5
                   16: 4
                   32: 6
              default: 7
          }
         3: .line 886
      StackMap locals: int int
      StackMap stack:
            iload 3 /* newModes */
            bipush -64
            iand
            istore 3 /* newModes */
            goto 8
         4: .line 887
      StackMap locals:
      StackMap stack:
            iload 3 /* newModes */
            bipush -11
            iand
            istore 3 /* newModes */
            goto 8
         5: .line 888
      StackMap locals:
      StackMap stack:
            iload 3 /* newModes */
            bipush -3
            iand
            istore 3 /* newModes */
            goto 8
         6: .line 891
      StackMap locals:
      StackMap stack:
            goto 8
         7: .line 892
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            iload 1 /* modeToDrop */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not a valid mode to drop"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 894
      StackMap locals:
      StackMap stack:
            iload 3 /* newModes */
            iload 2 /* oldModes */
            if_icmpne 9
            aload 0 /* this */
            areturn
         9: .line 895
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.MethodHandles$Lookup
            dup
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            iload 3 /* newModes */
            invokespecial java.lang.invoke.MethodHandles$Lookup.<init>:(Ljava/lang/Class;I)V
            areturn
        end local 3 // int newModes
        end local 2 // int oldModes
        end local 1 // int modeToDrop
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   10     1  modeToDrop  I
            1   10     2    oldModes  I
            2   10     3    newModes  I
    MethodParameters:
            Name  Flags
      modeToDrop  

  public java.lang.Class<?> defineClass(byte[]);
    descriptor: ([B)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte[] bytes
         0: .line 937
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 938
            aload 2 /* sm */
            ifnull 3
         2: .line 939
            aload 2 /* sm */
            new java.lang.RuntimePermission
            dup
            ldc "defineClass"
            invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 940
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupModes:()I
            bipush 8
            iand
            ifne 5
         4: .line 941
            new java.lang.IllegalAccessException
            dup
            ldc "Lookup does not have PACKAGE access"
            invokespecial java.lang.IllegalAccessException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 942
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 6
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupModes:()I
            bipush 17
            iand
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 945
      StackMap locals:
      StackMap stack:
            aload 1 /* bytes */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            astore 1 /* bytes */
         7: .line 948
            new jdk.internal.org.objectweb.asm.ClassReader
            dup
            aload 1 /* bytes */
            invokespecial jdk.internal.org.objectweb.asm.ClassReader.<init>:([B)V
            astore 4 /* reader */
        start local 4 // jdk.internal.org.objectweb.asm.ClassReader reader
         8: .line 949
            aload 4 /* reader */
            invokevirtual jdk.internal.org.objectweb.asm.ClassReader.getClassName:()Ljava/lang/String;
            astore 3 /* name */
        end local 4 // jdk.internal.org.objectweb.asm.ClassReader reader
        start local 3 // java.lang.String name
         9: .line 950
            goto 14
        end local 3 // java.lang.String name
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
        10: astore 4 /* e */
        start local 4 // java.lang.RuntimeException e
        11: .line 952
            new java.lang.ClassFormatError
            dup
            invokespecial java.lang.ClassFormatError.<init>:()V
            astore 5 /* cfe */
        start local 5 // java.lang.ClassFormatError cfe
        12: .line 953
            aload 5 /* cfe */
            aload 4 /* e */
            invokevirtual java.lang.ClassFormatError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        13: .line 954
            aload 5 /* cfe */
            athrow
        end local 5 // java.lang.ClassFormatError cfe
        end local 4 // java.lang.RuntimeException e
        start local 3 // java.lang.String name
        14: .line 959
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* name */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 6 /* index */
        start local 6 // int index
        15: .line 960
            iload 6 /* index */
            iconst_m1
            if_icmpne 19
        16: .line 961
            aload 3 /* name */
            astore 4 /* cn */
        start local 4 // java.lang.String cn
        17: .line 962
            ldc ""
            astore 5 /* pn */
        start local 5 // java.lang.String pn
        18: .line 963
            goto 21
        end local 5 // java.lang.String pn
        end local 4 // java.lang.String cn
        19: .line 964
      StackMap locals: java.lang.invoke.MethodHandles$Lookup byte[] java.lang.SecurityManager java.lang.String top top int
      StackMap stack:
            aload 3 /* name */
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 4 /* cn */
        start local 4 // java.lang.String cn
        20: .line 965
            aload 4 /* cn */
            iconst_0
            iload 6 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* pn */
        start local 5 // java.lang.String pn
        21: .line 967
      StackMap locals: java.lang.invoke.MethodHandles$Lookup byte[] java.lang.SecurityManager java.lang.String java.lang.String java.lang.String int
      StackMap stack:
            aload 5 /* pn */
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getPackageName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
        22: .line 968
            new java.lang.IllegalArgumentException
            dup
            ldc "Class not in same package as lookup class"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 972
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 7 /* loader */
        start local 7 // java.lang.ClassLoader loader
        24: .line 973
            aload 7 /* loader */
            ifnull 25
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClassProtectionDomain:()Ljava/security/ProtectionDomain;
            goto 26
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
        25: aconst_null
      StackMap locals:
      StackMap stack: java.security.ProtectionDomain
        26: astore 8 /* pd */
        start local 8 // java.security.ProtectionDomain pd
        27: .line 974
            ldc "__Lookup_defineClass__"
            astore 9 /* source */
        start local 9 // java.lang.String source
        28: .line 975
            invokestatic jdk.internal.access.SharedSecrets.getJavaLangAccess:()Ljdk/internal/access/JavaLangAccess;
            aload 7 /* loader */
            aload 4 /* cn */
            aload 1 /* bytes */
            aload 8 /* pd */
            aload 9 /* source */
            invokeinterface jdk.internal.access.JavaLangAccess.defineClass:(Ljava/lang/ClassLoader;Ljava/lang/String;[BLjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
            astore 10 /* clazz */
        start local 10 // java.lang.Class clazz
        29: .line 976
            aload 10 /* clazz */
            areturn
        end local 10 // java.lang.Class clazz
        end local 9 // java.lang.String source
        end local 8 // java.security.ProtectionDomain pd
        end local 7 // java.lang.ClassLoader loader
        end local 6 // int index
        end local 5 // java.lang.String pn
        end local 4 // java.lang.String cn
        end local 3 // java.lang.String name
        end local 2 // java.lang.SecurityManager sm
        end local 1 // byte[] bytes
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   30     0    this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   30     1   bytes  [B
            1   30     2      sm  Ljava/lang/SecurityManager;
            9   10     3    name  Ljava/lang/String;
           14   30     3    name  Ljava/lang/String;
            8    9     4  reader  Ljdk/internal/org/objectweb/asm/ClassReader;
           11   14     4       e  Ljava/lang/RuntimeException;
           12   14     5     cfe  Ljava/lang/ClassFormatError;
           17   19     4      cn  Ljava/lang/String;
           20   30     4      cn  Ljava/lang/String;
           18   19     5      pn  Ljava/lang/String;
           21   30     5      pn  Ljava/lang/String;
           15   30     6   index  I
           24   30     7  loader  Ljava/lang/ClassLoader;
           27   30     8      pd  Ljava/security/ProtectionDomain;
           28   30     9  source  Ljava/lang/String;
           29   30    10   clazz  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
           7     9      10  Class java.lang.RuntimeException
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: ([B)Ljava/lang/Class<*>;
    MethodParameters:
       Name  Flags
      bytes  

  private java.security.ProtectionDomain lookupClassProtectionDomain();
    descriptor: ()Ljava/security/ProtectionDomain;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
         0: .line 980
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.cachedProtectionDomain:Ljava/security/ProtectionDomain;
            astore 1 /* pd */
        start local 1 // java.security.ProtectionDomain pd
         1: .line 981
            aload 1 /* pd */
            ifnonnull 3
         2: .line 982
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.protectionDomain:(Ljava/lang/Class;)Ljava/security/ProtectionDomain;
            dup
            astore 1 /* pd */
            putfield java.lang.invoke.MethodHandles$Lookup.cachedProtectionDomain:Ljava/security/ProtectionDomain;
         3: .line 984
      StackMap locals: java.security.ProtectionDomain
      StackMap stack:
            aload 1 /* pd */
            areturn
        end local 1 // java.security.ProtectionDomain pd
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/invoke/MethodHandles$Lookup;
            1    4     1    pd  Ljava/security/ProtectionDomain;

  private java.security.ProtectionDomain protectionDomain(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/security/ProtectionDomain;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class clazz
         0: .line 988
            aload 1 /* clazz */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic run(Ljava/lang/Class;)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/Class.getProtectionDomain()Ljava/security/ProtectionDomain; (5)
                  ()Ljava/security/ProtectionDomain;
            astore 2 /* pa */
        start local 2 // java.security.PrivilegedAction pa
         1: .line 989
            aload 2 /* pa */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.security.ProtectionDomain
            areturn
        end local 2 // java.security.PrivilegedAction pa
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    2     1  clazz  Ljava/lang/Class<*>;
            1    2     2     pa  Ljava/security/PrivilegedAction<Ljava/security/ProtectionDomain;>;
    Signature: (Ljava/lang/Class<*>;)Ljava/security/ProtectionDomain;
    MethodParameters:
       Name  Flags
      clazz  

  private static void checkUnprivilegedlookupClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Class lookupClass
         0: .line 1009
            aload 0 /* lookupClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 1010
            aload 1 /* name */
            ldc "java.lang.invoke."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 1011
            new java.lang.StringBuilder
            dup
            ldc "illegal lookupClass: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* lookupClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.lang.invoke.MethodHandleStatics.newIllegalArgumentException:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         3: .line 1012
      StackMap locals: java.lang.String
      StackMap stack:
            return
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class lookupClass
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0  lookupClass  Ljava/lang/Class<*>;
            1    4     1         name  Ljava/lang/String;
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
             Name  Flags
      lookupClass  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
         0: .line 1049
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 1 /* cname */
        start local 1 // java.lang.String cname
         1: .line 1050
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            lookupswitch { // 8
                   -1: 9
                    0: 2
                    1: 3
                   17: 5
                   25: 6
                   27: 7
                   31: 8
                   33: 4
              default: 10
          }
         2: .line 1052
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* cname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/noaccess"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         3: .line 1054
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* cname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/public"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         4: .line 1056
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* cname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/publicLookup"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         5: .line 1058
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* cname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/module"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         6: .line 1060
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* cname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/package"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         7: .line 1062
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* cname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/private"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         8: .line 1064
      StackMap locals:
      StackMap stack:
            aload 1 /* cname */
            areturn
         9: .line 1066
      StackMap locals:
      StackMap stack:
            ldc "/trusted"
            areturn
        10: .line 1068
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* cname */
            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 */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* cname */
        11: .line 1069
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 12
            new java.lang.AssertionError
            dup
            aload 1 /* cname */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 1070
      StackMap locals:
      StackMap stack:
            aload 1 /* cname */
            areturn
        end local 1 // java.lang.String cname
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Ljava/lang/invoke/MethodHandles$Lookup;
            1   13     1  cname  Ljava/lang/String;

  public java.lang.invoke.MethodHandle findStatic(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
        start local 2 // java.lang.String name
        start local 3 // java.lang.invoke.MethodType type
         0: .line 1112
            aload 0 /* this */
            bipush 6
            aload 1 /* refc */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;
            astore 4 /* method */
        start local 4 // java.lang.invoke.MemberName method
         1: .line 1113
            aload 0 /* this */
            bipush 6
            aload 1 /* refc */
            aload 4 /* method */
            aload 0 /* this */
            aload 4 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findBoundCallerClass:(Ljava/lang/invoke/MemberName;)Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethod:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MemberName method
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    2     1    refc  Ljava/lang/Class<*>;
            0    2     2    name  Ljava/lang/String;
            0    2     3    type  Ljava/lang/invoke/MethodType;
            1    2     4  method  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      refc  
      name  
      type  

  public java.lang.invoke.MethodHandle findVirtual(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
        start local 2 // java.lang.String name
        start local 3 // java.lang.invoke.MethodType type
         0: .line 1196
            aload 1 /* refc */
            ldc Ljava/lang/invoke/MethodHandle;
            if_acmpne 3
         1: .line 1197
            aload 0 /* this */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findVirtualForMH:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        start local 4 // java.lang.invoke.MethodHandle mh
         2: .line 1198
            aload 4 /* mh */
            ifnull 6
            aload 4 /* mh */
            areturn
        end local 4 // java.lang.invoke.MethodHandle mh
         3: .line 1199
      StackMap locals:
      StackMap stack:
            aload 1 /* refc */
            ldc Ljava/lang/invoke/VarHandle;
            if_acmpne 6
         4: .line 1200
            aload 0 /* this */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findVirtualForVH:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        start local 4 // java.lang.invoke.MethodHandle mh
         5: .line 1201
            aload 4 /* mh */
            ifnull 6
            aload 4 /* mh */
            areturn
        end local 4 // java.lang.invoke.MethodHandle mh
         6: .line 1203
      StackMap locals:
      StackMap stack:
            aload 1 /* refc */
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 7
            bipush 9
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_5
      StackMap locals:
      StackMap stack: int
         8: istore 4 /* refKind */
        start local 4 // byte refKind
         9: .line 1204
            aload 0 /* this */
            iload 4 /* refKind */
            aload 1 /* refc */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;
            astore 5 /* method */
        start local 5 // java.lang.invoke.MemberName method
        10: .line 1205
            aload 0 /* this */
            iload 4 /* refKind */
            aload 1 /* refc */
            aload 5 /* method */
            aload 0 /* this */
            aload 5 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findBoundCallerClass:(Ljava/lang/invoke/MemberName;)Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethod:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 5 // java.lang.invoke.MemberName method
        end local 4 // byte refKind
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   11     1     refc  Ljava/lang/Class<*>;
            0   11     2     name  Ljava/lang/String;
            0   11     3     type  Ljava/lang/invoke/MethodType;
            2    3     4       mh  Ljava/lang/invoke/MethodHandle;
            5    6     4       mh  Ljava/lang/invoke/MethodHandle;
            9   11     4  refKind  B
           10   11     5   method  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      refc  
      name  
      type  

  private java.lang.invoke.MethodHandle findVirtualForMH(java.lang.String, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.String name
        start local 2 // java.lang.invoke.MethodType type
         0: .line 1209
            ldc "invoke"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1210
            aload 2 /* type */
            invokestatic java.lang.invoke.MethodHandles.invoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
         2: .line 1211
      StackMap locals:
      StackMap stack:
            ldc "invokeExact"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1212
            aload 2 /* type */
            invokestatic java.lang.invoke.MethodHandles.exactInvoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
         4: .line 1213
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 5
            aload 1 /* name */
            invokestatic java.lang.invoke.MemberName.isMethodHandleInvokeName:(Ljava/lang/String;)Z
            ifeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 1214
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.invoke.MethodType type
        end local 1 // java.lang.String name
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    6     1  name  Ljava/lang/String;
            0    6     2  type  Ljava/lang/invoke/MethodType;
    MethodParameters:
      Name  Flags
      name  
      type  

  private java.lang.invoke.MethodHandle findVirtualForVH(java.lang.String, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.String name
        start local 2 // java.lang.invoke.MethodType type
         0: .line 1218
            aload 1 /* name */
            invokestatic java.lang.invoke.VarHandle$AccessMode.valueFromMethodName:(Ljava/lang/String;)Ljava/lang/invoke/VarHandle$AccessMode;
            aload 2 /* type */
            invokestatic java.lang.invoke.MethodHandles.varHandleInvoker:(Ljava/lang/invoke/VarHandle$AccessMode;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
         1: areturn
         2: .line 1219
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            pop
         3: .line 1220
            aconst_null
            areturn
        end local 2 // java.lang.invoke.MethodType type
        end local 1 // java.lang.String name
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    4     1  name  Ljava/lang/String;
            0    4     2  type  Ljava/lang/invoke/MethodType;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      name  
      type  

  public java.lang.invoke.MethodHandle findConstructor(java.lang.Class<?>, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
        start local 2 // java.lang.invoke.MethodType type
         0: .line 1270
            aload 1 /* refc */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 2
         1: .line 1271
            new java.lang.NoSuchMethodException
            dup
            new java.lang.StringBuilder
            dup
            ldc "no constructor for array class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* refc */
            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;
            invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1273
      StackMap locals:
      StackMap stack:
            ldc "<init>"
            astore 3 /* name */
        start local 3 // java.lang.String name
         3: .line 1274
            aload 0 /* this */
            bipush 8
            aload 1 /* refc */
            aload 3 /* name */
            aload 2 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;
            astore 4 /* ctor */
        start local 4 // java.lang.invoke.MemberName ctor
         4: .line 1275
            aload 0 /* this */
            aload 1 /* refc */
            aload 4 /* ctor */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectConstructor:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MemberName ctor
        end local 3 // java.lang.String name
        end local 2 // java.lang.invoke.MethodType type
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    5     1  refc  Ljava/lang/Class<*>;
            0    5     2  type  Ljava/lang/invoke/MethodType;
            3    5     3  name  Ljava/lang/String;
            4    5     4  ctor  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      refc  
      type  

  public java.lang.Class<?> findClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.String targetName
         0: .line 1299
            aload 1 /* targetName */
            iconst_0
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 2 /* targetClass */
        start local 2 // java.lang.Class targetClass
         1: .line 1300
            aload 0 /* this */
            aload 2 /* targetClass */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.accessClass:(Ljava/lang/Class;)Ljava/lang/Class;
            areturn
        end local 2 // java.lang.Class targetClass
        end local 1 // java.lang.String targetName
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    2     1   targetName  Ljava/lang/String;
            1    2     2  targetClass  Ljava/lang/Class<*>;
    Exceptions:
      throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
            Name  Flags
      targetName  

  public java.lang.Class<?> accessClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class targetClass
         0: .line 1321
            aload 1 /* targetClass */
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            invokestatic sun.invoke.util.VerifyAccess.isClassAccessible:(Ljava/lang/Class;Ljava/lang/Class;I)Z
            ifne 2
         1: .line 1322
            new java.lang.invoke.MemberName
            dup
            aload 1 /* targetClass */
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;)V
            ldc "access violation"
            aload 0 /* this */
            invokevirtual java.lang.invoke.MemberName.makeAccessException:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/IllegalAccessException;
            athrow
         2: .line 1324
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* targetClass */
            aconst_null
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
         3: .line 1325
            aload 1 /* targetClass */
            areturn
        end local 1 // java.lang.Class targetClass
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    4     1  targetClass  Ljava/lang/Class<*>;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
    MethodParameters:
             Name  Flags
      targetClass  

  public java.lang.invoke.MethodHandle findSpecial(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
        start local 2 // java.lang.String name
        start local 3 // java.lang.invoke.MethodType type
        start local 4 // java.lang.Class specialCaller
         0: .line 1403
            aload 0 /* this */
            aload 4 /* specialCaller */
            aload 1 /* refc */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSpecialCaller:(Ljava/lang/Class;Ljava/lang/Class;)V
         1: .line 1404
            aload 0 /* this */
            aload 4 /* specialCaller */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.in:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandles$Lookup;
            astore 5 /* specialLookup */
        start local 5 // java.lang.invoke.MethodHandles$Lookup specialLookup
         2: .line 1405
            aload 5 /* specialLookup */
            bipush 7
            aload 1 /* refc */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;
            astore 6 /* method */
        start local 6 // java.lang.invoke.MemberName method
         3: .line 1406
            aload 5 /* specialLookup */
            bipush 7
            aload 1 /* refc */
            aload 6 /* method */
            aload 0 /* this */
            aload 6 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findBoundCallerClass:(Ljava/lang/invoke/MemberName;)Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethod:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 6 // java.lang.invoke.MemberName method
        end local 5 // java.lang.invoke.MethodHandles$Lookup specialLookup
        end local 4 // java.lang.Class specialCaller
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    4     1           refc  Ljava/lang/Class<*>;
            0    4     2           name  Ljava/lang/String;
            0    4     3           type  Ljava/lang/invoke/MethodType;
            0    4     4  specialCaller  Ljava/lang/Class<*>;
            2    4     5  specialLookup  Ljava/lang/invoke/MethodHandles$Lookup;
            3    4     6         method  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
               Name  Flags
      refc           
      name           
      type           
      specialCaller  

  public java.lang.invoke.MethodHandle findGetter(java.lang.Class<?>, java.lang.String, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
        start local 2 // java.lang.String name
        start local 3 // java.lang.Class type
         0: .line 1428
            aload 0 /* this */
            iconst_1
            aload 1 /* refc */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            astore 4 /* field */
        start local 4 // java.lang.invoke.MemberName field
         1: .line 1429
            aload 0 /* this */
            iconst_1
            aload 1 /* refc */
            aload 4 /* field */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectField:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MemberName field
        end local 3 // java.lang.Class type
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    2     1   refc  Ljava/lang/Class<*>;
            0    2     2   name  Ljava/lang/String;
            0    2     3   type  Ljava/lang/Class<*>;
            1    2     4  field  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.NoSuchFieldException, java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      refc  
      name  
      type  

  public java.lang.invoke.MethodHandle findSetter(java.lang.Class<?>, java.lang.String, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
        start local 2 // java.lang.String name
        start local 3 // java.lang.Class type
         0: .line 1452
            aload 0 /* this */
            iconst_3
            aload 1 /* refc */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            astore 4 /* field */
        start local 4 // java.lang.invoke.MemberName field
         1: .line 1453
            aload 0 /* this */
            iconst_3
            aload 1 /* refc */
            aload 4 /* field */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectField:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MemberName field
        end local 3 // java.lang.Class type
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    2     1   refc  Ljava/lang/Class<*>;
            0    2     2   name  Ljava/lang/String;
            0    2     3   type  Ljava/lang/Class<*>;
            1    2     4  field  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.NoSuchFieldException, java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      refc  
      name  
      type  

  public java.lang.invoke.VarHandle findVarHandle(java.lang.Class<?>, java.lang.String, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class recv
        start local 2 // java.lang.String name
        start local 3 // java.lang.Class type
         0: .line 1525
            aload 0 /* this */
            iconst_1
            aload 1 /* recv */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            astore 4 /* getField */
        start local 4 // java.lang.invoke.MemberName getField
         1: .line 1526
            aload 0 /* this */
            iconst_3
            aload 1 /* recv */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            astore 5 /* putField */
        start local 5 // java.lang.invoke.MemberName putField
         2: .line 1527
            aload 0 /* this */
            iconst_1
            iconst_3
            aload 1 /* recv */
            aload 4 /* getField */
            aload 5 /* putField */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getFieldVarHandle:(BBLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/VarHandle;
            areturn
        end local 5 // java.lang.invoke.MemberName putField
        end local 4 // java.lang.invoke.MemberName getField
        end local 3 // java.lang.Class type
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class recv
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    3     1      recv  Ljava/lang/Class<*>;
            0    3     2      name  Ljava/lang/String;
            0    3     3      type  Ljava/lang/Class<*>;
            1    3     4  getField  Ljava/lang/invoke/MemberName;
            2    3     5  putField  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.NoSuchFieldException, java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/invoke/VarHandle;
    MethodParameters:
      Name  Flags
      recv  
      name  
      type  

  public java.lang.invoke.MethodHandle findStaticGetter(java.lang.Class<?>, java.lang.String, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
        start local 2 // java.lang.String name
        start local 3 // java.lang.Class type
         0: .line 1550
            aload 0 /* this */
            iconst_2
            aload 1 /* refc */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            astore 4 /* field */
        start local 4 // java.lang.invoke.MemberName field
         1: .line 1551
            aload 0 /* this */
            iconst_2
            aload 1 /* refc */
            aload 4 /* field */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectField:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MemberName field
        end local 3 // java.lang.Class type
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    2     1   refc  Ljava/lang/Class<*>;
            0    2     2   name  Ljava/lang/String;
            0    2     3   type  Ljava/lang/Class<*>;
            1    2     4  field  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.NoSuchFieldException, java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      refc  
      name  
      type  

  public java.lang.invoke.MethodHandle findStaticSetter(java.lang.Class<?>, java.lang.String, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
        start local 2 // java.lang.String name
        start local 3 // java.lang.Class type
         0: .line 1575
            aload 0 /* this */
            iconst_4
            aload 1 /* refc */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            astore 4 /* field */
        start local 4 // java.lang.invoke.MemberName field
         1: .line 1576
            aload 0 /* this */
            iconst_4
            aload 1 /* refc */
            aload 4 /* field */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectField:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MemberName field
        end local 3 // java.lang.Class type
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    2     1   refc  Ljava/lang/Class<*>;
            0    2     2   name  Ljava/lang/String;
            0    2     3   type  Ljava/lang/Class<*>;
            1    2     4  field  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.NoSuchFieldException, java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      refc  
      name  
      type  

  public java.lang.invoke.VarHandle findStaticVarHandle(java.lang.Class<?>, java.lang.String, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class decl
        start local 2 // java.lang.String name
        start local 3 // java.lang.Class type
         0: .line 1650
            aload 0 /* this */
            iconst_2
            aload 1 /* decl */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            astore 4 /* getField */
        start local 4 // java.lang.invoke.MemberName getField
         1: .line 1651
            aload 0 /* this */
            iconst_4
            aload 1 /* decl */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            astore 5 /* putField */
        start local 5 // java.lang.invoke.MemberName putField
         2: .line 1652
            aload 0 /* this */
            iconst_2
            iconst_4
            aload 1 /* decl */
            aload 4 /* getField */
            aload 5 /* putField */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getFieldVarHandle:(BBLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/VarHandle;
            areturn
        end local 5 // java.lang.invoke.MemberName putField
        end local 4 // java.lang.invoke.MemberName getField
        end local 3 // java.lang.Class type
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class decl
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    3     1      decl  Ljava/lang/Class<*>;
            0    3     2      name  Ljava/lang/String;
            0    3     3      type  Ljava/lang/Class<*>;
            1    3     4  getField  Ljava/lang/invoke/MemberName;
            2    3     5  putField  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.NoSuchFieldException, java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/invoke/VarHandle;
    MethodParameters:
      Name  Flags
      decl  
      name  
      type  

  public java.lang.invoke.MethodHandle bind(java.lang.Object, java.lang.String, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Object receiver
        start local 2 // java.lang.String name
        start local 3 // java.lang.invoke.MethodType type
         0: .line 1705
            aload 1 /* receiver */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 4 /* refc */
        start local 4 // java.lang.Class refc
         1: .line 1706
            aload 0 /* this */
            bipush 7
            aload 4 /* refc */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;
            astore 5 /* method */
        start local 5 // java.lang.invoke.MemberName method
         2: .line 1707
            aload 0 /* this */
            aload 4 /* refc */
            aload 5 /* method */
            aload 0 /* this */
            aload 5 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findBoundCallerClass:(Ljava/lang/invoke/MemberName;)Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoRestrictInvokeSpecial:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* mh */
        start local 6 // java.lang.invoke.MethodHandle mh
         3: .line 1708
            aload 6 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.leadingReferenceParameter:()Ljava/lang/Class;
            aload 1 /* receiver */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 9
         4: .line 1709
            new java.lang.IllegalAccessException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The restricted defining class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 1710
            aload 6 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.leadingReferenceParameter:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 1711
            ldc " is not assignable from receiver class "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1712
            aload 1 /* receiver */
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 1709
            invokespecial java.lang.IllegalAccessException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 1714
      StackMap locals: java.lang.Class java.lang.invoke.MemberName java.lang.invoke.MethodHandle
      StackMap stack:
            aload 6 /* mh */
            iconst_0
            aload 1 /* receiver */
            invokevirtual java.lang.invoke.MethodHandle.bindArgumentL:(ILjava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
            aload 5 /* method */
            invokevirtual java.lang.invoke.BoundMethodHandle.setVarargs:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 6 // java.lang.invoke.MethodHandle mh
        end local 5 // java.lang.invoke.MemberName method
        end local 4 // java.lang.Class refc
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // java.lang.String name
        end local 1 // java.lang.Object receiver
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   10     1  receiver  Ljava/lang/Object;
            0   10     2      name  Ljava/lang/String;
            0   10     3      type  Ljava/lang/invoke/MethodType;
            1   10     4      refc  Ljava/lang/Class<+Ljava/lang/Object;>;
            2   10     5    method  Ljava/lang/invoke/MemberName;
            3   10     6        mh  Ljava/lang/invoke/MethodHandle;
    Exceptions:
      throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException
    MethodParameters:
          Name  Flags
      receiver  
      name      
      type      

  public java.lang.invoke.MethodHandle unreflect(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.reflect.Method m
         0: .line 1744
            aload 1 /* m */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            ldc Ljava/lang/invoke/MethodHandle;
            if_acmpne 3
         1: .line 1745
            aload 0 /* this */
            aload 1 /* m */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.unreflectForMH:(Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* mh */
        start local 2 // java.lang.invoke.MethodHandle mh
         2: .line 1746
            aload 2 /* mh */
            ifnull 3
            aload 2 /* mh */
            areturn
        end local 2 // java.lang.invoke.MethodHandle mh
         3: .line 1748
      StackMap locals:
      StackMap stack:
            aload 1 /* m */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            ldc Ljava/lang/invoke/VarHandle;
            if_acmpne 6
         4: .line 1749
            aload 0 /* this */
            aload 1 /* m */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.unreflectForVH:(Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* mh */
        start local 2 // java.lang.invoke.MethodHandle mh
         5: .line 1750
            aload 2 /* mh */
            ifnull 6
            aload 2 /* mh */
            areturn
        end local 2 // java.lang.invoke.MethodHandle mh
         6: .line 1752
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.MemberName
            dup
            aload 1 /* m */
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/reflect/Method;)V
            astore 2 /* method */
        start local 2 // java.lang.invoke.MemberName method
         7: .line 1753
            aload 2 /* method */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            istore 3 /* refKind */
        start local 3 // byte refKind
         8: .line 1754
            iload 3 /* refKind */
            bipush 7
            if_icmpne 10
         9: .line 1755
            iconst_5
            istore 3 /* refKind */
        10: .line 1756
      StackMap locals: java.lang.invoke.MemberName int
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 11
            aload 2 /* method */
            invokevirtual java.lang.invoke.MemberName.isMethod:()Z
            ifne 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 1758
      StackMap locals:
      StackMap stack:
            aload 1 /* m */
            invokevirtual java.lang.reflect.Method.isAccessible:()Z
            ifeq 12
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 0 /* this */
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodHandles$Lookup
        13: astore 4 /* lookup */
        start local 4 // java.lang.invoke.MethodHandles$Lookup lookup
        14: .line 1759
            aload 4 /* lookup */
            iload 3 /* refKind */
            aload 2 /* method */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            aload 2 /* method */
            aload 0 /* this */
            aload 2 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findBoundCallerClass:(Ljava/lang/invoke/MemberName;)Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MethodHandles$Lookup lookup
        end local 3 // byte refKind
        end local 2 // java.lang.invoke.MemberName method
        end local 1 // java.lang.reflect.Method m
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   15     1        m  Ljava/lang/reflect/Method;
            2    3     2       mh  Ljava/lang/invoke/MethodHandle;
            5    6     2       mh  Ljava/lang/invoke/MethodHandle;
            7   15     2   method  Ljava/lang/invoke/MemberName;
            8   15     3  refKind  B
           14   15     4   lookup  Ljava/lang/invoke/MethodHandles$Lookup;
    Exceptions:
      throws java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      m     

  private java.lang.invoke.MethodHandle unreflectForMH(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.reflect.Method m
         0: .line 1763
            aload 1 /* m */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokestatic java.lang.invoke.MemberName.isMethodHandleInvokeName:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1764
            new java.lang.invoke.MemberName
            dup
            aload 1 /* m */
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/reflect/Method;)V
            invokestatic java.lang.invoke.MethodHandleImpl.fakeMethodHandleInvoke:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            areturn
         2: .line 1765
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.reflect.Method m
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    3     1     m  Ljava/lang/reflect/Method;
    MethodParameters:
      Name  Flags
      m     

  private java.lang.invoke.MethodHandle unreflectForVH(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.reflect.Method m
         0: .line 1769
            aload 1 /* m */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokestatic java.lang.invoke.MemberName.isVarHandleMethodInvokeName:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1770
            new java.lang.invoke.MemberName
            dup
            aload 1 /* m */
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/reflect/Method;)V
            invokestatic java.lang.invoke.MethodHandleImpl.fakeVarHandleInvoke:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            areturn
         2: .line 1771
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.reflect.Method m
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    3     1     m  Ljava/lang/reflect/Method;
    MethodParameters:
      Name  Flags
      m     

  public java.lang.invoke.MethodHandle unreflectSpecial(java.lang.reflect.Method, java.lang.Class<?>);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.reflect.Method m
        start local 2 // java.lang.Class specialCaller
         0: .line 1805
            aload 0 /* this */
            aload 2 /* specialCaller */
            aconst_null
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSpecialCaller:(Ljava/lang/Class;Ljava/lang/Class;)V
         1: .line 1806
            aload 0 /* this */
            aload 2 /* specialCaller */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.in:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandles$Lookup;
            astore 3 /* specialLookup */
        start local 3 // java.lang.invoke.MethodHandles$Lookup specialLookup
         2: .line 1807
            new java.lang.invoke.MemberName
            dup
            aload 1 /* m */
            iconst_1
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/reflect/Method;Z)V
            astore 4 /* method */
        start local 4 // java.lang.invoke.MemberName method
         3: .line 1808
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 4
            aload 4 /* method */
            invokevirtual java.lang.invoke.MemberName.isMethod:()Z
            ifne 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 1810
      StackMap locals: java.lang.invoke.MethodHandles$Lookup java.lang.invoke.MemberName
      StackMap stack:
            aload 3 /* specialLookup */
            bipush 7
            aload 4 /* method */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            aload 4 /* method */
            aload 0 /* this */
            aload 4 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findBoundCallerClass:(Ljava/lang/invoke/MemberName;)Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MemberName method
        end local 3 // java.lang.invoke.MethodHandles$Lookup specialLookup
        end local 2 // java.lang.Class specialCaller
        end local 1 // java.lang.reflect.Method m
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    5     1              m  Ljava/lang/reflect/Method;
            0    5     2  specialCaller  Ljava/lang/Class<*>;
            2    5     3  specialLookup  Ljava/lang/invoke/MethodHandles$Lookup;
            3    5     4         method  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (Ljava/lang/reflect/Method;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
               Name  Flags
      m              
      specialCaller  

  public java.lang.invoke.MethodHandle unreflectConstructor(java.lang.reflect.Constructor<?>);
    descriptor: (Ljava/lang/reflect/Constructor;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.reflect.Constructor c
         0: .line 1838
            new java.lang.invoke.MemberName
            dup
            aload 1 /* c */
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/reflect/Constructor;)V
            astore 2 /* ctor */
        start local 2 // java.lang.invoke.MemberName ctor
         1: .line 1839
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 2
            aload 2 /* ctor */
            invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1841
      StackMap locals: java.lang.invoke.MemberName
      StackMap stack:
            aload 1 /* c */
            invokevirtual java.lang.reflect.Constructor.isAccessible:()Z
            ifeq 3
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodHandles$Lookup
         4: astore 3 /* lookup */
        start local 3 // java.lang.invoke.MethodHandles$Lookup lookup
         5: .line 1842
            aload 3 /* lookup */
            aload 2 /* ctor */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            aload 2 /* ctor */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectConstructorNoSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.invoke.MethodHandles$Lookup lookup
        end local 2 // java.lang.invoke.MemberName ctor
        end local 1 // java.lang.reflect.Constructor c
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    6     1       c  Ljava/lang/reflect/Constructor<*>;
            1    6     2    ctor  Ljava/lang/invoke/MemberName;
            5    6     3  lookup  Ljava/lang/invoke/MethodHandles$Lookup;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (Ljava/lang/reflect/Constructor<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      c     

  public java.lang.invoke.MethodHandle unreflectGetter(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.reflect.Field f
         0: .line 1864
            aload 0 /* this */
            aload 1 /* f */
            iconst_0
            invokevirtual java.lang.invoke.MethodHandles$Lookup.unreflectField:(Ljava/lang/reflect/Field;Z)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.reflect.Field f
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    1     1     f  Ljava/lang/reflect/Field;
    Exceptions:
      throws java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      f     

  public java.lang.invoke.MethodHandle unreflectSetter(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.reflect.Field f
         0: .line 1896
            aload 0 /* this */
            aload 1 /* f */
            iconst_1
            invokevirtual java.lang.invoke.MethodHandles$Lookup.unreflectField:(Ljava/lang/reflect/Field;Z)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.reflect.Field f
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    1     1     f  Ljava/lang/reflect/Field;
    Exceptions:
      throws java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      f     

  private java.lang.invoke.MethodHandle unreflectField(java.lang.reflect.Field, boolean);
    descriptor: (Ljava/lang/reflect/Field;Z)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.reflect.Field f
        start local 2 // boolean isSetter
         0: .line 1900
            new java.lang.invoke.MemberName
            dup
            aload 1 /* f */
            iload 2 /* isSetter */
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/reflect/Field;Z)V
            astore 3 /* field */
        start local 3 // java.lang.invoke.MemberName field
         1: .line 1901
            iload 2 /* isSetter */
            ifeq 3
            aload 3 /* field */
            invokevirtual java.lang.invoke.MemberName.isStatic:()Z
            ifeq 3
            aload 3 /* field */
            invokevirtual java.lang.invoke.MemberName.isFinal:()Z
            ifeq 3
         2: .line 1902
            aload 3 /* field */
            ldc "static final field has no write access"
            aload 0 /* this */
            invokevirtual java.lang.invoke.MemberName.makeAccessException:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/IllegalAccessException;
            athrow
         3: .line 1903
      StackMap locals: java.lang.invoke.MemberName
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 7
            iload 2 /* isSetter */
            ifeq 5
         4: .line 1904
            aload 3 /* field */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsSetter:(B)Z
            ifne 7
            goto 6
         5: .line 1905
      StackMap locals:
      StackMap stack:
            aload 3 /* field */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsGetter:(B)Z
            ifne 7
      StackMap locals:
      StackMap stack:
         6: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 1907
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            invokevirtual java.lang.reflect.Field.isAccessible:()Z
            ifeq 8
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 0 /* this */
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodHandles$Lookup
         9: astore 4 /* lookup */
        start local 4 // java.lang.invoke.MethodHandles$Lookup lookup
        10: .line 1908
            aload 4 /* lookup */
            aload 3 /* field */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            aload 1 /* f */
            invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
            aload 3 /* field */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectFieldNoSecurityManager:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MethodHandles$Lookup lookup
        end local 3 // java.lang.invoke.MemberName field
        end local 2 // boolean isSetter
        end local 1 // java.lang.reflect.Field f
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   11     1         f  Ljava/lang/reflect/Field;
            0   11     2  isSetter  Z
            1   11     3     field  Ljava/lang/invoke/MemberName;
           10   11     4    lookup  Ljava/lang/invoke/MethodHandles$Lookup;
    Exceptions:
      throws java.lang.IllegalAccessException
    MethodParameters:
          Name  Flags
      f         
      isSetter  

  public java.lang.invoke.VarHandle unreflectVarHandle(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Ljava/lang/invoke/VarHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.reflect.Field f
         0: .line 1983
            new java.lang.invoke.MemberName
            dup
            aload 1 /* f */
            iconst_0
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/reflect/Field;Z)V
            astore 2 /* getField */
        start local 2 // java.lang.invoke.MemberName getField
         1: .line 1984
            new java.lang.invoke.MemberName
            dup
            aload 1 /* f */
            iconst_1
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/reflect/Field;Z)V
            astore 3 /* putField */
        start local 3 // java.lang.invoke.MemberName putField
         2: .line 1985
            aload 0 /* this */
            aload 2 /* getField */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            aload 3 /* putField */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
         3: .line 1986
            aload 1 /* f */
            invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
            aload 2 /* getField */
            aload 3 /* putField */
         4: .line 1985
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getFieldVarHandleNoSecurityManager:(BBLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/VarHandle;
            areturn
        end local 3 // java.lang.invoke.MemberName putField
        end local 2 // java.lang.invoke.MemberName getField
        end local 1 // java.lang.reflect.Field f
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    5     1         f  Ljava/lang/reflect/Field;
            1    5     2  getField  Ljava/lang/invoke/MemberName;
            2    5     3  putField  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      f     

  public java.lang.invoke.MethodHandleInfo revealDirect(java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandleInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.invoke.MethodHandle target
         0: .line 2008
            aload 1 /* target */
            invokevirtual java.lang.invoke.MethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
            astore 2 /* member */
        start local 2 // java.lang.invoke.MemberName member
         1: .line 2009
            aload 2 /* member */
            ifnull 4
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.isResolved:()Z
            ifne 5
         2: .line 2010
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.isMethodHandleInvoke:()Z
            ifne 5
         3: .line 2011
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.isVarHandleMethodInvoke:()Z
            ifne 5
         4: .line 2012
      StackMap locals: java.lang.invoke.MemberName
      StackMap stack:
            ldc "not a direct method handle"
            invokestatic java.lang.invoke.MethodHandleStatics.newIllegalArgumentException:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         5: .line 2013
      StackMap locals:
      StackMap stack:
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            astore 3 /* defc */
        start local 3 // java.lang.Class defc
         6: .line 2014
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            istore 4 /* refKind */
        start local 4 // byte refKind
         7: .line 2015
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 8
            iload 4 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsValid:(I)Z
            ifne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 2016
      StackMap locals: java.lang.Class int
      StackMap stack:
            iload 4 /* refKind */
            bipush 7
            if_icmpne 10
            aload 1 /* target */
            invokevirtual java.lang.invoke.MethodHandle.isInvokeSpecial:()Z
            ifne 10
         9: .line 2020
            iconst_5
            istore 4 /* refKind */
        10: .line 2021
      StackMap locals:
      StackMap stack:
            iload 4 /* refKind */
            iconst_5
            if_icmpne 12
            aload 3 /* defc */
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 12
        11: .line 2023
            bipush 9
            istore 4 /* refKind */
        12: .line 2026
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* refKind */
            aload 3 /* defc */
            aload 2 /* member */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkAccess:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)V
        13: .line 2027
            aload 0 /* this */
            aload 3 /* defc */
            aload 2 /* member */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
        14: .line 2028
            goto 17
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
        15: astore 5 /* ex */
        start local 5 // java.lang.IllegalAccessException ex
        16: .line 2029
            new java.lang.IllegalArgumentException
            dup
            aload 5 /* ex */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.IllegalAccessException ex
        17: .line 2031
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_m1
            if_icmpeq 21
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.isCallerSensitive:()Z
            ifeq 21
        18: .line 2032
            aload 1 /* target */
            invokevirtual java.lang.invoke.MethodHandle.internalCallerClass:()Ljava/lang/Class;
            astore 5 /* callerClass */
        start local 5 // java.lang.Class callerClass
        19: .line 2033
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.hasPrivateAccess:()Z
            ifeq 20
            aload 5 /* callerClass */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            if_acmpeq 21
        20: .line 2034
      StackMap locals: java.lang.Class
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "method handle is caller sensitive: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* callerClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.Class callerClass
        21: .line 2037
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.InfoFromMemberName
            dup
            aload 0 /* this */
            aload 2 /* member */
            iload 4 /* refKind */
            invokespecial java.lang.invoke.InfoFromMemberName.<init>:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/invoke/MemberName;B)V
            areturn
        end local 4 // byte refKind
        end local 3 // java.lang.Class defc
        end local 2 // java.lang.invoke.MemberName member
        end local 1 // java.lang.invoke.MethodHandle target
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   22     1       target  Ljava/lang/invoke/MethodHandle;
            1   22     2       member  Ljava/lang/invoke/MemberName;
            6   22     3         defc  Ljava/lang/Class<*>;
            7   22     4      refKind  B
           16   17     5           ex  Ljava/lang/IllegalAccessException;
           19   21     5  callerClass  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
          12    14      15  Class java.lang.IllegalAccessException
    MethodParameters:
        Name  Flags
      target  

  java.lang.invoke.MemberName resolveOrFail(byte, java.lang.Class<?>, java.lang.String, java.lang.Class<?>);
    descriptor: (BLjava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
    flags: (0x0000) 
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.Class refc
        start local 3 // java.lang.String name
        start local 4 // java.lang.Class type
         0: .line 2043
            aload 0 /* this */
            aload 2 /* refc */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSymbolicClass:(Ljava/lang/Class;)V
         1: .line 2044
            aload 3 /* name */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 2045
            aload 4 /* type */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 2046
            getstatic java.lang.invoke.MethodHandles.IMPL_NAMES:Ljava/lang/invoke/MemberName$Factory;
            iload 1 /* refKind */
            new java.lang.invoke.MemberName
            dup
            aload 2 /* refc */
            aload 3 /* name */
            aload 4 /* type */
            iload 1 /* refKind */
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;B)V
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClassOrNull:()Ljava/lang/Class;
         4: .line 2047
            ldc Ljava/lang/NoSuchFieldException;
         5: .line 2046
            invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            areturn
        end local 4 // java.lang.Class type
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class refc
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    6     1  refKind  B
            0    6     2     refc  Ljava/lang/Class<*>;
            0    6     3     name  Ljava/lang/String;
            0    6     4     type  Ljava/lang/Class<*>;
    Exceptions:
      throws java.lang.NoSuchFieldException, java.lang.IllegalAccessException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/invoke/MemberName;
    MethodParameters:
         Name  Flags
      refKind  
      refc     
      name     
      type     

  java.lang.invoke.MemberName resolveOrFail(byte, java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType);
    descriptor: (BLjava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;
    flags: (0x0000) 
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.Class refc
        start local 3 // java.lang.String name
        start local 4 // java.lang.invoke.MethodType type
         0: .line 2051
            aload 0 /* this */
            aload 2 /* refc */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSymbolicClass:(Ljava/lang/Class;)V
         1: .line 2052
            aload 3 /* name */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 2053
            aload 4 /* type */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 2054
            aload 0 /* this */
            iload 1 /* refKind */
            aload 3 /* name */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkMethodName:(BLjava/lang/String;)V
         4: .line 2055
            getstatic java.lang.invoke.MethodHandles.IMPL_NAMES:Ljava/lang/invoke/MemberName$Factory;
            iload 1 /* refKind */
            new java.lang.invoke.MemberName
            dup
            aload 2 /* refc */
            aload 3 /* name */
            aload 4 /* type */
            iload 1 /* refKind */
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;B)V
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClassOrNull:()Ljava/lang/Class;
         5: .line 2056
            ldc Ljava/lang/NoSuchMethodException;
         6: .line 2055
            invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            areturn
        end local 4 // java.lang.invoke.MethodType type
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class refc
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    7     1  refKind  B
            0    7     2     refc  Ljava/lang/Class<*>;
            0    7     3     name  Ljava/lang/String;
            0    7     4     type  Ljava/lang/invoke/MethodType;
    Exceptions:
      throws java.lang.NoSuchMethodException, java.lang.IllegalAccessException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;
    MethodParameters:
         Name  Flags
      refKind  
      refc     
      name     
      type     

  java.lang.invoke.MemberName resolveOrFail(byte, java.lang.invoke.MemberName);
    descriptor: (BLjava/lang/invoke/MemberName;)Ljava/lang/invoke/MemberName;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.invoke.MemberName member
         0: .line 2060
            aload 0 /* this */
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSymbolicClass:(Ljava/lang/Class;)V
         1: .line 2061
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 2062
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.getType:()Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 2063
            getstatic java.lang.invoke.MethodHandles.IMPL_NAMES:Ljava/lang/invoke/MemberName$Factory;
            iload 1 /* refKind */
            aload 2 /* member */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClassOrNull:()Ljava/lang/Class;
         4: .line 2064
            ldc Ljava/lang/ReflectiveOperationException;
         5: .line 2063
            invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            areturn
        end local 2 // java.lang.invoke.MemberName member
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    6     1  refKind  B
            0    6     2   member  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.ReflectiveOperationException
    MethodParameters:
         Name  Flags
      refKind  
      member   

  java.lang.invoke.MemberName resolveOrNull(byte, java.lang.invoke.MemberName);
    descriptor: (BLjava/lang/invoke/MemberName;)Ljava/lang/invoke/MemberName;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.invoke.MemberName member
         0: .line 2069
            aload 0 /* this */
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.isClassAccessible:(Ljava/lang/Class;)Z
            ifne 2
         1: .line 2070
            aconst_null
            areturn
         2: .line 2072
      StackMap locals:
      StackMap stack:
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 2073
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.getType:()Ljava/lang/Object;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 2074
            getstatic java.lang.invoke.MethodHandles.IMPL_NAMES:Ljava/lang/invoke/MemberName$Factory;
            iload 1 /* refKind */
            aload 2 /* member */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClassOrNull:()Ljava/lang/Class;
            invokevirtual java.lang.invoke.MemberName$Factory.resolveOrNull:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            areturn
        end local 2 // java.lang.invoke.MemberName member
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    5     1  refKind  B
            0    5     2   member  Ljava/lang/invoke/MemberName;
    MethodParameters:
         Name  Flags
      refKind  
      member   

  void checkSymbolicClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
         0: .line 2078
            aload 0 /* this */
            aload 1 /* refc */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.isClassAccessible:(Ljava/lang/Class;)Z
            ifne 2
         1: .line 2079
            new java.lang.invoke.MemberName
            dup
            aload 1 /* refc */
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;)V
            ldc "symbolic reference class is not accessible"
            aload 0 /* this */
            invokevirtual java.lang.invoke.MemberName.makeAccessException:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/IllegalAccessException;
            athrow
         2: .line 2081
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    3     1  refc  Ljava/lang/Class<*>;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
      Name  Flags
      refc  

  boolean isClassAccessible(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
         0: .line 2084
            aload 1 /* refc */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 2085
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClassOrNull:()Ljava/lang/Class;
            astore 2 /* caller */
        start local 2 // java.lang.Class caller
         2: .line 2086
            aload 2 /* caller */
            ifnull 3
            aload 1 /* refc */
            aload 2 /* caller */
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            invokestatic sun.invoke.util.VerifyAccess.isClassAccessible:(Ljava/lang/Class;Ljava/lang/Class;I)Z
            ifne 3
            iconst_0
            ireturn
      StackMap locals: java.lang.Class
      StackMap stack:
         3: iconst_1
            ireturn
        end local 2 // java.lang.Class caller
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    4     1    refc  Ljava/lang/Class<*>;
            2    4     2  caller  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      refc  

  void checkMethodName(byte, java.lang.String);
    descriptor: (BLjava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.String name
         0: .line 2091
            aload 2 /* name */
            ldc "<"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 2
            iload 1 /* refKind */
            bipush 8
            if_icmpeq 2
         1: .line 2092
            new java.lang.NoSuchMethodException
            dup
            new java.lang.StringBuilder
            dup
            ldc "illegal method name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2093
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String name
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    3     1  refKind  B
            0    3     2     name  Ljava/lang/String;
    Exceptions:
      throws java.lang.NoSuchMethodException
    MethodParameters:
         Name  Flags
      refKind  
      name     

  java.lang.Class<?> findBoundCallerClass(java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/Class;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.invoke.MemberName m
         0: .line 2102
            aconst_null
            astore 2 /* callerClass */
        start local 2 // java.lang.Class callerClass
         1: .line 2103
            aload 1 /* m */
            invokestatic java.lang.invoke.MethodHandleNatives.isCallerSensitive:(Ljava/lang/invoke/MemberName;)Z
            ifeq 6
         2: .line 2105
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.hasPrivateAccess:()Z
            ifeq 5
         3: .line 2106
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            astore 2 /* callerClass */
         4: .line 2107
            goto 6
         5: .line 2108
      StackMap locals: java.lang.Class
      StackMap stack:
            new java.lang.IllegalAccessException
            dup
            ldc "Attempt to lookup caller-sensitive method using restricted lookup object"
            invokespecial java.lang.IllegalAccessException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 2111
      StackMap locals:
      StackMap stack:
            aload 2 /* callerClass */
            areturn
        end local 2 // java.lang.Class callerClass
        end local 1 // java.lang.invoke.MemberName m
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    7     1            m  Ljava/lang/invoke/MemberName;
            1    7     2  callerClass  Ljava/lang/Class<*>;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (Ljava/lang/invoke/MemberName;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      m     

  public boolean hasPrivateAccess();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
         0: .line 2120
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_2
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/invoke/MethodHandles$Lookup;

  void checkSecurityManager(java.lang.Class<?>, java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
        start local 2 // java.lang.invoke.MemberName m
         0: .line 2129
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* smgr */
        start local 3 // java.lang.SecurityManager smgr
         1: .line 2130
            aload 3 /* smgr */
            ifnonnull 2
            return
         2: .line 2131
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_m1
            if_icmpne 3
            return
         3: .line 2134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.hasPrivateAccess:()Z
            istore 4 /* fullPowerLookup */
        start local 4 // boolean fullPowerLookup
         4: .line 2135
            iload 4 /* fullPowerLookup */
            ifeq 6
         5: .line 2136
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            aload 1 /* refc */
            invokestatic sun.invoke.util.VerifyAccess.classLoaderIsAncestor:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifne 7
         6: .line 2137
      StackMap locals: int
      StackMap stack:
            aload 1 /* refc */
            invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
         7: .line 2140
      StackMap locals:
      StackMap stack:
            aload 2 /* m */
            ifnonnull 11
         8: .line 2142
            iload 4 /* fullPowerLookup */
            ifne 10
         9: .line 2143
            aload 3 /* smgr */
            getstatic sun.security.util.SecurityConstants.GET_CLASSLOADER_PERMISSION:Ljava/lang/RuntimePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        10: .line 2145
      StackMap locals:
      StackMap stack:
            return
        11: .line 2149
      StackMap locals:
      StackMap stack:
            aload 2 /* m */
            invokevirtual java.lang.invoke.MemberName.isPublic:()Z
            ifeq 12
            return
        12: .line 2150
      StackMap locals:
      StackMap stack:
            iload 4 /* fullPowerLookup */
            ifne 14
        13: .line 2151
            aload 3 /* smgr */
            getstatic sun.security.util.SecurityConstants.CHECK_MEMBER_ACCESS_PERMISSION:Ljava/lang/RuntimePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        14: .line 2155
      StackMap locals:
      StackMap stack:
            aload 2 /* m */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            astore 5 /* defc */
        start local 5 // java.lang.Class defc
        15: .line 2156
            iload 4 /* fullPowerLookup */
            ifne 17
            aload 5 /* defc */
            aload 1 /* refc */
            if_acmpeq 17
        16: .line 2157
            aload 5 /* defc */
            invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
        17: .line 2159
      StackMap locals: java.lang.Class
      StackMap stack:
            return
        end local 5 // java.lang.Class defc
        end local 4 // boolean fullPowerLookup
        end local 3 // java.lang.SecurityManager smgr
        end local 2 // java.lang.invoke.MemberName m
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   18     0             this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   18     1             refc  Ljava/lang/Class<*>;
            0   18     2                m  Ljava/lang/invoke/MemberName;
            1   18     3             smgr  Ljava/lang/SecurityManager;
            4   18     4  fullPowerLookup  Z
           15   18     5             defc  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MemberName;)V
    MethodParameters:
      Name  Flags
      refc  
      m     

  void checkMethod(byte, java.lang.Class<?>, java.lang.invoke.MemberName);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.Class refc
        start local 3 // java.lang.invoke.MemberName m
         0: .line 2162
            iload 1 /* refKind */
            bipush 6
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 4 /* wantStatic */
        start local 4 // boolean wantStatic
         3: .line 2164
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
            ifeq 6
         4: .line 2165
            ldc "expected a method, not a constructor"
            astore 5 /* message */
        start local 5 // java.lang.String message
         5: goto 15
        end local 5 // java.lang.String message
         6: .line 2166
      StackMap locals: int
      StackMap stack:
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.isMethod:()Z
            ifne 9
         7: .line 2167
            ldc "expected a method"
            astore 5 /* message */
        start local 5 // java.lang.String message
         8: goto 15
        end local 5 // java.lang.String message
         9: .line 2168
      StackMap locals:
      StackMap stack:
            iload 4 /* wantStatic */
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.isStatic:()Z
            if_icmpeq 14
        10: .line 2169
            iload 4 /* wantStatic */
            ifeq 11
            ldc "expected a static method"
            goto 12
      StackMap locals:
      StackMap stack:
        11: ldc "expected a non-static method"
      StackMap locals:
      StackMap stack: java.lang.String
        12: astore 5 /* message */
        start local 5 // java.lang.String message
        13: goto 15
        end local 5 // java.lang.String message
        14: .line 2171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* refc */
            aload 3 /* m */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkAccess:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)V
            return
        start local 5 // java.lang.String message
        15: .line 2172
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* m */
            aload 5 /* message */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MemberName.makeAccessException:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/IllegalAccessException;
            athrow
        end local 5 // java.lang.String message
        end local 4 // boolean wantStatic
        end local 3 // java.lang.invoke.MemberName m
        end local 2 // java.lang.Class refc
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   16     1     refKind  B
            0   16     2        refc  Ljava/lang/Class<*>;
            0   16     3           m  Ljava/lang/invoke/MemberName;
            3   16     4  wantStatic  Z
            5    6     5     message  Ljava/lang/String;
            8    9     5     message  Ljava/lang/String;
           13   14     5     message  Ljava/lang/String;
           15   16     5     message  Ljava/lang/String;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;)V
    MethodParameters:
         Name  Flags
      refKind  
      refc     
      m        

  void checkField(byte, java.lang.Class<?>, java.lang.invoke.MemberName);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.Class refc
        start local 3 // java.lang.invoke.MemberName m
         0: .line 2176
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindHasReceiver:(B)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: istore 4 /* wantStatic */
        start local 4 // boolean wantStatic
         3: .line 2178
            iload 4 /* wantStatic */
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.isStatic:()Z
            if_icmpeq 8
         4: .line 2179
            iload 4 /* wantStatic */
            ifeq 5
            ldc "expected a static field"
            goto 6
      StackMap locals: int
      StackMap stack:
         5: ldc "expected a non-static field"
      StackMap locals:
      StackMap stack: java.lang.String
         6: astore 5 /* message */
        start local 5 // java.lang.String message
         7: goto 9
        end local 5 // java.lang.String message
         8: .line 2181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* refc */
            aload 3 /* m */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkAccess:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)V
            return
        start local 5 // java.lang.String message
         9: .line 2182
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* m */
            aload 5 /* message */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MemberName.makeAccessException:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/IllegalAccessException;
            athrow
        end local 5 // java.lang.String message
        end local 4 // boolean wantStatic
        end local 3 // java.lang.invoke.MemberName m
        end local 2 // java.lang.Class refc
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   10     1     refKind  B
            0   10     2        refc  Ljava/lang/Class<*>;
            0   10     3           m  Ljava/lang/invoke/MemberName;
            3   10     4  wantStatic  Z
            7    8     5     message  Ljava/lang/String;
            9   10     5     message  Ljava/lang/String;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;)V
    MethodParameters:
         Name  Flags
      refKind  
      refc     
      m        

  void checkAccess(byte, java.lang.Class<?>, java.lang.invoke.MemberName);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.Class refc
        start local 3 // java.lang.invoke.MemberName m
         0: .line 2187
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 4
            aload 3 /* m */
            iload 1 /* refKind */
            invokevirtual java.lang.invoke.MemberName.referenceKindIsConsistentWith:(I)Z
            ifeq 3
         1: .line 2188
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsValid:(I)Z
            ifeq 3
         2: .line 2189
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsField:(B)Z
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.isField:()Z
            if_icmpeq 4
      StackMap locals:
      StackMap stack:
         3: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 2190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            istore 4 /* allowedModes */
        start local 4 // int allowedModes
         5: .line 2191
            iload 4 /* allowedModes */
            iconst_m1
            if_icmpne 6
            return
         6: .line 2192
      StackMap locals: int
      StackMap stack:
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.getModifiers:()I
            istore 5 /* mods */
        start local 5 // int mods
         7: .line 2193
            iload 5 /* mods */
            invokestatic java.lang.reflect.Modifier.isProtected:(I)Z
            ifeq 13
         8: .line 2194
            iload 1 /* refKind */
            iconst_5
            if_icmpne 13
         9: .line 2195
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            ldc Ljava/lang/Object;
            if_acmpne 13
        10: .line 2196
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
            ldc "clone"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 2197
            aload 2 /* refc */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 13
        12: .line 2211
            iload 5 /* mods */
            iconst_5
            ixor
            istore 5 /* mods */
        13: .line 2213
      StackMap locals: int
      StackMap stack:
            iload 5 /* mods */
            invokestatic java.lang.reflect.Modifier.isProtected:(I)Z
            ifeq 15
            iload 1 /* refKind */
            bipush 8
            if_icmpne 15
        14: .line 2215
            iload 5 /* mods */
            iconst_4
            ixor
            istore 5 /* mods */
        15: .line 2217
      StackMap locals:
      StackMap stack:
            iload 5 /* mods */
            invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
            ifeq 18
        16: .line 2218
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsSetter:(B)Z
            ifeq 18
        17: .line 2219
            aload 3 /* m */
            ldc "unexpected set of a final field"
            aload 0 /* this */
            invokevirtual java.lang.invoke.MemberName.makeAccessException:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/IllegalAccessException;
            athrow
        18: .line 2220
      StackMap locals:
      StackMap stack:
            iload 5 /* mods */
            invokestatic java.lang.invoke.MethodHandles$Lookup.fixmods:(I)I
            istore 6 /* requestedModes */
        start local 6 // int requestedModes
        19: .line 2221
            iload 6 /* requestedModes */
            iload 4 /* allowedModes */
            iand
            ifeq 25
        20: .line 2222
            aload 2 /* refc */
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
        21: .line 2223
            iload 5 /* mods */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            iload 4 /* allowedModes */
        22: .line 2222
            invokestatic sun.invoke.util.VerifyAccess.isMemberAccessible:(Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/Class;I)Z
        23: .line 2223
            ifeq 28
        24: .line 2224
            return
        25: .line 2227
      StackMap locals: int
      StackMap stack:
            iload 6 /* requestedModes */
            iconst_4
            iand
            ifeq 28
            iload 4 /* allowedModes */
            bipush 8
            iand
            ifeq 28
        26: .line 2228
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            invokestatic sun.invoke.util.VerifyAccess.isSamePackage:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifeq 28
        27: .line 2229
            return
        28: .line 2231
      StackMap locals:
      StackMap stack:
            aload 3 /* m */
            aload 0 /* this */
            aload 2 /* refc */
            aload 3 /* m */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.accessFailedMessage:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/String;
            aload 0 /* this */
            invokevirtual java.lang.invoke.MemberName.makeAccessException:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/IllegalAccessException;
            athrow
        end local 6 // int requestedModes
        end local 5 // int mods
        end local 4 // int allowedModes
        end local 3 // java.lang.invoke.MemberName m
        end local 2 // java.lang.Class refc
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   29     0            this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   29     1         refKind  B
            0   29     2            refc  Ljava/lang/Class<*>;
            0   29     3               m  Ljava/lang/invoke/MemberName;
            5   29     4    allowedModes  I
            7   29     5            mods  I
           19   29     6  requestedModes  I
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;)V
    MethodParameters:
         Name  Flags
      refKind  
      refc     
      m        

  java.lang.String accessFailedMessage(java.lang.Class<?>, java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
        start local 2 // java.lang.invoke.MemberName m
         0: .line 2235
            aload 2 /* m */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            astore 3 /* defc */
        start local 3 // java.lang.Class defc
         1: .line 2236
            aload 2 /* m */
            invokevirtual java.lang.invoke.MemberName.getModifiers:()I
            istore 4 /* mods */
        start local 4 // int mods
         2: .line 2238
            aload 3 /* defc */
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 6
         3: .line 2239
            aload 3 /* defc */
            aload 1 /* refc */
            if_acmpeq 5
         4: .line 2240
            aload 1 /* refc */
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 6
         5: .line 2238
      StackMap locals: java.lang.Class int
      StackMap stack:
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 5 /* classOK */
        start local 5 // boolean classOK
         8: .line 2241
            iload 5 /* classOK */
            ifne 15
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            bipush 8
            iand
            ifeq 15
         9: .line 2242
            aload 3 /* defc */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            bipush 31
            invokestatic sun.invoke.util.VerifyAccess.isClassAccessible:(Ljava/lang/Class;Ljava/lang/Class;I)Z
            ifeq 13
        10: .line 2243
            aload 3 /* defc */
            aload 1 /* refc */
            if_acmpeq 12
        11: .line 2244
            aload 1 /* refc */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            bipush 31
            invokestatic sun.invoke.util.VerifyAccess.isClassAccessible:(Ljava/lang/Class;Ljava/lang/Class;I)Z
            ifeq 13
        12: .line 2242
      StackMap locals: int
      StackMap stack:
            iconst_1
            goto 14
      StackMap locals:
      StackMap stack:
        13: iconst_0
      StackMap locals:
      StackMap stack: int
        14: istore 5 /* classOK */
        15: .line 2246
      StackMap locals:
      StackMap stack:
            iload 5 /* classOK */
            ifne 17
        16: .line 2247
            ldc "class is not public"
            areturn
        17: .line 2248
      StackMap locals:
      StackMap stack:
            iload 4 /* mods */
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 19
        18: .line 2249
            ldc "access to public member failed"
            areturn
        19: .line 2250
      StackMap locals:
      StackMap stack:
            iload 4 /* mods */
            invokestatic java.lang.reflect.Modifier.isPrivate:(I)Z
            ifeq 21
        20: .line 2251
            ldc "member is private"
            areturn
        21: .line 2252
      StackMap locals:
      StackMap stack:
            iload 4 /* mods */
            invokestatic java.lang.reflect.Modifier.isProtected:(I)Z
            ifeq 23
        22: .line 2253
            ldc "member is protected"
            areturn
        23: .line 2254
      StackMap locals:
      StackMap stack:
            ldc "member is private to package"
            areturn
        end local 5 // boolean classOK
        end local 4 // int mods
        end local 3 // java.lang.Class defc
        end local 2 // java.lang.invoke.MemberName m
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0     this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   24     1     refc  Ljava/lang/Class<*>;
            0   24     2        m  Ljava/lang/invoke/MemberName;
            1   24     3     defc  Ljava/lang/Class<*>;
            2   24     4     mods  I
            8   24     5  classOK  Z
    Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MemberName;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      refc  
      m     

  private void checkSpecialCaller(java.lang.Class<?>, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class specialCaller
        start local 2 // java.lang.Class refc
         0: .line 2258
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            istore 3 /* allowedModes */
        start local 3 // int allowedModes
         1: .line 2259
            iload 3 /* allowedModes */
            iconst_m1
            if_icmpne 2
            return
         2: .line 2260
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.hasPrivateAccess:()Z
            ifeq 5
         3: .line 2261
            aload 1 /* specialCaller */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            if_acmpeq 8
         4: .line 2263
            aload 2 /* refc */
            ifnull 5
            aload 2 /* refc */
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 5
            aload 2 /* refc */
            aload 1 /* specialCaller */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 8
         5: .line 2264
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.MemberName
            dup
            aload 1 /* specialCaller */
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;)V
         6: .line 2265
            ldc "no private access for invokespecial"
            aload 0 /* this */
            invokevirtual java.lang.invoke.MemberName.makeAccessException:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/IllegalAccessException;
         7: .line 2264
            athrow
         8: .line 2266
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int allowedModes
        end local 2 // java.lang.Class refc
        end local 1 // java.lang.Class specialCaller
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    9     1  specialCaller  Ljava/lang/Class<*>;
            0    9     2           refc  Ljava/lang/Class<*>;
            1    9     3   allowedModes  I
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)V
    MethodParameters:
               Name  Flags
      specialCaller  
      refc           

  private boolean restrictProtectedReceiver(java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/invoke/MemberName;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.invoke.MemberName method
         0: .line 2271
            aload 1 /* method */
            invokevirtual java.lang.invoke.MemberName.isProtected:()Z
            ifeq 4
            aload 1 /* method */
            invokevirtual java.lang.invoke.MemberName.isStatic:()Z
            ifne 4
         1: .line 2272
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_m1
            if_icmpeq 4
         2: .line 2273
            aload 1 /* method */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            if_acmpeq 4
         3: .line 2274
            aload 1 /* method */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            invokestatic sun.invoke.util.VerifyAccess.isSamePackage:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifeq 5
         4: .line 2275
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         5: .line 2276
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.lang.invoke.MemberName method
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    6     1  method  Ljava/lang/invoke/MemberName;
    MethodParameters:
        Name  Flags
      method  

  private java.lang.invoke.MethodHandle restrictReceiver(java.lang.invoke.MemberName, java.lang.invoke.DirectMethodHandle, java.lang.Class<?>);
    descriptor: (Ljava/lang/invoke/MemberName;Ljava/lang/invoke/DirectMethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.invoke.MemberName method
        start local 2 // java.lang.invoke.DirectMethodHandle mh
        start local 3 // java.lang.Class caller
         0: .line 2279
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 1
            aload 1 /* method */
            invokevirtual java.lang.invoke.MemberName.isStatic:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2281
      StackMap locals:
      StackMap stack:
            aload 1 /* method */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            aload 3 /* caller */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 3
         2: .line 2282
            aload 1 /* method */
            ldc "caller class must be a subclass below the method"
            aload 3 /* caller */
            invokevirtual java.lang.invoke.MemberName.makeAccessException:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/IllegalAccessException;
            athrow
         3: .line 2284
      StackMap locals:
      StackMap stack:
            aload 2 /* mh */
            invokevirtual java.lang.invoke.DirectMethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 4 /* rawType */
        start local 4 // java.lang.invoke.MethodType rawType
         4: .line 2285
            aload 3 /* caller */
            aload 4 /* rawType */
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 5
            aload 2 /* mh */
            areturn
         5: .line 2286
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
            aload 4 /* rawType */
            iconst_0
            aload 3 /* caller */
            invokevirtual java.lang.invoke.MethodType.changeParameterType:(ILjava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 5 /* narrowType */
        start local 5 // java.lang.invoke.MethodType narrowType
         6: .line 2287
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 7
            aload 2 /* mh */
            invokevirtual java.lang.invoke.DirectMethodHandle.isVarargsCollector:()Z
            ifeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 2288
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 8
            aload 2 /* mh */
            aload 5 /* narrowType */
            iconst_1
            invokevirtual java.lang.invoke.DirectMethodHandle.viewAsTypeChecks:(Ljava/lang/invoke/MethodType;Z)Z
            ifne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 2289
      StackMap locals:
      StackMap stack:
            aload 2 /* mh */
            aload 5 /* narrowType */
            aload 2 /* mh */
            getfield java.lang.invoke.DirectMethodHandle.form:Ljava/lang/invoke/LambdaForm;
            invokevirtual java.lang.invoke.DirectMethodHandle.copyWith:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 5 // java.lang.invoke.MethodType narrowType
        end local 4 // java.lang.invoke.MethodType rawType
        end local 3 // java.lang.Class caller
        end local 2 // java.lang.invoke.DirectMethodHandle mh
        end local 1 // java.lang.invoke.MemberName method
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    9     1      method  Ljava/lang/invoke/MemberName;
            0    9     2          mh  Ljava/lang/invoke/DirectMethodHandle;
            0    9     3      caller  Ljava/lang/Class<*>;
            4    9     4     rawType  Ljava/lang/invoke/MethodType;
            6    9     5  narrowType  Ljava/lang/invoke/MethodType;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (Ljava/lang/invoke/MemberName;Ljava/lang/invoke/DirectMethodHandle;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      method  
      mh      
      caller  

  private java.lang.invoke.MethodHandle getDirectMethod(byte, java.lang.Class<?>, java.lang.invoke.MemberName, java.lang.Class<?>);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.Class refc
        start local 3 // java.lang.invoke.MemberName method
        start local 4 // java.lang.Class boundCallerClass
         0: .line 2296
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* refc */
            aload 3 /* method */
            iconst_1
            iconst_1
            aload 4 /* boundCallerClass */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;ZZLjava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.Class boundCallerClass
        end local 3 // java.lang.invoke.MemberName method
        end local 2 // java.lang.Class refc
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    1     1           refKind  B
            0    1     2              refc  Ljava/lang/Class<*>;
            0    1     3            method  Ljava/lang/invoke/MemberName;
            0    1     4  boundCallerClass  Ljava/lang/Class<*>;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                  Name  Flags
      refKind           
      refc              
      method            
      boundCallerClass  

  private java.lang.invoke.MethodHandle getDirectMethodNoRestrictInvokeSpecial(java.lang.Class<?>, java.lang.invoke.MemberName, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
        start local 2 // java.lang.invoke.MemberName method
        start local 3 // java.lang.Class boundCallerClass
         0: .line 2302
            aload 0 /* this */
            bipush 7
            aload 1 /* refc */
            aload 2 /* method */
            iconst_1
            iconst_0
            aload 3 /* boundCallerClass */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;ZZLjava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.Class boundCallerClass
        end local 2 // java.lang.invoke.MemberName method
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    1     1              refc  Ljava/lang/Class<*>;
            0    1     2            method  Ljava/lang/invoke/MemberName;
            0    1     3  boundCallerClass  Ljava/lang/Class<*>;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MemberName;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                  Name  Flags
      refc              
      method            
      boundCallerClass  

  private java.lang.invoke.MethodHandle getDirectMethodNoSecurityManager(byte, java.lang.Class<?>, java.lang.invoke.MemberName, java.lang.Class<?>);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.Class refc
        start local 3 // java.lang.invoke.MemberName method
        start local 4 // java.lang.Class boundCallerClass
         0: .line 2308
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* refc */
            aload 3 /* method */
            iconst_0
            iconst_1
            aload 4 /* boundCallerClass */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;ZZLjava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.Class boundCallerClass
        end local 3 // java.lang.invoke.MemberName method
        end local 2 // java.lang.Class refc
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    1     1           refKind  B
            0    1     2              refc  Ljava/lang/Class<*>;
            0    1     3            method  Ljava/lang/invoke/MemberName;
            0    1     4  boundCallerClass  Ljava/lang/Class<*>;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                  Name  Flags
      refKind           
      refc              
      method            
      boundCallerClass  

  private java.lang.invoke.MethodHandle getDirectMethodCommon(byte, java.lang.Class<?>, java.lang.invoke.MemberName, boolean, boolean, java.lang.Class<?>);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;ZZLjava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=7
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.Class refc
        start local 3 // java.lang.invoke.MemberName method
        start local 4 // boolean checkSecurity
        start local 5 // boolean doRestrict
        start local 6 // java.lang.Class boundCallerClass
         0: .line 2315
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* refc */
            aload 3 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkMethod:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)V
         1: .line 2317
            iload 4 /* checkSecurity */
            ifeq 3
         2: .line 2318
            aload 0 /* this */
            aload 2 /* refc */
            aload 3 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
         3: .line 2319
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 4
            aload 3 /* method */
            invokevirtual java.lang.invoke.MemberName.isMethodHandleInvoke:()Z
            ifeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 2321
      StackMap locals:
      StackMap stack:
            iload 1 /* refKind */
            bipush 7
            if_icmpne 24
         5: .line 2322
            aload 2 /* refc */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            if_acmpeq 24
         6: .line 2323
            aload 2 /* refc */
            invokevirtual java.lang.Class.isInterface:()Z
            ifne 24
         7: .line 2324
            aload 2 /* refc */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            if_acmpeq 24
         8: .line 2325
            aload 2 /* refc */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 24
         9: .line 2326
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 10
            aload 3 /* method */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
            ldc "<init>"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 2335
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            astore 7 /* refcAsSuper */
        start local 7 // java.lang.Class refcAsSuper
        11: .line 2338
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 7 /* refcAsSuper */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 7 /* refcAsSuper */
        12: .line 2339
            new java.lang.invoke.MemberName
            dup
            aload 7 /* refcAsSuper */
        13: .line 2340
            aload 3 /* method */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
        14: .line 2341
            aload 3 /* method */
            invokevirtual java.lang.invoke.MemberName.getMethodType:()Ljava/lang/invoke/MethodType;
        15: .line 2342
            bipush 7
        16: .line 2339
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;B)V
            astore 8 /* m2 */
        start local 8 // java.lang.invoke.MemberName m2
        17: .line 2343
            getstatic java.lang.invoke.MethodHandles.IMPL_NAMES:Ljava/lang/invoke/MemberName$Factory;
            iload 1 /* refKind */
            aload 8 /* m2 */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClassOrNull:()Ljava/lang/Class;
            invokevirtual java.lang.invoke.MemberName$Factory.resolveOrNull:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            astore 8 /* m2 */
        18: .line 2344
            aload 8 /* m2 */
            ifnonnull 20
        19: .line 2345
            aload 2 /* refc */
            aload 7 /* refcAsSuper */
            if_acmpne 11
        20: .line 2346
      StackMap locals: java.lang.invoke.MemberName
      StackMap stack:
            aload 8 /* m2 */
            ifnonnull 21
            new java.lang.InternalError
            dup
            aload 3 /* method */
            invokevirtual java.lang.invoke.MemberName.toString:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 2347
      StackMap locals:
      StackMap stack:
            aload 8 /* m2 */
            astore 3 /* method */
        22: .line 2348
            aload 7 /* refcAsSuper */
            astore 2 /* refc */
        23: .line 2350
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* refc */
            aload 3 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkMethod:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)V
        end local 8 // java.lang.invoke.MemberName m2
        end local 7 // java.lang.Class refcAsSuper
        24: .line 2353
      StackMap locals:
      StackMap stack:
            iload 1 /* refKind */
            aload 2 /* refc */
            aload 3 /* method */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            invokestatic java.lang.invoke.DirectMethodHandle.make:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/DirectMethodHandle;
            astore 7 /* dmh */
        start local 7 // java.lang.invoke.DirectMethodHandle dmh
        25: .line 2354
            aload 7 /* dmh */
            astore 8 /* mh */
        start local 8 // java.lang.invoke.MethodHandle mh
        26: .line 2356
            iload 5 /* doRestrict */
            ifeq 27
            iload 1 /* refKind */
            bipush 7
            if_icmpeq 28
        27: .line 2357
      StackMap locals: java.lang.invoke.DirectMethodHandle java.lang.invoke.MethodHandle
      StackMap stack:
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindHasReceiver:(B)Z
            ifeq 29
            aload 0 /* this */
            aload 3 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.restrictProtectedReceiver:(Ljava/lang/invoke/MemberName;)Z
            ifeq 29
        28: .line 2358
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* method */
            aload 7 /* dmh */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.restrictReceiver:(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/DirectMethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 8 /* mh */
        29: .line 2360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* method */
            aload 8 /* mh */
            aload 6 /* boundCallerClass */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.maybeBindCaller:(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 8 /* mh */
        30: .line 2361
            aload 8 /* mh */
            aload 3 /* method */
            invokevirtual java.lang.invoke.MethodHandle.setVarargs:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            astore 8 /* mh */
        31: .line 2362
            aload 8 /* mh */
            areturn
        end local 8 // java.lang.invoke.MethodHandle mh
        end local 7 // java.lang.invoke.DirectMethodHandle dmh
        end local 6 // java.lang.Class boundCallerClass
        end local 5 // boolean doRestrict
        end local 4 // boolean checkSecurity
        end local 3 // java.lang.invoke.MemberName method
        end local 2 // java.lang.Class refc
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   32     0              this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   32     1           refKind  B
            0   32     2              refc  Ljava/lang/Class<*>;
            0   32     3            method  Ljava/lang/invoke/MemberName;
            0   32     4     checkSecurity  Z
            0   32     5        doRestrict  Z
            0   32     6  boundCallerClass  Ljava/lang/Class<*>;
           11   24     7       refcAsSuper  Ljava/lang/Class<*>;
           17   24     8                m2  Ljava/lang/invoke/MemberName;
           25   32     7               dmh  Ljava/lang/invoke/DirectMethodHandle;
           26   32     8                mh  Ljava/lang/invoke/MethodHandle;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;ZZLjava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                  Name  Flags
      refKind           
      refc              
      method            
      checkSecurity     
      doRestrict        
      boundCallerClass  

  private java.lang.invoke.MethodHandle maybeBindCaller(java.lang.invoke.MemberName, java.lang.invoke.MethodHandle, java.lang.Class<?>);
    descriptor: (Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.invoke.MemberName method
        start local 2 // java.lang.invoke.MethodHandle mh
        start local 3 // java.lang.Class boundCallerClass
         0: .line 2367
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_m1
            if_icmpeq 1
            aload 1 /* method */
            invokestatic java.lang.invoke.MethodHandleNatives.isCallerSensitive:(Ljava/lang/invoke/MemberName;)Z
            ifne 2
         1: .line 2368
      StackMap locals:
      StackMap stack:
            aload 2 /* mh */
            areturn
         2: .line 2369
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            astore 4 /* hostClass */
        start local 4 // java.lang.Class hostClass
         3: .line 2370
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.hasPrivateAccess:()Z
            ifne 5
         4: .line 2371
            aload 3 /* boundCallerClass */
            astore 4 /* hostClass */
         5: .line 2372
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 2 /* mh */
            aload 4 /* hostClass */
            invokestatic java.lang.invoke.MethodHandleImpl.bindCaller:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* cbmh */
        start local 5 // java.lang.invoke.MethodHandle cbmh
         6: .line 2374
            aload 5 /* cbmh */
            areturn
        end local 5 // java.lang.invoke.MethodHandle cbmh
        end local 4 // java.lang.Class hostClass
        end local 3 // java.lang.Class boundCallerClass
        end local 2 // java.lang.invoke.MethodHandle mh
        end local 1 // java.lang.invoke.MemberName method
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    7     1            method  Ljava/lang/invoke/MemberName;
            0    7     2                mh  Ljava/lang/invoke/MethodHandle;
            0    7     3  boundCallerClass  Ljava/lang/Class<*>;
            3    7     4         hostClass  Ljava/lang/Class<*>;
            6    7     5              cbmh  Ljava/lang/invoke/MethodHandle;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                  Name  Flags
      method            
      mh                
      boundCallerClass  

  private java.lang.invoke.MethodHandle getDirectField(byte, java.lang.Class<?>, java.lang.invoke.MemberName);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.Class refc
        start local 3 // java.lang.invoke.MemberName field
         0: .line 2379
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* refc */
            aload 3 /* field */
            iconst_1
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectFieldCommon:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.invoke.MemberName field
        end local 2 // java.lang.Class refc
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    1     1  refKind  B
            0    1     2     refc  Ljava/lang/Class<*>;
            0    1     3    field  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
         Name  Flags
      refKind  
      refc     
      field    

  private java.lang.invoke.MethodHandle getDirectFieldNoSecurityManager(byte, java.lang.Class<?>, java.lang.invoke.MemberName);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.Class refc
        start local 3 // java.lang.invoke.MemberName field
         0: .line 2384
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* refc */
            aload 3 /* field */
            iconst_0
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectFieldCommon:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.invoke.MemberName field
        end local 2 // java.lang.Class refc
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    1     1  refKind  B
            0    1     2     refc  Ljava/lang/Class<*>;
            0    1     3    field  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
         Name  Flags
      refKind  
      refc     
      field    

  private java.lang.invoke.MethodHandle getDirectFieldCommon(byte, java.lang.Class<?>, java.lang.invoke.MemberName, boolean);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.Class refc
        start local 3 // java.lang.invoke.MemberName field
        start local 4 // boolean checkSecurity
         0: .line 2389
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* refc */
            aload 3 /* field */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkField:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)V
         1: .line 2391
            iload 4 /* checkSecurity */
            ifeq 3
         2: .line 2392
            aload 0 /* this */
            aload 2 /* refc */
            aload 3 /* field */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
         3: .line 2393
      StackMap locals:
      StackMap stack:
            aload 2 /* refc */
            aload 3 /* field */
            invokestatic java.lang.invoke.DirectMethodHandle.make:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
            astore 5 /* dmh */
        start local 5 // java.lang.invoke.DirectMethodHandle dmh
         4: .line 2394
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindHasReceiver:(B)Z
            ifeq 7
         5: .line 2395
            aload 0 /* this */
            aload 3 /* field */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.restrictProtectedReceiver:(Ljava/lang/invoke/MemberName;)Z
            ifeq 7
         6: .line 2394
            iconst_1
            goto 8
      StackMap locals: java.lang.invoke.DirectMethodHandle
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 6 /* doRestrict */
        start local 6 // boolean doRestrict
         9: .line 2396
            iload 6 /* doRestrict */
            ifeq 11
        10: .line 2397
            aload 0 /* this */
            aload 3 /* field */
            aload 5 /* dmh */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.restrictReceiver:(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/DirectMethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        11: .line 2398
      StackMap locals: int
      StackMap stack:
            aload 5 /* dmh */
            areturn
        end local 6 // boolean doRestrict
        end local 5 // java.lang.invoke.DirectMethodHandle dmh
        end local 4 // boolean checkSecurity
        end local 3 // java.lang.invoke.MemberName field
        end local 2 // java.lang.Class refc
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   12     1        refKind  B
            0   12     2           refc  Ljava/lang/Class<*>;
            0   12     3          field  Ljava/lang/invoke/MemberName;
            0   12     4  checkSecurity  Z
            4   12     5            dmh  Ljava/lang/invoke/DirectMethodHandle;
            9   12     6     doRestrict  Z
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
               Name  Flags
      refKind        
      refc           
      field          
      checkSecurity  

  private java.lang.invoke.VarHandle getFieldVarHandle(byte, byte, java.lang.Class<?>, java.lang.invoke.MemberName, java.lang.invoke.MemberName);
    descriptor: (BBLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/VarHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte getRefKind
        start local 2 // byte putRefKind
        start local 3 // java.lang.Class refc
        start local 4 // java.lang.invoke.MemberName getField
        start local 5 // java.lang.invoke.MemberName putField
         0: .line 2404
            aload 0 /* this */
            iload 1 /* getRefKind */
            iload 2 /* putRefKind */
            aload 3 /* refc */
            aload 4 /* getField */
            aload 5 /* putField */
            iconst_1
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getFieldVarHandleCommon:(BBLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/VarHandle;
            areturn
        end local 5 // java.lang.invoke.MemberName putField
        end local 4 // java.lang.invoke.MemberName getField
        end local 3 // java.lang.Class refc
        end local 2 // byte putRefKind
        end local 1 // byte getRefKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    1     1  getRefKind  B
            0    1     2  putRefKind  B
            0    1     3        refc  Ljava/lang/Class<*>;
            0    1     4    getField  Ljava/lang/invoke/MemberName;
            0    1     5    putField  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BBLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/VarHandle;
    MethodParameters:
            Name  Flags
      getRefKind  
      putRefKind  
      refc        
      getField    
      putField    

  private java.lang.invoke.VarHandle getFieldVarHandleNoSecurityManager(byte, byte, java.lang.Class<?>, java.lang.invoke.MemberName, java.lang.invoke.MemberName);
    descriptor: (BBLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/VarHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte getRefKind
        start local 2 // byte putRefKind
        start local 3 // java.lang.Class refc
        start local 4 // java.lang.invoke.MemberName getField
        start local 5 // java.lang.invoke.MemberName putField
         0: .line 2410
            aload 0 /* this */
            iload 1 /* getRefKind */
            iload 2 /* putRefKind */
            aload 3 /* refc */
            aload 4 /* getField */
            aload 5 /* putField */
            iconst_0
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getFieldVarHandleCommon:(BBLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/VarHandle;
            areturn
        end local 5 // java.lang.invoke.MemberName putField
        end local 4 // java.lang.invoke.MemberName getField
        end local 3 // java.lang.Class refc
        end local 2 // byte putRefKind
        end local 1 // byte getRefKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    1     1  getRefKind  B
            0    1     2  putRefKind  B
            0    1     3        refc  Ljava/lang/Class<*>;
            0    1     4    getField  Ljava/lang/invoke/MemberName;
            0    1     5    putField  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BBLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/VarHandle;
    MethodParameters:
            Name  Flags
      getRefKind  
      putRefKind  
      refc        
      getField    
      putField    

  private java.lang.invoke.VarHandle getFieldVarHandleCommon(byte, byte, java.lang.Class<?>, java.lang.invoke.MemberName, java.lang.invoke.MemberName, boolean);
    descriptor: (BBLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/VarHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=7
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte getRefKind
        start local 2 // byte putRefKind
        start local 3 // java.lang.Class refc
        start local 4 // java.lang.invoke.MemberName getField
        start local 5 // java.lang.invoke.MemberName putField
        start local 6 // boolean checkSecurity
         0: .line 2415
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 1
            aload 4 /* getField */
            invokevirtual java.lang.invoke.MemberName.isStatic:()Z
            aload 5 /* putField */
            invokevirtual java.lang.invoke.MemberName.isStatic:()Z
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2416
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 3
            aload 4 /* getField */
            invokevirtual java.lang.invoke.MemberName.isGetter:()Z
            ifeq 2
            aload 5 /* putField */
            invokevirtual java.lang.invoke.MemberName.isSetter:()Z
            ifne 3
      StackMap locals:
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 2417
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 4
            iload 1 /* getRefKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsStatic:(B)Z
            iload 2 /* putRefKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsStatic:(B)Z
            if_icmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 2418
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 6
            iload 1 /* getRefKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsGetter:(B)Z
            ifeq 5
            iload 2 /* putRefKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsSetter:(B)Z
            ifne 6
      StackMap locals:
      StackMap stack:
         5: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 2420
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* getRefKind */
            aload 3 /* refc */
            aload 4 /* getField */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkField:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)V
         7: .line 2421
            iload 6 /* checkSecurity */
            ifeq 9
         8: .line 2422
            aload 0 /* this */
            aload 3 /* refc */
            aload 4 /* getField */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
         9: .line 2424
      StackMap locals:
      StackMap stack:
            aload 5 /* putField */
            invokevirtual java.lang.invoke.MemberName.isFinal:()Z
            ifne 13
        10: .line 2429
            aload 0 /* this */
            iload 2 /* putRefKind */
            aload 3 /* refc */
            aload 5 /* putField */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkField:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)V
        11: .line 2430
            iload 6 /* checkSecurity */
            ifeq 13
        12: .line 2431
            aload 0 /* this */
            aload 3 /* refc */
            aload 5 /* putField */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
        13: .line 2434
      StackMap locals:
      StackMap stack:
            iload 1 /* getRefKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindHasReceiver:(B)Z
            ifeq 16
        14: .line 2435
            aload 0 /* this */
            aload 4 /* getField */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.restrictProtectedReceiver:(Ljava/lang/invoke/MemberName;)Z
            ifeq 16
        15: .line 2434
            iconst_1
            goto 17
      StackMap locals:
      StackMap stack:
        16: iconst_0
      StackMap locals:
      StackMap stack: int
        17: istore 7 /* doRestrict */
        start local 7 // boolean doRestrict
        18: .line 2436
            iload 7 /* doRestrict */
            ifeq 23
        19: .line 2437
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 20
            aload 4 /* getField */
            invokevirtual java.lang.invoke.MemberName.isStatic:()Z
            ifeq 20
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 2439
      StackMap locals: int
      StackMap stack:
            aload 4 /* getField */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 22
        21: .line 2440
            aload 4 /* getField */
            ldc "caller class must be a subclass below the method"
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            invokevirtual java.lang.invoke.MemberName.makeAccessException:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/IllegalAccessException;
            athrow
        22: .line 2442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            astore 3 /* refc */
        23: .line 2444
      StackMap locals:
      StackMap stack:
            aload 4 /* getField */
            aload 3 /* refc */
            aload 4 /* getField */
            invokevirtual java.lang.invoke.MemberName.getFieldType:()Ljava/lang/Class;
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_m1
            if_icmpne 24
            iconst_1
            goto 25
      StackMap locals: java.lang.invoke.MethodHandles$Lookup int int java.lang.Class java.lang.invoke.MemberName java.lang.invoke.MemberName int int
      StackMap stack: java.lang.invoke.MemberName java.lang.Class java.lang.Class
        24: iconst_0
      StackMap locals: java.lang.invoke.MethodHandles$Lookup int int java.lang.Class java.lang.invoke.MemberName java.lang.invoke.MemberName int int
      StackMap stack: java.lang.invoke.MemberName java.lang.Class java.lang.Class int
        25: invokestatic java.lang.invoke.VarHandles.makeFieldHandle:(Ljava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;Z)Ljava/lang/invoke/VarHandle;
            areturn
        end local 7 // boolean doRestrict
        end local 6 // boolean checkSecurity
        end local 5 // java.lang.invoke.MemberName putField
        end local 4 // java.lang.invoke.MemberName getField
        end local 3 // java.lang.Class refc
        end local 2 // byte putRefKind
        end local 1 // byte getRefKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   26     0           this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   26     1     getRefKind  B
            0   26     2     putRefKind  B
            0   26     3           refc  Ljava/lang/Class<*>;
            0   26     4       getField  Ljava/lang/invoke/MemberName;
            0   26     5       putField  Ljava/lang/invoke/MemberName;
            0   26     6  checkSecurity  Z
           18   26     7     doRestrict  Z
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BBLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/VarHandle;
    MethodParameters:
               Name  Flags
      getRefKind     
      putRefKind     
      refc           
      getField       
      putField       
      checkSecurity  

  private java.lang.invoke.MethodHandle getDirectConstructor(java.lang.Class<?>, java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
        start local 2 // java.lang.invoke.MemberName ctor
         0: .line 2449
            aload 0 /* this */
            aload 1 /* refc */
            aload 2 /* ctor */
            iconst_1
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectConstructorCommon:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 2 // java.lang.invoke.MemberName ctor
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    1     1  refc  Ljava/lang/Class<*>;
            0    1     2  ctor  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      refc  
      ctor  

  private java.lang.invoke.MethodHandle getDirectConstructorNoSecurityManager(java.lang.Class<?>, java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
        start local 2 // java.lang.invoke.MemberName ctor
         0: .line 2454
            aload 0 /* this */
            aload 1 /* refc */
            aload 2 /* ctor */
            iconst_0
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectConstructorCommon:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 2 // java.lang.invoke.MemberName ctor
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    1     1  refc  Ljava/lang/Class<*>;
            0    1     2  ctor  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      refc  
      ctor  

  private java.lang.invoke.MethodHandle getDirectConstructorCommon(java.lang.Class<?>, java.lang.invoke.MemberName, boolean);
    descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
        start local 2 // java.lang.invoke.MemberName ctor
        start local 3 // boolean checkSecurity
         0: .line 2459
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 1
            aload 2 /* ctor */
            invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 8
            aload 1 /* refc */
            aload 2 /* ctor */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkAccess:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)V
         2: .line 2462
            iload 3 /* checkSecurity */
            ifeq 4
         3: .line 2463
            aload 0 /* this */
            aload 1 /* refc */
            aload 2 /* ctor */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
         4: .line 2464
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 5
            aload 2 /* ctor */
            invokestatic java.lang.invoke.MethodHandleNatives.isCallerSensitive:(Ljava/lang/invoke/MemberName;)Z
            ifeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 2465
      StackMap locals:
      StackMap stack:
            aload 2 /* ctor */
            invokestatic java.lang.invoke.DirectMethodHandle.make:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
            aload 2 /* ctor */
            invokevirtual java.lang.invoke.DirectMethodHandle.setVarargs:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // boolean checkSecurity
        end local 2 // java.lang.invoke.MemberName ctor
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    6     1           refc  Ljava/lang/Class<*>;
            0    6     2           ctor  Ljava/lang/invoke/MemberName;
            0    6     3  checkSecurity  Z
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
               Name  Flags
      refc           
      ctor           
      checkSecurity  

  java.lang.invoke.MethodHandle linkMethodHandleConstant(byte, java.lang.Class<?>, java.lang.String, );
    descriptor: (BLjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.Class defc
        start local 3 // java.lang.String name
        start local 4 // java.lang.Object type
         0: .line 2472
            aload 4 /* type */
            instanceof java.lang.Class
            ifne 2
            aload 4 /* type */
            instanceof java.lang.invoke.MethodType
            ifne 2
         1: .line 2473
            new java.lang.InternalError
            dup
            ldc "unresolved MemberName"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2474
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.MemberName
            dup
            iload 1 /* refKind */
            aload 2 /* defc */
            aload 3 /* name */
            aload 4 /* type */
            invokespecial java.lang.invoke.MemberName.<init>:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
            astore 5 /* member */
        start local 5 // java.lang.invoke.MemberName member
         3: .line 2475
            getstatic java.lang.invoke.MethodHandles$Lookup.LOOKASIDE_TABLE:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* member */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.invoke.MethodHandle
            astore 6 /* mh */
        start local 6 // java.lang.invoke.MethodHandle mh
         4: .line 2476
            aload 6 /* mh */
            ifnull 7
         5: .line 2477
            aload 0 /* this */
            aload 2 /* defc */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSymbolicClass:(Ljava/lang/Class;)V
         6: .line 2478
            aload 6 /* mh */
            areturn
         7: .line 2480
      StackMap locals: java.lang.invoke.MemberName java.lang.invoke.MethodHandle
      StackMap stack:
            aload 2 /* defc */
            ldc Ljava/lang/invoke/MethodHandle;
            if_acmpne 11
            iload 1 /* refKind */
            iconst_5
            if_icmpne 11
         8: .line 2482
            aload 0 /* this */
            aload 5 /* member */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
            aload 5 /* member */
            invokevirtual java.lang.invoke.MemberName.getMethodType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findVirtualForMH:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* mh */
         9: .line 2483
            aload 6 /* mh */
            ifnull 15
        10: .line 2484
            aload 6 /* mh */
            areturn
        11: .line 2486
      StackMap locals:
      StackMap stack:
            aload 2 /* defc */
            ldc Ljava/lang/invoke/VarHandle;
            if_acmpne 15
            iload 1 /* refKind */
            iconst_5
            if_icmpne 15
        12: .line 2488
            aload 0 /* this */
            aload 5 /* member */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
            aload 5 /* member */
            invokevirtual java.lang.invoke.MemberName.getMethodType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findVirtualForVH:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* mh */
        13: .line 2489
            aload 6 /* mh */
            ifnull 15
        14: .line 2490
            aload 6 /* mh */
            areturn
        15: .line 2493
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* refKind */
            aload 5 /* member */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/invoke/MemberName;)Ljava/lang/invoke/MemberName;
            astore 7 /* resolved */
        start local 7 // java.lang.invoke.MemberName resolved
        16: .line 2494
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* defc */
            aload 7 /* resolved */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethodForConstant:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* mh */
        17: .line 2495
            aload 6 /* mh */
            instanceof java.lang.invoke.DirectMethodHandle
            ifeq 24
        18: .line 2496
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* defc */
            aload 7 /* resolved */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.canBeCached:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Z
            ifeq 24
        19: .line 2497
            aload 6 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
            astore 8 /* key */
        start local 8 // java.lang.invoke.MemberName key
        20: .line 2498
            aload 8 /* key */
            ifnull 22
        21: .line 2499
            aload 8 /* key */
            invokevirtual java.lang.invoke.MemberName.asNormalOriginal:()Ljava/lang/invoke/MemberName;
            astore 8 /* key */
        22: .line 2501
      StackMap locals: java.lang.invoke.MemberName java.lang.invoke.MemberName
      StackMap stack:
            aload 5 /* member */
            aload 8 /* key */
            invokevirtual java.lang.invoke.MemberName.equals:(Ljava/lang/invoke/MemberName;)Z
            ifeq 24
        23: .line 2502
            getstatic java.lang.invoke.MethodHandles$Lookup.LOOKASIDE_TABLE:Ljava/util/concurrent/ConcurrentHashMap;
            aload 8 /* key */
            aload 6 /* mh */
            checkcast java.lang.invoke.DirectMethodHandle
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.lang.invoke.MemberName key
        24: .line 2505
      StackMap locals:
      StackMap stack:
            aload 6 /* mh */
            areturn
        end local 7 // java.lang.invoke.MemberName resolved
        end local 6 // java.lang.invoke.MethodHandle mh
        end local 5 // java.lang.invoke.MemberName member
        end local 4 // java.lang.Object type
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class defc
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   25     0      this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   25     1   refKind  B
            0   25     2      defc  Ljava/lang/Class<*>;
            0   25     3      name  Ljava/lang/String;
            0   25     4      type  Ljava/lang/Object;
            3   25     5    member  Ljava/lang/invoke/MemberName;
            4   25     6        mh  Ljava/lang/invoke/MethodHandle;
           16   25     7  resolved  Ljava/lang/invoke/MemberName;
           20   24     8       key  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.ReflectiveOperationException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
         Name  Flags
      refKind  
      defc     
      name     
      type     

  private boolean canBeCached(byte, java.lang.Class<?>, java.lang.invoke.MemberName);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=7, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.Class defc
        start local 3 // java.lang.invoke.MemberName member
         0: .line 2509
            iload 1 /* refKind */
            bipush 7
            if_icmpne 2
         1: .line 2510
            iconst_0
            ireturn
         2: .line 2512
      StackMap locals:
      StackMap stack:
            aload 2 /* defc */
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 6
         3: .line 2513
            aload 3 /* member */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 6
         4: .line 2514
            aload 3 /* member */
            invokevirtual java.lang.invoke.MemberName.isPublic:()Z
            ifeq 6
         5: .line 2515
            aload 3 /* member */
            invokevirtual java.lang.invoke.MemberName.isCallerSensitive:()Z
            ifeq 7
         6: .line 2516
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         7: .line 2518
      StackMap locals:
      StackMap stack:
            aload 2 /* defc */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 4 /* loader */
        start local 4 // java.lang.ClassLoader loader
         8: .line 2519
            aload 4 /* loader */
            ifnull 17
         9: .line 2520
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 5 /* sysl */
        start local 5 // java.lang.ClassLoader sysl
        10: .line 2521
            iconst_0
            istore 6 /* found */
        start local 6 // boolean found
        11: .line 2522
            goto 14
        12: .line 2523
      StackMap locals: java.lang.ClassLoader java.lang.ClassLoader int
      StackMap stack:
            aload 4 /* loader */
            aload 5 /* sysl */
            if_acmpne 13
            iconst_1
            istore 6 /* found */
            goto 15
        13: .line 2524
      StackMap locals:
      StackMap stack:
            aload 5 /* sysl */
            invokevirtual java.lang.ClassLoader.getParent:()Ljava/lang/ClassLoader;
            astore 5 /* sysl */
        14: .line 2522
      StackMap locals:
      StackMap stack:
            aload 5 /* sysl */
            ifnonnull 12
        15: .line 2526
      StackMap locals:
      StackMap stack:
            iload 6 /* found */
            ifne 17
        16: .line 2527
            iconst_0
            ireturn
        end local 6 // boolean found
        end local 5 // java.lang.ClassLoader sysl
        17: .line 2531
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.invoke.MethodHandles.publicLookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            iload 1 /* refKind */
        18: .line 2532
            new java.lang.invoke.MemberName
            dup
            iload 1 /* refKind */
            aload 2 /* defc */
            aload 3 /* member */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
            aload 3 /* member */
            invokevirtual java.lang.invoke.MemberName.getType:()Ljava/lang/Object;
            invokespecial java.lang.invoke.MemberName.<init>:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
        19: .line 2531
            invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrNull:(BLjava/lang/invoke/MemberName;)Ljava/lang/invoke/MemberName;
            astore 5 /* resolved2 */
        start local 5 // java.lang.invoke.MemberName resolved2
        20: .line 2533
            aload 5 /* resolved2 */
            ifnonnull 22
        21: .line 2534
            iconst_0
            ireturn
        22: .line 2536
      StackMap locals: java.lang.invoke.MemberName
      StackMap stack:
            aload 0 /* this */
            aload 2 /* defc */
            aload 5 /* resolved2 */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
        end local 5 // java.lang.invoke.MemberName resolved2
        23: .line 2537
            goto 26
      StackMap locals: java.lang.invoke.MethodHandles$Lookup int java.lang.Class java.lang.invoke.MemberName java.lang.ClassLoader
      StackMap stack: java.lang.SecurityException
        24: pop
        25: .line 2538
            iconst_0
            ireturn
        26: .line 2540
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.lang.ClassLoader loader
        end local 3 // java.lang.invoke.MemberName member
        end local 2 // java.lang.Class defc
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   27     0       this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   27     1    refKind  B
            0   27     2       defc  Ljava/lang/Class<*>;
            0   27     3     member  Ljava/lang/invoke/MemberName;
            8   27     4     loader  Ljava/lang/ClassLoader;
           10   17     5       sysl  Ljava/lang/ClassLoader;
           11   17     6      found  Z
           20   23     5  resolved2  Ljava/lang/invoke/MemberName;
      Exception table:
        from    to  target  type
          17    21      24  Class java.lang.SecurityException
          22    23      24  Class java.lang.SecurityException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;)Z
    MethodParameters:
         Name  Flags
      refKind  
      defc     
      member   

  private java.lang.invoke.MethodHandle getDirectMethodForConstant(byte, java.lang.Class<?>, java.lang.invoke.MemberName);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.Class defc
        start local 3 // java.lang.invoke.MemberName member
         0: .line 2545
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsField:(B)Z
            ifeq 2
         1: .line 2546
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* defc */
            aload 3 /* member */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectFieldNoSecurityManager:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            areturn
         2: .line 2547
      StackMap locals:
      StackMap stack:
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsMethod:(B)Z
            ifeq 4
         3: .line 2548
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* defc */
            aload 3 /* member */
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
         4: .line 2549
      StackMap locals:
      StackMap stack:
            iload 1 /* refKind */
            bipush 8
            if_icmpne 6
         5: .line 2550
            aload 0 /* this */
            aload 2 /* defc */
            aload 3 /* member */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectConstructorNoSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            areturn
         6: .line 2553
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "bad MethodHandle constant #"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* member */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.lang.invoke.MethodHandleStatics.newIllegalArgumentException:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.invoke.MemberName member
        end local 2 // java.lang.Class defc
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    7     1  refKind  B
            0    7     2     defc  Ljava/lang/Class<*>;
            0    7     3   member  Ljava/lang/invoke/MemberName;
    Exceptions:
      throws java.lang.ReflectiveOperationException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
         Name  Flags
      refKind  
      defc     
      member   
}
SourceFile: "MethodHandles.java"
NestHost: java.lang.invoke.MethodHandles
InnerClasses:
  Factory = java.lang.invoke.MemberName$Factory of java.lang.invoke.MemberName
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final AccessMode = java.lang.invoke.VarHandle$AccessMode of java.lang.invoke.VarHandle