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: ldc Ljava/lang/invoke/BootstrapMethodInvoker$PullAdapter;
astore 0
start local 0 1: getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
2: aload 0
ldc "pullFromBootstrapMethod"
3: ldc Ljava/lang/Object;
ldc Ljava/lang/invoke/MethodHandle;
iconst_2
anewarray java.lang.Class
dup
iconst_0
4: ldc Ljava/lang/invoke/MethodHandles$Lookup;
aastore
dup
iconst_1
ldc Ljava/lang/invoke/BootstrapCallInfo;
aastore
5: invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
6: invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
7: putstatic java.lang.invoke.BootstrapMethodInvoker$PullAdapter.MH_pullFromBootstrapMethod:Ljava/lang/invoke/MethodHandle;
8: goto 11
StackMap locals: java.lang.Class
StackMap stack: java.lang.Throwable
9: astore 1
start local 1 10: new java.lang.InternalError
dup
aload 1
invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 11: 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 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 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 start local 1 start local 2 0: aload 2
invokeinterface java.lang.invoke.BootstrapCallInfo.size:()I
istore 3
start local 3 1: iload 3
tableswitch { // 0 - 6
0: 2
1: 3
2: 6
3: 9
4: 12
5: 15
6: 18
default: 21
}
2: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 2
invokeinterface java.lang.invoke.BootstrapCallInfo.invocationName:()Ljava/lang/String;
aload 2
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: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokeinterface java.lang.invoke.BootstrapCallInfo.invocationName:()Ljava/lang/String;
aload 2
invokeinterface java.lang.invoke.BootstrapCallInfo.invocationType:()Ljava/lang/Object;
4: aload 2
iconst_0
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
5: 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: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokeinterface java.lang.invoke.BootstrapCallInfo.invocationName:()Ljava/lang/String;
aload 2
invokeinterface java.lang.invoke.BootstrapCallInfo.invocationType:()Ljava/lang/Object;
7: aload 2
iconst_0
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
aload 2
iconst_1
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
8: 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: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokeinterface java.lang.invoke.BootstrapCallInfo.invocationName:()Ljava/lang/String;
aload 2
invokeinterface java.lang.invoke.BootstrapCallInfo.invocationType:()Ljava/lang/Object;
10: aload 2
iconst_0
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
aload 2
iconst_1
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
aload 2
iconst_2
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
11: 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: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokeinterface java.lang.invoke.BootstrapCallInfo.invocationName:()Ljava/lang/String;
aload 2
invokeinterface java.lang.invoke.BootstrapCallInfo.invocationType:()Ljava/lang/Object;
13: aload 2
iconst_0
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
aload 2
iconst_1
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
aload 2
iconst_2
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
aload 2
iconst_3
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
14: 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: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokeinterface java.lang.invoke.BootstrapCallInfo.invocationName:()Ljava/lang/String;
aload 2
invokeinterface java.lang.invoke.BootstrapCallInfo.invocationType:()Ljava/lang/Object;
16: aload 2
iconst_0
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
aload 2
iconst_1
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
aload 2
iconst_2
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
aload 2
iconst_3
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
aload 2
iconst_4
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
17: 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: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokeinterface java.lang.invoke.BootstrapCallInfo.invocationName:()Ljava/lang/String;
aload 2
invokeinterface java.lang.invoke.BootstrapCallInfo.invocationType:()Ljava/lang/Object;
19: aload 2
iconst_0
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
aload 2
iconst_1
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
aload 2
iconst_2
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
aload 2
iconst_3
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
aload 2
iconst_4
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
aload 2
iconst_5
invokeinterface java.lang.invoke.BootstrapCallInfo.get:(I)Ljava/lang/Object;
20: 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: StackMap locals:
StackMap stack:
iload 3
bipush 124
if_icmplt 28
22: iconst_3
iload 3
iadd
anewarray java.lang.Object
astore 4
start local 4 23: aload 4
iconst_0
aload 1
aastore
24: aload 4
iconst_1
aload 2
invokeinterface java.lang.invoke.BootstrapCallInfo.invocationName:()Ljava/lang/String;
aastore
25: aload 4
iconst_2
aload 2
invokeinterface java.lang.invoke.BootstrapCallInfo.invocationType:()Ljava/lang/Object;
aastore
26: aload 2
iconst_0
iload 3
aload 4
iconst_3
invokeinterface java.lang.invoke.BootstrapCallInfo.copyConstants:(II[Ljava/lang/Object;I)I
pop
27: aload 0
aload 4
invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 28: StackMap locals:
StackMap stack:
iconst_3
iload 3
iadd
invokestatic java.lang.invoke.MethodType.genericMethodType:(I)Ljava/lang/invoke/MethodType;
astore 4
start local 4 29: aload 0
aload 4
invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 5
start local 5 30: aload 4
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
start local 6 31: iload 3
anewarray java.lang.Object
astore 7
start local 7 32: aload 2
iconst_0
iload 3
aload 7
iconst_0
invokeinterface java.lang.invoke.BootstrapCallInfo.copyConstants:(II[Ljava/lang/Object;I)I
pop
33: aload 6
aload 5
aload 1
aload 2
invokeinterface java.lang.invoke.BootstrapCallInfo.invocationName:()Ljava/lang/String;
aload 2
invokeinterface java.lang.invoke.BootstrapCallInfo.invocationType:()Ljava/lang/Object;
aload 7
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 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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