abstract class java.lang.invoke.DelegatingMethodHandle extends java.lang.invoke.MethodHandle
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: java.lang.invoke.DelegatingMethodHandle
  super_class: java.lang.invoke.MethodHandle
{
  static final java.lang.invoke.LambdaForm$NamedFunction NF_getTarget;
    descriptor: Ljava/lang/invoke/LambdaForm$NamedFunction;
    flags: (0x0018) 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=5, locals=1, args_size=0
         0: .line 38
            ldc Ljava/lang/invoke/DelegatingMethodHandle;
            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.DelegatingMethodHandle.$assertionsDisabled:Z
         3: .line 158
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            ldc Ljava/lang/invoke/DelegatingMethodHandle;
         4: .line 159
            ldc "getTarget"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
         5: .line 158
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
            putstatic java.lang.invoke.DelegatingMethodHandle.NF_getTarget:Ljava/lang/invoke/LambdaForm$NamedFunction;
         6: .line 160
            goto 9
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
         7: astore 0 /* ex */
        start local 0 // java.lang.ReflectiveOperationException ex
         8: .line 161
            aload 0 /* ex */
            invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Throwable;)Ljava/lang/InternalError;
            athrow
        end local 0 // java.lang.ReflectiveOperationException ex
         9: .line 163
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            8    9     0    ex  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           3     6       7  Class java.lang.ReflectiveOperationException

  protected void <init>(java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/MethodHandle;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.invoke.DelegatingMethodHandle this
        start local 1 // java.lang.invoke.MethodHandle target
         0: .line 40
            aload 0 /* this */
            aload 1 /* target */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            aload 1 /* target */
            invokespecial java.lang.invoke.DelegatingMethodHandle.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)V
         1: .line 41
            return
        end local 1 // java.lang.invoke.MethodHandle target
        end local 0 // java.lang.invoke.DelegatingMethodHandle this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljava/lang/invoke/DelegatingMethodHandle;
            0    2     1  target  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      target  

  protected void <init>(java.lang.invoke.MethodType, java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.invoke.DelegatingMethodHandle this
        start local 1 // java.lang.invoke.MethodType type
        start local 2 // java.lang.invoke.MethodHandle target
         0: .line 44
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* target */
            invokestatic java.lang.invoke.DelegatingMethodHandle.chooseDelegatingForm:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/LambdaForm;
            invokespecial java.lang.invoke.MethodHandle.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)V
         1: .line 45
            return
        end local 2 // java.lang.invoke.MethodHandle target
        end local 1 // java.lang.invoke.MethodType type
        end local 0 // java.lang.invoke.DelegatingMethodHandle this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljava/lang/invoke/DelegatingMethodHandle;
            0    2     1    type  Ljava/lang/invoke/MethodType;
            0    2     2  target  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      type    
      target  

  protected void <init>(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm);
    descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.invoke.DelegatingMethodHandle this
        start local 1 // java.lang.invoke.MethodType type
        start local 2 // java.lang.invoke.LambdaForm form
         0: .line 48
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* form */
            invokespecial java.lang.invoke.MethodHandle.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)V
         1: .line 49
            return
        end local 2 // java.lang.invoke.LambdaForm form
        end local 1 // java.lang.invoke.MethodType type
        end local 0 // java.lang.invoke.DelegatingMethodHandle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/invoke/DelegatingMethodHandle;
            0    2     1  type  Ljava/lang/invoke/MethodType;
            0    2     2  form  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
      Name  Flags
      type  
      form  

  protected abstract java.lang.invoke.MethodHandle getTarget();
    descriptor: ()Ljava/lang/invoke/MethodHandle;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  abstract java.lang.invoke.MethodHandle asTypeUncached(java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      newType  

  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.DelegatingMethodHandle this
         0: .line 59
            aload 0 /* this */
            invokevirtual java.lang.invoke.DelegatingMethodHandle.getTarget:()Ljava/lang/invoke/MethodHandle;
            invokevirtual java.lang.invoke.MethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
            areturn
        end local 0 // java.lang.invoke.DelegatingMethodHandle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/DelegatingMethodHandle;

  boolean isInvokeSpecial();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.DelegatingMethodHandle this
         0: .line 64
            aload 0 /* this */
            invokevirtual java.lang.invoke.DelegatingMethodHandle.getTarget:()Ljava/lang/invoke/MethodHandle;
            invokevirtual java.lang.invoke.MethodHandle.isInvokeSpecial:()Z
            ireturn
        end local 0 // java.lang.invoke.DelegatingMethodHandle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/DelegatingMethodHandle;

  java.lang.Class<?> internalCallerClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.DelegatingMethodHandle this
         0: .line 69
            aload 0 /* this */
            invokevirtual java.lang.invoke.DelegatingMethodHandle.getTarget:()Ljava/lang/invoke/MethodHandle;
            invokevirtual java.lang.invoke.MethodHandle.internalCallerClass:()Ljava/lang/Class;
            areturn
        end local 0 // java.lang.invoke.DelegatingMethodHandle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/DelegatingMethodHandle;
    Signature: ()Ljava/lang/Class<*>;

  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=1, locals=3, args_size=3
        start local 0 // java.lang.invoke.DelegatingMethodHandle this
        start local 1 // java.lang.invoke.MethodType mt
        start local 2 // java.lang.invoke.LambdaForm lf
         0: .line 75
            ldc "do not use this"
            invokestatic java.lang.invoke.MethodHandleStatics.newIllegalArgumentException:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.invoke.LambdaForm lf
        end local 1 // java.lang.invoke.MethodType mt
        end local 0 // java.lang.invoke.DelegatingMethodHandle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/DelegatingMethodHandle;
            0    1     1    mt  Ljava/lang/invoke/MethodType;
            0    1     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.DelegatingMethodHandle this
         0: .line 80
            new java.lang.StringBuilder
            dup
            ldc "\n& Class="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 81
            ldc "\n& Target="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual java.lang.invoke.DelegatingMethodHandle.getTarget:()Ljava/lang/invoke/MethodHandle;
            invokevirtual java.lang.invoke.MethodHandle.debugString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 80
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.invoke.DelegatingMethodHandle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/invoke/DelegatingMethodHandle;

  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.DelegatingMethodHandle this
         0: .line 86
            aload 0 /* this */
            invokevirtual java.lang.invoke.DelegatingMethodHandle.getTarget:()Ljava/lang/invoke/MethodHandle;
            invokevirtual java.lang.invoke.MethodHandle.rebind:()Ljava/lang/invoke/BoundMethodHandle;
            areturn
        end local 0 // java.lang.invoke.DelegatingMethodHandle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/DelegatingMethodHandle;

  private static java.lang.invoke.LambdaForm chooseDelegatingForm(java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/LambdaForm;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.invoke.MethodHandle target
         0: .line 90
            aload 0 /* target */
            instanceof java.lang.invoke.SimpleMethodHandle
            ifeq 2
         1: .line 91
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.internalForm:()Ljava/lang/invoke/LambdaForm;
            areturn
         2: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* target */
            bipush 8
            ldc Ljava/lang/invoke/DelegatingMethodHandle;
            getstatic java.lang.invoke.DelegatingMethodHandle.NF_getTarget:Ljava/lang/invoke/LambdaForm$NamedFunction;
            invokestatic java.lang.invoke.DelegatingMethodHandle.makeReinvokerForm:(Ljava/lang/invoke/MethodHandle;ILjava/lang/Object;Ljava/lang/invoke/LambdaForm$NamedFunction;)Ljava/lang/invoke/LambdaForm;
            areturn
        end local 0 // java.lang.invoke.MethodHandle target
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  target  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      target  

  static java.lang.invoke.LambdaForm makeReinvokerForm(java.lang.invoke.MethodHandle, int, java.lang.Object, java.lang.invoke.LambdaForm$NamedFunction);
    descriptor: (Ljava/lang/invoke/MethodHandle;ILjava/lang/Object;Ljava/lang/invoke/LambdaForm$NamedFunction;)Ljava/lang/invoke/LambdaForm;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // java.lang.invoke.MethodHandle target
        start local 1 // int whichCache
        start local 2 // java.lang.Object constraint
        start local 3 // java.lang.invoke.LambdaForm$NamedFunction getTargetFn
         0: .line 100
            iload 1 /* whichCache */
            tableswitch { // 7 - 8
                    7: 1
                    8: 3
              default: 5
          }
         1: .line 101
      StackMap locals:
      StackMap stack:
            ldc "BMH.reinvoke"
            astore 4 /* debugString */
        start local 4 // java.lang.String debugString
         2: goto 6
        end local 4 // java.lang.String debugString
         3: .line 102
      StackMap locals:
      StackMap stack:
            ldc "MH.delegate"
            astore 4 /* debugString */
        start local 4 // java.lang.String debugString
         4: goto 6
        end local 4 // java.lang.String debugString
         5: .line 103
      StackMap locals:
      StackMap stack:
            ldc "MH.reinvoke"
            astore 4 /* debugString */
        start local 4 // java.lang.String debugString
         6: .line 106
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* target */
            iload 1 /* whichCache */
            aload 2 /* constraint */
            aload 4 /* debugString */
            iconst_1
            aload 3 /* getTargetFn */
            aconst_null
            invokestatic java.lang.invoke.DelegatingMethodHandle.makeReinvokerForm:(Ljava/lang/invoke/MethodHandle;ILjava/lang/Object;Ljava/lang/String;ZLjava/lang/invoke/LambdaForm$NamedFunction;Ljava/lang/invoke/LambdaForm$NamedFunction;)Ljava/lang/invoke/LambdaForm;
            areturn
        end local 4 // java.lang.String debugString
        end local 3 // java.lang.invoke.LambdaForm$NamedFunction getTargetFn
        end local 2 // java.lang.Object constraint
        end local 1 // int whichCache
        end local 0 // java.lang.invoke.MethodHandle target
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0       target  Ljava/lang/invoke/MethodHandle;
            0    7     1   whichCache  I
            0    7     2   constraint  Ljava/lang/Object;
            0    7     3  getTargetFn  Ljava/lang/invoke/LambdaForm$NamedFunction;
            2    3     4  debugString  Ljava/lang/String;
            4    5     4  debugString  Ljava/lang/String;
            6    7     4  debugString  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      target       
      whichCache   
      constraint   
      getTargetFn  

  static java.lang.invoke.LambdaForm makeReinvokerForm(java.lang.invoke.MethodHandle, int, java.lang.Object, java.lang.String, boolean, java.lang.invoke.LambdaForm$NamedFunction, java.lang.invoke.LambdaForm$NamedFunction);
    descriptor: (Ljava/lang/invoke/MethodHandle;ILjava/lang/Object;Ljava/lang/String;ZLjava/lang/invoke/LambdaForm$NamedFunction;Ljava/lang/invoke/LambdaForm$NamedFunction;)Ljava/lang/invoke/LambdaForm;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=10, locals=18, args_size=7
        start local 0 // java.lang.invoke.MethodHandle target
        start local 1 // int whichCache
        start local 2 // java.lang.Object constraint
        start local 3 // java.lang.String debugString
        start local 4 // boolean forceInline
        start local 5 // java.lang.invoke.LambdaForm$NamedFunction getTargetFn
        start local 6 // java.lang.invoke.LambdaForm$NamedFunction preActionFn
         0: .line 116
            aload 0 /* target */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            astore 7 /* mtype */
        start local 7 // java.lang.invoke.MethodType mtype
         1: .line 117
            iload 1 /* whichCache */
            iflt 4
         2: .line 118
            aload 7 /* mtype */
            invokevirtual java.lang.invoke.MethodType.parameterSlotCount:()I
            sipush 253
         3: .line 117
            if_icmpgt 4
            iconst_0
            goto 5
      StackMap locals: java.lang.invoke.MethodType
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 8 /* customized */
        start local 8 // boolean customized
         6: .line 119
            aload 6 /* preActionFn */
            ifnull 7
            iconst_1
            goto 8
      StackMap locals: int
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 9 /* hasPreAction */
        start local 9 // boolean hasPreAction
         9: .line 121
            iload 8 /* customized */
            ifne 12
        10: .line 122
            aload 7 /* mtype */
            invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
            iload 1 /* whichCache */
            invokevirtual java.lang.invoke.MethodTypeForm.cachedLambdaForm:(I)Ljava/lang/invoke/LambdaForm;
            astore 10 /* form */
        start local 10 // java.lang.invoke.LambdaForm form
        11: .line 123
            aload 10 /* form */
            ifnull 12
            aload 10 /* form */
            areturn
        end local 10 // java.lang.invoke.LambdaForm form
        12: .line 127
      StackMap locals: int
      StackMap stack:
            iconst_1
            aload 7 /* mtype */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            iadd
            istore 11 /* ARG_LIMIT */
        start local 11 // int ARG_LIMIT
        13: .line 128
            iload 11 /* ARG_LIMIT */
            istore 12 /* nameCursor */
        start local 12 // int nameCursor
        14: .line 129
            iload 9 /* hasPreAction */
            ifeq 15
            iload 12 /* nameCursor */
            iinc 12 /* nameCursor */ 1
            goto 16
      StackMap locals: java.lang.invoke.MethodHandle int java.lang.Object java.lang.String int java.lang.invoke.LambdaForm$NamedFunction java.lang.invoke.LambdaForm$NamedFunction java.lang.invoke.MethodType int int top int int
      StackMap stack:
        15: iconst_m1
      StackMap locals:
      StackMap stack: int
        16: istore 13 /* PRE_ACTION */
        start local 13 // int PRE_ACTION
        17: .line 130
            iload 8 /* customized */
            ifeq 18
            iconst_m1
            goto 19
      StackMap locals: int
      StackMap stack:
        18: iload 12 /* nameCursor */
            iinc 12 /* nameCursor */ 1
      StackMap locals:
      StackMap stack: int
        19: istore 14 /* NEXT_MH */
        start local 14 // int NEXT_MH
        20: .line 131
            iload 12 /* nameCursor */
            iinc 12 /* nameCursor */ 1
            istore 15 /* REINVOKE */
        start local 15 // int REINVOKE
        21: .line 132
            iload 12 /* nameCursor */
            iload 11 /* ARG_LIMIT */
            isub
            aload 7 /* 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 16 /* names */
        start local 16 // java.lang.invoke.LambdaForm$Name[] names
        22: .line 133
            getstatic java.lang.invoke.DelegatingMethodHandle.$assertionsDisabled:Z
            ifne 23
            aload 16 /* names */
            arraylength
            iload 12 /* nameCursor */
            if_icmpeq 23
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        23: .line 134
      StackMap locals: int int java.lang.invoke.LambdaForm$Name[]
      StackMap stack:
            aload 16 /* names */
            iconst_0
            aload 16 /* names */
            iconst_0
            aaload
            aload 2 /* constraint */
            invokevirtual java.lang.invoke.LambdaForm$Name.withConstraint:(Ljava/lang/Object;)Ljava/lang/invoke/LambdaForm$Name;
            aastore
        24: .line 136
            iload 9 /* hasPreAction */
            ifeq 26
        25: .line 137
            aload 16 /* names */
            iload 13 /* PRE_ACTION */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 6 /* preActionFn */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 16 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        26: .line 139
      StackMap locals:
      StackMap stack:
            iload 8 /* customized */
            ifeq 30
        27: .line 140
            aload 16 /* names */
            iconst_1
            iload 11 /* ARG_LIMIT */
            ldc [Ljava/lang/Object;
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;IILjava/lang/Class;)[Ljava/lang/Object;
            astore 17 /* targetArgs */
        start local 17 // java.lang.Object[] targetArgs
        28: .line 141
            aload 16 /* names */
            iload 15 /* REINVOKE */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 0 /* target */
            aload 17 /* targetArgs */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
            aastore
        29: .line 142
            goto 34
        end local 17 // java.lang.Object[] targetArgs
        30: .line 143
      StackMap locals:
      StackMap stack:
            aload 16 /* names */
            iload 14 /* NEXT_MH */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 5 /* getTargetFn */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 16 /* names */
            iconst_0
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            aastore
        31: .line 144
            aload 16 /* names */
            iconst_0
            iload 11 /* ARG_LIMIT */
            ldc [Ljava/lang/Object;
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;IILjava/lang/Class;)[Ljava/lang/Object;
            astore 17 /* targetArgs */
        start local 17 // java.lang.Object[] targetArgs
        32: .line 145
            aload 17 /* targetArgs */
            iconst_0
            aload 16 /* names */
            iload 14 /* NEXT_MH */
            aaload
            aastore
        33: .line 146
            aload 16 /* names */
            iload 15 /* REINVOKE */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 7 /* mtype */
            aload 17 /* targetArgs */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)V
            aastore
        34: .line 148
      StackMap locals: java.lang.Object[]
      StackMap stack:
            new java.lang.invoke.LambdaForm
            dup
            aload 3 /* debugString */
            iload 11 /* ARG_LIMIT */
            aload 16 /* names */
            iload 4 /* forceInline */
            invokespecial java.lang.invoke.LambdaForm.<init>:(Ljava/lang/String;I[Ljava/lang/invoke/LambdaForm$Name;Z)V
            astore 10 /* form */
        start local 10 // java.lang.invoke.LambdaForm form
        35: .line 149
            iload 8 /* customized */
            ifne 37
        36: .line 150
            aload 7 /* mtype */
            invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
            iload 1 /* whichCache */
            aload 10 /* form */
            invokevirtual java.lang.invoke.MethodTypeForm.setCachedLambdaForm:(ILjava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
            astore 10 /* form */
        37: .line 152
      StackMap locals: java.lang.invoke.MethodHandle int java.lang.Object java.lang.String int java.lang.invoke.LambdaForm$NamedFunction java.lang.invoke.LambdaForm$NamedFunction java.lang.invoke.MethodType int int java.lang.invoke.LambdaForm int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
      StackMap stack:
            aload 10 /* form */
            areturn
        end local 17 // java.lang.Object[] targetArgs
        end local 16 // java.lang.invoke.LambdaForm$Name[] names
        end local 15 // int REINVOKE
        end local 14 // int NEXT_MH
        end local 13 // int PRE_ACTION
        end local 12 // int nameCursor
        end local 11 // int ARG_LIMIT
        end local 10 // java.lang.invoke.LambdaForm form
        end local 9 // boolean hasPreAction
        end local 8 // boolean customized
        end local 7 // java.lang.invoke.MethodType mtype
        end local 6 // java.lang.invoke.LambdaForm$NamedFunction preActionFn
        end local 5 // java.lang.invoke.LambdaForm$NamedFunction getTargetFn
        end local 4 // boolean forceInline
        end local 3 // java.lang.String debugString
        end local 2 // java.lang.Object constraint
        end local 1 // int whichCache
        end local 0 // java.lang.invoke.MethodHandle target
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   38     0        target  Ljava/lang/invoke/MethodHandle;
            0   38     1    whichCache  I
            0   38     2    constraint  Ljava/lang/Object;
            0   38     3   debugString  Ljava/lang/String;
            0   38     4   forceInline  Z
            0   38     5   getTargetFn  Ljava/lang/invoke/LambdaForm$NamedFunction;
            0   38     6   preActionFn  Ljava/lang/invoke/LambdaForm$NamedFunction;
            1   38     7         mtype  Ljava/lang/invoke/MethodType;
            6   38     8    customized  Z
            9   38     9  hasPreAction  Z
           11   12    10          form  Ljava/lang/invoke/LambdaForm;
           35   38    10          form  Ljava/lang/invoke/LambdaForm;
           13   38    11     ARG_LIMIT  I
           14   38    12    nameCursor  I
           17   38    13    PRE_ACTION  I
           20   38    14       NEXT_MH  I
           21   38    15      REINVOKE  I
           22   38    16         names  [Ljava/lang/invoke/LambdaForm$Name;
           28   30    17    targetArgs  [Ljava/lang/Object;
           32   38    17    targetArgs  [Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      target       
      whichCache   
      constraint   
      debugString  
      forceInline  
      getTargetFn  
      preActionFn  

  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.DelegatingMethodHandle.internalProperties:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "DelegatingMethodHandle.java"
InnerClasses:
  final Name = java.lang.invoke.LambdaForm$Name of java.lang.invoke.LambdaForm
  NamedFunction = java.lang.invoke.LambdaForm$NamedFunction of java.lang.invoke.LambdaForm