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

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

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

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

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

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

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

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

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

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

  private static final boolean ALLOW_NESTMATE_ACCESS;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 349
            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 500
            getstatic java.lang.invoke.MethodHandles.IMPL_NAMES:Ljava/lang/invoke/MemberName$Factory;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
         4: .line 506
            new java.lang.invoke.MethodHandles$Lookup
            dup
            ldc Ljava/lang/Object;
            iconst_1
            invokespecial java.lang.invoke.MethodHandles$Lookup.<init>:(Ljava/lang/Class;I)V
            putstatic java.lang.invoke.MethodHandles$Lookup.PUBLIC_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
         5: .line 509
            new java.lang.invoke.MethodHandles$Lookup
            dup
            ldc Ljava/lang/Object;
            iconst_m1
            invokespecial java.lang.invoke.MethodHandles$Lookup.<init>:(Ljava/lang/Class;I)V
            putstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
         6: .line 1340
            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 388
            iload 0 /* mods */
            bipush 7
            iand
            istore 0 /* mods */
         1: .line 389
            iload 0 /* mods */
            ifeq 2
            iload 0 /* mods */
            goto 3
      StackMap locals:
      StackMap stack:
         2: bipush 8
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 0 // int mods
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  mods  I
    MethodParameters:
      Name  Flags
      mods  

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

  private java.lang.Class<?> lookupClassOrNull();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
         0: .line 406
            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 427
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            bipush 15
            iand
            ireturn
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/MethodHandles$Lookup;

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

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

  public java.lang.invoke.MethodHandles$Lookup in(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/invoke/MethodHandles$Lookup;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class requestedLookupClass
         0: .line 474
            aload 1 /* requestedLookupClass */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
         1: .line 475
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_m1
            if_icmpne 3
         2: .line 476
            new java.lang.invoke.MethodHandles$Lookup
            dup
            aload 1 /* requestedLookupClass */
            bipush 15
            invokespecial java.lang.invoke.MethodHandles$Lookup.<init>:(Ljava/lang/Class;I)V
            areturn
         3: .line 477
      StackMap locals:
      StackMap stack:
            aload 1 /* requestedLookupClass */
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            if_acmpne 5
         4: .line 478
            aload 0 /* this */
            areturn
         5: .line 479
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            bipush 11
            iand
            istore 2 /* newModes */
        start local 2 // int newModes
         6: .line 480
            iload 2 /* newModes */
            bipush 8
            iand
            ifeq 9
         7: .line 481
            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 9
         8: .line 482
            iload 2 /* newModes */
            bipush -11
            iand
            istore 2 /* newModes */
         9: .line 485
      StackMap locals: int
      StackMap stack:
            iload 2 /* newModes */
            iconst_2
            iand
            ifeq 12
        10: .line 486
            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 12
        11: .line 487
            iload 2 /* newModes */
            bipush -3
            iand
            istore 2 /* newModes */
        12: .line 489
      StackMap locals:
      StackMap stack:
            iload 2 /* newModes */
            iconst_1
            iand
            ifeq 15
        13: .line 490
            aload 1 /* requestedLookupClass */
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            invokestatic sun.invoke.util.VerifyAccess.isClassAccessible:(Ljava/lang/Class;Ljava/lang/Class;I)Z
            ifne 15
        14: .line 493
            iconst_0
            istore 2 /* newModes */
        15: .line 495
      StackMap locals:
      StackMap stack:
            aload 1 /* requestedLookupClass */
            iload 2 /* newModes */
            invokestatic java.lang.invoke.MethodHandles$Lookup.checkUnprivilegedlookupClass:(Ljava/lang/Class;I)V
        16: .line 496
            new java.lang.invoke.MethodHandles$Lookup
            dup
            aload 1 /* requestedLookupClass */
            iload 2 /* newModes */
            invokespecial java.lang.invoke.MethodHandles$Lookup.<init>:(Ljava/lang/Class;I)V
            areturn
        end local 2 // int newModes
        end local 1 // java.lang.Class requestedLookupClass
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   17     0                  this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   17     1  requestedLookupClass  Ljava/lang/Class<*>;
            6   17     2              newModes  I
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandles$Lookup;
    MethodParameters:
                      Name  Flags
      requestedLookupClass  

  private static void checkUnprivilegedlookupClass(java.lang.Class<?>, );
    descriptor: (Ljava/lang/Class;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Class lookupClass
        start local 1 // int allowedModes
         0: .line 512
            aload 0 /* lookupClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 513
            aload 2 /* name */
            ldc "java.lang.invoke."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 514
            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 518
      StackMap locals: java.lang.String
      StackMap stack:
            iload 1 /* allowedModes */
            bipush 15
            if_icmpne 9
            aload 0 /* lookupClass */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            ifnonnull 9
         4: .line 519
            aload 2 /* name */
            ldc "java."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
         5: .line 520
            aload 2 /* name */
            ldc "sun."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 9
         6: .line 521
            aload 2 /* name */
            ldc "sun.invoke."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 9
         7: .line 522
            aload 2 /* name */
            ldc "sun.reflect.ReflectionFactory"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 523
      StackMap locals:
      StackMap stack:
            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
         9: .line 526
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String name
        end local 1 // int allowedModes
        end local 0 // java.lang.Class lookupClass
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0   lookupClass  Ljava/lang/Class<*>;
            0   10     1  allowedModes  I
            1   10     2          name  Ljava/lang/String;
    Signature: (Ljava/lang/Class<*>;I)V
    MethodParameters:
              Name  Flags
      lookupClass   
      allowedModes  

  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 558
            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 559
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            lookupswitch { // 6
                   -1: 7
                    0: 2
                    1: 3
                    9: 4
                   11: 5
                   15: 6
              default: 8
          }
         2: .line 561
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* cname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/noaccess"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         3: .line 563
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* cname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/public"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         4: .line 565
      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
         5: .line 567
      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
         6: .line 569
      StackMap locals:
      StackMap stack:
            aload 1 /* cname */
            areturn
         7: .line 571
      StackMap locals:
      StackMap stack:
            ldc "/trusted"
            areturn
         8: .line 573
      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 */
         9: .line 574
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 10
            new java.lang.AssertionError
            dup
            aload 1 /* cname */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 575
      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   11     0   this  Ljava/lang/invoke/MethodHandles$Lookup;
            1   11     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 616
            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 617
            aload 0 /* this */
            aload 1 /* refc */
            aload 4 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
         2: .line 618
            aload 0 /* this */
            bipush 6
            aload 1 /* refc */
            aload 4 /* method */
            aload 0 /* this */
            aload 4 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findBoundCallerClass:(Ljava/lang/invoke/MemberName;)Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethod:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MemberName method
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    3     1    refc  Ljava/lang/Class<*>;
            0    3     2    name  Ljava/lang/String;
            0    3     3    type  Ljava/lang/invoke/MethodType;
            1    3     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 693
            aload 1 /* refc */
            ldc Ljava/lang/invoke/MethodHandle;
            if_acmpne 3
         1: .line 694
            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 695
            aload 4 /* mh */
            ifnull 3
            aload 4 /* mh */
            areturn
        end local 4 // java.lang.invoke.MethodHandle mh
         3: .line 697
      StackMap locals:
      StackMap stack:
            aload 1 /* refc */
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 4
            bipush 9
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_5
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* refKind */
        start local 4 // byte refKind
         6: .line 698
            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
         7: .line 699
            aload 0 /* this */
            aload 1 /* refc */
            aload 5 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
         8: .line 700
            aload 0 /* this */
            iload 4 /* refKind */
            aload 1 /* refc */
            aload 5 /* method */
            aload 0 /* this */
            aload 5 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findBoundCallerClass:(Ljava/lang/invoke/MemberName;)Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethod:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 5 // java.lang.invoke.MemberName method
        end local 4 // byte refKind
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    9     1     refc  Ljava/lang/Class<*>;
            0    9     2     name  Ljava/lang/String;
            0    9     3     type  Ljava/lang/invoke/MethodType;
            2    3     4       mh  Ljava/lang/invoke/MethodHandle;
            6    9     4  refKind  B
            7    9     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 704
            ldc "invoke"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 705
            aload 2 /* type */
            invokestatic java.lang.invoke.MethodHandles.invoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
         2: .line 706
      StackMap locals:
      StackMap stack:
            ldc "invokeExact"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 707
            aload 2 /* type */
            invokestatic java.lang.invoke.MethodHandles.exactInvoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
         4: .line 708
      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    5     0  this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    5     1  name  Ljava/lang/String;
            0    5     2  type  Ljava/lang/invoke/MethodType;
    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 756
            ldc "<init>"
            astore 3 /* name */
        start local 3 // java.lang.String name
         1: .line 757
            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
         2: .line 758
            aload 0 /* this */
            aload 1 /* refc */
            aload 4 /* ctor */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
         3: .line 759
            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    4     0  this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    4     1  refc  Ljava/lang/Class<*>;
            0    4     2  type  Ljava/lang/invoke/MethodType;
            1    4     3  name  Ljava/lang/String;
            2    4     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.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 837
            aload 0 /* this */
            aload 4 /* specialCaller */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSpecialCaller:(Ljava/lang/Class;)V
         1: .line 838
            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 839
            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 840
            aload 0 /* this */
            aload 1 /* refc */
            aload 6 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
         4: .line 841
            aload 5 /* specialLookup */
            bipush 7
            aload 1 /* refc */
            aload 6 /* method */
            aload 0 /* this */
            aload 6 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findBoundCallerClass:(Ljava/lang/invoke/MemberName;)Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethod:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 6 // java.lang.invoke.MemberName method
        end local 5 // java.lang.invoke.MethodHandles$Lookup specialLookup
        end local 4 // java.lang.Class specialCaller
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class refc
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    5     1           refc  Ljava/lang/Class<*>;
            0    5     2           name  Ljava/lang/String;
            0    5     3           type  Ljava/lang/invoke/MethodType;
            0    5     4  specialCaller  Ljava/lang/Class<*>;
            2    5     5  specialLookup  Ljava/lang/invoke/MethodHandles$Lookup;
            3    5     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 862
            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 863
            aload 0 /* this */
            aload 1 /* refc */
            aload 4 /* field */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
         2: .line 864
            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    3     0   this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    3     1   refc  Ljava/lang/Class<*>;
            0    3     2   name  Ljava/lang/String;
            0    3     3   type  Ljava/lang/Class<*>;
            1    3     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 885
            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 886
            aload 0 /* this */
            aload 1 /* refc */
            aload 4 /* field */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
         2: .line 887
            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    3     0   this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    3     1   refc  Ljava/lang/Class<*>;
            0    3     2   name  Ljava/lang/String;
            0    3     3   type  Ljava/lang/Class<*>;
            1    3     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 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 907
            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 908
            aload 0 /* this */
            aload 1 /* refc */
            aload 4 /* field */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
         2: .line 909
            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    3     0   this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    3     1   refc  Ljava/lang/Class<*>;
            0    3     2   name  Ljava/lang/String;
            0    3     3   type  Ljava/lang/Class<*>;
            1    3     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 929
            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 930
            aload 0 /* this */
            aload 1 /* refc */
            aload 4 /* field */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
         2: .line 931
            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    3     0   this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    3     1   refc  Ljava/lang/Class<*>;
            0    3     2   name  Ljava/lang/String;
            0    3     3   type  Ljava/lang/Class<*>;
            1    3     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 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=6, 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 981
            aload 1 /* receiver */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 4 /* refc */
        start local 4 // java.lang.Class refc
         1: .line 982
            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 983
            aload 0 /* this */
            aload 4 /* refc */
            aload 5 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSecurityManager:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
         3: .line 984
            aload 0 /* this */
            bipush 7
            aload 4 /* refc */
            aload 5 /* method */
            aload 0 /* this */
            aload 5 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findBoundCallerClass:(Ljava/lang/invoke/MemberName;)Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoRestrict:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* mh */
        start local 6 // java.lang.invoke.MethodHandle mh
         4: .line 985
            aload 6 /* mh */
            aload 1 /* receiver */
            invokevirtual java.lang.invoke.MethodHandle.bindReceiver:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            aload 5 /* method */
            invokevirtual java.lang.invoke.MethodHandle.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    5     0      this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    5     1  receiver  Ljava/lang/Object;
            0    5     2      name  Ljava/lang/String;
            0    5     3      type  Ljava/lang/invoke/MethodType;
            1    5     4      refc  Ljava/lang/Class<+Ljava/lang/Object;>;
            2    5     5    method  Ljava/lang/invoke/MemberName;
            4    5     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 1010
            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
         1: .line 1011
            aload 2 /* method */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            istore 3 /* refKind */
        start local 3 // byte refKind
         2: .line 1012
            iload 3 /* refKind */
            bipush 7
            if_icmpne 4
         3: .line 1013
            iconst_5
            istore 3 /* refKind */
         4: .line 1014
      StackMap locals: java.lang.invoke.MemberName int
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 5
            aload 2 /* method */
            invokevirtual java.lang.invoke.MemberName.isMethod:()Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 1015
      StackMap locals:
      StackMap stack:
            aload 1 /* m */
            invokevirtual java.lang.reflect.Method.isAccessible:()Z
            ifeq 6
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            goto 7
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodHandles$Lookup
         7: astore 4 /* lookup */
        start local 4 // java.lang.invoke.MethodHandles$Lookup lookup
         8: .line 1016
            aload 4 /* lookup */
            iload 3 /* refKind */
            aload 2 /* method */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            aload 2 /* method */
            aload 0 /* this */
            aload 2 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findBoundCallerClass:(Ljava/lang/invoke/MemberName;)Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethod:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MethodHandles$Lookup lookup
        end local 3 // byte refKind
        end local 2 // java.lang.invoke.MemberName method
        end local 1 // java.lang.reflect.Method m
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    9     1        m  Ljava/lang/reflect/Method;
            1    9     2   method  Ljava/lang/invoke/MemberName;
            2    9     3  refKind  B
            8    9     4   lookup  Ljava/lang/invoke/MethodHandles$Lookup;
    Exceptions:
      throws java.lang.IllegalAccessException
    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 1041
            aload 0 /* this */
            aload 2 /* specialCaller */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSpecialCaller:(Ljava/lang/Class;)V
         1: .line 1042
            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 1043
            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 1044
            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 1046
      StackMap locals: java.lang.invoke.MethodHandles$Lookup java.lang.invoke.MemberName
      StackMap stack:
            aload 3 /* specialLookup */
            bipush 7
            aload 4 /* method */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            aload 4 /* method */
            aload 0 /* this */
            aload 4 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findBoundCallerClass:(Ljava/lang/invoke/MemberName;)Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethod:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MemberName method
        end local 3 // java.lang.invoke.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 1072
            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 1073
            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 1074
      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 1075
            aload 3 /* lookup */
            aload 2 /* ctor */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            aload 2 /* ctor */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectConstructor:(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
    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 1093
            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     

  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 1096
            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 1097
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 5
            iload 2 /* isSetter */
            ifeq 3
         2: .line 1098
            aload 3 /* field */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsSetter:(B)Z
            ifne 5
            goto 4
         3: .line 1099
      StackMap locals: java.lang.invoke.MemberName
      StackMap stack:
            aload 3 /* field */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsGetter:(B)Z
            ifne 5
      StackMap locals:
      StackMap stack:
         4: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 1100
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            invokevirtual java.lang.reflect.Field.isAccessible:()Z
            ifeq 6
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            goto 7
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodHandles$Lookup
         7: astore 4 /* lookup */
        start local 4 // java.lang.invoke.MethodHandles$Lookup lookup
         8: .line 1101
            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.getDirectField:(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    9     0      this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    9     1         f  Ljava/lang/reflect/Field;
            0    9     2  isSetter  Z
            1    9     3     field  Ljava/lang/invoke/MemberName;
            8    9     4    lookup  Ljava/lang/invoke/MethodHandles$Lookup;
    Exceptions:
      throws java.lang.IllegalAccessException
    MethodParameters:
          Name  Flags
      f         
      isSetter  

  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 1119
            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     

  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 1125
            aload 3 /* name */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            aload 4 /* type */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
         1: .line 1126
            aload 0 /* this */
            aload 2 /* refc */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSymbolicClass:(Ljava/lang/Class;)V
         2: .line 1127
            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;
         3: .line 1128
            ldc Ljava/lang/NoSuchFieldException;
         4: .line 1127
            invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            areturn
        end local 4 // java.lang.Class type
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class refc
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    5     1  refKind  B
            0    5     2     refc  Ljava/lang/Class<*>;
            0    5     3     name  Ljava/lang/String;
            0    5     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 1132
            aload 4 /* type */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
         1: .line 1133
            aload 0 /* this */
            aload 2 /* refc */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkSymbolicClass:(Ljava/lang/Class;)V
         2: .line 1134
            aload 0 /* this */
            iload 1 /* refKind */
            aload 3 /* name */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.checkMethodName:(BLjava/lang/String;)V
         3: .line 1135
            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;
         4: .line 1136
            ldc Ljava/lang/NoSuchMethodException;
         5: .line 1135
            invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            areturn
        end local 4 // java.lang.invoke.MethodType type
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class refc
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    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/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     

  void checkSymbolicClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
         0: .line 1140
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClassOrNull:()Ljava/lang/Class;
            astore 2 /* caller */
        start local 2 // java.lang.Class caller
         1: .line 1141
            aload 2 /* caller */
            ifnull 3
            aload 1 /* refc */
            aload 2 /* caller */
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            invokestatic sun.invoke.util.VerifyAccess.isClassAccessible:(Ljava/lang/Class;Ljava/lang/Class;I)Z
            ifne 3
         2: .line 1142
            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 public"
            aload 0 /* this */
            invokevirtual java.lang.invoke.MemberName.makeAccessException:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/IllegalAccessException;
            athrow
         3: .line 1143
      StackMap locals: java.lang.Class
      StackMap stack:
            return
        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<*>;
            1    4     2  caller  Ljava/lang/Class<*>;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;)V
    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 1146
            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 1147
            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 1148
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String name
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    3     1  refKind  B
            0    3     2     name  Ljava/lang/String;
    Exceptions:
      throws java.lang.NoSuchMethodException
    MethodParameters:
         Name  Flags
      refKind  
      name     

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

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

  private boolean isCheckMemberAccessOverridden(java.lang.SecurityManager);
    descriptor: (Ljava/lang/SecurityManager;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.SecurityManager sm
         0: .line 1178
            aload 1 /* sm */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 2 /* cls */
        start local 2 // java.lang.Class cls
         1: .line 1179
            aload 2 /* cls */
            ldc Ljava/lang/SecurityManager;
            if_acmpne 2
            iconst_0
            ireturn
         2: .line 1182
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 2 /* cls */
            ldc "checkMemberAccess"
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Class;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
         3: .line 1183
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            ldc Ljava/lang/SecurityManager;
         4: .line 1182
            if_acmpeq 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
         6: ireturn
         7: .line 1184
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
         8: .line 1185
            new java.lang.InternalError
            dup
            ldc "should not reach here"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.Class cls
        end local 1 // java.lang.SecurityManager sm
        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    sm  Ljava/lang/SecurityManager;
            1    9     2   cls  Ljava/lang/Class<+Ljava/lang/SecurityManager;>;
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.NoSuchMethodException
    MethodParameters:
      Name  Flags
      sm    

  void checkSecurityManager(java.lang.Class<?>, java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MemberName;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=7, 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 1194
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* smgr */
        start local 3 // java.lang.SecurityManager smgr
         1: .line 1195
            aload 3 /* smgr */
            ifnonnull 2
            return
         2: .line 1196
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_m1
            if_icmpne 3
            return
         3: .line 1198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* smgr */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.isCheckMemberAccessOverridden:(Ljava/lang/SecurityManager;)Z
            istore 4 /* overridden */
        start local 4 // boolean overridden
         4: .line 1204
            aload 1 /* refc */
            astore 5 /* clazz */
        start local 5 // java.lang.Class clazz
         5: .line 1205
            iload 4 /* overridden */
            ifeq 7
         6: .line 1208
            aload 3 /* smgr */
            aload 5 /* clazz */
            iconst_0
            invokevirtual java.lang.SecurityManager.checkMemberAccess:(Ljava/lang/Class;I)V
        end local 5 // java.lang.Class clazz
         7: .line 1213
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.isFullPowerLookup:()Z
            ifeq 9
         8: .line 1214
            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 10
         9: .line 1215
      StackMap locals:
      StackMap stack:
            aload 1 /* refc */
            invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
        10: .line 1219
      StackMap locals:
      StackMap stack:
            aload 2 /* m */
            invokevirtual java.lang.invoke.MemberName.isPublic:()Z
            ifeq 11
            return
        11: .line 1220
      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
        12: .line 1224
            aload 5 /* defc */
            astore 6 /* clazz */
        start local 6 // java.lang.Class clazz
        13: .line 1225
            iload 4 /* overridden */
            ifne 17
        14: .line 1226
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.isFullPowerLookup:()Z
            ifne 18
        15: .line 1227
            aload 3 /* smgr */
            getstatic sun.security.util.SecurityConstants.CHECK_MEMBER_ACCESS_PERMISSION:Ljava/lang/RuntimePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        16: .line 1229
            goto 18
        17: .line 1232
      StackMap locals: java.lang.Class java.lang.Class
      StackMap stack:
            aload 3 /* smgr */
            aload 6 /* clazz */
            iconst_1
            invokevirtual java.lang.SecurityManager.checkMemberAccess:(Ljava/lang/Class;I)V
        end local 6 // java.lang.Class clazz
        18: .line 1237
      StackMap locals:
      StackMap stack:
            aload 5 /* defc */
            aload 1 /* refc */
            if_acmpeq 20
        19: .line 1238
            aload 5 /* defc */
            invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
        20: .line 1240
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.Class defc
        end local 4 // boolean overridden
        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   21     0        this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   21     1        refc  Ljava/lang/Class<*>;
            0   21     2           m  Ljava/lang/invoke/MemberName;
            1   21     3        smgr  Ljava/lang/SecurityManager;
            4   21     4  overridden  Z
            5    7     5       clazz  Ljava/lang/Class<*>;
           12   21     5        defc  Ljava/lang/Class<*>;
           13   18     6       clazz  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 1243
            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 1245
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
            ifeq 6
         4: .line 1246
            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 1247
      StackMap locals: int
      StackMap stack:
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.isMethod:()Z
            ifne 9
         7: .line 1248
            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 1249
      StackMap locals:
      StackMap stack:
            iload 4 /* wantStatic */
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.isStatic:()Z
            if_icmpeq 14
        10: .line 1250
            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 1252
      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 1253
      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 1257
            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 1259
            iload 4 /* wantStatic */
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.isStatic:()Z
            if_icmpeq 8
         4: .line 1260
            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 1262
      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 1263
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* m */
            aload 5 /* message */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MemberName.makeAccessException:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/IllegalAccessException;
            athrow
        end local 5 // java.lang.String message
        end local 4 // boolean wantStatic
        end local 3 // java.lang.invoke.MemberName m
        end local 2 // java.lang.Class refc
        end local 1 // byte refKind
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   10     1     refKind  B
            0   10     2        refc  Ljava/lang/Class<*>;
            0   10     3           m  Ljava/lang/invoke/MemberName;
            3   10     4  wantStatic  Z
            7    8     5     message  Ljava/lang/String;
            9   10     5     message  Ljava/lang/String;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;)V
    MethodParameters:
         Name  Flags
      refKind  
      refc     
      m        

  void checkAccess(byte, java.lang.Class<?>, java.lang.invoke.MemberName);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.Class refc
        start local 3 // java.lang.invoke.MemberName m
         0: .line 1267
            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 1268
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsValid:(I)Z
            ifeq 3
         2: .line 1269
            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 1270
      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 1271
            iload 4 /* allowedModes */
            iconst_m1
            if_icmpne 6
            return
         6: .line 1272
      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 1273
            iload 5 /* mods */
            invokestatic java.lang.reflect.Modifier.isProtected:(I)Z
            ifeq 15
         8: .line 1274
            iload 1 /* refKind */
            iconst_5
            if_icmpne 13
         9: .line 1275
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            ldc Ljava/lang/Object;
            if_acmpne 13
        10: .line 1276
            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 1277
            aload 2 /* refc */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 13
        12: .line 1291
            iload 5 /* mods */
            iconst_5
            ixor
            istore 5 /* mods */
        13: .line 1293
      StackMap locals: int
      StackMap stack:
            iload 1 /* refKind */
            bipush 8
            if_icmpne 15
        14: .line 1295
            iload 5 /* mods */
            iconst_4
            ixor
            istore 5 /* mods */
        15: .line 1298
      StackMap locals:
      StackMap stack:
            iload 5 /* mods */
            invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
            ifeq 18
        16: .line 1299
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsSetter:(B)Z
            ifeq 18
        17: .line 1300
            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 1301
      StackMap locals:
      StackMap stack:
            iload 5 /* mods */
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 20
            aload 2 /* refc */
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 20
            iload 4 /* allowedModes */
            ifeq 20
        19: .line 1302
            return
        20: .line 1303
      StackMap locals:
      StackMap stack:
            iload 5 /* mods */
            invokestatic java.lang.invoke.MethodHandles$Lookup.fixmods:(I)I
            istore 6 /* requestedModes */
        start local 6 // int requestedModes
        21: .line 1304
            iload 6 /* requestedModes */
            iload 4 /* allowedModes */
            iand
            ifeq 27
        22: .line 1305
            aload 2 /* refc */
            aload 3 /* m */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
        23: .line 1306
            iload 5 /* mods */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            iload 4 /* allowedModes */
        24: .line 1305
            invokestatic sun.invoke.util.VerifyAccess.isMemberAccessible:(Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/Class;I)Z
        25: .line 1306
            ifeq 30
        26: .line 1307
            return
        27: .line 1310
      StackMap locals: int
      StackMap stack:
            iload 6 /* requestedModes */
            iconst_4
            iand
            ifeq 30
            iload 4 /* allowedModes */
            bipush 8
            iand
            ifeq 30
        28: .line 1311
            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 30
        29: .line 1312
            return
        30: .line 1314
      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   31     0            this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   31     1         refKind  B
            0   31     2            refc  Ljava/lang/Class<*>;
            0   31     3               m  Ljava/lang/invoke/MemberName;
            5   31     4    allowedModes  I
            7   31     5            mods  I
           21   31     6  requestedModes  I
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;)V
    MethodParameters:
         Name  Flags
      refKind  
      refc     
      m        

  java.lang.String accessFailedMessage(java.lang.Class<?>, java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class refc
        start local 2 // java.lang.invoke.MemberName m
         0: .line 1318
            aload 2 /* m */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            astore 3 /* defc */
        start local 3 // java.lang.Class defc
         1: .line 1319
            aload 2 /* m */
            invokevirtual java.lang.invoke.MemberName.getModifiers:()I
            istore 4 /* mods */
        start local 4 // int mods
         2: .line 1321
            aload 3 /* defc */
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 6
         3: .line 1322
            aload 3 /* defc */
            aload 1 /* refc */
            if_acmpeq 5
         4: .line 1323
            aload 1 /* refc */
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 6
         5: .line 1321
      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 1324
            iload 5 /* classOK */
            ifne 15
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            bipush 8
            iand
            ifeq 15
         9: .line 1325
            aload 3 /* defc */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            bipush 15
            invokestatic sun.invoke.util.VerifyAccess.isClassAccessible:(Ljava/lang/Class;Ljava/lang/Class;I)Z
            ifeq 13
        10: .line 1326
            aload 3 /* defc */
            aload 1 /* refc */
            if_acmpeq 12
        11: .line 1327
            aload 1 /* refc */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            bipush 15
            invokestatic sun.invoke.util.VerifyAccess.isClassAccessible:(Ljava/lang/Class;Ljava/lang/Class;I)Z
            ifeq 13
        12: .line 1325
      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 1329
      StackMap locals:
      StackMap stack:
            iload 5 /* classOK */
            ifne 17
        16: .line 1330
            ldc "class is not public"
            areturn
        17: .line 1331
      StackMap locals:
      StackMap stack:
            iload 4 /* mods */
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 19
        18: .line 1332
            ldc "access to public member failed"
            areturn
        19: .line 1333
      StackMap locals:
      StackMap stack:
            iload 4 /* mods */
            invokestatic java.lang.reflect.Modifier.isPrivate:(I)Z
            ifeq 21
        20: .line 1334
            ldc "member is private"
            areturn
        21: .line 1335
      StackMap locals:
      StackMap stack:
            iload 4 /* mods */
            invokestatic java.lang.reflect.Modifier.isProtected:(I)Z
            ifeq 23
        22: .line 1336
            ldc "member is protected"
            areturn
        23: .line 1337
      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<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.Class specialCaller
         0: .line 1343
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            istore 2 /* allowedModes */
        start local 2 // int allowedModes
         1: .line 1344
            iload 2 /* allowedModes */
            iconst_m1
            if_icmpne 2
            return
         2: .line 1345
      StackMap locals: int
      StackMap stack:
            iload 2 /* allowedModes */
            iconst_2
            iand
            ifeq 4
         3: .line 1346
            aload 1 /* specialCaller */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            if_acmpeq 7
         4: .line 1349
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.MemberName
            dup
            aload 1 /* specialCaller */
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;)V
         5: .line 1350
            ldc "no private access for invokespecial"
            aload 0 /* this */
            invokevirtual java.lang.invoke.MemberName.makeAccessException:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/IllegalAccessException;
         6: .line 1349
            athrow
         7: .line 1351
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int allowedModes
        end local 1 // java.lang.Class specialCaller
        end local 0 // java.lang.invoke.MethodHandles$Lookup this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    8     1  specialCaller  Ljava/lang/Class<*>;
            1    8     2   allowedModes  I
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
               Name  Flags
      specialCaller  

  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 1356
            aload 1 /* method */
            invokevirtual java.lang.invoke.MemberName.isProtected:()Z
            ifeq 5
            aload 1 /* method */
            invokevirtual java.lang.invoke.MemberName.isStatic:()Z
            ifne 5
         1: .line 1357
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_m1
            if_icmpeq 5
         2: .line 1358
            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 5
         3: .line 1359
            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
            ifne 5
         4: .line 1361
            goto 6
         5: .line 1362
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         6: .line 1363
      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    7     0    this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    7     1  method  Ljava/lang/invoke/MemberName;
    MethodParameters:
        Name  Flags
      method  

  private java.lang.invoke.MethodHandle restrictReceiver(java.lang.invoke.MemberName, java.lang.invoke.MethodHandle, java.lang.Class<?>);
    descriptor: (Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=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.MethodHandle mh
        start local 3 // java.lang.Class caller
         0: .line 1366
            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 1368
      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 1369
            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 1371
      StackMap locals:
      StackMap stack:
            aload 2 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 4 /* rawType */
        start local 4 // java.lang.invoke.MethodType rawType
         4: .line 1372
            aload 4 /* rawType */
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            aload 3 /* caller */
            if_acmpne 5
            aload 2 /* mh */
            areturn
         5: .line 1373
      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 1374
            aload 2 /* mh */
            aload 5 /* narrowType */
            invokevirtual java.lang.invoke.MethodHandle.viewAsType:(Ljava/lang/invoke/MethodType;)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.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      caller  Ljava/lang/Class<*>;
            4    7     4     rawType  Ljava/lang/invoke/MethodType;
            6    7     5  narrowType  Ljava/lang/invoke/MethodType;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      method  
      mh      
      caller  

  private java.lang.invoke.MethodHandle getDirectMethod(byte, java.lang.Class<?>, java.lang.invoke.MemberName, java.lang.Class<?>);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.Class refc
        start local 3 // java.lang.invoke.MemberName method
        start local 4 // java.lang.Class callerClass
         0: .line 1378
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* refc */
            aload 3 /* method */
         1: .line 1379
            iload 1 /* refKind */
            bipush 7
            if_icmpeq 5
         2: .line 1380
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindHasReceiver:(B)Z
            ifeq 4
         3: .line 1381
            aload 0 /* this */
            aload 3 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.restrictProtectedReceiver:(Ljava/lang/invoke/MemberName;)Z
            ifne 5
      StackMap locals: java.lang.invoke.MethodHandles$Lookup int java.lang.Class java.lang.invoke.MemberName java.lang.Class
      StackMap stack: java.lang.invoke.MethodHandles$Lookup int java.lang.Class java.lang.invoke.MemberName
         4: iconst_0
            goto 6
      StackMap locals: java.lang.invoke.MethodHandles$Lookup int java.lang.Class java.lang.invoke.MemberName java.lang.Class
      StackMap stack: java.lang.invoke.MethodHandles$Lookup int java.lang.Class java.lang.invoke.MemberName
         5: iconst_1
      StackMap locals: java.lang.invoke.MethodHandles$Lookup int java.lang.Class java.lang.invoke.MemberName java.lang.Class
      StackMap stack: java.lang.invoke.MethodHandles$Lookup int java.lang.Class java.lang.invoke.MemberName int
         6: aload 4 /* callerClass */
         7: .line 1378
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;ZLjava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.Class callerClass
        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    8     0         this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    8     1      refKind  B
            0    8     2         refc  Ljava/lang/Class<*>;
            0    8     3       method  Ljava/lang/invoke/MemberName;
            0    8     4  callerClass  Ljava/lang/Class<*>;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
             Name  Flags
      refKind      
      refc         
      method       
      callerClass  

  private java.lang.invoke.MethodHandle getDirectMethodNoRestrict(byte, java.lang.Class<?>, java.lang.invoke.MemberName, java.lang.Class<?>);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // byte refKind
        start local 2 // java.lang.Class refc
        start local 3 // java.lang.invoke.MemberName method
        start local 4 // java.lang.Class callerClass
         0: .line 1384
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* refc */
            aload 3 /* method */
            iconst_0
            aload 4 /* callerClass */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;ZLjava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.Class callerClass
        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  callerClass  Ljava/lang/Class<*>;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
             Name  Flags
      refKind      
      refc         
      method       
      callerClass  

  private java.lang.invoke.MethodHandle getDirectMethodCommon(byte, java.lang.Class<?>, java.lang.invoke.MemberName, boolean, java.lang.Class<?>);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;ZLjava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=6
        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 doRestrict
        start local 5 // java.lang.Class callerClass
         0: .line 1388
            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 1389
            aload 3 /* method */
            invokevirtual java.lang.invoke.MemberName.isMethodHandleInvoke:()Z
            ifeq 3
         2: .line 1390
            aload 0 /* this */
            aload 3 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.fakeMethodHandleInvoke:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            areturn
         3: .line 1393
      StackMap locals:
      StackMap stack:
            iload 1 /* refKind */
            bipush 7
            if_icmpne 19
         4: .line 1394
            aload 2 /* refc */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            if_acmpeq 19
         5: .line 1395
            aload 2 /* refc */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            dup
            astore 6 /* refcAsSuper */
        start local 6 // java.lang.Class refcAsSuper
         6: if_acmpeq 19
         7: .line 1396
            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 19
         8: .line 1397
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 9
            aload 3 /* method */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
            ldc "<init>"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 1403
      StackMap locals: java.lang.Class
      StackMap stack:
            new java.lang.invoke.MemberName
            dup
            aload 6 /* refcAsSuper */
        10: .line 1404
            aload 3 /* method */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
        11: .line 1405
            aload 3 /* method */
            invokevirtual java.lang.invoke.MemberName.getMethodType:()Ljava/lang/invoke/MethodType;
        12: .line 1406
            bipush 7
        13: .line 1403
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;B)V
            astore 7 /* m2 */
        start local 7 // java.lang.invoke.MemberName m2
        14: .line 1407
            getstatic java.lang.invoke.MethodHandles.IMPL_NAMES:Ljava/lang/invoke/MemberName$Factory;
            iload 1 /* refKind */
            aload 7 /* m2 */
            aload 0 /* this */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClassOrNull:()Ljava/lang/Class;
            invokevirtual java.lang.invoke.MemberName$Factory.resolveOrNull:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            astore 7 /* m2 */
        15: .line 1408
            aload 7 /* m2 */
            ifnonnull 16
            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
        16: .line 1409
      StackMap locals: java.lang.invoke.MemberName
      StackMap stack:
            aload 7 /* m2 */
            astore 3 /* method */
        17: .line 1410
            aload 6 /* refcAsSuper */
            astore 2 /* refc */
        18: .line 1412
            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 7 // java.lang.invoke.MemberName m2
        end local 6 // java.lang.Class refcAsSuper
        19: .line 1415
      StackMap locals:
      StackMap stack:
            aload 2 /* refc */
            aload 3 /* method */
            invokestatic java.lang.invoke.DirectMethodHandle.make:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
            astore 7 /* mh */
        start local 7 // java.lang.invoke.MethodHandle mh
        20: .line 1416
            aload 0 /* this */
            aload 3 /* method */
            aload 7 /* mh */
            aload 5 /* callerClass */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.maybeBindCaller:(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 7 /* mh */
        21: .line 1417
            aload 7 /* mh */
            aload 3 /* method */
            invokevirtual java.lang.invoke.MethodHandle.setVarargs:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            astore 7 /* mh */
        22: .line 1418
            iload 4 /* doRestrict */
            ifeq 24
        23: .line 1419
            aload 0 /* this */
            aload 3 /* method */
            aload 7 /* mh */
            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/MethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 7 /* mh */
        24: .line 1420
      StackMap locals: java.lang.invoke.MethodHandles$Lookup int java.lang.Class java.lang.invoke.MemberName int java.lang.Class top java.lang.invoke.MethodHandle
      StackMap stack:
            aload 7 /* mh */
            areturn
        end local 7 // java.lang.invoke.MethodHandle mh
        end local 5 // java.lang.Class callerClass
        end local 4 // boolean doRestrict
        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   25     0         this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   25     1      refKind  B
            0   25     2         refc  Ljava/lang/Class<*>;
            0   25     3       method  Ljava/lang/invoke/MemberName;
            0   25     4   doRestrict  Z
            0   25     5  callerClass  Ljava/lang/Class<*>;
            6   19     6  refcAsSuper  Ljava/lang/Class<*>;
           14   19     7           m2  Ljava/lang/invoke/MemberName;
           20   25     7           mh  Ljava/lang/invoke/MethodHandle;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;ZLjava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
             Name  Flags
      refKind      
      refc         
      method       
      doRestrict   
      callerClass  

  private java.lang.invoke.MethodHandle fakeMethodHandleInvoke(java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
    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 1423
            aload 1 /* method */
            invokevirtual java.lang.invoke.MemberName.getReturnType:()Ljava/lang/Class;
            ldc Ljava/lang/UnsupportedOperationException;
            invokestatic java.lang.invoke.MethodHandles.throwException:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.invoke.MemberName method
        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  method  Ljava/lang/invoke/MemberName;
    MethodParameters:
        Name  Flags
      method  

  private java.lang.invoke.MethodHandle maybeBindCaller(java.lang.invoke.MemberName, java.lang.invoke.MethodHandle, java.lang.Class<?>);
    descriptor: (Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup this
        start local 1 // java.lang.invoke.MemberName method
        start local 2 // java.lang.invoke.MethodHandle mh
        start local 3 // java.lang.Class callerClass
         0: .line 1428
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_m1
            if_icmpeq 1
            aload 1 /* method */
            invokestatic java.lang.invoke.MethodHandleNatives.isCallerSensitive:(Ljava/lang/invoke/MemberName;)Z
            ifne 2
         1: .line 1429
      StackMap locals:
      StackMap stack:
            aload 2 /* mh */
            areturn
         2: .line 1430
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            astore 4 /* hostClass */
        start local 4 // java.lang.Class hostClass
         3: .line 1431
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.allowedModes:I
            iconst_2
            iand
            ifne 5
         4: .line 1432
            aload 3 /* callerClass */
            astore 4 /* hostClass */
         5: .line 1433
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 2 /* mh */
            aload 4 /* hostClass */
            invokestatic java.lang.invoke.MethodHandleImpl.bindCaller:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* cbmh */
        start local 5 // java.lang.invoke.MethodHandle cbmh
         6: .line 1435
            aload 5 /* cbmh */
            areturn
        end local 5 // java.lang.invoke.MethodHandle cbmh
        end local 4 // java.lang.Class hostClass
        end local 3 // java.lang.Class callerClass
        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  callerClass  Ljava/lang/Class<*>;
            3    7     4    hostClass  Ljava/lang/Class<*>;
            6    7     5         cbmh  Ljava/lang/invoke/MethodHandle;
    Exceptions:
      throws java.lang.IllegalAccessException
    Signature: (Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
             Name  Flags
      method       
      mh           
      callerClass  

  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=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 field
         0: .line 1438
            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 1439
            aload 2 /* refc */
            aload 3 /* field */
            invokestatic java.lang.invoke.DirectMethodHandle.make:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
            astore 4 /* mh */
        start local 4 // java.lang.invoke.MethodHandle mh
         2: .line 1440
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindHasReceiver:(B)Z
            ifeq 5
         3: .line 1441
            aload 0 /* this */
            aload 3 /* field */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.restrictProtectedReceiver:(Ljava/lang/invoke/MemberName;)Z
            ifeq 5
         4: .line 1440
            iconst_1
            goto 6
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 5 /* doRestrict */
        start local 5 // boolean doRestrict
         7: .line 1442
            iload 5 /* doRestrict */
            ifeq 9
         8: .line 1443
            aload 0 /* this */
            aload 3 /* field */
            aload 4 /* mh */
            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/MethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
         9: .line 1444
      StackMap locals: int
      StackMap stack:
            aload 4 /* mh */
            areturn
        end local 5 // boolean doRestrict
        end local 4 // java.lang.invoke.MethodHandle mh
        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   10     0        this  Ljava/lang/invoke/MethodHandles$Lookup;
            0   10     1     refKind  B
            0   10     2        refc  Ljava/lang/Class<*>;
            0   10     3       field  Ljava/lang/invoke/MemberName;
            2   10     4          mh  Ljava/lang/invoke/MethodHandle;
            7   10     5  doRestrict  Z
    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 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 1447
            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 1448
      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 1449
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 3
            aload 2 /* ctor */
            invokestatic java.lang.invoke.MethodHandleNatives.isCallerSensitive:(Ljava/lang/invoke/MemberName;)Z
            ifeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 1450
      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 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    4     0  this  Ljava/lang/invoke/MethodHandles$Lookup;
            0    4     1  refc  Ljava/lang/Class<*>;
            0    4     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  

  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=5, 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 defc
        start local 3 // java.lang.String name
        start local 4 // java.lang.Object type
         0: .line 1457
            aconst_null
            astore 5 /* resolved */
        start local 5 // java.lang.invoke.MemberName resolved
         1: .line 1458
            aload 4 /* type */
            instanceof java.lang.invoke.MemberName
            ifeq 5
         2: .line 1459
            aload 4 /* type */
            checkcast java.lang.invoke.MemberName
            astore 5 /* resolved */
         3: .line 1460
            aload 5 /* resolved */
            invokevirtual java.lang.invoke.MemberName.isResolved:()Z
            ifne 4
            new java.lang.InternalError
            dup
            ldc "unresolved MemberName"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1461
      StackMap locals: java.lang.invoke.MemberName
      StackMap stack:
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 5
            aload 3 /* name */
            ifnull 5
            aload 3 /* name */
            aload 5 /* resolved */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 1463
      StackMap locals:
      StackMap stack:
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsField:(B)Z
            ifeq 10
         6: .line 1464
            aload 5 /* resolved */
            ifnull 7
            aload 5 /* resolved */
            goto 8
         7: .line 1465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* defc */
            aload 3 /* name */
            aload 4 /* type */
            checkcast java.lang.Class
            invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
         8: .line 1464
      StackMap locals:
      StackMap stack: java.lang.invoke.MemberName
            astore 6 /* field */
        start local 6 // java.lang.invoke.MemberName field
         9: .line 1466
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* defc */
            aload 6 /* field */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectField:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 6 // java.lang.invoke.MemberName field
        10: .line 1467
      StackMap locals:
      StackMap stack:
            iload 1 /* refKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsMethod:(B)Z
            ifeq 18
        11: .line 1468
            aload 2 /* defc */
            ldc Ljava/lang/invoke/MethodHandle;
            if_acmpne 14
            iload 1 /* refKind */
            iconst_5
            if_icmpne 14
        12: .line 1469
            aload 0 /* this */
            aload 3 /* name */
            aload 4 /* type */
            checkcast java.lang.invoke.MethodType
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findVirtualForMH:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* mh */
        start local 6 // java.lang.invoke.MethodHandle mh
        13: .line 1470
            aload 6 /* mh */
            ifnull 14
            aload 6 /* mh */
            areturn
        end local 6 // java.lang.invoke.MethodHandle mh
        14: .line 1472
      StackMap locals:
      StackMap stack:
            aload 5 /* resolved */
            ifnull 15
            aload 5 /* resolved */
            goto 16
        15: .line 1473
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* defc */
            aload 3 /* name */
            aload 4 /* type */
            checkcast java.lang.invoke.MethodType
            invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;
        16: .line 1472
      StackMap locals:
      StackMap stack: java.lang.invoke.MemberName
            astore 6 /* method */
        start local 6 // java.lang.invoke.MemberName method
        17: .line 1474
            aload 0 /* this */
            iload 1 /* refKind */
            aload 2 /* defc */
            aload 6 /* method */
            aload 0 /* this */
            getfield java.lang.invoke.MethodHandles$Lookup.lookupClass:Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectMethod:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 6 // java.lang.invoke.MemberName method
        18: .line 1475
      StackMap locals:
      StackMap stack:
            iload 1 /* refKind */
            bipush 8
            if_icmpne 24
        19: .line 1476
            getstatic java.lang.invoke.MethodHandles$Lookup.$assertionsDisabled:Z
            ifne 20
            aload 3 /* name */
            ifnull 20
            aload 3 /* name */
            ldc "<init>"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 20
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 1477
      StackMap locals:
      StackMap stack:
            aload 5 /* resolved */
            ifnull 21
            aload 5 /* resolved */
            goto 22
        21: .line 1478
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 8
            aload 2 /* defc */
            aload 3 /* name */
            aload 4 /* type */
            checkcast java.lang.invoke.MethodType
            invokevirtual java.lang.invoke.MethodHandles$Lookup.resolveOrFail:(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;
        22: .line 1477
      StackMap locals:
      StackMap stack: java.lang.invoke.MemberName
            astore 6 /* ctor */
        start local 6 // java.lang.invoke.MemberName ctor
        23: .line 1479
            aload 0 /* this */
            aload 2 /* defc */
            aload 6 /* ctor */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.getDirectConstructor:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 6 // java.lang.invoke.MemberName ctor
        24: .line 1482
      StackMap locals:
      StackMap stack:
            new java.lang.ReflectiveOperationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "bad MethodHandle constant #"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* refKind */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ReflectiveOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.invoke.MemberName resolved
        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;
            1   25     5  resolved  Ljava/lang/invoke/MemberName;
            9   10     6     field  Ljava/lang/invoke/MemberName;
           13   14     6        mh  Ljava/lang/invoke/MethodHandle;
           17   18     6    method  Ljava/lang/invoke/MemberName;
           23   24     6      ctor  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     
}
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