class java.lang.invoke.DirectMethodHandle extends java.lang.invoke.MethodHandle
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.lang.invoke.DirectMethodHandle
  super_class: java.lang.invoke.MethodHandle
{
  final java.lang.invoke.MemberName member;
    descriptor: Ljava/lang/invoke/MemberName;
    flags: (0x0010) ACC_FINAL

  private static final java.lang.invoke.MemberName$Factory IMPL_NAMES;
    descriptor: Ljava/lang/invoke/MemberName$Factory;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static byte AF_GETFIELD;
    descriptor: B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static byte AF_PUTFIELD;
    descriptor: B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static byte AF_GETSTATIC;
    descriptor: B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static byte AF_PUTSTATIC;
    descriptor: B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static byte AF_GETSTATIC_INIT;
    descriptor: B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static byte AF_PUTSTATIC_INIT;
    descriptor: B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static byte AF_LIMIT;
    descriptor: B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static int FT_LAST_WRAPPER;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static int FT_UNCHECKED_REF;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static int FT_CHECKED_REF;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static int FT_LIMIT;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.lang.invoke.LambdaForm[] ACCESSOR_FORMS;
    descriptor: [Ljava/lang/invoke/LambdaForm;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  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=3, locals=0, args_size=0
         0: .line 47
            ldc Ljava/lang/invoke/DirectMethodHandle;
            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.DirectMethodHandle.$assertionsDisabled:Z
         3: .line 158
            invokestatic java.lang.invoke.MemberName.getFactory:()Ljava/lang/invoke/MemberName$Factory;
            putstatic java.lang.invoke.DirectMethodHandle.IMPL_NAMES:Ljava/lang/invoke/MemberName$Factory;
         4: .line 532
            iconst_0
            putstatic java.lang.invoke.DirectMethodHandle.AF_GETFIELD:B
         5: .line 533
            iconst_1
            putstatic java.lang.invoke.DirectMethodHandle.AF_PUTFIELD:B
         6: .line 534
            iconst_2
            putstatic java.lang.invoke.DirectMethodHandle.AF_GETSTATIC:B
         7: .line 535
            iconst_3
            putstatic java.lang.invoke.DirectMethodHandle.AF_PUTSTATIC:B
         8: .line 536
            iconst_4
            putstatic java.lang.invoke.DirectMethodHandle.AF_GETSTATIC_INIT:B
         9: .line 537
            iconst_5
            putstatic java.lang.invoke.DirectMethodHandle.AF_PUTSTATIC_INIT:B
        10: .line 538
            bipush 6
            putstatic java.lang.invoke.DirectMethodHandle.AF_LIMIT:B
        11: .line 542
            invokestatic sun.invoke.util.Wrapper.values:()[Lsun/invoke/util/Wrapper;
            arraylength
            iconst_1
            isub
            putstatic java.lang.invoke.DirectMethodHandle.FT_LAST_WRAPPER:I
        12: .line 543
            getstatic sun.invoke.util.Wrapper.OBJECT:Lsun/invoke/util/Wrapper;
            invokevirtual sun.invoke.util.Wrapper.ordinal:()I
            putstatic java.lang.invoke.DirectMethodHandle.FT_UNCHECKED_REF:I
        13: .line 544
            getstatic java.lang.invoke.DirectMethodHandle.FT_LAST_WRAPPER:I
            iconst_1
            iadd
            putstatic java.lang.invoke.DirectMethodHandle.FT_CHECKED_REF:I
        14: .line 545
            getstatic java.lang.invoke.DirectMethodHandle.FT_LAST_WRAPPER:I
            iconst_2
            iadd
            putstatic java.lang.invoke.DirectMethodHandle.FT_LIMIT:I
        15: .line 552
            getstatic java.lang.invoke.DirectMethodHandle.AF_LIMIT:B
            iconst_0
            iconst_0
            invokestatic java.lang.invoke.DirectMethodHandle.afIndex:(BZI)I
            anewarray java.lang.invoke.LambdaForm
        16: .line 551
            putstatic java.lang.invoke.DirectMethodHandle.ACCESSOR_FORMS:[Ljava/lang/invoke/LambdaForm;
        17: .line 552
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm, java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // java.lang.invoke.DirectMethodHandle this
        start local 1 // java.lang.invoke.MethodType mtype
        start local 2 // java.lang.invoke.LambdaForm form
        start local 3 // java.lang.invoke.MemberName member
         0: .line 52
            aload 0 /* this */
            aload 1 /* mtype */
            aload 2 /* form */
            invokespecial java.lang.invoke.MethodHandle.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)V
         1: .line 53
            aload 3 /* member */
            invokevirtual java.lang.invoke.MemberName.isResolved:()Z
            ifne 2
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 55
      StackMap locals: java.lang.invoke.DirectMethodHandle java.lang.invoke.MethodType java.lang.invoke.LambdaForm java.lang.invoke.MemberName
      StackMap stack:
            aload 3 /* member */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 9
         3: .line 56
            aload 3 /* member */
            invokevirtual java.lang.invoke.MemberName.isMethod:()Z
            ifeq 9
            aload 3 /* member */
            invokevirtual java.lang.invoke.MemberName.isAbstract:()Z
            ifne 9
         4: .line 58
            new java.lang.invoke.MemberName
            dup
            ldc Ljava/lang/Object;
            aload 3 /* member */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
            aload 3 /* member */
            invokevirtual java.lang.invoke.MemberName.getMethodType:()Ljava/lang/invoke/MethodType;
            aload 3 /* member */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;B)V
            astore 4 /* m */
        start local 4 // java.lang.invoke.MemberName m
         5: .line 59
            invokestatic java.lang.invoke.MemberName.getFactory:()Ljava/lang/invoke/MemberName$Factory;
            aload 4 /* m */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            aload 4 /* m */
            aconst_null
            invokevirtual java.lang.invoke.MemberName$Factory.resolveOrNull:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            astore 4 /* m */
         6: .line 60
            aload 4 /* m */
            ifnull 9
            aload 4 /* m */
            invokevirtual java.lang.invoke.MemberName.isPublic:()Z
            ifeq 9
         7: .line 61
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 8
            aload 3 /* member */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            aload 4 /* m */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            if_icmpeq 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 62
      StackMap locals: java.lang.invoke.MemberName
      StackMap stack:
            aload 4 /* m */
            astore 3 /* member */
        end local 4 // java.lang.invoke.MemberName m
         9: .line 66
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* member */
            putfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
        10: .line 67
            return
        end local 3 // java.lang.invoke.MemberName member
        end local 2 // java.lang.invoke.LambdaForm form
        end local 1 // java.lang.invoke.MethodType mtype
        end local 0 // java.lang.invoke.DirectMethodHandle this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Ljava/lang/invoke/DirectMethodHandle;
            0   11     1   mtype  Ljava/lang/invoke/MethodType;
            0   11     2    form  Ljava/lang/invoke/LambdaForm;
            0   11     3  member  Ljava/lang/invoke/MemberName;
            5    9     4       m  Ljava/lang/invoke/MemberName;
    MethodParameters:
        Name  Flags
      mtype   
      form    
      member  

  static java.lang.invoke.DirectMethodHandle make(byte, java.lang.Class<?>, java.lang.invoke.MemberName);
    descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=8, args_size=3
        start local 0 // byte refKind
        start local 1 // java.lang.Class receiver
        start local 2 // java.lang.invoke.MemberName member
         0: .line 71
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.getMethodOrFieldType:()Ljava/lang/invoke/MethodType;
            astore 3 /* mtype */
        start local 3 // java.lang.invoke.MethodType mtype
         1: .line 72
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.isStatic:()Z
            ifne 5
         2: .line 73
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            aload 1 /* receiver */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 3
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
            ifeq 4
         3: .line 74
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
            new java.lang.InternalError
            dup
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.toString:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 75
      StackMap locals:
      StackMap stack:
            aload 3 /* mtype */
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 1 /* receiver */
            aastore
            invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 3 /* mtype */
         5: .line 77
      StackMap locals:
      StackMap stack:
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.isField:()Z
            ifne 14
         6: .line 78
            iload 0 /* refKind */
            tableswitch { // 7 - 9
                    7: 7
                    8: 12
                    9: 10
              default: 12
          }
         7: .line 80
      StackMap locals:
      StackMap stack:
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.asSpecial:()Ljava/lang/invoke/MemberName;
            astore 2 /* member */
         8: .line 81
            aload 2 /* member */
            invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
            astore 4 /* lform */
        start local 4 // java.lang.invoke.LambdaForm lform
         9: .line 82
            new java.lang.invoke.DirectMethodHandle$Special
            dup
            aload 3 /* mtype */
            aload 4 /* lform */
            aload 2 /* member */
            invokespecial java.lang.invoke.DirectMethodHandle$Special.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
            areturn
        end local 4 // java.lang.invoke.LambdaForm lform
        10: .line 85
      StackMap locals:
      StackMap stack:
            aload 2 /* member */
            invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
            astore 4 /* lform */
        start local 4 // java.lang.invoke.LambdaForm lform
        11: .line 86
            new java.lang.invoke.DirectMethodHandle$Interface
            dup
            aload 3 /* mtype */
            aload 4 /* lform */
            aload 2 /* member */
            aload 1 /* receiver */
            invokespecial java.lang.invoke.DirectMethodHandle$Interface.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)V
            areturn
        end local 4 // java.lang.invoke.LambdaForm lform
        12: .line 89
      StackMap locals:
      StackMap stack:
            aload 2 /* member */
            invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
            astore 4 /* lform */
        start local 4 // java.lang.invoke.LambdaForm lform
        13: .line 90
            new java.lang.invoke.DirectMethodHandle
            dup
            aload 3 /* mtype */
            aload 4 /* lform */
            aload 2 /* member */
            invokespecial java.lang.invoke.DirectMethodHandle.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
            areturn
        end local 4 // java.lang.invoke.LambdaForm lform
        14: .line 94
      StackMap locals:
      StackMap stack:
            aload 2 /* member */
            invokestatic java.lang.invoke.DirectMethodHandle.preparedFieldLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
            astore 4 /* lform */
        start local 4 // java.lang.invoke.LambdaForm lform
        15: .line 95
            aload 2 /* member */
            invokevirtual java.lang.invoke.MemberName.isStatic:()Z
            ifeq 19
        16: .line 96
            aload 2 /* member */
            invokestatic java.lang.invoke.MethodHandleNatives.staticFieldOffset:(Ljava/lang/invoke/MemberName;)J
            lstore 5 /* offset */
        start local 5 // long offset
        17: .line 97
            aload 2 /* member */
            invokestatic java.lang.invoke.MethodHandleNatives.staticFieldBase:(Ljava/lang/invoke/MemberName;)Ljava/lang/Object;
            astore 7 /* base */
        start local 7 // java.lang.Object base
        18: .line 98
            new java.lang.invoke.DirectMethodHandle$StaticAccessor
            dup
            aload 3 /* mtype */
            aload 4 /* lform */
            aload 2 /* member */
            aload 7 /* base */
            lload 5 /* offset */
            invokespecial java.lang.invoke.DirectMethodHandle$StaticAccessor.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;Ljava/lang/Object;J)V
            areturn
        end local 7 // java.lang.Object base
        end local 5 // long offset
        19: .line 100
      StackMap locals: java.lang.invoke.LambdaForm
      StackMap stack:
            aload 2 /* member */
            invokestatic java.lang.invoke.MethodHandleNatives.objectFieldOffset:(Ljava/lang/invoke/MemberName;)J
            lstore 5 /* offset */
        start local 5 // long offset
        20: .line 101
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 21
            lload 5 /* offset */
            lload 5 /* offset */
            l2i
            i2l
            lcmp
            ifeq 21
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        21: .line 102
      StackMap locals: long
      StackMap stack:
            new java.lang.invoke.DirectMethodHandle$Accessor
            dup
            aload 3 /* mtype */
            aload 4 /* lform */
            aload 2 /* member */
            lload 5 /* offset */
            l2i
            invokespecial java.lang.invoke.DirectMethodHandle$Accessor.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;I)V
            areturn
        end local 5 // long offset
        end local 4 // java.lang.invoke.LambdaForm lform
        end local 3 // java.lang.invoke.MethodType mtype
        end local 2 // java.lang.invoke.MemberName member
        end local 1 // java.lang.Class receiver
        end local 0 // byte refKind
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0   refKind  B
            0   22     1  receiver  Ljava/lang/Class<*>;
            0   22     2    member  Ljava/lang/invoke/MemberName;
            1   22     3     mtype  Ljava/lang/invoke/MethodType;
            9   10     4     lform  Ljava/lang/invoke/LambdaForm;
           11   12     4     lform  Ljava/lang/invoke/LambdaForm;
           13   14     4     lform  Ljava/lang/invoke/LambdaForm;
           15   22     4     lform  Ljava/lang/invoke/LambdaForm;
           17   19     5    offset  J
           18   19     7      base  Ljava/lang/Object;
           20   22     5    offset  J
    Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
    MethodParameters:
          Name  Flags
      refKind   
      receiver  
      member    

  static java.lang.invoke.DirectMethodHandle make(java.lang.Class<?>, java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Class receiver
        start local 1 // java.lang.invoke.MemberName member
         0: .line 107
            aload 1 /* member */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            istore 2 /* refKind */
        start local 2 // byte refKind
         1: .line 108
            iload 2 /* refKind */
            bipush 7
            if_icmpne 3
         2: .line 109
            iconst_5
            istore 2 /* refKind */
         3: .line 110
      StackMap locals: int
      StackMap stack:
            iload 2 /* refKind */
            aload 0 /* receiver */
            aload 1 /* member */
            invokestatic java.lang.invoke.DirectMethodHandle.make:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
            areturn
        end local 2 // byte refKind
        end local 1 // java.lang.invoke.MemberName member
        end local 0 // java.lang.Class receiver
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  receiver  Ljava/lang/Class<*>;
            0    4     1    member  Ljava/lang/invoke/MemberName;
            1    4     2   refKind  B
    Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
    MethodParameters:
          Name  Flags
      receiver  
      member    

  static java.lang.invoke.DirectMethodHandle make(java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.invoke.MemberName member
         0: .line 113
            aload 0 /* member */
            invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
            ifeq 2
         1: .line 114
            aload 0 /* member */
            invokestatic java.lang.invoke.DirectMethodHandle.makeAllocator:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
            areturn
         2: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* member */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            aload 0 /* member */
            invokestatic java.lang.invoke.DirectMethodHandle.make:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
            areturn
        end local 0 // java.lang.invoke.MemberName member
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  member  Ljava/lang/invoke/MemberName;
    MethodParameters:
        Name  Flags
      member  

  static java.lang.invoke.DirectMethodHandle make(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/invoke/DirectMethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.reflect.Method method
         0: .line 118
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            new java.lang.invoke.MemberName
            dup
            aload 0 /* method */
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/reflect/Method;)V
            invokestatic java.lang.invoke.DirectMethodHandle.make:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
            areturn
        end local 0 // java.lang.reflect.Method method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  method  Ljava/lang/reflect/Method;
    MethodParameters:
        Name  Flags
      method  

  static java.lang.invoke.DirectMethodHandle make(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Ljava/lang/invoke/DirectMethodHandle;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.reflect.Field field
         0: .line 121
            aload 0 /* field */
            invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
            new java.lang.invoke.MemberName
            dup
            aload 0 /* field */
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/reflect/Field;)V
            invokestatic java.lang.invoke.DirectMethodHandle.make:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
            areturn
        end local 0 // java.lang.reflect.Field field
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  field  Ljava/lang/reflect/Field;
    MethodParameters:
       Name  Flags
      field  

  private static java.lang.invoke.DirectMethodHandle makeAllocator(java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=1
        start local 0 // java.lang.invoke.MemberName ctor
         0: .line 124
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 2
            aload 0 /* ctor */
            invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
            ifeq 1
            aload 0 /* ctor */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
            ldc "<init>"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* ctor */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            astore 1 /* instanceClass */
        start local 1 // java.lang.Class instanceClass
         3: .line 126
            aload 0 /* ctor */
            invokevirtual java.lang.invoke.MemberName.asConstructor:()Ljava/lang/invoke/MemberName;
            astore 0 /* ctor */
         4: .line 127
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 6
            aload 0 /* ctor */
            invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
            ifeq 5
            aload 0 /* ctor */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            bipush 8
            if_icmpeq 6
      StackMap locals: java.lang.Class
      StackMap stack:
         5: new java.lang.AssertionError
            dup
            aload 0 /* ctor */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* ctor */
            invokevirtual java.lang.invoke.MemberName.getMethodType:()Ljava/lang/invoke/MethodType;
            aload 1 /* instanceClass */
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 2 /* mtype */
        start local 2 // java.lang.invoke.MethodType mtype
         7: .line 129
            aload 0 /* ctor */
            invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
            astore 3 /* lform */
        start local 3 // java.lang.invoke.LambdaForm lform
         8: .line 130
            aload 0 /* ctor */
            invokevirtual java.lang.invoke.MemberName.asSpecial:()Ljava/lang/invoke/MemberName;
            astore 4 /* init */
        start local 4 // java.lang.invoke.MemberName init
         9: .line 131
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 10
            aload 4 /* init */
            invokevirtual java.lang.invoke.MemberName.getMethodType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpeq 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 132
      StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm java.lang.invoke.MemberName
      StackMap stack:
            new java.lang.invoke.DirectMethodHandle$Constructor
            dup
            aload 2 /* mtype */
            aload 3 /* lform */
            aload 0 /* ctor */
            aload 4 /* init */
            aload 1 /* instanceClass */
            invokespecial java.lang.invoke.DirectMethodHandle$Constructor.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)V
            areturn
        end local 4 // java.lang.invoke.MemberName init
        end local 3 // java.lang.invoke.LambdaForm lform
        end local 2 // java.lang.invoke.MethodType mtype
        end local 1 // java.lang.Class instanceClass
        end local 0 // java.lang.invoke.MemberName ctor
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           ctor  Ljava/lang/invoke/MemberName;
            3   11     1  instanceClass  Ljava/lang/Class<*>;
            7   11     2          mtype  Ljava/lang/invoke/MethodType;
            8   11     3          lform  Ljava/lang/invoke/LambdaForm;
            9   11     4           init  Ljava/lang/invoke/MemberName;
    MethodParameters:
      Name  Flags
      ctor  

  java.lang.invoke.BoundMethodHandle rebind();
    descriptor: ()Ljava/lang/invoke/BoundMethodHandle;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.DirectMethodHandle this
         0: .line 137
            aload 0 /* this */
            invokestatic java.lang.invoke.BoundMethodHandle.makeReinvoker:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/BoundMethodHandle;
            areturn
        end local 0 // java.lang.invoke.DirectMethodHandle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/DirectMethodHandle;

  java.lang.invoke.MethodHandle copyWith(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm);
    descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.invoke.DirectMethodHandle this
        start local 1 // java.lang.invoke.MethodType mt
        start local 2 // java.lang.invoke.LambdaForm lf
         0: .line 142
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Ljava/lang/invoke/DirectMethodHandle;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 143
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.DirectMethodHandle
            dup
            aload 1 /* mt */
            aload 2 /* lf */
            aload 0 /* this */
            getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
            invokespecial java.lang.invoke.DirectMethodHandle.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
            areturn
        end local 2 // java.lang.invoke.LambdaForm lf
        end local 1 // java.lang.invoke.MethodType mt
        end local 0 // java.lang.invoke.DirectMethodHandle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/invoke/DirectMethodHandle;
            0    2     1    mt  Ljava/lang/invoke/MethodType;
            0    2     2    lf  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
      Name  Flags
      mt    
      lf    

  java.lang.String internalProperties();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.invoke.DirectMethodHandle this
         0: .line 148
            new java.lang.StringBuilder
            dup
            ldc "\n& DMH.MN="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.invoke.DirectMethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.invoke.DirectMethodHandle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/DirectMethodHandle;

  java.lang.invoke.MemberName internalMemberName();
    descriptor: ()Ljava/lang/invoke/MemberName;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.DirectMethodHandle this
         0: .line 155
            aload 0 /* this */
            getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
            areturn
        end local 0 // java.lang.invoke.DirectMethodHandle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/DirectMethodHandle;
    RuntimeVisibleAnnotations: 
      java.lang.invoke.ForceInline()

  private static java.lang.invoke.LambdaForm preparedLambdaForm(java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // java.lang.invoke.MemberName m
         0: .line 166
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 1
            aload 0 /* m */
            invokevirtual java.lang.invoke.MemberName.isInvocable:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            aload 0 /* m */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 167
      StackMap locals:
      StackMap stack:
            aload 0 /* m */
            invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            astore 1 /* mtype */
        start local 1 // java.lang.invoke.MethodType mtype
         2: .line 168
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 3
            aload 0 /* m */
            invokevirtual java.lang.invoke.MemberName.isMethodHandleInvoke:()Z
            ifeq 3
            new java.lang.AssertionError
            dup
            aload 0 /* m */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 170
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
            aload 0 /* m */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            tableswitch { // 5 - 9
                    5: 4
                    6: 6
                    7: 8
                    8: 12
                    9: 10
              default: 14
          }
         4: .line 171
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* which */
        start local 2 // int which
         5: goto 15
        end local 2 // int which
         6: .line 172
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* which */
        start local 2 // int which
         7: goto 15
        end local 2 // int which
         8: .line 173
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 2 /* which */
        start local 2 // int which
         9: goto 15
        end local 2 // int which
        10: .line 174
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 2 /* which */
        start local 2 // int which
        11: goto 15
        end local 2 // int which
        12: .line 175
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 2 /* which */
        start local 2 // int which
        13: goto 15
        end local 2 // int which
        14: .line 176
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            aload 0 /* m */
            invokevirtual java.lang.invoke.MemberName.toString:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // int which
        15: .line 178
      StackMap locals: int
      StackMap stack:
            iload 2 /* which */
            iconst_1
            if_icmpne 18
            aload 0 /* m */
            invokestatic java.lang.invoke.DirectMethodHandle.shouldBeInitialized:(Ljava/lang/invoke/MemberName;)Z
            ifeq 18
        16: .line 180
            aload 1 /* mtype */
            iload 2 /* which */
            invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;
            pop
        17: .line 181
            iconst_5
            istore 2 /* which */
        18: .line 183
      StackMap locals:
      StackMap stack:
            aload 1 /* mtype */
            iload 2 /* which */
            invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;
            astore 3 /* lform */
        start local 3 // java.lang.invoke.LambdaForm lform
        19: .line 184
            aload 3 /* lform */
            aload 0 /* m */
            invokestatic java.lang.invoke.DirectMethodHandle.maybeCompile:(Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
        20: .line 185
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 23
            aload 3 /* lform */
            invokevirtual java.lang.invoke.LambdaForm.methodType:()Ljava/lang/invoke/MethodType;
            iconst_0
            iconst_1
            invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
        21: .line 186
            aload 0 /* m */
            invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
            ifne 23
            new java.lang.AssertionError
            dup
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        22: .line 187
            aload 0 /* m */
            aastore
            dup
            iconst_1
            aload 0 /* m */
            invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            aastore
            dup
            iconst_2
            aload 3 /* lform */
            aastore
            dup
            iconst_3
            aload 3 /* lform */
            invokevirtual java.lang.invoke.LambdaForm.methodType:()Ljava/lang/invoke/MethodType;
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        23: .line 188
      StackMap locals: java.lang.invoke.LambdaForm
      StackMap stack:
            aload 3 /* lform */
            areturn
        end local 3 // java.lang.invoke.LambdaForm lform
        end local 2 // int which
        end local 1 // java.lang.invoke.MethodType mtype
        end local 0 // java.lang.invoke.MemberName m
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   24     0      m  Ljava/lang/invoke/MemberName;
            2   24     1  mtype  Ljava/lang/invoke/MethodType;
            5    6     2  which  I
            7    8     2  which  I
            9   10     2  which  I
           11   12     2  which  I
           13   14     2  which  I
           15   24     2  which  I
           19   24     3  lform  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
      Name  Flags
      m     

  private static java.lang.invoke.LambdaForm preparedLambdaForm(java.lang.invoke.MethodType, int);
    descriptor: (Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.invoke.MethodType mtype
        start local 1 // int which
         0: .line 192
            aload 0 /* mtype */
            invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
            iload 1 /* which */
            invokevirtual java.lang.invoke.MethodTypeForm.cachedLambdaForm:(I)Ljava/lang/invoke/LambdaForm;
            astore 2 /* lform */
        start local 2 // java.lang.invoke.LambdaForm lform
         1: .line 193
            aload 2 /* lform */
            ifnull 2
            aload 2 /* lform */
            areturn
         2: .line 194
      StackMap locals: java.lang.invoke.LambdaForm
      StackMap stack:
            aload 0 /* mtype */
            iload 1 /* which */
            invokestatic java.lang.invoke.DirectMethodHandle.makePreparedLambdaForm:(Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;
            astore 2 /* lform */
         3: .line 195
            aload 0 /* mtype */
            invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
            iload 1 /* which */
            aload 2 /* lform */
            invokevirtual java.lang.invoke.MethodTypeForm.setCachedLambdaForm:(ILjava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
            areturn
        end local 2 // java.lang.invoke.LambdaForm lform
        end local 1 // int which
        end local 0 // java.lang.invoke.MethodType mtype
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  mtype  Ljava/lang/invoke/MethodType;
            0    4     1  which  I
            1    4     2  lform  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
       Name  Flags
      mtype  
      which  

  private static java.lang.invoke.LambdaForm makePreparedLambdaForm(java.lang.invoke.MethodType, int);
    descriptor: (Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=19, args_size=2
        start local 0 // java.lang.invoke.MethodType mtype
        start local 1 // int which
         0: .line 199
            iload 1 /* which */
            iconst_5
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* needsInit */
        start local 2 // boolean needsInit
         3: .line 200
            iload 1 /* which */
            iconst_3
            if_icmpne 4
            iconst_1
            goto 5
      StackMap locals: int
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* doesAlloc */
        start local 3 // boolean doesAlloc
         6: .line 201
            iload 1 /* which */
            iconst_4
            if_icmpne 7
            iconst_1
            goto 8
      StackMap locals: int
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 4 /* needsReceiverCheck */
        start local 4 // boolean needsReceiverCheck
         9: .line 203
            iload 1 /* which */
            tableswitch { // 0 - 5
                    0: 10
                    1: 13
                    2: 19
                    3: 25
                    4: 22
                    5: 16
              default: 28
          }
        10: .line 204
      StackMap locals: int
      StackMap stack:
            ldc "linkToVirtual"
            astore 5 /* linkerName */
        start local 5 // java.lang.String linkerName
        11: ldc "DMH.invokeVirtual"
            astore 6 /* lambdaName */
        start local 6 // java.lang.String lambdaName
        12: goto 29
        end local 6 // java.lang.String lambdaName
        end local 5 // java.lang.String linkerName
        13: .line 205
      StackMap locals:
      StackMap stack:
            ldc "linkToStatic"
            astore 5 /* linkerName */
        start local 5 // java.lang.String linkerName
        14: ldc "DMH.invokeStatic"
            astore 6 /* lambdaName */
        start local 6 // java.lang.String lambdaName
        15: goto 29
        end local 6 // java.lang.String lambdaName
        end local 5 // java.lang.String linkerName
        16: .line 206
      StackMap locals:
      StackMap stack:
            ldc "linkToStatic"
            astore 5 /* linkerName */
        start local 5 // java.lang.String linkerName
        17: ldc "DMH.invokeStaticInit"
            astore 6 /* lambdaName */
        start local 6 // java.lang.String lambdaName
        18: goto 29
        end local 6 // java.lang.String lambdaName
        end local 5 // java.lang.String linkerName
        19: .line 207
      StackMap locals:
      StackMap stack:
            ldc "linkToSpecial"
            astore 5 /* linkerName */
        start local 5 // java.lang.String linkerName
        20: ldc "DMH.invokeSpecial"
            astore 6 /* lambdaName */
        start local 6 // java.lang.String lambdaName
        21: goto 29
        end local 6 // java.lang.String lambdaName
        end local 5 // java.lang.String linkerName
        22: .line 208
      StackMap locals:
      StackMap stack:
            ldc "linkToInterface"
            astore 5 /* linkerName */
        start local 5 // java.lang.String linkerName
        23: ldc "DMH.invokeInterface"
            astore 6 /* lambdaName */
        start local 6 // java.lang.String lambdaName
        24: goto 29
        end local 6 // java.lang.String lambdaName
        end local 5 // java.lang.String linkerName
        25: .line 209
      StackMap locals:
      StackMap stack:
            ldc "linkToSpecial"
            astore 5 /* linkerName */
        start local 5 // java.lang.String linkerName
        26: ldc "DMH.newInvokeSpecial"
            astore 6 /* lambdaName */
        start local 6 // java.lang.String lambdaName
        27: goto 29
        end local 6 // java.lang.String lambdaName
        end local 5 // java.lang.String linkerName
        28: .line 210
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "which="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* which */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        start local 5 // java.lang.String linkerName
        start local 6 // java.lang.String lambdaName
        29: .line 212
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* mtype */
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/invoke/MemberName;
            aastore
            invokevirtual java.lang.invoke.MethodType.appendParameterTypes:([Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 7 /* mtypeWithArg */
        start local 7 // java.lang.invoke.MethodType mtypeWithArg
        30: .line 213
            iload 3 /* doesAlloc */
            ifeq 35
        31: .line 214
            aload 7 /* mtypeWithArg */
        32: .line 215
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        33: .line 216
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        34: .line 214
            astore 7 /* mtypeWithArg */
        35: .line 217
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
            new java.lang.invoke.MemberName
            dup
            ldc Ljava/lang/invoke/MethodHandle;
            aload 5 /* linkerName */
            aload 7 /* mtypeWithArg */
            bipush 6
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;B)V
            astore 8 /* linker */
        start local 8 // java.lang.invoke.MemberName linker
        36: .line 219
            getstatic java.lang.invoke.DirectMethodHandle.IMPL_NAMES:Ljava/lang/invoke/MemberName$Factory;
            bipush 6
            aload 8 /* linker */
            aconst_null
            ldc Ljava/lang/NoSuchMethodException;
            invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            astore 8 /* linker */
        37: .line 220
            goto 40
      StackMap locals: java.lang.invoke.MethodType int int int int java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName
      StackMap stack: java.lang.ReflectiveOperationException
        38: astore 9 /* ex */
        start local 9 // java.lang.ReflectiveOperationException ex
        39: .line 221
            aload 9 /* ex */
            invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Throwable;)Ljava/lang/InternalError;
            athrow
        end local 9 // java.lang.ReflectiveOperationException ex
        40: .line 225
      StackMap locals:
      StackMap stack:
            iconst_1
            aload 0 /* mtype */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iadd
            istore 9 /* ARG_LIMIT */
        start local 9 // int ARG_LIMIT
        41: .line 226
            iload 9 /* ARG_LIMIT */
            istore 10 /* nameCursor */
        start local 10 // int nameCursor
        42: .line 227
            iload 3 /* doesAlloc */
            ifeq 43
            iload 10 /* nameCursor */
            iinc 10 /* nameCursor */ 1
            goto 44
      StackMap locals: int int
      StackMap stack:
        43: iconst_m1
      StackMap locals:
      StackMap stack: int
        44: istore 11 /* NEW_OBJ */
        start local 11 // int NEW_OBJ
        45: .line 228
            iload 10 /* nameCursor */
            iinc 10 /* nameCursor */ 1
            istore 12 /* GET_MEMBER */
        start local 12 // int GET_MEMBER
        46: .line 229
            iload 4 /* needsReceiverCheck */
            ifeq 47
            iload 10 /* nameCursor */
            iinc 10 /* nameCursor */ 1
            goto 48
      StackMap locals: int int
      StackMap stack:
        47: iconst_m1
      StackMap locals:
      StackMap stack: int
        48: istore 13 /* CHECK_RECEIVER */
        start local 13 // int CHECK_RECEIVER
        49: .line 230
            iload 10 /* nameCursor */
            iinc 10 /* nameCursor */ 1
            istore 14 /* LINKER_CALL */
        start local 14 // int LINKER_CALL
        50: .line 231
            iload 10 /* nameCursor */
            iload 9 /* ARG_LIMIT */
            isub
            aload 0 /* mtype */
            invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
            invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
            astore 15 /* names */
        start local 15 // java.lang.invoke.LambdaForm$Name[] names
        51: .line 232
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 52
            aload 15 /* names */
            arraylength
            iload 10 /* nameCursor */
            if_icmpeq 52
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        52: .line 233
      StackMap locals: int int java.lang.invoke.LambdaForm$Name[]
      StackMap stack:
            iload 3 /* doesAlloc */
            ifeq 56
        53: .line 235
            aload 15 /* names */
            iload 11 /* NEW_OBJ */
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_allocateInstance:Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 15 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        54: .line 236
            aload 15 /* names */
            iload 12 /* GET_MEMBER */
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_constructorMethod:Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 15 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        55: .line 237
            goto 60
      StackMap locals:
      StackMap stack:
        56: iload 2 /* needsInit */
            ifeq 59
        57: .line 238
            aload 15 /* names */
            iload 12 /* GET_MEMBER */
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_internalMemberNameEnsureInit:Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 15 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        58: .line 239
            goto 60
        59: .line 240
      StackMap locals:
      StackMap stack:
            aload 15 /* names */
            iload 12 /* GET_MEMBER */
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_internalMemberName:Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 15 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        60: .line 242
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 61
            aload 15 /* names */
            iload 12 /* GET_MEMBER */
            aaload
            invokestatic java.lang.invoke.DirectMethodHandle.findDirectMethodHandle:(Ljava/lang/invoke/LambdaForm$Name;)Ljava/lang/Object;
            aload 15 /* names */
            iconst_0
            aaload
            if_acmpeq 61
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        61: .line 243
      StackMap locals:
      StackMap stack:
            aload 15 /* names */
            iconst_1
            iload 12 /* GET_MEMBER */
            iconst_1
            iadd
            ldc [Ljava/lang/Object;
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;IILjava/lang/Class;)[Ljava/lang/Object;
            astore 16 /* outArgs */
        start local 16 // java.lang.Object[] outArgs
        62: .line 244
            iload 4 /* needsReceiverCheck */
            ifeq 65
        63: .line 245
            aload 15 /* names */
            iload 13 /* CHECK_RECEIVER */
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_checkReceiver:Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 15 /* names */
            iconst_0
            aaload
            aastore
            dup
            iconst_1
            aload 15 /* names */
            iconst_1
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        64: .line 246
            aload 16 /* outArgs */
            iconst_0
            aload 15 /* names */
            iload 13 /* CHECK_RECEIVER */
            aaload
            aastore
        65: .line 248
      StackMap locals: java.lang.Object[]
      StackMap stack:
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 66
            aload 16 /* outArgs */
            aload 16 /* outArgs */
            arraylength
            iconst_1
            isub
            aaload
            aload 15 /* names */
            iload 12 /* GET_MEMBER */
            aaload
            if_acmpeq 66
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        66: .line 249
      StackMap locals:
      StackMap stack:
            bipush -2
            istore 17 /* result */
        start local 17 // int result
        67: .line 250
            iload 3 /* doesAlloc */
            ifeq 72
        68: .line 251
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 69
            aload 16 /* outArgs */
            aload 16 /* outArgs */
            arraylength
            iconst_2
            isub
            aaload
            aload 15 /* names */
            iload 11 /* NEW_OBJ */
            aaload
            if_acmpeq 69
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        69: .line 252
      StackMap locals: int
      StackMap stack:
            aload 16 /* outArgs */
            iconst_0
            aload 16 /* outArgs */
            iconst_1
            aload 16 /* outArgs */
            arraylength
            iconst_2
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        70: .line 253
            aload 16 /* outArgs */
            iconst_0
            aload 15 /* names */
            iload 11 /* NEW_OBJ */
            aaload
            aastore
        71: .line 254
            iload 11 /* NEW_OBJ */
            istore 17 /* result */
        72: .line 256
      StackMap locals:
      StackMap stack:
            aload 15 /* names */
            iload 14 /* LINKER_CALL */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 8 /* linker */
            aload 16 /* outArgs */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MemberName;[Ljava/lang/Object;)V
            aastore
        73: .line 257
            new java.lang.StringBuilder
            dup
            aload 6 /* lambdaName */
            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 /* mtype */
            invokestatic java.lang.invoke.LambdaForm.basicTypeSignature:(Ljava/lang/invoke/MethodType;)Ljava/lang/String;
            invokestatic java.lang.invoke.LambdaForm.shortenSignature:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* lambdaName */
        74: .line 258
            new java.lang.invoke.LambdaForm
            dup
            aload 6 /* lambdaName */
            iload 9 /* ARG_LIMIT */
            aload 15 /* names */
            iload 17 /* result */
            invokespecial java.lang.invoke.LambdaForm.<init>:(Ljava/lang/String;I[Ljava/lang/invoke/LambdaForm$Name;I)V
            astore 18 /* lform */
        start local 18 // java.lang.invoke.LambdaForm lform
        75: .line 260
            aload 18 /* lform */
            invokevirtual java.lang.invoke.LambdaForm.compileToBytecode:()Ljava/lang/invoke/MemberName;
            pop
        76: .line 261
            aload 18 /* lform */
            areturn
        end local 18 // java.lang.invoke.LambdaForm lform
        end local 17 // int result
        end local 16 // java.lang.Object[] outArgs
        end local 15 // java.lang.invoke.LambdaForm$Name[] names
        end local 14 // int LINKER_CALL
        end local 13 // int CHECK_RECEIVER
        end local 12 // int GET_MEMBER
        end local 11 // int NEW_OBJ
        end local 10 // int nameCursor
        end local 9 // int ARG_LIMIT
        end local 8 // java.lang.invoke.MemberName linker
        end local 7 // java.lang.invoke.MethodType mtypeWithArg
        end local 6 // java.lang.String lambdaName
        end local 5 // java.lang.String linkerName
        end local 4 // boolean needsReceiverCheck
        end local 3 // boolean doesAlloc
        end local 2 // boolean needsInit
        end local 1 // int which
        end local 0 // java.lang.invoke.MethodType mtype
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   77     0               mtype  Ljava/lang/invoke/MethodType;
            0   77     1               which  I
            3   77     2           needsInit  Z
            6   77     3           doesAlloc  Z
            9   77     4  needsReceiverCheck  Z
           11   13     5          linkerName  Ljava/lang/String;
           14   16     5          linkerName  Ljava/lang/String;
           17   19     5          linkerName  Ljava/lang/String;
           20   22     5          linkerName  Ljava/lang/String;
           23   25     5          linkerName  Ljava/lang/String;
           26   28     5          linkerName  Ljava/lang/String;
           29   77     5          linkerName  Ljava/lang/String;
           12   13     6          lambdaName  Ljava/lang/String;
           15   16     6          lambdaName  Ljava/lang/String;
           18   19     6          lambdaName  Ljava/lang/String;
           21   22     6          lambdaName  Ljava/lang/String;
           24   25     6          lambdaName  Ljava/lang/String;
           27   28     6          lambdaName  Ljava/lang/String;
           29   77     6          lambdaName  Ljava/lang/String;
           30   77     7        mtypeWithArg  Ljava/lang/invoke/MethodType;
           36   77     8              linker  Ljava/lang/invoke/MemberName;
           39   40     9                  ex  Ljava/lang/ReflectiveOperationException;
           41   77     9           ARG_LIMIT  I
           42   77    10          nameCursor  I
           45   77    11             NEW_OBJ  I
           46   77    12          GET_MEMBER  I
           49   77    13      CHECK_RECEIVER  I
           50   77    14         LINKER_CALL  I
           51   77    15               names  [Ljava/lang/invoke/LambdaForm$Name;
           62   77    16             outArgs  [Ljava/lang/Object;
           67   77    17              result  I
           75   77    18               lform  Ljava/lang/invoke/LambdaForm;
      Exception table:
        from    to  target  type
          36    37      38  Class java.lang.ReflectiveOperationException
    MethodParameters:
       Name  Flags
      mtype  
      which  

  static java.lang.Object findDirectMethodHandle(java.lang.invoke.LambdaForm$Name);
    descriptor: (Ljava/lang/invoke/LambdaForm$Name;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.invoke.LambdaForm$Name name
         0: .line 265
            aload 0 /* name */
            getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
            getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_internalMemberName:Ljava/lang/invoke/LambdaForm$NamedFunction;
            if_acmpeq 3
         1: .line 266
            aload 0 /* name */
            getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
            getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_internalMemberNameEnsureInit:Ljava/lang/invoke/LambdaForm$NamedFunction;
            if_acmpeq 3
         2: .line 267
            aload 0 /* name */
            getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
            getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_constructorMethod:Ljava/lang/invoke/LambdaForm$NamedFunction;
            if_acmpne 5
         3: .line 268
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 4
            aload 0 /* name */
            getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
            arraylength
            iconst_1
            if_icmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 269
      StackMap locals:
      StackMap stack:
            aload 0 /* name */
            getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
            iconst_0
            aaload
            areturn
         5: .line 271
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.invoke.LambdaForm$Name name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  name  Ljava/lang/invoke/LambdaForm$Name;
    MethodParameters:
      Name  Flags
      name  

  private static void maybeCompile(java.lang.invoke.LambdaForm, java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.invoke.LambdaForm lform
        start local 1 // java.lang.invoke.MemberName m
         0: .line 275
            aload 1 /* m */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            ldc Ljava/lang/invoke/MethodHandle;
            invokestatic sun.invoke.util.VerifyAccess.isSamePackage:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifeq 2
         1: .line 277
            aload 0 /* lform */
            invokevirtual java.lang.invoke.LambdaForm.compileToBytecode:()Ljava/lang/invoke/MemberName;
            pop
         2: .line 278
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.invoke.MemberName m
        end local 0 // java.lang.invoke.LambdaForm lform
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  lform  Ljava/lang/invoke/LambdaForm;
            0    3     1      m  Ljava/lang/invoke/MemberName;
    MethodParameters:
       Name  Flags
      lform  
      m      

  static java.lang.Object internalMemberName(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object mh
         0: .line 283
            aload 0 /* mh */
            checkcast java.lang.invoke.DirectMethodHandle
            getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
            areturn
        end local 0 // java.lang.Object mh
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    mh  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      java.lang.invoke.ForceInline()
    MethodParameters:
      Name  Flags
      mh    

  static java.lang.Object internalMemberNameEnsureInit(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Object mh
         0: .line 290
            aload 0 /* mh */
            checkcast java.lang.invoke.DirectMethodHandle
            astore 1 /* dmh */
        start local 1 // java.lang.invoke.DirectMethodHandle dmh
         1: .line 291
            aload 1 /* dmh */
            invokevirtual java.lang.invoke.DirectMethodHandle.ensureInitialized:()V
         2: .line 292
            aload 1 /* dmh */
            getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
            areturn
        end local 1 // java.lang.invoke.DirectMethodHandle dmh
        end local 0 // java.lang.Object mh
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    mh  Ljava/lang/Object;
            1    3     1   dmh  Ljava/lang/invoke/DirectMethodHandle;
    MethodParameters:
      Name  Flags
      mh    

  static boolean shouldBeInitialized(java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/invoke/MemberName;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.invoke.MemberName member
         0: .line 297
            aload 0 /* member */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            tableswitch { // 2 - 8
                    2: 1
                    3: 2
                    4: 1
                    5: 2
                    6: 1
                    7: 2
                    8: 1
              default: 2
          }
         1: .line 302
      StackMap locals:
      StackMap stack:
            goto 3
         2: .line 305
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         3: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* member */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            astore 1 /* cls */
        start local 1 // java.lang.Class cls
         4: .line 308
            aload 1 /* cls */
            ldc Lsun/invoke/util/ValueConversions;
            if_acmpeq 7
         5: .line 309
            aload 1 /* cls */
            ldc Ljava/lang/invoke/MethodHandleImpl;
            if_acmpeq 7
         6: .line 310
            aload 1 /* cls */
            ldc Ljava/lang/invoke/Invokers;
            if_acmpne 8
         7: .line 313
      StackMap locals: java.lang.Class
      StackMap stack:
            iconst_0
            ireturn
         8: .line 315
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/invoke/MethodHandle;
            aload 1 /* cls */
            invokestatic sun.invoke.util.VerifyAccess.isSamePackage:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifne 10
         9: .line 316
            ldc Lsun/invoke/util/ValueConversions;
            aload 1 /* cls */
            invokestatic sun.invoke.util.VerifyAccess.isSamePackage:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifeq 13
        10: .line 319
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
            aload 1 /* cls */
            invokevirtual sun.misc.Unsafe.shouldBeInitialized:(Ljava/lang/Class;)Z
            ifeq 12
        11: .line 320
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
            aload 1 /* cls */
            invokevirtual sun.misc.Unsafe.ensureClassInitialized:(Ljava/lang/Class;)V
        12: .line 322
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        13: .line 324
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
            aload 1 /* cls */
            invokevirtual sun.misc.Unsafe.shouldBeInitialized:(Ljava/lang/Class;)Z
            ireturn
        end local 1 // java.lang.Class cls
        end local 0 // java.lang.invoke.MemberName member
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0  member  Ljava/lang/invoke/MemberName;
            4   14     1     cls  Ljava/lang/Class<*>;
    MethodParameters:
        Name  Flags
      member  

  private void ensureInitialized();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.invoke.DirectMethodHandle this
         0: .line 341
            aload 0 /* this */
            getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
            invokestatic java.lang.invoke.DirectMethodHandle.checkInitialized:(Ljava/lang/invoke/MemberName;)Z
            ifeq 4
         1: .line 343
            aload 0 /* this */
            getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
            invokevirtual java.lang.invoke.MemberName.isField:()Z
            ifeq 3
         2: .line 344
            aload 0 /* this */
            aload 0 /* this */
            getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
            invokestatic java.lang.invoke.DirectMethodHandle.preparedFieldLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
            invokevirtual java.lang.invoke.DirectMethodHandle.updateForm:(Ljava/lang/invoke/LambdaForm;)V
            goto 4
         3: .line 346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
            invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
            invokevirtual java.lang.invoke.DirectMethodHandle.updateForm:(Ljava/lang/invoke/LambdaForm;)V
         4: .line 348
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.invoke.DirectMethodHandle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/lang/invoke/DirectMethodHandle;

  private static boolean checkInitialized(java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/invoke/MemberName;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.lang.invoke.MemberName member
         0: .line 350
            aload 0 /* member */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            astore 1 /* defc */
        start local 1 // java.lang.Class defc
         1: .line 351
            getstatic java.lang.invoke.DirectMethodHandle$EnsureInitialized.INSTANCE:Ljava/lang/invoke/DirectMethodHandle$EnsureInitialized;
            aload 1 /* defc */
            invokevirtual java.lang.invoke.DirectMethodHandle$EnsureInitialized.get:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.ref.WeakReference
            astore 2 /* ref */
        start local 2 // java.lang.ref.WeakReference ref
         2: .line 352
            aload 2 /* ref */
            ifnonnull 4
         3: .line 353
            iconst_1
            ireturn
         4: .line 355
      StackMap locals: java.lang.Class java.lang.ref.WeakReference
      StackMap stack:
            aload 2 /* ref */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast java.lang.Thread
            astore 3 /* clinitThread */
        start local 3 // java.lang.Thread clinitThread
         5: .line 357
            aload 3 /* clinitThread */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            if_acmpne 8
         6: .line 359
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
            aload 1 /* defc */
            invokevirtual sun.misc.Unsafe.shouldBeInitialized:(Ljava/lang/Class;)Z
            ifeq 9
         7: .line 361
            iconst_0
            ireturn
         8: .line 364
      StackMap locals: java.lang.Thread
      StackMap stack:
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
            aload 1 /* defc */
            invokevirtual sun.misc.Unsafe.ensureClassInitialized:(Ljava/lang/Class;)V
         9: .line 366
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 10
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
            aload 1 /* defc */
            invokevirtual sun.misc.Unsafe.shouldBeInitialized:(Ljava/lang/Class;)Z
            ifeq 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 368
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.DirectMethodHandle$EnsureInitialized.INSTANCE:Ljava/lang/invoke/DirectMethodHandle$EnsureInitialized;
            aload 1 /* defc */
            invokevirtual java.lang.invoke.DirectMethodHandle$EnsureInitialized.remove:(Ljava/lang/Class;)V
        11: .line 369
            iconst_1
            ireturn
        end local 3 // java.lang.Thread clinitThread
        end local 2 // java.lang.ref.WeakReference ref
        end local 1 // java.lang.Class defc
        end local 0 // java.lang.invoke.MemberName member
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0        member  Ljava/lang/invoke/MemberName;
            1   12     1          defc  Ljava/lang/Class<*>;
            2   12     2           ref  Ljava/lang/ref/WeakReference<Ljava/lang/Thread;>;
            5   12     3  clinitThread  Ljava/lang/Thread;
    MethodParameters:
        Name  Flags
      member  

  static void ensureInitialized(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object mh
         0: .line 373
            aload 0 /* mh */
            checkcast java.lang.invoke.DirectMethodHandle
            invokevirtual java.lang.invoke.DirectMethodHandle.ensureInitialized:()V
         1: .line 374
            return
        end local 0 // java.lang.Object mh
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    mh  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      mh    

  static java.lang.Object constructorMethod(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Object mh
         0: .line 433
            aload 0 /* mh */
            checkcast java.lang.invoke.DirectMethodHandle$Constructor
            astore 1 /* dmh */
        start local 1 // java.lang.invoke.DirectMethodHandle$Constructor dmh
         1: .line 434
            aload 1 /* dmh */
            getfield java.lang.invoke.DirectMethodHandle$Constructor.initMethod:Ljava/lang/invoke/MemberName;
            areturn
        end local 1 // java.lang.invoke.DirectMethodHandle$Constructor dmh
        end local 0 // java.lang.Object mh
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    mh  Ljava/lang/Object;
            1    2     1   dmh  Ljava/lang/invoke/DirectMethodHandle$Constructor;
    MethodParameters:
      Name  Flags
      mh    

  static java.lang.Object allocateInstance(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Object mh
         0: .line 438
            aload 0 /* mh */
            checkcast java.lang.invoke.DirectMethodHandle$Constructor
            astore 1 /* dmh */
        start local 1 // java.lang.invoke.DirectMethodHandle$Constructor dmh
         1: .line 439
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
            aload 1 /* dmh */
            getfield java.lang.invoke.DirectMethodHandle$Constructor.instanceClass:Ljava/lang/Class;
            invokevirtual sun.misc.Unsafe.allocateInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.invoke.DirectMethodHandle$Constructor dmh
        end local 0 // java.lang.Object mh
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    mh  Ljava/lang/Object;
            1    2     1   dmh  Ljava/lang/invoke/DirectMethodHandle$Constructor;
    Exceptions:
      throws java.lang.InstantiationException
    MethodParameters:
      Name  Flags
      mh    

  static long fieldOffset(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object accessorObj
         0: .line 466
            aload 0 /* accessorObj */
            checkcast java.lang.invoke.DirectMethodHandle$Accessor
            getfield java.lang.invoke.DirectMethodHandle$Accessor.fieldOffset:I
            i2l
            lreturn
        end local 0 // java.lang.Object accessorObj
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  accessorObj  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      java.lang.invoke.ForceInline()
    MethodParameters:
             Name  Flags
      accessorObj  

  static java.lang.Object checkBase(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 478
            aload 0 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
         1: .line 479
            aload 0 /* obj */
            areturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   obj  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      java.lang.invoke.ForceInline()
    MethodParameters:
      Name  Flags
      obj   

  static java.lang.Object nullCheck(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 507
            aload 0 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
         1: .line 508
            aload 0 /* obj */
            areturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   obj  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      java.lang.invoke.ForceInline()
    MethodParameters:
      Name  Flags
      obj   

  static java.lang.Object staticBase(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object accessorObj
         0: .line 513
            aload 0 /* accessorObj */
            checkcast java.lang.invoke.DirectMethodHandle$StaticAccessor
            getfield java.lang.invoke.DirectMethodHandle$StaticAccessor.staticBase:Ljava/lang/Object;
            areturn
        end local 0 // java.lang.Object accessorObj
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  accessorObj  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      java.lang.invoke.ForceInline()
    MethodParameters:
             Name  Flags
      accessorObj  

  static long staticOffset(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object accessorObj
         0: .line 518
            aload 0 /* accessorObj */
            checkcast java.lang.invoke.DirectMethodHandle$StaticAccessor
            getfield java.lang.invoke.DirectMethodHandle$StaticAccessor.staticOffset:J
            lreturn
        end local 0 // java.lang.Object accessorObj
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  accessorObj  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      java.lang.invoke.ForceInline()
    MethodParameters:
             Name  Flags
      accessorObj  

  static java.lang.Object checkCast(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object mh
        start local 1 // java.lang.Object obj
         0: .line 523
            aload 0 /* mh */
            checkcast java.lang.invoke.DirectMethodHandle
            aload 1 /* obj */
            invokevirtual java.lang.invoke.DirectMethodHandle.checkCast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Object mh
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    mh  Ljava/lang/Object;
            0    1     1   obj  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      java.lang.invoke.ForceInline()
    MethodParameters:
      Name  Flags
      mh    
      obj   

  java.lang.Object checkCast(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.invoke.DirectMethodHandle this
        start local 1 // java.lang.Object obj
         0: .line 527
            aload 0 /* this */
            getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
            invokevirtual java.lang.invoke.MemberName.getReturnType:()Ljava/lang/Class;
            aload 1 /* obj */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.invoke.DirectMethodHandle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/DirectMethodHandle;
            0    1     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  private static int afIndex(byte, boolean, int);
    descriptor: (BZI)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // byte formOp
        start local 1 // boolean isVolatile
        start local 2 // int ftypeKind
         0: .line 547
            iload 0 /* formOp */
            getstatic java.lang.invoke.DirectMethodHandle.FT_LIMIT:I
            imul
            iconst_2
            imul
         1: .line 548
            iload 1 /* isVolatile */
            ifeq 2
            getstatic java.lang.invoke.DirectMethodHandle.FT_LIMIT:I
            goto 3
      StackMap locals:
      StackMap stack: int
         2: iconst_0
         3: .line 547
      StackMap locals: int int int
      StackMap stack: int int
            iadd
         4: .line 549
            iload 2 /* ftypeKind */
         5: .line 547
            iadd
            ireturn
        end local 2 // int ftypeKind
        end local 1 // boolean isVolatile
        end local 0 // byte formOp
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0      formOp  B
            0    6     1  isVolatile  Z
            0    6     2   ftypeKind  I
    MethodParameters:
            Name  Flags
      formOp      
      isVolatile  
      ftypeKind   

  private static int ftypeKind(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class ftype
         0: .line 554
            aload 0 /* ftype */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 2
         1: .line 555
            aload 0 /* ftype */
            invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
            invokevirtual sun.invoke.util.Wrapper.ordinal:()I
            ireturn
         2: .line 556
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Object;
            aload 0 /* ftype */
            invokestatic sun.invoke.util.VerifyType.isNullReferenceConversion:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifeq 4
         3: .line 557
            getstatic java.lang.invoke.DirectMethodHandle.FT_UNCHECKED_REF:I
            ireturn
         4: .line 559
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.DirectMethodHandle.FT_CHECKED_REF:I
            ireturn
        end local 0 // java.lang.Class ftype
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  ftype  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)I
    MethodParameters:
       Name  Flags
      ftype  

  private static java.lang.invoke.LambdaForm preparedFieldLambdaForm(java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // java.lang.invoke.MemberName m
         0: .line 568
            aload 0 /* m */
            invokevirtual java.lang.invoke.MemberName.getFieldType:()Ljava/lang/Class;
            astore 1 /* ftype */
        start local 1 // java.lang.Class ftype
         1: .line 569
            aload 0 /* m */
            invokevirtual java.lang.invoke.MemberName.isVolatile:()Z
            istore 2 /* isVolatile */
        start local 2 // boolean isVolatile
         2: .line 571
            aload 0 /* m */
            invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
            tableswitch { // 1 - 4
                    1: 3
                    2: 7
                    3: 5
                    4: 9
              default: 11
          }
         3: .line 572
      StackMap locals: java.lang.Class int
      StackMap stack:
            getstatic java.lang.invoke.DirectMethodHandle.AF_GETFIELD:B
            istore 3 /* formOp */
        start local 3 // byte formOp
         4: goto 12
        end local 3 // byte formOp
         5: .line 573
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.DirectMethodHandle.AF_PUTFIELD:B
            istore 3 /* formOp */
        start local 3 // byte formOp
         6: goto 12
        end local 3 // byte formOp
         7: .line 574
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.DirectMethodHandle.AF_GETSTATIC:B
            istore 3 /* formOp */
        start local 3 // byte formOp
         8: goto 12
        end local 3 // byte formOp
         9: .line 575
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.DirectMethodHandle.AF_PUTSTATIC:B
            istore 3 /* formOp */
        start local 3 // byte formOp
        10: goto 12
        end local 3 // byte formOp
        11: .line 576
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            aload 0 /* m */
            invokevirtual java.lang.invoke.MemberName.toString:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        start local 3 // byte formOp
        12: .line 578
      StackMap locals: int
      StackMap stack:
            aload 0 /* m */
            invokestatic java.lang.invoke.DirectMethodHandle.shouldBeInitialized:(Ljava/lang/invoke/MemberName;)Z
            ifeq 18
        13: .line 580
            iload 3 /* formOp */
            iload 2 /* isVolatile */
            aload 1 /* ftype */
            invokestatic java.lang.invoke.DirectMethodHandle.preparedFieldLambdaForm:(BZLjava/lang/Class;)Ljava/lang/invoke/LambdaForm;
            pop
        14: .line 581
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 17
            getstatic java.lang.invoke.DirectMethodHandle.AF_GETSTATIC_INIT:B
            getstatic java.lang.invoke.DirectMethodHandle.AF_GETSTATIC:B
            isub
        15: .line 582
            getstatic java.lang.invoke.DirectMethodHandle.AF_PUTSTATIC_INIT:B
            getstatic java.lang.invoke.DirectMethodHandle.AF_PUTSTATIC:B
            isub
        16: .line 581
            if_icmpeq 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 583
      StackMap locals:
      StackMap stack:
            iload 3 /* formOp */
            getstatic java.lang.invoke.DirectMethodHandle.AF_GETSTATIC_INIT:B
            getstatic java.lang.invoke.DirectMethodHandle.AF_GETSTATIC:B
            isub
            iadd
            i2b
            istore 3 /* formOp */
        18: .line 585
      StackMap locals:
      StackMap stack:
            iload 3 /* formOp */
            iload 2 /* isVolatile */
            aload 1 /* ftype */
            invokestatic java.lang.invoke.DirectMethodHandle.preparedFieldLambdaForm:(BZLjava/lang/Class;)Ljava/lang/invoke/LambdaForm;
            astore 4 /* lform */
        start local 4 // java.lang.invoke.LambdaForm lform
        19: .line 586
            aload 4 /* lform */
            aload 0 /* m */
            invokestatic java.lang.invoke.DirectMethodHandle.maybeCompile:(Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
        20: .line 587
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 23
            aload 4 /* lform */
            invokevirtual java.lang.invoke.LambdaForm.methodType:()Ljava/lang/invoke/MethodType;
            iconst_0
            iconst_1
            invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
        21: .line 588
            aload 0 /* m */
            invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
            ifne 23
            new java.lang.AssertionError
            dup
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        22: .line 589
            aload 0 /* m */
            aastore
            dup
            iconst_1
            aload 0 /* m */
            invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            aastore
            dup
            iconst_2
            aload 4 /* lform */
            aastore
            dup
            iconst_3
            aload 4 /* lform */
            invokevirtual java.lang.invoke.LambdaForm.methodType:()Ljava/lang/invoke/MethodType;
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        23: .line 590
      StackMap locals: java.lang.invoke.LambdaForm
      StackMap stack:
            aload 4 /* lform */
            areturn
        end local 4 // java.lang.invoke.LambdaForm lform
        end local 3 // byte formOp
        end local 2 // boolean isVolatile
        end local 1 // java.lang.Class ftype
        end local 0 // java.lang.invoke.MemberName m
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0           m  Ljava/lang/invoke/MemberName;
            1   24     1       ftype  Ljava/lang/Class<*>;
            2   24     2  isVolatile  Z
            4    5     3      formOp  B
            6    7     3      formOp  B
            8    9     3      formOp  B
           10   11     3      formOp  B
           12   24     3      formOp  B
           19   24     4       lform  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
      Name  Flags
      m     

  private static java.lang.invoke.LambdaForm preparedFieldLambdaForm(byte, boolean, java.lang.Class<?>);
    descriptor: (BZLjava/lang/Class;)Ljava/lang/invoke/LambdaForm;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // byte formOp
        start local 1 // boolean isVolatile
        start local 2 // java.lang.Class ftype
         0: .line 593
            iload 0 /* formOp */
            iload 1 /* isVolatile */
            aload 2 /* ftype */
            invokestatic java.lang.invoke.DirectMethodHandle.ftypeKind:(Ljava/lang/Class;)I
            invokestatic java.lang.invoke.DirectMethodHandle.afIndex:(BZI)I
            istore 3 /* afIndex */
        start local 3 // int afIndex
         1: .line 594
            getstatic java.lang.invoke.DirectMethodHandle.ACCESSOR_FORMS:[Ljava/lang/invoke/LambdaForm;
            iload 3 /* afIndex */
            aaload
            astore 4 /* lform */
        start local 4 // java.lang.invoke.LambdaForm lform
         2: .line 595
            aload 4 /* lform */
            ifnull 3
            aload 4 /* lform */
            areturn
         3: .line 596
      StackMap locals: int java.lang.invoke.LambdaForm
      StackMap stack:
            iload 0 /* formOp */
            iload 1 /* isVolatile */
            aload 2 /* ftype */
            invokestatic java.lang.invoke.DirectMethodHandle.ftypeKind:(Ljava/lang/Class;)I
            invokestatic java.lang.invoke.DirectMethodHandle.makePreparedFieldLambdaForm:(BZI)Ljava/lang/invoke/LambdaForm;
            astore 4 /* lform */
         4: .line 597
            getstatic java.lang.invoke.DirectMethodHandle.ACCESSOR_FORMS:[Ljava/lang/invoke/LambdaForm;
            iload 3 /* afIndex */
            aload 4 /* lform */
            aastore
         5: .line 598
            aload 4 /* lform */
            areturn
        end local 4 // java.lang.invoke.LambdaForm lform
        end local 3 // int afIndex
        end local 2 // java.lang.Class ftype
        end local 1 // boolean isVolatile
        end local 0 // byte formOp
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0      formOp  B
            0    6     1  isVolatile  Z
            0    6     2       ftype  Ljava/lang/Class<*>;
            1    6     3     afIndex  I
            2    6     4       lform  Ljava/lang/invoke/LambdaForm;
    Signature: (BZLjava/lang/Class<*>;)Ljava/lang/invoke/LambdaForm;
    MethodParameters:
            Name  Flags
      formOp      
      isVolatile  
      ftype       

  private static java.lang.invoke.LambdaForm makePreparedFieldLambdaForm(byte, boolean, int);
    descriptor: (BZI)Ljava/lang/invoke/LambdaForm;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=12, locals=34, args_size=3
        start local 0 // byte formOp
        start local 1 // boolean isVolatile
        start local 2 // int ftypeKind
         0: .line 602
            iload 0 /* formOp */
            iconst_1
            iand
            getstatic java.lang.invoke.DirectMethodHandle.AF_GETFIELD:B
            iconst_1
            iand
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* isGetter */
        start local 3 // boolean isGetter
         3: .line 603
            iload 0 /* formOp */
            getstatic java.lang.invoke.DirectMethodHandle.AF_GETSTATIC:B
            if_icmplt 4
            iconst_1
            goto 5
      StackMap locals: int
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* isStatic */
        start local 4 // boolean isStatic
         6: .line 604
            iload 0 /* formOp */
            getstatic java.lang.invoke.DirectMethodHandle.AF_GETSTATIC_INIT:B
            if_icmplt 7
            iconst_1
            goto 8
      StackMap locals: int
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 5 /* needsInit */
        start local 5 // boolean needsInit
         9: .line 605
            iload 2 /* ftypeKind */
            getstatic java.lang.invoke.DirectMethodHandle.FT_CHECKED_REF:I
            if_icmpne 10
            iconst_1
            goto 11
      StackMap locals: int
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 6 /* needsCast */
        start local 6 // boolean needsCast
        12: .line 606
            iload 6 /* needsCast */
            ifeq 13
            getstatic sun.invoke.util.Wrapper.OBJECT:Lsun/invoke/util/Wrapper;
            goto 14
      StackMap locals: int
      StackMap stack:
        13: invokestatic sun.invoke.util.Wrapper.values:()[Lsun/invoke/util/Wrapper;
            iload 2 /* ftypeKind */
            aaload
      StackMap locals:
      StackMap stack: sun.invoke.util.Wrapper
        14: astore 7 /* fw */
        start local 7 // sun.invoke.util.Wrapper fw
        15: .line 607
            aload 7 /* fw */
            invokevirtual sun.invoke.util.Wrapper.primitiveType:()Ljava/lang/Class;
            astore 8 /* ft */
        start local 8 // java.lang.Class ft
        16: .line 608
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 19
            iload 6 /* needsCast */
            ifeq 17
            ldc Ljava/lang/String;
            goto 18
      StackMap locals: sun.invoke.util.Wrapper java.lang.Class
      StackMap stack:
        17: aload 8 /* ft */
      StackMap locals:
      StackMap stack: java.lang.Class
        18: invokestatic java.lang.invoke.DirectMethodHandle.ftypeKind:(Ljava/lang/Class;)I
            iload 2 /* ftypeKind */
            if_icmpeq 19
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 609
      StackMap locals:
      StackMap stack:
            aload 7 /* fw */
            invokevirtual sun.invoke.util.Wrapper.primitiveSimpleName:()Ljava/lang/String;
            astore 9 /* tname */
        start local 9 // java.lang.String tname
        20: .line 610
            new java.lang.StringBuilder
            dup
            aload 9 /* tname */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.toUpperCase:(C)C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* tname */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* ctname */
        start local 10 // java.lang.String ctname
        21: .line 611
            iload 1 /* isVolatile */
            ifeq 22
            new java.lang.StringBuilder
            dup
            aload 10 /* ctname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Volatile"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* ctname */
        22: .line 612
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            iload 3 /* isGetter */
            ifeq 23
            ldc "get"
            goto 24
      StackMap locals:
      StackMap stack:
        23: ldc "put"
      StackMap locals:
      StackMap stack: java.lang.String
        24: astore 11 /* getOrPut */
        start local 11 // java.lang.String getOrPut
        25: .line 613
            new java.lang.StringBuilder
            dup
            aload 11 /* getOrPut */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* ctname */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 12 /* linkerName */
        start local 12 // java.lang.String linkerName
        26: .line 615
            iload 3 /* isGetter */
            ifeq 29
        27: .line 616
            aload 8 /* ft */
            ldc Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aastore
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 13 /* linkerType */
        start local 13 // java.lang.invoke.MethodType linkerType
        28: goto 30
        end local 13 // java.lang.invoke.MethodType linkerType
        29: .line 618
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            ldc Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            aload 8 /* ft */
            aastore
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 13 /* linkerType */
        start local 13 // java.lang.invoke.MethodType linkerType
        30: .line 619
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
            new java.lang.invoke.MemberName
            dup
            ldc Lsun/misc/Unsafe;
            aload 12 /* linkerName */
            aload 13 /* linkerType */
            iconst_5
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;B)V
            astore 14 /* linker */
        start local 14 // java.lang.invoke.MemberName linker
        31: .line 621
            getstatic java.lang.invoke.DirectMethodHandle.IMPL_NAMES:Ljava/lang/invoke/MemberName$Factory;
            iconst_5
            aload 14 /* linker */
            aconst_null
            ldc Ljava/lang/NoSuchMethodException;
            invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
            astore 14 /* linker */
        32: .line 622
            goto 35
      StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.String java.lang.String java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName
      StackMap stack: java.lang.ReflectiveOperationException
        33: astore 15 /* ex */
        start local 15 // java.lang.ReflectiveOperationException ex
        34: .line 623
            aload 15 /* ex */
            invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Throwable;)Ljava/lang/InternalError;
            athrow
        end local 15 // java.lang.ReflectiveOperationException ex
        35: .line 628
      StackMap locals:
      StackMap stack:
            iload 3 /* isGetter */
            ifeq 38
        36: .line 629
            aload 8 /* ft */
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 15 /* mtype */
        start local 15 // java.lang.invoke.MethodType mtype
        37: goto 39
        end local 15 // java.lang.invoke.MethodType mtype
        38: .line 631
      StackMap locals:
      StackMap stack:
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            aload 8 /* ft */
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 15 /* mtype */
        start local 15 // java.lang.invoke.MethodType mtype
        39: .line 632
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
            aload 15 /* mtype */
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            astore 15 /* mtype */
        40: .line 633
            iload 4 /* isStatic */
            ifne 42
        41: .line 634
            aload 15 /* mtype */
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 15 /* mtype */
        42: .line 637
      StackMap locals:
      StackMap stack:
            iconst_1
            aload 15 /* mtype */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iadd
            istore 16 /* ARG_LIMIT */
        start local 16 // int ARG_LIMIT
        43: .line 639
            iload 4 /* isStatic */
            ifeq 44
            iconst_m1
            goto 45
      StackMap locals: int
      StackMap stack:
        44: iconst_1
      StackMap locals:
      StackMap stack: int
        45: istore 17 /* OBJ_BASE */
        start local 17 // int OBJ_BASE
        46: .line 641
            iload 3 /* isGetter */
            ifeq 47
            iconst_m1
            goto 48
      StackMap locals: int
      StackMap stack:
        47: iload 16 /* ARG_LIMIT */
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
        48: istore 18 /* SET_VALUE */
        start local 18 // int SET_VALUE
        49: .line 642
            iload 16 /* ARG_LIMIT */
            istore 19 /* nameCursor */
        start local 19 // int nameCursor
        50: .line 643
            iload 4 /* isStatic */
            ifeq 51
            iload 19 /* nameCursor */
            iinc 19 /* nameCursor */ 1
            goto 52
      StackMap locals: int int
      StackMap stack:
        51: iconst_m1
      StackMap locals:
      StackMap stack: int
        52: istore 20 /* F_HOLDER */
        start local 20 // int F_HOLDER
        53: .line 644
            iload 19 /* nameCursor */
            iinc 19 /* nameCursor */ 1
            istore 21 /* F_OFFSET */
        start local 21 // int F_OFFSET
        54: .line 645
            iload 17 /* OBJ_BASE */
            iflt 55
            iload 19 /* nameCursor */
            iinc 19 /* nameCursor */ 1
            goto 56
      StackMap locals: int int
      StackMap stack:
        55: iconst_m1
      StackMap locals:
      StackMap stack: int
        56: istore 22 /* OBJ_CHECK */
        start local 22 // int OBJ_CHECK
        57: .line 646
            iload 5 /* needsInit */
            ifeq 58
            iload 19 /* nameCursor */
            iinc 19 /* nameCursor */ 1
            goto 59
      StackMap locals: int
      StackMap stack:
        58: iconst_m1
      StackMap locals:
      StackMap stack: int
        59: istore 23 /* INIT_BAR */
        start local 23 // int INIT_BAR
        60: .line 647
            iload 6 /* needsCast */
            ifeq 61
            iload 3 /* isGetter */
            ifne 61
            iload 19 /* nameCursor */
            iinc 19 /* nameCursor */ 1
            goto 62
      StackMap locals: int
      StackMap stack:
        61: iconst_m1
      StackMap locals:
      StackMap stack: int
        62: istore 24 /* PRE_CAST */
        start local 24 // int PRE_CAST
        63: .line 648
            iload 19 /* nameCursor */
            iinc 19 /* nameCursor */ 1
            istore 25 /* LINKER_CALL */
        start local 25 // int LINKER_CALL
        64: .line 649
            iload 6 /* needsCast */
            ifeq 65
            iload 3 /* isGetter */
            ifeq 65
            iload 19 /* nameCursor */
            iinc 19 /* nameCursor */ 1
            goto 66
      StackMap locals: int int
      StackMap stack:
        65: iconst_m1
      StackMap locals:
      StackMap stack: int
        66: istore 26 /* POST_CAST */
        start local 26 // int POST_CAST
        67: .line 650
            iload 19 /* nameCursor */
            iconst_1
            isub
            istore 27 /* RESULT */
        start local 27 // int RESULT
        68: .line 651
            iload 19 /* nameCursor */
            iload 16 /* ARG_LIMIT */
            isub
            aload 15 /* mtype */
            invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
            invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
            astore 28 /* names */
        start local 28 // java.lang.invoke.LambdaForm$Name[] names
        69: .line 652
            iload 5 /* needsInit */
            ifeq 71
        70: .line 653
            aload 28 /* names */
            iload 23 /* INIT_BAR */
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_ensureInitialized:Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 28 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        71: .line 654
      StackMap locals: int int java.lang.invoke.LambdaForm$Name[]
      StackMap stack:
            iload 6 /* needsCast */
            ifeq 73
            iload 3 /* isGetter */
            ifne 73
        72: .line 655
            aload 28 /* names */
            iload 24 /* PRE_CAST */
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_checkCast:Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 28 /* names */
            iconst_0
            aaload
            aastore
            dup
            iconst_1
            aload 28 /* names */
            iload 18 /* SET_VALUE */
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        73: .line 656
      StackMap locals:
      StackMap stack:
            iconst_1
            aload 13 /* linkerType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iadd
            anewarray java.lang.Object
            astore 29 /* outArgs */
        start local 29 // java.lang.Object[] outArgs
        74: .line 657
            getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 77
            aload 29 /* outArgs */
            arraylength
            iload 3 /* isGetter */
            ifeq 75
            iconst_3
            goto 76
      StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.String java.lang.String java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
      StackMap stack: int
        75: iconst_4
      StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.String java.lang.String java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
      StackMap stack: int int
        76: if_icmpeq 77
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        77: .line 658
      StackMap locals:
      StackMap stack:
            aload 29 /* outArgs */
            iconst_0
            getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
            aastore
        78: .line 659
            iload 4 /* isStatic */
            ifeq 82
        79: .line 660
            aload 29 /* outArgs */
            iconst_1
            aload 28 /* names */
            iload 20 /* F_HOLDER */
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_staticBase:Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 28 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            dup_x2
            aastore
            aastore
        80: .line 661
            aload 29 /* outArgs */
            iconst_2
            aload 28 /* names */
            iload 21 /* F_OFFSET */
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_staticOffset:Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 28 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            dup_x2
            aastore
            aastore
        81: .line 662
            goto 84
        82: .line 663
      StackMap locals:
      StackMap stack:
            aload 29 /* outArgs */
            iconst_1
            aload 28 /* names */
            iload 22 /* OBJ_CHECK */
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_checkBase:Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 28 /* names */
            iload 17 /* OBJ_BASE */
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            dup_x2
            aastore
            aastore
        83: .line 664
            aload 29 /* outArgs */
            iconst_2
            aload 28 /* names */
            iload 21 /* F_OFFSET */
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_fieldOffset:Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 28 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            dup_x2
            aastore
            aastore
        84: .line 666
      StackMap locals:
      StackMap stack:
            iload 3 /* isGetter */
            ifne 88
        85: .line 667
            aload 29 /* outArgs */
            iconst_3
            iload 6 /* needsCast */
            ifeq 86
            aload 28 /* names */
            iload 24 /* PRE_CAST */
            aaload
            goto 87
      StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.String java.lang.String java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
      StackMap stack: java.lang.Object[] int
        86: aload 28 /* names */
            iload 18 /* SET_VALUE */
            aaload
      StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.String java.lang.String java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
      StackMap stack: java.lang.Object[] int java.lang.invoke.LambdaForm$Name
        87: aastore
        88: .line 669
      StackMap locals:
      StackMap stack:
            aload 29 /* outArgs */
            dup
            astore 33
            arraylength
            istore 32
            iconst_0
            istore 31
            goto 92
      StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.String java.lang.String java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[] top int int java.lang.Object[]
      StackMap stack:
        89: aload 33
            iload 31
            aaload
            astore 30 /* a */
        start local 30 // java.lang.Object a
        90: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 91
            aload 30 /* a */
            ifnonnull 91
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 30 // java.lang.Object a
      StackMap locals:
      StackMap stack:
        91: iinc 31 1
      StackMap locals:
      StackMap stack:
        92: iload 31
            iload 32
            if_icmplt 89
        93: .line 670
            aload 28 /* names */
            iload 25 /* LINKER_CALL */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 14 /* linker */
            aload 29 /* outArgs */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MemberName;[Ljava/lang/Object;)V
            aastore
        94: .line 671
            iload 6 /* needsCast */
            ifeq 96
            iload 3 /* isGetter */
            ifeq 96
        95: .line 672
            aload 28 /* names */
            iload 26 /* POST_CAST */
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_checkCast:Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 28 /* names */
            iconst_0
            aaload
            aastore
            dup
            iconst_1
            aload 28 /* names */
            iload 25 /* LINKER_CALL */
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        96: .line 673
      StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.String java.lang.String java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
      StackMap stack:
            aload 28 /* names */
            dup
            astore 33
            arraylength
            istore 32
            iconst_0
            istore 31
            goto 100
      StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.String java.lang.String java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[] top int int java.lang.invoke.LambdaForm$Name[]
      StackMap stack:
        97: aload 33
            iload 31
            aaload
            astore 30 /* n */
        start local 30 // java.lang.invoke.LambdaForm$Name n
        98: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
            ifne 99
            aload 30 /* n */
            ifnonnull 99
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 30 // java.lang.invoke.LambdaForm$Name n
      StackMap locals:
      StackMap stack:
        99: iinc 31 1
      StackMap locals:
      StackMap stack:
       100: iload 31
            iload 32
            if_icmplt 97
       101: .line 674
            iload 4 /* isStatic */
            ifeq 102
            ldc "Static"
            goto 103
      StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.String java.lang.String java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
      StackMap stack:
       102: ldc "Field"
      StackMap locals:
      StackMap stack: java.lang.String
       103: astore 30 /* fieldOrStatic */
        start local 30 // java.lang.String fieldOrStatic
       104: .line 675
            new java.lang.StringBuilder
            dup
            aload 12 /* linkerName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 30 /* fieldOrStatic */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 31 /* lambdaName */
        start local 31 // java.lang.String lambdaName
       105: .line 676
            iload 6 /* needsCast */
            ifeq 106
            new java.lang.StringBuilder
            dup
            aload 31 /* lambdaName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Cast"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 31 /* lambdaName */
       106: .line 677
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            iload 5 /* needsInit */
            ifeq 107
            new java.lang.StringBuilder
            dup
            aload 31 /* lambdaName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Init"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 31 /* lambdaName */
       107: .line 678
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm
            dup
            aload 31 /* lambdaName */
            iload 16 /* ARG_LIMIT */
            aload 28 /* names */
            iload 27 /* RESULT */
            invokespecial java.lang.invoke.LambdaForm.<init>:(Ljava/lang/String;I[Ljava/lang/invoke/LambdaForm$Name;I)V
            areturn
        end local 31 // java.lang.String lambdaName
        end local 30 // java.lang.String fieldOrStatic
        end local 29 // java.lang.Object[] outArgs
        end local 28 // java.lang.invoke.LambdaForm$Name[] names
        end local 27 // int RESULT
        end local 26 // int POST_CAST
        end local 25 // int LINKER_CALL
        end local 24 // int PRE_CAST
        end local 23 // int INIT_BAR
        end local 22 // int OBJ_CHECK
        end local 21 // int F_OFFSET
        end local 20 // int F_HOLDER
        end local 19 // int nameCursor
        end local 18 // int SET_VALUE
        end local 17 // int OBJ_BASE
        end local 16 // int ARG_LIMIT
        end local 15 // java.lang.invoke.MethodType mtype
        end local 14 // java.lang.invoke.MemberName linker
        end local 13 // java.lang.invoke.MethodType linkerType
        end local 12 // java.lang.String linkerName
        end local 11 // java.lang.String getOrPut
        end local 10 // java.lang.String ctname
        end local 9 // java.lang.String tname
        end local 8 // java.lang.Class ft
        end local 7 // sun.invoke.util.Wrapper fw
        end local 6 // boolean needsCast
        end local 5 // boolean needsInit
        end local 4 // boolean isStatic
        end local 3 // boolean isGetter
        end local 2 // int ftypeKind
        end local 1 // boolean isVolatile
        end local 0 // byte formOp
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  108     0         formOp  B
            0  108     1     isVolatile  Z
            0  108     2      ftypeKind  I
            3  108     3       isGetter  Z
            6  108     4       isStatic  Z
            9  108     5      needsInit  Z
           12  108     6      needsCast  Z
           15  108     7             fw  Lsun/invoke/util/Wrapper;
           16  108     8             ft  Ljava/lang/Class<*>;
           20  108     9          tname  Ljava/lang/String;
           21  108    10         ctname  Ljava/lang/String;
           25  108    11       getOrPut  Ljava/lang/String;
           26  108    12     linkerName  Ljava/lang/String;
           28   29    13     linkerType  Ljava/lang/invoke/MethodType;
           30  108    13     linkerType  Ljava/lang/invoke/MethodType;
           31  108    14         linker  Ljava/lang/invoke/MemberName;
           34   35    15             ex  Ljava/lang/ReflectiveOperationException;
           37   38    15          mtype  Ljava/lang/invoke/MethodType;
           39  108    15          mtype  Ljava/lang/invoke/MethodType;
           43  108    16      ARG_LIMIT  I
           46  108    17       OBJ_BASE  I
           49  108    18      SET_VALUE  I
           50  108    19     nameCursor  I
           53  108    20       F_HOLDER  I
           54  108    21       F_OFFSET  I
           57  108    22      OBJ_CHECK  I
           60  108    23       INIT_BAR  I
           63  108    24       PRE_CAST  I
           64  108    25    LINKER_CALL  I
           67  108    26      POST_CAST  I
           68  108    27         RESULT  I
           69  108    28          names  [Ljava/lang/invoke/LambdaForm$Name;
           74  108    29        outArgs  [Ljava/lang/Object;
           90   91    30              a  Ljava/lang/Object;
           98   99    30              n  Ljava/lang/invoke/LambdaForm$Name;
          104  108    30  fieldOrStatic  Ljava/lang/String;
          105  108    31     lambdaName  Ljava/lang/String;
      Exception table:
        from    to  target  type
          31    32      33  Class java.lang.ReflectiveOperationException
    MethodParameters:
            Name  Flags
      formOp      
      isVolatile  
      ftypeKind   

  java.lang.Object internalProperties();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual java.lang.invoke.DirectMethodHandle.internalProperties:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "DirectMethodHandle.java"
NestMembers:
  java.lang.invoke.DirectMethodHandle$Accessor  java.lang.invoke.DirectMethodHandle$Constructor  java.lang.invoke.DirectMethodHandle$EnsureInitialized  java.lang.invoke.DirectMethodHandle$Interface  java.lang.invoke.DirectMethodHandle$Lazy  java.lang.invoke.DirectMethodHandle$Special  java.lang.invoke.DirectMethodHandle$StaticAccessor
InnerClasses:
  Accessor = java.lang.invoke.DirectMethodHandle$Accessor of java.lang.invoke.DirectMethodHandle
  Constructor = java.lang.invoke.DirectMethodHandle$Constructor of java.lang.invoke.DirectMethodHandle
  private EnsureInitialized = java.lang.invoke.DirectMethodHandle$EnsureInitialized of java.lang.invoke.DirectMethodHandle
  Interface = java.lang.invoke.DirectMethodHandle$Interface of java.lang.invoke.DirectMethodHandle
  private Lazy = java.lang.invoke.DirectMethodHandle$Lazy of java.lang.invoke.DirectMethodHandle
  Special = java.lang.invoke.DirectMethodHandle$Special of java.lang.invoke.DirectMethodHandle
  StaticAccessor = java.lang.invoke.DirectMethodHandle$StaticAccessor of java.lang.invoke.DirectMethodHandle
  final Name = java.lang.invoke.LambdaForm$Name of java.lang.invoke.LambdaForm
  NamedFunction = java.lang.invoke.LambdaForm$NamedFunction of java.lang.invoke.LambdaForm
  Factory = java.lang.invoke.MemberName$Factory of java.lang.invoke.MemberName