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 java.lang.Class<?> prevLookupClass;
    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

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

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

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

  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=5, locals=0, args_size=0
         0: .line 1429
            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 1440
            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 2473
            getstatic java.lang.invoke.MethodHandles.IMPL_NAMES:Ljava/lang/invoke/MemberName$Factory;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
         5: .line 2476
            new java.lang.invoke.MethodHandles$Lookup
            dup
            ldc Ljava/lang/Object;
            aconst_null
            iconst_m1
            invokespecial java.lang.invoke.MethodHandles$Lookup.<init>:(Ljava/lang/Class;Ljava/lang/Class;I)V
            putstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
         6: .line 2482
            new java.lang.invoke.MethodHandles$Lookup
            dup
            ldc Ljava/lang/Object;
            aconst_null
            bipush 32
            invokespecial java.lang.invoke.MethodHandles$Lookup.<init>:(Ljava/lang/Class;Ljava/lang/Class;I)V
            putstatic java.lang.invoke.MethodHandles$Lookup.PUBLIC_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
         7: .line 4196
            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 1535
            iload 0 /* mods */
            bipush 7
            iand
            istore 0 /* mods */
         1: .line 1536
            iload 0 /* mods */
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 3
         2: .line 1537
            iload 0 /* mods */
            bipush 32
            ior
            istore 0 /* mods */
         3: .line 1538
      StackMap locals:
      StackMap stack:
            iload 0 /* mods */
            ifeq 4
            iload 0 /* mods */
            goto 5
      StackMap locals:
      StackMap stack:
         4: bipush 8
      StackMap locals:
      StackMap stack: int
         5: ireturn
        end local 0 // int mods
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     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 1555
            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<*>;

  public java.lang.Class<?> previousLookupClass();
    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 1576
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.prevLookupClass: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 1581
            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 1613
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            bipush 127
            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=4, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class lookupClass
         0: .line 1622
            aload 0 /* this */
            aload 1 /* lookupClass */
            aconst_null
            bipush 95
            invokespecial java.lang.invoke.MethodHandles$Lookup.<init>:(Ljava/lang/Class;Ljava/lang/Class;I)V
         1: .line 1623
            return
        end local 1 // java.lang.Class lookupClass
        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  lookupClass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
             Name  Flags
      lookupClass  

  private void <init>(java.lang.Class<?>, java.lang.Class<?>, );
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class lookupClass
        start local 2 // java.lang.Class prevLookupClass
        start local 3 // int allowedModes
         0: .line 1625
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1626
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 4
            aload 2 /* prevLookupClass */
            ifnull 4
            iload 3 /* allowedModes */
            bipush 16
            iand
            ifne 3
         2: .line 1627
            aload 2 /* prevLookupClass */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            aload 1 /* lookupClass */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            if_acmpne 4
      StackMap locals: java.lang.invoke.MethodHandles$Lookup java.lang.Class java.lang.Class int
      StackMap stack:
         3: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 1628
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 6
            aload 1 /* lookupClass */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 5
            aload 1 /* lookupClass */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 6
      StackMap locals:
      StackMap stack:
         5: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 1629
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* lookupClass */
            putfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
         7: .line 1630
            aload 0 /* this */
            aload 2 /* prevLookupClass */
            putfield java.lang.invoke.MethodHandles$Lookup.prevLookupClass:Ljava/lang/Class;
         8: .line 1631
            aload 0 /* this */
            iload 3 /* allowedModes */
            putfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
         9: .line 1632
            return
        end local 3 // int allowedModes
        end local 2 // java.lang.Class prevLookupClass
        end local 1 // java.lang.Class lookupClass
        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      lookupClass  Ljava/lang/Class<*>;
            0   10     2  prevLookupClass  Ljava/lang/Class<*>;
            0   10     3     allowedModes  I
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;I)V
    MethodParameters:
                 Name  Flags
      lookupClass      
      prevLookupClass  
      allowedModes     

  private static java.lang.invoke.MethodHandles$Lookup newLookup(java.lang.Class<?>, java.lang.Class<?>, int);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandles$Lookup;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.Class lookupClass
        start local 1 // java.lang.Class prevLookupClass
        start local 2 // int allowedModes
         0: .line 1636
            aload 0 /* lookupClass */
            invokestatic java.lang.invoke.MethodHandles$Lookup.checkUnprivilegedlookupClass:(Ljava/lang/Class;)V
         1: .line 1637
            new java.lang.invoke.MethodHandles$Lookup
            dup
            aload 0 /* lookupClass */
            aload 1 /* prevLookupClass */
            iload 2 /* allowedModes */
            invokespecial java.lang.invoke.MethodHandles$Lookup.<init>:(Ljava/lang/Class;Ljava/lang/Class;I)V
            areturn
        end local 2 // int allowedModes
        end local 1 // java.lang.Class prevLookupClass
        end local 0 // java.lang.Class lookupClass
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0      lookupClass  Ljava/lang/Class<*>;
            0    2     1  prevLookupClass  Ljava/lang/Class<*>;
            0    2     2     allowedModes  I
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;I)Ljava/lang/invoke/MethodHandles$Lookup;
    MethodParameters:
                 Name  Flags
      lookupClass      
      prevLookupClass  
      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=5, locals=6, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class requestedLookupClass
         0: .line 1696
            aload 1 /* requestedLookupClass */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1697
            aload 1 /* requestedLookupClass */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 3
         2: .line 1698
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* requestedLookupClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is a primitive class"
            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
         3: .line 1699
      StackMap locals:
      StackMap stack:
            aload 1 /* requestedLookupClass */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 5
         4: .line 1700
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* requestedLookupClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is an array class"
            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
         5: .line 1702
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_m1
            if_icmpne 7
         6: .line 1703
            new java.lang.invoke.MethodHandles$Lookup
            dup
            aload 1 /* requestedLookupClass */
            aconst_null
            bipush 95
            invokespecial java.lang.invoke.MethodHandles$Lookup.<init>:(Ljava/lang/Class;Ljava/lang/Class;I)V
            areturn
         7: .line 1704
      StackMap locals:
      StackMap stack:
            aload 1 /* requestedLookupClass */
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            if_acmpne 9
         8: .line 1705
            aload 0 /* this */
            areturn
         9: .line 1706
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            bipush 95
            iand
            bipush -65
            iand
            istore 2 /* newModes */
        start local 2 // int newModes
        10: .line 1707
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            astore 3 /* fromModule */
        start local 3 // java.lang.Module fromModule
        11: .line 1708
            aload 1 /* requestedLookupClass */
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            astore 4 /* targetModule */
        start local 4 // java.lang.Module targetModule
        12: .line 1709
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.previousLookupClass:()Ljava/lang/Class;
            astore 5 /* plc */
        start local 5 // java.lang.Class plc
        13: .line 1710
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            bipush 32
            iand
            ifeq 17
        14: .line 1711
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 15
            aload 5 /* plc */
            ifnull 15
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        15: .line 1712
      StackMap locals: java.lang.invoke.MethodHandles$Lookup java.lang.Class int java.lang.Module java.lang.Module java.lang.Class
      StackMap stack:
            bipush 32
            istore 2 /* newModes */
        16: .line 1713
            goto 22
      StackMap locals:
      StackMap stack:
        17: aload 3 /* fromModule */
            aload 4 /* targetModule */
            if_acmpeq 22
        18: .line 1714
            aload 5 /* plc */
            ifnull 20
            aload 5 /* plc */
            aload 1 /* requestedLookupClass */
            invokestatic sun.invoke.util.VerifyAccess.isSameModule:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifne 20
        19: .line 1717
            iconst_0
            istore 2 /* newModes */
        20: .line 1720
      StackMap locals:
      StackMap stack:
            iload 2 /* newModes */
            bipush -31
            iand
            istore 2 /* newModes */
        21: .line 1722
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            astore 5 /* plc */
        22: .line 1724
      StackMap locals:
      StackMap stack:
            iload 2 /* newModes */
            bipush 8
            iand
            ifeq 25
        23: .line 1725
            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 25
        24: .line 1726
            iload 2 /* newModes */
            bipush -15
            iand
            istore 2 /* newModes */
        25: .line 1729
      StackMap locals:
      StackMap stack:
            iload 2 /* newModes */
            iconst_2
            iand
            ifeq 28
        26: .line 1730
            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 28
        27: .line 1731
            iload 2 /* newModes */
            bipush -7
            iand
            istore 2 /* newModes */
        28: .line 1733
      StackMap locals:
      StackMap stack:
            iload 2 /* newModes */
            bipush 33
            iand
            ifeq 31
        29: .line 1734
            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.prevLookupClass: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;Ljava/lang/Class;I)Z
            ifne 31
        30: .line 1737
            iconst_0
            istore 2 /* newModes */
        31: .line 1739
      StackMap locals:
      StackMap stack:
            aload 1 /* requestedLookupClass */
            aload 5 /* plc */
            iload 2 /* newModes */
            invokestatic java.lang.invoke.MethodHandles$Lookup.newLookup:(Ljava/lang/Class;Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandles$Lookup;
            areturn
        end local 5 // java.lang.Class plc
        end local 4 // java.lang.Module targetModule
        end local 3 // java.lang.Module fromModule
        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   32     0                  this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   32     1  requestedLookupClass  Ljava/lang/Class<*>;
           10   32     2              newModes  I
           11   32     3            fromModule  Ljava/lang/Module;
           12   32     4          targetModule  Ljava/lang/Module;
           13   32     5                   plc  Ljava/lang/Class<*>;
    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 1786
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupModes:()I
            istore 2 /* oldModes */
        start local 2 // int oldModes
         1: .line 1787
            iload 2 /* oldModes */
            iload 1 /* modeToDrop */
            iconst_4
            ior
            bipush 64
            ior
            iconst_m1
            ixor
            iand
            istore 3 /* newModes */
        start local 3 // int newModes
         2: .line 1788
            iload 1 /* modeToDrop */
            lookupswitch { // 7
                    1: 3
                    2: 6
                    4: 6
                    8: 5
                   16: 4
                   32: 6
                   64: 6
              default: 7
          }
         3: .line 1789
      StackMap locals: int int
      StackMap stack:
            iload 3 /* newModes */
            bipush -96
            iand
            istore 3 /* newModes */
            goto 8
         4: .line 1790
      StackMap locals:
      StackMap stack:
            iload 3 /* newModes */
            bipush -11
            iand
            istore 3 /* newModes */
            goto 8
         5: .line 1791
      StackMap locals:
      StackMap stack:
            iload 3 /* newModes */
            bipush -3
            iand
            istore 3 /* newModes */
            goto 8
         6: .line 1795
      StackMap locals:
      StackMap stack:
            goto 8
         7: .line 1796
      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 1798
      StackMap locals:
      StackMap stack:
            iload 3 /* newModes */
            iload 2 /* oldModes */
            if_icmpne 9
            aload 0 /* this */
            areturn
         9: .line 1799
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.previousLookupClass:()Ljava/lang/Class;
            iload 3 /* newModes */
            invokestatic java.lang.invoke.MethodHandles$Lookup.newLookup:(Ljava/lang/Class;Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandles$Lookup;
            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=3, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte[] bytes
         0: .line 1847
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.ensureDefineClassPermission:()V
         1: .line 1848
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupModes:()I
            bipush 8
            iand
            ifne 3
         2: .line 1849
            new java.lang.IllegalAccessException
            dup
            ldc "Lookup does not have PACKAGE access"
            invokespecial java.lang.IllegalAccessException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1850
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* bytes */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            invokevirtual java.lang.invoke.MethodHandles$Lookup.makeClassDefiner:([B)Ljava/lang/invoke/MethodHandles$Lookup$ClassDefiner;
            iconst_0
            invokevirtual java.lang.invoke.MethodHandles$Lookup$ClassDefiner.defineClass:(Z)Ljava/lang/Class;
            areturn
        end local 1 // byte[] bytes
        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  bytes  [B
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: ([B)Ljava/lang/Class<*>;
    MethodParameters:
       Name  Flags
      bytes  

  private void ensureDefineClassPermission();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
         0: .line 1854
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_m1
            if_icmpne 1
            return
         1: .line 1856
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.hasFullPrivilegeAccess:()Z
            ifne 5
         2: .line 1857
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         3: .line 1858
            aload 1 /* sm */
            ifnull 5
         4: .line 1859
            aload 1 /* 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
        end local 1 // java.lang.SecurityManager sm
         5: .line 1861
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/invoke/MethodHandles$Lookup;
            3    5     1    sm  Ljava/lang/SecurityManager;

  public java.lang.invoke.MethodHandles$Lookup defineHiddenClass(byte[], boolean, java.lang.invoke.MethodHandles$Lookup$ClassOption[]);
    descriptor: ([BZ[Ljava/lang/invoke/MethodHandles$Lookup$ClassOption;)Ljava/lang/invoke/MethodHandles$Lookup;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte[] bytes
        start local 2 // boolean initialize
        start local 3 // java.lang.invoke.MethodHandles$Lookup$ClassOption[] options
         0: .line 2125
            aload 1 /* bytes */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 2126
            aload 3 /* options */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 2128
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.ensureDefineClassPermission:()V
         3: .line 2129
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.hasFullPrivilegeAccess:()Z
            ifne 5
         4: .line 2130
            new java.lang.IllegalAccessException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not have full privilege access"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalAccessException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 2133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* bytes */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            aload 3 /* options */
            invokestatic java.util.Set.of:([Ljava/lang/Object;)Ljava/util/Set;
            iconst_0
            invokevirtual java.lang.invoke.MethodHandles$Lookup.makeHiddenClassDefiner:([BLjava/util/Set;Z)Ljava/lang/invoke/MethodHandles$Lookup$ClassDefiner;
            iload 2 /* initialize */
            invokevirtual java.lang.invoke.MethodHandles$Lookup$ClassDefiner.defineClassAsLookup:(Z)Ljava/lang/invoke/MethodHandles$Lookup;
            areturn
        end local 3 // java.lang.invoke.MethodHandles$Lookup$ClassOption[] options
        end local 2 // boolean initialize
        end local 1 // byte[] bytes
        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       bytes  [B
            0    6     2  initialize  Z
            0    6     3     options  [Ljava/lang/invoke/MethodHandles$Lookup$ClassOption;
    Exceptions:
      throws java.lang.IllegalAccessException
    MethodParameters:
            Name  Flags
      bytes       
      initialize  
      options     

  public java.lang.invoke.MethodHandles$Lookup defineHiddenClassWithClassData(byte[], java.lang.Object, boolean, java.lang.invoke.MethodHandles$Lookup$ClassOption[]);
    descriptor: ([BLjava/lang/Object;Z[Ljava/lang/invoke/MethodHandles$Lookup$ClassOption;)Ljava/lang/invoke/MethodHandles$Lookup;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte[] bytes
        start local 2 // java.lang.Object classData
        start local 3 // boolean initialize
        start local 4 // java.lang.invoke.MethodHandles$Lookup$ClassOption[] options
         0: .line 2211
            aload 1 /* bytes */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 2212
            aload 2 /* classData */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 2213
            aload 4 /* options */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 2215
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.ensureDefineClassPermission:()V
         4: .line 2216
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.hasFullPrivilegeAccess:()Z
            ifne 6
         5: .line 2217
            new java.lang.IllegalAccessException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not have full privilege access"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalAccessException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 2220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* bytes */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            aload 4 /* options */
            invokestatic java.util.Set.of:([Ljava/lang/Object;)Ljava/util/Set;
            iconst_0
            invokevirtual java.lang.invoke.MethodHandles$Lookup.makeHiddenClassDefiner:([BLjava/util/Set;Z)Ljava/lang/invoke/MethodHandles$Lookup$ClassDefiner;
         7: .line 2221
            iload 3 /* initialize */
            aload 2 /* classData */
            invokevirtual java.lang.invoke.MethodHandles$Lookup$ClassDefiner.defineClassAsLookup:(ZLjava/lang/Object;)Ljava/lang/invoke/MethodHandles$Lookup;
         8: .line 2220
            areturn
        end local 4 // java.lang.invoke.MethodHandles$Lookup$ClassOption[] options
        end local 3 // boolean initialize
        end local 2 // java.lang.Object classData
        end local 1 // byte[] bytes
        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       bytes  [B
            0    9     2   classData  Ljava/lang/Object;
            0    9     3  initialize  Z
            0    9     4     options  [Ljava/lang/invoke/MethodHandles$Lookup$ClassOption;
    Exceptions:
      throws java.lang.IllegalAccessException
    MethodParameters:
            Name  Flags
      bytes       
      classData   
      initialize  
      options     

  private java.lang.invoke.MethodHandles$Lookup$ClassDefiner makeClassDefiner(byte[]);
    descriptor: ([B)Ljava/lang/invoke/MethodHandles$Lookup$ClassDefiner;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte[] bytes
         0: .line 2325
            aload 1 /* bytes */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getPackageName:()Ljava/lang/String;
            invokestatic java.lang.invoke.MethodHandles$Lookup$ClassFile.newInstance:([BLjava/lang/String;)Ljava/lang/invoke/MethodHandles$Lookup$ClassFile;
            astore 2 /* cf */
        start local 2 // java.lang.invoke.MethodHandles$Lookup$ClassFile cf
         1: .line 2326
            new java.lang.invoke.MethodHandles$Lookup$ClassDefiner
            dup
            aload 0 /* this */
            aload 2 /* cf */
            iconst_4
            invokespecial java.lang.invoke.MethodHandles$Lookup$ClassDefiner.<init>:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/invoke/MethodHandles$Lookup$ClassFile;I)V
            areturn
        end local 2 // java.lang.invoke.MethodHandles$Lookup$ClassFile cf
        end local 1 // byte[] bytes
        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  bytes  [B
            1    2     2     cf  Ljava/lang/invoke/MethodHandles$Lookup$ClassFile;
    MethodParameters:
       Name  Flags
      bytes  

  java.lang.invoke.MethodHandles$Lookup$ClassDefiner makeHiddenClassDefiner(byte[]);
    descriptor: ([B)Ljava/lang/invoke/MethodHandles$Lookup$ClassDefiner;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte[] bytes
         0: .line 2343
            aload 1 /* bytes */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getPackageName:()Ljava/lang/String;
            invokestatic java.lang.invoke.MethodHandles$Lookup$ClassFile.newInstance:([BLjava/lang/String;)Ljava/lang/invoke/MethodHandles$Lookup$ClassFile;
            astore 2 /* cf */
        start local 2 // java.lang.invoke.MethodHandles$Lookup$ClassFile cf
         1: .line 2344
            aload 0 /* this */
            aload 2 /* cf */
            invokestatic java.util.Set.of:()Ljava/util/Set;
            iconst_0
            invokevirtual java.lang.invoke.MethodHandles$Lookup.makeHiddenClassDefiner:(Ljava/lang/invoke/MethodHandles$Lookup$ClassFile;Ljava/util/Set;Z)Ljava/lang/invoke/MethodHandles$Lookup$ClassDefiner;
            areturn
        end local 2 // java.lang.invoke.MethodHandles$Lookup$ClassFile cf
        end local 1 // byte[] bytes
        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  bytes  [B
            1    2     2     cf  Ljava/lang/invoke/MethodHandles$Lookup$ClassFile;
    MethodParameters:
       Name  Flags
      bytes  

  java.lang.invoke.MethodHandles$Lookup$ClassDefiner makeHiddenClassDefiner(byte[], java.util.Set<java.lang.invoke.MethodHandles$Lookup$ClassOption>, boolean);
    descriptor: ([BLjava/util/Set;Z)Ljava/lang/invoke/MethodHandles$Lookup$ClassDefiner;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte[] bytes
        start local 2 // java.util.Set options
        start local 3 // boolean accessVmAnnotations
         0: .line 2366
            aload 1 /* bytes */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getPackageName:()Ljava/lang/String;
            invokestatic java.lang.invoke.MethodHandles$Lookup$ClassFile.newInstance:([BLjava/lang/String;)Ljava/lang/invoke/MethodHandles$Lookup$ClassFile;
            astore 4 /* cf */
        start local 4 // java.lang.invoke.MethodHandles$Lookup$ClassFile cf
         1: .line 2367
            aload 0 /* this */
            aload 4 /* cf */
            aload 2 /* options */
            iload 3 /* accessVmAnnotations */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.makeHiddenClassDefiner:(Ljava/lang/invoke/MethodHandles$Lookup$ClassFile;Ljava/util/Set;Z)Ljava/lang/invoke/MethodHandles$Lookup$ClassDefiner;
            areturn
        end local 4 // java.lang.invoke.MethodHandles$Lookup$ClassFile cf
        end local 3 // boolean accessVmAnnotations
        end local 2 // java.util.Set options
        end local 1 // byte[] bytes
        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                bytes  [B
            0    2     2              options  Ljava/util/Set<Ljava/lang/invoke/MethodHandles$Lookup$ClassOption;>;
            0    2     3  accessVmAnnotations  Z
            1    2     4                   cf  Ljava/lang/invoke/MethodHandles$Lookup$ClassFile;
    Signature: ([BLjava/util/Set<Ljava/lang/invoke/MethodHandles$Lookup$ClassOption;>;Z)Ljava/lang/invoke/MethodHandles$Lookup$ClassDefiner;
    MethodParameters:
                     Name  Flags
      bytes                
      options              
      accessVmAnnotations  

  java.lang.invoke.MethodHandles$Lookup$ClassDefiner makeHiddenClassDefiner(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)Ljava/lang/invoke/MethodHandles$Lookup$ClassDefiner;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.String name
        start local 2 // byte[] bytes
         0: .line 2380
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* bytes */
            invokestatic java.lang.invoke.MethodHandles$Lookup$ClassFile.newInstanceNoCheck:(Ljava/lang/String;[B)Ljava/lang/invoke/MethodHandles$Lookup$ClassFile;
            invokestatic java.util.Set.of:()Ljava/util/Set;
            iconst_0
            invokevirtual java.lang.invoke.MethodHandles$Lookup.makeHiddenClassDefiner:(Ljava/lang/invoke/MethodHandles$Lookup$ClassFile;Ljava/util/Set;Z)Ljava/lang/invoke/MethodHandles$Lookup$ClassDefiner;
            areturn
        end local 2 // byte[] bytes
        end local 1 // java.lang.String name
        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   name  Ljava/lang/String;
            0    1     2  bytes  [B
    MethodParameters:
       Name  Flags
      name   
      bytes  

  private java.lang.invoke.MethodHandles$Lookup$ClassDefiner makeHiddenClassDefiner(java.lang.invoke.MethodHandles$Lookup$ClassFile, java.util.Set<java.lang.invoke.MethodHandles$Lookup$ClassOption>, boolean);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup$ClassFile;Ljava/util/Set;Z)Ljava/lang/invoke/MethodHandles$Lookup$ClassDefiner;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.invoke.MethodHandles$Lookup$ClassFile cf
        start local 2 // java.util.Set options
        start local 3 // boolean accessVmAnnotations
         0: .line 2394
            iconst_2
            aload 2 /* options */
            invokestatic java.lang.invoke.MethodHandles$Lookup$ClassOption.optionsToFlag:(Ljava/util/Set;)I
            ior
            istore 4 /* flags */
        start local 4 // int flags
         1: .line 2395
            iload 3 /* accessVmAnnotations */
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokestatic jdk.internal.misc.VM.isSystemDomainLoader:(Ljava/lang/ClassLoader;)Z
            ior
            ifeq 3
         2: .line 2398
            iload 4 /* flags */
            bipush 8
            ior
            istore 4 /* flags */
         3: .line 2401
      StackMap locals: int
      StackMap stack:
            new java.lang.invoke.MethodHandles$Lookup$ClassDefiner
            dup
            aload 0 /* this */
            aload 1 /* cf */
            iload 4 /* flags */
            invokespecial java.lang.invoke.MethodHandles$Lookup$ClassDefiner.<init>:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/invoke/MethodHandles$Lookup$ClassFile;I)V
            areturn
        end local 4 // int flags
        end local 3 // boolean accessVmAnnotations
        end local 2 // java.util.Set options
        end local 1 // java.lang.invoke.MethodHandles$Lookup$ClassFile cf
        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                   cf  Ljava/lang/invoke/MethodHandles$Lookup$ClassFile;
            0    4     2              options  Ljava/util/Set<Ljava/lang/invoke/MethodHandles$Lookup$ClassOption;>;
            0    4     3  accessVmAnnotations  Z
            1    4     4                flags  I
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup$ClassFile;Ljava/util/Set<Ljava/lang/invoke/MethodHandles$Lookup$ClassOption;>;Z)Ljava/lang/invoke/MethodHandles$Lookup$ClassDefiner;
    MethodParameters:
                     Name  Flags
      cf                   
      options              
      accessVmAnnotations  

  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 2462
            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 2463
            aload 1 /* pd */
            ifnonnull 3
         2: .line 2464
            aload 0 /* this */
            invokestatic jdk.internal.access.SharedSecrets.getJavaLangAccess:()Ljdk/internal/access/JavaLangAccess;
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            invokeinterface jdk.internal.access.JavaLangAccess.protectionDomain:(Ljava/lang/Class;)Ljava/security/ProtectionDomain;
            dup
            astore 1 /* pd */
            putfield java.lang.invoke.MethodHandles$Lookup.cachedProtectionDomain:Ljava/security/ProtectionDomain;
         3: .line 2466
      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 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 2485
            aload 0 /* lookupClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 2486
            aload 1 /* name */
            ldc "java.lang.invoke."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 2487
            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 2488
      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 2527
            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 2528
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.prevLookupClass:Ljava/lang/Class;
            ifnull 3
         2: .line 2529
            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.prevLookupClass: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;
            astore 1 /* cname */
         3: .line 2530
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            lookupswitch { // 12
                   -1: 11
                    0: 4
                    1: 6
                    9: 8
                   11: 9
                   15: 10
                   17: 7
                   25: 8
                   27: 9
                   31: 10
                   32: 5
                   95: 10
              default: 12
          }
         4: .line 2532
      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 "/noaccess"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         5: .line 2534
      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
         6: .line 2536
      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
         7: .line 2538
      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
         8: .line 2541
      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
         9: .line 2544
      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
        10: .line 2548
      StackMap locals:
      StackMap stack:
            aload 1 /* cname */
            areturn
        11: .line 2550
      StackMap locals:
      StackMap stack:
            ldc "/trusted"
            areturn
        12: .line 2552
      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 */
        13: .line 2553
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 14
            new java.lang.AssertionError
            dup
            aload 1 /* cname */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        14: .line 2554
      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   15     0   this  Ljava/lang/invoke/MethodHandles$Lookup;
            1   15     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 2595
            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 2596
            aload 0 /* this */
            bipush 6
            aload 1 /* refc */
            aload 4 /* method */
            aload 0 /* this */
            aload 4 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findBoundCallerLookup:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandles$Lookup;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethod:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandles$Lookup;)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 2679
            aload 1 /* refc */
            ldc Ljava/lang/invoke/MethodHandle;
            if_acmpne 3
         1: .line 2680
            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 2681
            aload 4 /* mh */
            ifnull 6
            aload 4 /* mh */
            areturn
        end local 4 // java.lang.invoke.MethodHandle mh
         3: .line 2682
      StackMap locals:
      StackMap stack:
            aload 1 /* refc */
            ldc Ljava/lang/invoke/VarHandle;
            if_acmpne 6
         4: .line 2683
            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 2684
            aload 4 /* mh */
            ifnull 6
            aload 4 /* mh */
            areturn
        end local 4 // java.lang.invoke.MethodHandle mh
         6: .line 2686
      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 2687
            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 2688
            aload 0 /* this */
            iload 4 /* refKind */
            aload 1 /* refc */
            aload 5 /* method */
            aload 0 /* this */
            aload 5 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findBoundCallerLookup:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandles$Lookup;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethod:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandles$Lookup;)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 2692
            ldc "invoke"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 2693
            aload 2 /* type */
            invokestatic java.lang.invoke.MethodHandles.invoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
         2: .line 2694
      StackMap locals:
      StackMap stack:
            ldc "invokeExact"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 2695
            aload 2 /* type */
            invokestatic java.lang.invoke.MethodHandles.exactInvoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
         4: .line 2696
      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 2697
      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 2701
            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 2702
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            pop
         3: .line 2703
            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 2753
            aload 1 /* refc */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 2
         1: .line 2754
            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 2756
      StackMap locals:
      StackMap stack:
            ldc "<init>"
            astore 3 /* name */
        start local 3 // java.lang.String name
         3: .line 2757
            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 2758
            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 2782
            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 2783
            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<?> ensureInitialized(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class targetClass
         0: .line 2808
            aload 1 /* targetClass */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 2
         1: .line 2809
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* targetClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is a primitive class"
            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
         2: .line 2810
      StackMap locals:
      StackMap stack:
            aload 1 /* targetClass */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 4
         3: .line 2811
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* targetClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is an array class"
            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
         4: .line 2813
      StackMap locals:
      StackMap stack:
            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.prevLookupClass: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;Ljava/lang/Class;I)Z
            ifne 6
         5: .line 2814
            aload 0 /* this */
            aload 1 /* targetClass */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.makeAccessException:(Ljava/lang/Class;)Ljava/lang/IllegalAccessException;
            athrow
         6: .line 2816
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* targetClass */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;)V
         7: .line 2819
            invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
            aload 1 /* targetClass */
            invokevirtual jdk.internal.misc.Unsafe.ensureClassInitialized:(Ljava/lang/Class;)V
         8: .line 2820
            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    9     0         this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    9     1  targetClass  Ljava/lang/Class<*>;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
    MethodParameters:
             Name  Flags
      targetClass  

  private java.lang.IllegalAccessException makeAccessException(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/IllegalAccessException;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class targetClass
         0: .line 2830
            new java.lang.StringBuilder
            dup
            ldc "access violation: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* targetClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
         1: .line 2831
            aload 0 /* this */
            invokestatic java.lang.invoke.MethodHandles.publicLookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            if_acmpne 4
         2: .line 2832
            new java.lang.StringBuilder
            dup
            aload 2 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", from public Lookup"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* message */
         3: .line 2833
            goto 10
         4: .line 2834
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            astore 3 /* m */
        start local 3 // java.lang.Module m
         5: .line 2835
            new java.lang.StringBuilder
            dup
            aload 2 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", from "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* m */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* message */
         6: .line 2836
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.prevLookupClass:Ljava/lang/Class;
            ifnull 10
         7: .line 2837
            new java.lang.StringBuilder
            dup
            aload 2 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", previous lookup "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 2838
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.prevLookupClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.prevLookupClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 2837
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* message */
        end local 3 // java.lang.Module m
        10: .line 2841
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalAccessException
            dup
            aload 2 /* message */
            invokespecial java.lang.IllegalAccessException.<init>:(Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String message
        end local 1 // java.lang.Class targetClass
        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  targetClass  Ljava/lang/Class<*>;
            1   11     2      message  Ljava/lang/String;
            5   10     3            m  Ljava/lang/Module;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/IllegalAccessException;
    MethodParameters:
             Name  Flags
      targetClass  

  public java.lang.Class<?> accessClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class targetClass
         0: .line 2913
            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.prevLookupClass: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;Ljava/lang/Class;I)Z
            ifne 2
         1: .line 2914
            aload 0 /* this */
            aload 1 /* targetClass */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.makeAccessException:(Ljava/lang/Class;)Ljava/lang/IllegalAccessException;
            athrow
         2: .line 2916
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* targetClass */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;)V
         3: .line 2917
            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 2995
            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 2996
            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 2997
            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 2998
            aload 5 /* specialLookup */
            bipush 7
            aload 1 /* refc */
            aload 6 /* method */
            aload 0 /* this */
            aload 6 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findBoundCallerLookup:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandles$Lookup;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethod:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandles$Lookup;)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 3020
            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 3021
            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 3044
            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 3045
            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 3117
            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 3118
            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 3119
            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 3142
            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 3143
            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 3167
            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 3168
            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 3242
            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 3243
            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 3244
            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 3297
            aload 1 /* receiver */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 4 /* refc */
        start local 4 // java.lang.Class refc
         1: .line 3298
            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 3299
            aload 0 /* this */
            aload 4 /* refc */
            aload 5 /* method */
            aload 0 /* this */
            aload 5 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findBoundCallerLookup:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandles$Lookup;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoRestrictInvokeSpecial:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* mh */
        start local 6 // java.lang.invoke.MethodHandle mh
         3: .line 3300
            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 3301
            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 3302
            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 3303
            ldc " is not assignable from receiver class "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 3304
            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 3301
            invokespecial java.lang.IllegalAccessException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 3306
      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 3336
            aload 1 /* m */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            ldc Ljava/lang/invoke/MethodHandle;
            if_acmpne 3
         1: .line 3337
            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 3338
            aload 2 /* mh */
            ifnull 3
            aload 2 /* mh */
            areturn
        end local 2 // java.lang.invoke.MethodHandle mh
         3: .line 3340
      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 3341
            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 3342
            aload 2 /* mh */
            ifnull 6
            aload 2 /* mh */
            areturn
        end local 2 // java.lang.invoke.MethodHandle mh
         6: .line 3344
      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 3345
            aload 2 /* method */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            istore 3 /* refKind */
        start local 3 // byte refKind
         8: .line 3346
            iload 3 /* refKind */
            bipush 7
            if_icmpne 10
         9: .line 3347
            iconst_5
            istore 3 /* refKind */
        10: .line 3348
      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 3350
      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 3351
            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.findBoundCallerLookup:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandles$Lookup;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandles$Lookup;)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 3355
            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 3356
            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 3357
      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 3361
            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 3362
            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 3363
      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 3397
            aload 0 /* this */
            aload 2 /* specialCaller */
            aload 1 /* m */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSpecialCaller:(Ljava/lang/Class;Ljava/lang/Class;)V
         1: .line 3398
            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 3399
            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 3400
            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 3402
      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.findBoundCallerLookup:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandles$Lookup;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandles$Lookup;)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 3430
            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 3431
            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 3433
      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 3434
            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 3456
            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 3488
            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 3492
            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 3493
            iload 2 /* isSetter */
            ifeq 7
            aload 3 /* field */
            invokevirtual java.lang.invoke.MemberName.isFinal:()Z
            ifeq 7
         2: .line 3494
            aload 3 /* field */
            invokevirtual java.lang.invoke.MemberName.isTrustedFinalField:()Z
            ifeq 7
         3: .line 3495
            aload 3 /* field */
            invokevirtual java.lang.invoke.MemberName.isStatic:()Z
            ifeq 4
            ldc "static final field has no write access"
            goto 5
         4: .line 3496
      StackMap locals: java.lang.invoke.MemberName
      StackMap stack:
            ldc "final field has no write access"
         5: .line 3495
      StackMap locals:
      StackMap stack: java.lang.String
            astore 4 /* msg */
        start local 4 // java.lang.String msg
         6: .line 3497
            aload 3 /* field */
            aload 4 /* msg */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MemberName.makeAccessException:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/IllegalAccessException;
            athrow
        end local 4 // java.lang.String msg
         7: .line 3500
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 11
            iload 2 /* isSetter */
            ifeq 9
         8: .line 3501
            aload 3 /* field */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsSetter:(B)Z
            ifne 11
            goto 10
         9: .line 3502
      StackMap locals:
      StackMap stack:
            aload 3 /* field */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsGetter:(B)Z
            ifne 11
      StackMap locals:
      StackMap stack:
        10: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 3504
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            invokevirtual java.lang.reflect.Field.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 3505
            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   15     0      this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   15     1         f  Ljava/lang/reflect/Field;
            0   15     2  isSetter  Z
            1   15     3     field  Ljava/lang/invoke/MemberName;
            6    7     4       msg  Ljava/lang/String;
           14   15     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 3580
            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 3581
            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 3582
            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 3583
            aload 1 /* f */
            invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
            aload 2 /* getField */
            aload 3 /* putField */
         4: .line 3582
            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 3605
            aload 1 /* target */
            invokevirtual java.lang.invoke.MethodHandle.isCrackable:()Z
            ifne 2
         1: .line 3606
            ldc "not a direct method handle"
            invokestatic java.lang.invoke.MethodHandleStatics.newIllegalArgumentException:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         2: .line 3608
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            invokevirtual java.lang.invoke.MethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
            astore 2 /* member */
        start local 2 // java.lang.invoke.MemberName member
         3: .line 3609
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            astore 3 /* defc */
        start local 3 // java.lang.Class defc
         4: .line 3610
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            istore 4 /* refKind */
        start local 4 // byte refKind
         5: .line 3611
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 6
            iload 4 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsValid:(I)Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 3612
      StackMap locals: java.lang.invoke.MemberName java.lang.Class int
      StackMap stack:
            iload 4 /* refKind */
            bipush 7
            if_icmpne 8
            aload 1 /* target */
            invokevirtual java.lang.invoke.MethodHandle.isInvokeSpecial:()Z
            ifne 8
         7: .line 3616
            iconst_5
            istore 4 /* refKind */
         8: .line 3617
      StackMap locals:
      StackMap stack:
            iload 4 /* refKind */
            iconst_5
            if_icmpne 10
            aload 3 /* defc */
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 10
         9: .line 3619
            bipush 9
            istore 4 /* refKind */
        10: .line 3622
      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
        11: .line 3623
            aload 0 /* this */
            aload 3 /* defc */
            aload 2 /* member */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
        12: .line 3624
            goto 15
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
        13: astore 5 /* ex */
        start local 5 // java.lang.IllegalAccessException ex
        14: .line 3625
            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
        15: .line 3627
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_m1
            if_icmpeq 19
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.isCallerSensitive:()Z
            ifeq 19
        16: .line 3628
            aload 1 /* target */
            invokevirtual java.lang.invoke.MethodHandle.internalCallerClass:()Ljava/lang/Class;
            astore 5 /* callerClass */
        start local 5 // java.lang.Class callerClass
        17: .line 3629
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupModes:()I
            bipush 64
            iand
            ifeq 18
            aload 5 /* callerClass */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            if_acmpeq 19
        18: .line 3630
      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
        19: .line 3633
      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   20     0         this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   20     1       target  Ljava/lang/invoke/MethodHandle;
            3   20     2       member  Ljava/lang/invoke/MemberName;
            4   20     3         defc  Ljava/lang/Class<*>;
            5   20     4      refKind  B
           14   15     5           ex  Ljava/lang/IllegalAccessException;
           17   19     5  callerClass  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
          10    12      13  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 3639
            aload 0 /* this */
            aload 2 /* refc */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSymbolicClass:(Ljava/lang/Class;)V
         1: .line 3640
            aload 3 /* name */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 3641
            aload 4 /* type */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 3642
            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;
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
         4: .line 3643
            ldc Ljava/lang/NoSuchFieldException;
         5: .line 3642
            invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;ILjava/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 3647
            aload 0 /* this */
            aload 2 /* refc */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSymbolicClass:(Ljava/lang/Class;)V
         1: .line 3648
            aload 3 /* name */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 3649
            aload 4 /* type */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 3650
            aload 0 /* this */
            iload 1 /* refKind */
            aload 3 /* name */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkMethodName:(BLjava/lang/String;)V
         4: .line 3651
            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;
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
         5: .line 3652
            ldc Ljava/lang/NoSuchMethodException;
         6: .line 3651
            invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;ILjava/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=6, 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 3656
            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 3657
            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 3658
            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 3659
            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;
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
         4: .line 3660
            ldc Ljava/lang/ReflectiveOperationException;
         5: .line 3659
            invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;ILjava/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=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 3665
            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 3666
            aconst_null
            areturn
         2: .line 3668
      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 3669
            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 3670
            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;
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            invokevirtual java.lang.invoke.MemberName$Factory.resolveOrNull:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;I)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 3674
            aload 0 /* this */
            aload 1 /* refc */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.isClassAccessible:(Ljava/lang/Class;)Z
            ifne 2
         1: .line 3675
            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 3677
      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=4, locals=3, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
         0: .line 3680
            aload 1 /* refc */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 3681
            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 3682
            aload 2 /* caller */
            ifnull 3
            aload 1 /* refc */
            aload 2 /* caller */
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.prevLookupClass: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;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 3687
            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 3688
            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 3689
      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.invoke.MethodHandles$Lookup findBoundCallerLookup(java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandles$Lookup;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.invoke.MemberName m
         0: .line 3698
            aload 1 /* m */
            invokestatic java.lang.invoke.MethodHandleNatives.isCallerSensitive:(Ljava/lang/invoke/MemberName;)Z
            ifeq 2
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupModes:()I
            bipush 64
            iand
            ifne 2
         1: .line 3700
            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
         2: .line 3702
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // java.lang.invoke.MemberName 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/invoke/MemberName;
    Exceptions:
      throws java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      m     

  public boolean hasPrivateAccess();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
         0: .line 3717
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.hasFullPrivilegeAccess:()Z
            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;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated(since = "14")

  public boolean hasFullPrivilegeAccess();
    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 3732
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            bipush 18
            iand
            bipush 18
            if_icmpne 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<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
         0: .line 3740
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_m1
            if_icmpne 1
            return
         1: .line 3742
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* smgr */
        start local 2 // java.lang.SecurityManager smgr
         2: .line 3743
            aload 2 /* smgr */
            ifnonnull 3
            return
         3: .line 3746
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.hasFullPrivilegeAccess:()Z
            istore 3 /* fullPrivilegeLookup */
        start local 3 // boolean fullPrivilegeLookup
         4: .line 3747
            iload 3 /* fullPrivilegeLookup */
            ifeq 6
         5: .line 3748
            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 3749
      StackMap locals: int
      StackMap stack:
            aload 1 /* refc */
            invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
         7: .line 3753
      StackMap locals:
      StackMap stack:
            iload 3 /* fullPrivilegeLookup */
            ifne 9
         8: .line 3754
            aload 2 /* smgr */
            getstatic sun.security.util.SecurityConstants.GET_CLASSLOADER_PERMISSION:Ljava/lang/RuntimePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         9: .line 3756
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean fullPrivilegeLookup
        end local 2 // java.lang.SecurityManager smgr
        end local 1 // java.lang.Class refc
        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                 refc  Ljava/lang/Class<*>;
            2   10     2                 smgr  Ljava/lang/SecurityManager;
            4   10     3  fullPrivilegeLookup  Z
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
      Name  Flags
      refc  

  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 3768
            aload 1 /* refc */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 3769
            aload 2 /* m */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 3771
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_m1
            if_icmpne 3
            return
         3: .line 3773
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* smgr */
        start local 3 // java.lang.SecurityManager smgr
         4: .line 3774
            aload 3 /* smgr */
            ifnonnull 5
            return
         5: .line 3777
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.hasFullPrivilegeAccess:()Z
            istore 4 /* fullPrivilegeLookup */
        start local 4 // boolean fullPrivilegeLookup
         6: .line 3778
            iload 4 /* fullPrivilegeLookup */
            ifeq 8
         7: .line 3779
            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 9
         8: .line 3780
      StackMap locals: int
      StackMap stack:
            aload 1 /* refc */
            invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
         9: .line 3784
      StackMap locals:
      StackMap stack:
            aload 2 /* m */
            invokevirtual java.lang.invoke.MemberName.isPublic:()Z
            ifeq 10
            return
        10: .line 3785
      StackMap locals:
      StackMap stack:
            iload 4 /* fullPrivilegeLookup */
            ifne 12
        11: .line 3786
            aload 3 /* smgr */
            getstatic sun.security.util.SecurityConstants.CHECK_MEMBER_ACCESS_PERMISSION:Ljava/lang/RuntimePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        12: .line 3790
      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
        13: .line 3791
            iload 4 /* fullPrivilegeLookup */
            ifne 15
            aload 5 /* defc */
            aload 1 /* refc */
            if_acmpeq 15
        14: .line 3792
            aload 5 /* defc */
            invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
        15: .line 3794
      StackMap locals: java.lang.Class
      StackMap stack:
            return
        end local 5 // java.lang.Class defc
        end local 4 // boolean fullPrivilegeLookup
        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   16     0                 this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   16     1                 refc  Ljava/lang/Class<*>;
            0   16     2                    m  Ljava/lang/invoke/MemberName;
            4   16     3                 smgr  Ljava/lang/SecurityManager;
            6   16     4  fullPrivilegeLookup  Z
           13   16     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 3797
            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 3799
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
            ifeq 6
         4: .line 3800
            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 3801
      StackMap locals: int
      StackMap stack:
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.isMethod:()Z
            ifne 9
         7: .line 3802
            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 3803
      StackMap locals:
      StackMap stack:
            iload 4 /* wantStatic */
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.isStatic:()Z
            if_icmpeq 14
        10: .line 3804
            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 3806
      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 3807
      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 3811
            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 3813
            iload 4 /* wantStatic */
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.isStatic:()Z
            if_icmpeq 8
         4: .line 3814
            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 3816
      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 3817
      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=6, 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 3822
            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 3823
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsValid:(I)Z
            ifeq 3
         2: .line 3824
            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 3825
      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 3826
            iload 4 /* allowedModes */
            iconst_m1
            if_icmpne 6
            return
         6: .line 3827
      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 3828
            iload 5 /* mods */
            invokestatic java.lang.reflect.Modifier.isProtected:(I)Z
            ifeq 13
         8: .line 3829
            iload 1 /* refKind */
            iconst_5
            if_icmpne 13
         9: .line 3830
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            ldc Ljava/lang/Object;
            if_acmpne 13
        10: .line 3831
            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 3832
            aload 2 /* refc */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 13
        12: .line 3846
            iload 5 /* mods */
            iconst_5
            ixor
            istore 5 /* mods */
        13: .line 3848
      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 3850
            iload 5 /* mods */
            iconst_4
            ixor
            istore 5 /* mods */
        15: .line 3852
      StackMap locals:
      StackMap stack:
            iload 5 /* mods */
            invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
            ifeq 18
        16: .line 3853
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsSetter:(B)Z
            ifeq 18
        17: .line 3854
            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 3855
      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 3856
            iload 6 /* requestedModes */
            iload 4 /* allowedModes */
            iand
            ifeq 25
        20: .line 3857
            aload 2 /* refc */
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
        21: .line 3858
            iload 5 /* mods */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.previousLookupClass:()Ljava/lang/Class;
            iload 4 /* allowedModes */
        22: .line 3857
            invokestatic sun.invoke.util.VerifyAccess.isMemberAccessible:(Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/Class;I)Z
        23: .line 3858
            ifeq 28
        24: .line 3859
            return
        25: .line 3862
      StackMap locals: int
      StackMap stack:
            iload 6 /* requestedModes */
            iconst_4
            iand
            ifeq 28
            iload 4 /* allowedModes */
            bipush 8
            iand
            ifeq 28
        26: .line 3863
            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 3864
            return
        28: .line 3866
      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=4, 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 3870
            aload 2 /* m */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            astore 3 /* defc */
        start local 3 // java.lang.Class defc
         1: .line 3871
            aload 2 /* m */
            invokevirtual java.lang.invoke.MemberName.getModifiers:()I
            istore 4 /* mods */
        start local 4 // int mods
         2: .line 3873
            aload 3 /* defc */
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 6
         3: .line 3874
            aload 3 /* defc */
            aload 1 /* refc */
            if_acmpeq 5
         4: .line 3875
            aload 1 /* refc */
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 6
         5: .line 3873
      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 3876
            iload 5 /* classOK */
            ifne 15
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            bipush 8
            iand
            ifeq 15
         9: .line 3878
            aload 3 /* defc */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            aconst_null
            bipush 95
            invokestatic sun.invoke.util.VerifyAccess.isClassAccessible:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;I)Z
            ifeq 13
        10: .line 3879
            aload 3 /* defc */
            aload 1 /* refc */
            if_acmpeq 12
        11: .line 3880
            aload 1 /* refc */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            aconst_null
            bipush 95
            invokestatic sun.invoke.util.VerifyAccess.isClassAccessible:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;I)Z
            ifeq 13
        12: .line 3878
      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 3882
      StackMap locals:
      StackMap stack:
            iload 5 /* classOK */
            ifne 17
        16: .line 3883
            ldc "class is not public"
            areturn
        17: .line 3884
      StackMap locals:
      StackMap stack:
            iload 4 /* mods */
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 19
        18: .line 3885
            ldc "access to public member failed"
            areturn
        19: .line 3886
      StackMap locals:
      StackMap stack:
            iload 4 /* mods */
            invokestatic java.lang.reflect.Modifier.isPrivate:(I)Z
            ifeq 21
        20: .line 3887
            ldc "member is private"
            areturn
        21: .line 3888
      StackMap locals:
      StackMap stack:
            iload 4 /* mods */
            invokestatic java.lang.reflect.Modifier.isProtected:(I)Z
            ifeq 23
        22: .line 3889
            ldc "member is protected"
            areturn
        23: .line 3890
      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 3894
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            istore 3 /* allowedModes */
        start local 3 // int allowedModes
         1: .line 3895
            iload 3 /* allowedModes */
            iconst_m1
            if_icmpne 2
            return
         2: .line 3896
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupModes:()I
            iconst_2
            iand
            ifeq 5
         3: .line 3897
            aload 1 /* specialCaller */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            if_acmpeq 8
         4: .line 3899
            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 3900
      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 3901
            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 3900
            athrow
         8: .line 3902
      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 3907
            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 3908
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_m1
            if_icmpeq 4
         2: .line 3909
            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 3910
            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 3911
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         5: .line 3912
      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 3915
            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 3917
      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 3918
            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 3920
      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 3921
            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 3922
      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 3923
            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 3924
      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 3925
      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.invoke.MethodHandles$Lookup);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandles$Lookup;)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.invoke.MethodHandles$Lookup callerLookup
         0: .line 3932
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* refc */
            aload 3 /* method */
            iconst_1
            iconst_1
            aload 4 /* callerLookup */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;ZZLjava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MethodHandles$Lookup callerLookup
        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  callerLookup  Ljava/lang/invoke/MethodHandles$Lookup;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
              Name  Flags
      refKind       
      refc          
      method        
      callerLookup  

  private java.lang.invoke.MethodHandle getDirectMethodNoRestrictInvokeSpecial(java.lang.Class<?>, java.lang.invoke.MemberName, java.lang.invoke.MethodHandles$Lookup);
    descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandles$Lookup;)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.invoke.MethodHandles$Lookup callerLookup
         0: .line 3938
            aload 0 /* this */
            bipush 7
            aload 1 /* refc */
            aload 2 /* method */
            iconst_1
            iconst_0
            aload 3 /* callerLookup */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;ZZLjava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.invoke.MethodHandles$Lookup callerLookup
        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  callerLookup  Ljava/lang/invoke/MethodHandles$Lookup;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
              Name  Flags
      refc          
      method        
      callerLookup  

  private java.lang.invoke.MethodHandle getDirectMethodNoSecurityManager(byte, java.lang.Class<?>, java.lang.invoke.MemberName, java.lang.invoke.MethodHandles$Lookup);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandles$Lookup;)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.invoke.MethodHandles$Lookup callerLookup
         0: .line 3944
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* refc */
            aload 3 /* method */
            iconst_0
            iconst_1
            aload 4 /* callerLookup */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;ZZLjava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MethodHandles$Lookup callerLookup
        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  callerLookup  Ljava/lang/invoke/MethodHandles$Lookup;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
              Name  Flags
      refKind       
      refc          
      method        
      callerLookup  

  private java.lang.invoke.MethodHandle getDirectMethodCommon(byte, java.lang.Class<?>, java.lang.invoke.MemberName, boolean, boolean, java.lang.invoke.MethodHandles$Lookup);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;ZZLjava/lang/invoke/MethodHandles$Lookup;)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.invoke.MethodHandles$Lookup boundCaller
         0: .line 3951
            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 3953
            iload 4 /* checkSecurity */
            ifeq 3
         2: .line 3954
            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 3955
      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 3957
      StackMap locals:
      StackMap stack:
            iload 1 /* refKind */
            bipush 7
            if_icmpne 24
         5: .line 3958
            aload 2 /* refc */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            if_acmpeq 24
         6: .line 3959
            aload 2 /* refc */
            invokevirtual java.lang.Class.isInterface:()Z
            ifne 24
         7: .line 3960
            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 3961
            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 3962
            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 3971
      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 3974
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 7 /* refcAsSuper */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 7 /* refcAsSuper */
        12: .line 3975
            new java.lang.invoke.MemberName
            dup
            aload 7 /* refcAsSuper */
        13: .line 3976
            aload 3 /* method */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
        14: .line 3977
            aload 3 /* method */
            invokevirtual java.lang.invoke.MemberName.getMethodType:()Ljava/lang/invoke/MethodType;
        15: .line 3978
            bipush 7
        16: .line 3975
            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 3979
            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;
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            invokevirtual java.lang.invoke.MemberName$Factory.resolveOrNull:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;I)Ljava/lang/invoke/MemberName;
            astore 8 /* m2 */
        18: .line 3980
            aload 8 /* m2 */
            ifnonnull 20
        19: .line 3981
            aload 2 /* refc */
            aload 7 /* refcAsSuper */
            if_acmpne 11
        20: .line 3982
      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 3983
      StackMap locals:
      StackMap stack:
            aload 8 /* m2 */
            astore 3 /* method */
        22: .line 3984
            aload 7 /* refcAsSuper */
            astore 2 /* refc */
        23: .line 3986
            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 3988
      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 3989
            aload 7 /* dmh */
            astore 8 /* mh */
        start local 8 // java.lang.invoke.MethodHandle mh
        26: .line 3991
            iload 5 /* doRestrict */
            ifeq 27
            iload 1 /* refKind */
            bipush 7
            if_icmpeq 28
        27: .line 3992
      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 3993
      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 3995
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* method */
            aload 8 /* mh */
            aload 6 /* boundCaller */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.maybeBindCaller:(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;
            astore 8 /* mh */
        30: .line 3996
            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 3997
            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.invoke.MethodHandles$Lookup boundCaller
        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    boundCaller  Ljava/lang/invoke/MethodHandles$Lookup;
           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/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
               Name  Flags
      refKind        
      refc           
      method         
      checkSecurity  
      doRestrict     
      boundCaller    

  private java.lang.invoke.MethodHandle maybeBindCaller(java.lang.invoke.MemberName, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandles$Lookup);
    descriptor: (Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, 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.invoke.MethodHandles$Lookup boundCaller
         0: .line 4001
            aload 3 /* boundCaller */
            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 4002
      StackMap locals:
      StackMap stack:
            aload 2 /* mh */
            areturn
         2: .line 4006
      StackMap locals:
      StackMap stack:
            aload 3 /* boundCaller */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupModes:()I
            bipush 64
            iand
            ifne 4
         3: .line 4007
            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
         4: .line 4009
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 5
            aload 3 /* boundCaller */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.hasFullPrivilegeAccess:()Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 4011
      StackMap locals:
      StackMap stack:
            aload 2 /* mh */
            aload 3 /* boundCaller */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            invokestatic java.lang.invoke.MethodHandleImpl.bindCaller:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* cbmh */
        start local 4 // java.lang.invoke.MethodHandle cbmh
         6: .line 4013
            aload 4 /* cbmh */
            areturn
        end local 4 // java.lang.invoke.MethodHandle cbmh
        end local 3 // java.lang.invoke.MethodHandles$Lookup boundCaller
        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  boundCaller  Ljava/lang/invoke/MethodHandles$Lookup;
            6    7     4         cbmh  Ljava/lang/invoke/MethodHandle;
    Exceptions:
      throws java.lang.IllegalAccessException
    MethodParameters:
             Name  Flags
      method       
      mh           
      boundCaller  

  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 4019
            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 4024
            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 4029
            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 4031
            iload 4 /* checkSecurity */
            ifeq 3
         2: .line 4032
            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 4033
      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 4034
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindHasReceiver:(B)Z
            ifeq 7
         5: .line 4035
            aload 0 /* this */
            aload 3 /* field */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.restrictProtectedReceiver:(Ljava/lang/invoke/MemberName;)Z
            ifeq 7
         6: .line 4034
            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 4036
            iload 6 /* doRestrict */
            ifeq 11
        10: .line 4037
            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 4038
      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 4044
            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 4050
            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 4055
            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 4056
      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 4057
      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 4058
      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 4060
      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 4061
            iload 6 /* checkSecurity */
            ifeq 9
         8: .line 4062
            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 4064
      StackMap locals:
      StackMap stack:
            aload 5 /* putField */
            invokevirtual java.lang.invoke.MemberName.isFinal:()Z
            ifne 13
        10: .line 4069
            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 4070
            iload 6 /* checkSecurity */
            ifeq 13
        12: .line 4071
            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 4074
      StackMap locals:
      StackMap stack:
            iload 1 /* getRefKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindHasReceiver:(B)Z
            ifeq 16
        14: .line 4075
            aload 0 /* this */
            aload 4 /* getField */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.restrictProtectedReceiver:(Ljava/lang/invoke/MemberName;)Z
            ifeq 16
        15: .line 4074
            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 4076
            iload 7 /* doRestrict */
            ifeq 23
        19: .line 4077
            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 4079
      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 4080
            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 4082
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            astore 3 /* refc */
        23: .line 4084
      StackMap locals:
      StackMap stack:
            aload 4 /* getField */
            aload 3 /* refc */
            aload 4 /* getField */
            invokevirtual java.lang.invoke.MemberName.getFieldType:()Ljava/lang/Class;
        24: .line 4085
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_m1
            if_icmpne 25
            aload 4 /* getField */
            invokevirtual java.lang.invoke.MemberName.isTrustedFinalField:()Z
            ifne 25
            iconst_1
            goto 26
      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
        25: iconst_0
        26: .line 4084
      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
            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   27     0           this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   27     1     getRefKind  B
            0   27     2     putRefKind  B
            0   27     3           refc  Ljava/lang/Class<*>;
            0   27     4       getField  Ljava/lang/invoke/MemberName;
            0   27     5       putField  Ljava/lang/invoke/MemberName;
            0   27     6  checkSecurity  Z
           18   27     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 4090
            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 4095
            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 4100
            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 4101
      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 4103
            iload 3 /* checkSecurity */
            ifeq 4
         3: .line 4104
            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 4105
      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 4106
      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 4114
            aload 4 /* type */
            instanceof java.lang.Class
            ifne 2
            aload 4 /* type */
            instanceof java.lang.invoke.MethodType
            ifne 2
         1: .line 4115
            new java.lang.InternalError
            dup
            ldc "unresolved MemberName"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 4116
      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 4117
            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 4118
            aload 6 /* mh */
            ifnull 7
         5: .line 4119
            aload 0 /* this */
            aload 2 /* defc */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSymbolicClass:(Ljava/lang/Class;)V
         6: .line 4120
            aload 6 /* mh */
            areturn
         7: .line 4122
      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 4124
            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 4125
            aload 6 /* mh */
            ifnull 15
        10: .line 4126
            aload 6 /* mh */
            areturn
        11: .line 4128
      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 4130
            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 4131
            aload 6 /* mh */
            ifnull 15
        14: .line 4132
            aload 6 /* mh */
            areturn
        15: .line 4135
      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 4136
            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 4137
            aload 6 /* mh */
            instanceof java.lang.invoke.DirectMethodHandle
            ifeq 24
        18: .line 4138
            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 4139
            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 4140
            aload 8 /* key */
            ifnull 22
        21: .line 4141
            aload 8 /* key */
            invokevirtual java.lang.invoke.MemberName.asNormalOriginal:()Ljava/lang/invoke/MemberName;
            astore 8 /* key */
        22: .line 4143
      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 4144
            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 4147
      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 4150
            iload 1 /* refKind */
            bipush 7
            if_icmpne 2
         1: .line 4151
            iconst_0
            ireturn
         2: .line 4153
      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 4154
            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 4155
            aload 3 /* member */
            invokevirtual java.lang.invoke.MemberName.isPublic:()Z
            ifeq 6
         5: .line 4156
            aload 3 /* member */
            invokevirtual java.lang.invoke.MemberName.isCallerSensitive:()Z
            ifeq 7
         6: .line 4157
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         7: .line 4159
      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 4160
            aload 4 /* loader */
            ifnull 17
         9: .line 4161
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 5 /* sysl */
        start local 5 // java.lang.ClassLoader sysl
        10: .line 4162
            iconst_0
            istore 6 /* found */
        start local 6 // boolean found
        11: .line 4163
            goto 14
        12: .line 4164
      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 4165
      StackMap locals:
      StackMap stack:
            aload 5 /* sysl */
            invokevirtual java.lang.ClassLoader.getParent:()Ljava/lang/ClassLoader;
            astore 5 /* sysl */
        14: .line 4163
      StackMap locals:
      StackMap stack:
            aload 5 /* sysl */
            ifnonnull 12
        15: .line 4167
      StackMap locals:
      StackMap stack:
            iload 6 /* found */
            ifne 17
        16: .line 4168
            iconst_0
            ireturn
        end local 6 // boolean found
        end local 5 // java.lang.ClassLoader sysl
        17: .line 4172
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.invoke.MethodHandles.publicLookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            iload 1 /* refKind */
        18: .line 4173
            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 4172
            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 4174
            aload 5 /* resolved2 */
            ifnonnull 22
        21: .line 4175
            iconst_0
            ireturn
        22: .line 4177
      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 4178
            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 4179
            iconst_0
            ireturn
        26: .line 4181
      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=6, 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 4185
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsField:(B)Z
            ifeq 2
         1: .line 4186
            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 4187
      StackMap locals:
      StackMap stack:
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsMethod:(B)Z
            ifeq 4
         3: .line 4188
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* defc */
            aload 3 /* member */
            aload 0 /* this */
            aload 3 /* member */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findBoundCallerLookup:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandles$Lookup;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;
            areturn
         4: .line 4189
      StackMap locals:
      StackMap stack:
            iload 1 /* refKind */
            bipush 8
            if_icmpne 6
         5: .line 4190
            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 4193
      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
  ClassDefiner = java.lang.invoke.MethodHandles$Lookup$ClassDefiner of java.lang.invoke.MethodHandles$Lookup
  ClassFile = java.lang.invoke.MethodHandles$Lookup$ClassFile of java.lang.invoke.MethodHandles$Lookup
  public final ClassOption = java.lang.invoke.MethodHandles$Lookup$ClassOption of java.lang.invoke.MethodHandles$Lookup
  public final AccessMode = java.lang.invoke.VarHandle$AccessMode of java.lang.invoke.VarHandle