final class java.lang.invoke.BootstrapMethodInvoker$PullAdapter
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: java.lang.invoke.BootstrapMethodInvoker$PullAdapter
  super_class: java.lang.Object
{
  static final java.lang.invoke.MethodHandle MH_pullFromBootstrapMethod;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=9, locals=2, args_size=0
         0: .line 543
            ldc Ljava/lang/invoke/BootstrapMethodInvoker$PullAdapter;
            astore 0 /* THIS_CLASS */
        start local 0 // java.lang.Class THIS_CLASS
         1: .line 545
            getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
         2: .line 546
            aload 0 /* THIS_CLASS */
            ldc "pullFromBootstrapMethod"
         3: .line 547
            ldc Ljava/lang/Object;
            ldc Ljava/lang/invoke/MethodHandle;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
         4: .line 548
            ldc Ljava/lang/invoke/MethodHandles$Lookup;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/invoke/BootstrapCallInfo;
            aastore
         5: .line 547
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
         6: .line 546
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
         7: .line 545
            putstatic java.lang.invoke.BootstrapMethodInvoker$PullAdapter.MH_pullFromBootstrapMethod:Ljava/lang/invoke/MethodHandle;
         8: .line 549
            goto 11
      StackMap locals: java.lang.Class
      StackMap stack: java.lang.Throwable
         9: astore 1 /* ex */
        start local 1 // java.lang.Throwable ex
        10: .line 550
            new java.lang.InternalError
            dup
            aload 1 /* ex */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Throwable ex
        end local 0 // java.lang.Class THIS_CLASS
        11: .line 552
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1   11     0  THIS_CLASS  Ljava/lang/Class<*>;
           10   11     1          ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     8       9  Class java.lang.Throwable

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.BootstrapMethodInvoker$PullAdapter this
         0: .line 491
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // java.lang.invoke.BootstrapMethodInvoker$PullAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/BootstrapMethodInvoker$PullAdapter;

  static  pullFromBootstrapMethod(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandles$Lookup, java.lang.invoke.BootstrapCallInfo<?>);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/invoke/BootstrapCallInfo;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=11, locals=8, args_size=3
        start local 0 // java.lang.invoke.MethodHandle pushModeBSM
        start local 1 // java.lang.invoke.MethodHandles$Lookup lookup
        start local 2 // java.lang.invoke.BootstrapCallInfo bsci
         0: .line 497
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.size:()I
            istore 3 /* argc */
        start local 3 // int argc
         1: .line 498
            iload 3 /* argc */
            tableswitch { // 0 - 6
                    0: 2
                    1: 3
                    2: 6
                    3: 9
                    4: 12
                    5: 15
                    6: 18
              default: 21
          }
         2: .line 500
      StackMap locals: int
      StackMap stack:
            aload 0 /* pushModeBSM */
            aload 1 /* lookup */
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.invocationName:()Ljava/lang/String;
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.invocationType:()Ljava/lang/Object;
            invokevirtual java.lang.invoke.MethodHandle.invoke:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         3: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* pushModeBSM */
            aload 1 /* lookup */
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.invocationName:()Ljava/lang/String;
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.invocationType:()Ljava/lang/Object;
         4: .line 503
            aload 2 /* bsci */
            iconst_0
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
         5: .line 502
            invokevirtual java.lang.invoke.MethodHandle.invoke:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         6: .line 505
      StackMap locals:
      StackMap stack:
            aload 0 /* pushModeBSM */
            aload 1 /* lookup */
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.invocationName:()Ljava/lang/String;
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.invocationType:()Ljava/lang/Object;
         7: .line 506
            aload 2 /* bsci */
            iconst_0
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
            aload 2 /* bsci */
            iconst_1
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
         8: .line 505
            invokevirtual java.lang.invoke.MethodHandle.invoke:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         9: .line 508
      StackMap locals:
      StackMap stack:
            aload 0 /* pushModeBSM */
            aload 1 /* lookup */
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.invocationName:()Ljava/lang/String;
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.invocationType:()Ljava/lang/Object;
        10: .line 509
            aload 2 /* bsci */
            iconst_0
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
            aload 2 /* bsci */
            iconst_1
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
            aload 2 /* bsci */
            iconst_2
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
        11: .line 508
            invokevirtual java.lang.invoke.MethodHandle.invoke:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        12: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* pushModeBSM */
            aload 1 /* lookup */
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.invocationName:()Ljava/lang/String;
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.invocationType:()Ljava/lang/Object;
        13: .line 512
            aload 2 /* bsci */
            iconst_0
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
            aload 2 /* bsci */
            iconst_1
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
            aload 2 /* bsci */
            iconst_2
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
            aload 2 /* bsci */
            iconst_3
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
        14: .line 511
            invokevirtual java.lang.invoke.MethodHandle.invoke:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        15: .line 514
      StackMap locals:
      StackMap stack:
            aload 0 /* pushModeBSM */
            aload 1 /* lookup */
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.invocationName:()Ljava/lang/String;
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.invocationType:()Ljava/lang/Object;
        16: .line 515
            aload 2 /* bsci */
            iconst_0
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
            aload 2 /* bsci */
            iconst_1
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
            aload 2 /* bsci */
            iconst_2
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
            aload 2 /* bsci */
            iconst_3
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
            aload 2 /* bsci */
            iconst_4
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
        17: .line 514
            invokevirtual java.lang.invoke.MethodHandle.invoke:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        18: .line 517
      StackMap locals:
      StackMap stack:
            aload 0 /* pushModeBSM */
            aload 1 /* lookup */
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.invocationName:()Ljava/lang/String;
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.invocationType:()Ljava/lang/Object;
        19: .line 518
            aload 2 /* bsci */
            iconst_0
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
            aload 2 /* bsci */
            iconst_1
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
            aload 2 /* bsci */
            iconst_2
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
            aload 2 /* bsci */
            iconst_3
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
            aload 2 /* bsci */
            iconst_4
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
            aload 2 /* bsci */
            iconst_5
            invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
        20: .line 517
            invokevirtual java.lang.invoke.MethodHandle.invoke:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        21: .line 522
      StackMap locals:
      StackMap stack:
            iload 3 /* argc */
            bipush 124
            if_icmplt 28
        22: .line 524
            iconst_3
            iload 3 /* argc */
            iadd
            anewarray java.lang.Object
            astore 4 /* newargv */
        start local 4 // java.lang.Object[] newargv
        23: .line 525
            aload 4 /* newargv */
            iconst_0
            aload 1 /* lookup */
            aastore
        24: .line 526
            aload 4 /* newargv */
            iconst_1
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.invocationName:()Ljava/lang/String;
            aastore
        25: .line 527
            aload 4 /* newargv */
            iconst_2
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.invocationType:()Ljava/lang/Object;
            aastore
        26: .line 528
            aload 2 /* bsci */
            iconst_0
            iload 3 /* argc */
            aload 4 /* newargv */
            iconst_3
            invokeinterface java.lang.invoke.BootstrapCallInfo.copyConstants:(II[Ljava/lang/Object;I)I
            pop
        27: .line 529
            aload 0 /* pushModeBSM */
            aload 4 /* newargv */
            invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 4 // java.lang.Object[] newargv
        28: .line 531
      StackMap locals:
      StackMap stack:
            iconst_3
            iload 3 /* argc */
            iadd
            invokestatic java.lang.invoke.MethodType.genericMethodType:(I)Ljava/lang/invoke/MethodType;
            astore 4 /* invocationType */
        start local 4 // java.lang.invoke.MethodType invocationType
        29: .line 532
            aload 0 /* pushModeBSM */
            aload 4 /* invocationType */
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* typedBSM */
        start local 5 // java.lang.invoke.MethodHandle typedBSM
        30: .line 533
            aload 4 /* invocationType */
            invokevirtual java.lang.invoke.MethodType.invokers:()Ljava/lang/invoke/Invokers;
            iconst_3
            invokevirtual java.lang.invoke.Invokers.spreadInvoker:(I)Ljava/lang/invoke/MethodHandle;
            astore 6 /* spreader */
        start local 6 // java.lang.invoke.MethodHandle spreader
        31: .line 534
            iload 3 /* argc */
            anewarray java.lang.Object
            astore 7 /* argv */
        start local 7 // java.lang.Object[] argv
        32: .line 535
            aload 2 /* bsci */
            iconst_0
            iload 3 /* argc */
            aload 7 /* argv */
            iconst_0
            invokeinterface java.lang.invoke.BootstrapCallInfo.copyConstants:(II[Ljava/lang/Object;I)I
            pop
        33: .line 536
            aload 6 /* spreader */
            aload 5 /* typedBSM */
            aload 1 /* lookup */
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.invocationName:()Ljava/lang/String;
            aload 2 /* bsci */
            invokeinterface java.lang.invoke.BootstrapCallInfo.invocationType:()Ljava/lang/Object;
            aload 7 /* argv */
            invokevirtual java.lang.invoke.MethodHandle.invokeExact:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 7 // java.lang.Object[] argv
        end local 6 // java.lang.invoke.MethodHandle spreader
        end local 5 // java.lang.invoke.MethodHandle typedBSM
        end local 4 // java.lang.invoke.MethodType invocationType
        end local 3 // int argc
        end local 2 // java.lang.invoke.BootstrapCallInfo bsci
        end local 1 // java.lang.invoke.MethodHandles$Lookup lookup
        end local 0 // java.lang.invoke.MethodHandle pushModeBSM
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   34     0     pushModeBSM  Ljava/lang/invoke/MethodHandle;
            0   34     1          lookup  Ljava/lang/invoke/MethodHandles$Lookup;
            0   34     2            bsci  Ljava/lang/invoke/BootstrapCallInfo<*>;
            1   34     3            argc  I
           23   28     4         newargv  [Ljava/lang/Object;
           29   34     4  invocationType  Ljava/lang/invoke/MethodType;
           30   34     5        typedBSM  Ljava/lang/invoke/MethodHandle;
           31   34     6        spreader  Ljava/lang/invoke/MethodHandle;
           32   34     7            argv  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Throwable
    Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/invoke/BootstrapCallInfo<*>;)Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      pushModeBSM  
      lookup       
      bsci         
}
SourceFile: "BootstrapMethodInvoker.java"
NestHost: java.lang.invoke.BootstrapMethodInvoker
InnerClasses:
  final PullAdapter = java.lang.invoke.BootstrapMethodInvoker$PullAdapter of java.lang.invoke.BootstrapMethodInvoker
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles