abstract class java.lang.invoke.MethodHandleImpl
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: java.lang.invoke.MethodHandleImpl
super_class: java.lang.Object
{
static java.lang.invoke.MethodHandle[] FAKE_METHOD_HANDLE_INVOKE;
descriptor: [Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
private static final java.lang.Object[] NO_ARGS_ARRAY;
descriptor: [Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int ARRAYS_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 11
private static final java.lang.invoke.MethodHandle[] ARRAYS;
descriptor: [Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.Stable()
private static final int FILL_ARRAYS_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 11
private static final java.lang.invoke.MethodHandle[] FILL_ARRAYS;
descriptor: [Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.Stable()
private static final int LEFT_ARGS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private static final java.lang.invoke.MethodHandle[] FILL_ARRAY_TO_RIGHT;
descriptor: [Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.Stable()
static final int MAX_JVM_ARITY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 255
static final byte NF_checkSpreadArgument;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final byte NF_guardWithCatch;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final byte NF_throwException;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final byte NF_tryFinally;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final byte NF_loop;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final byte NF_profileBoolean;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 5
static final byte NF_LIMIT;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final java.lang.invoke.LambdaForm$NamedFunction[] NFS;
descriptor: [Ljava/lang/invoke/LambdaForm$NamedFunction;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.Stable()
static final int MH_cast;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int MH_selectAlternative;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int MH_copyAsPrimitiveArray;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int MH_fillNewTypedArray;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final int MH_fillNewArray;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int MH_arrayIdentity;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 5
static final int MH_countedLoopPred;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 6
static final int MH_countedLoopStep;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 7
static final int MH_initIterator;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 8
static final int MH_iteratePred;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 9
static final int MH_iterateNext;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 10
static final int MH_Array_newInstance;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 11
static final int MH_LIMIT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 12
private static final java.lang.invoke.MethodHandle[] HANDLES;
descriptor: [Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.Stable()
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=2, locals=0, args_size=0
0: ldc Ljava/lang/invoke/MethodHandleImpl;
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.MethodHandleImpl.$assertionsDisabled:Z
3: iconst_2
anewarray java.lang.invoke.MethodHandle
putstatic java.lang.invoke.MethodHandleImpl.FAKE_METHOD_HANDLE_INVOKE:[Ljava/lang/invoke/MethodHandle;
4: iconst_0
anewarray java.lang.Object
putstatic java.lang.invoke.MethodHandleImpl.NO_ARGS_ARRAY:[Ljava/lang/Object;
5: getstatic java.lang.invoke.MethodHandleStatics.MAX_ARITY:I
iconst_1
iadd
anewarray java.lang.invoke.MethodHandle
putstatic java.lang.invoke.MethodHandleImpl.ARRAYS:[Ljava/lang/invoke/MethodHandle;
6: bipush 11
anewarray java.lang.invoke.MethodHandle
putstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAYS:[Ljava/lang/invoke/MethodHandle;
7: getstatic java.lang.invoke.MethodHandleStatics.MAX_ARITY:I
iconst_1
iadd
anewarray java.lang.invoke.MethodHandle
putstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAY_TO_RIGHT:[Ljava/lang/invoke/MethodHandle;
8: bipush 6
anewarray java.lang.invoke.LambdaForm$NamedFunction
putstatic java.lang.invoke.MethodHandleImpl.NFS:[Ljava/lang/invoke/LambdaForm$NamedFunction;
9: new java.lang.invoke.MethodHandleImpl$1
dup
invokespecial java.lang.invoke.MethodHandleImpl$1.<init>:()V
invokestatic jdk.internal.misc.SharedSecrets.setJavaLangInvokeAccess:(Ljdk/internal/misc/JavaLangInvokeAccess;)V
10: bipush 12
anewarray java.lang.invoke.MethodHandle
putstatic java.lang.invoke.MethodHandleImpl.HANDLES:[Ljava/lang/invoke/MethodHandle;
return
LocalVariableTable:
Start End Slot Name Signature
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/MethodHandleImpl;
static java.lang.invoke.MethodHandle makeArrayElementAccessor(java.lang.Class<?>, java.lang.invoke.MethodHandleImpl$ArrayAccess);
descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
ldc [Ljava/lang/Object;
if_acmpne 2
1: aload 1
invokestatic java.lang.invoke.MethodHandleImpl$ArrayAccess.objectAccessor:(Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/invoke/MethodHandle;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.isArray:()Z
ifne 4
3: new java.lang.StringBuilder
dup
ldc "not an array: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.invoke.MethodHandleStatics.newIllegalArgumentException:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
4: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl$ArrayAccessor.TYPED_ACCESSORS:Ljava/lang/ClassValue;
aload 0
invokevirtual java.lang.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.invoke.MethodHandle[]
astore 2
start local 2 5: aload 1
invokestatic java.lang.invoke.MethodHandleImpl$ArrayAccess.cacheIndex:(Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)I
istore 3
start local 3 6: aload 2
iload 3
aaload
astore 4
start local 4 7: aload 4
ifnull 8
aload 4
areturn
8: StackMap locals: java.lang.invoke.MethodHandle[] int java.lang.invoke.MethodHandle
StackMap stack:
aload 0
aload 1
invokestatic java.lang.invoke.MethodHandleImpl$ArrayAccessor.getAccessor:(Ljava/lang/Class;Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/invoke/MethodHandle;
astore 4
9: aload 0
aload 1
invokestatic java.lang.invoke.MethodHandleImpl$ArrayAccessor.correctType:(Ljava/lang/Class;Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/invoke/MethodType;
astore 5
start local 5 10: aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
aload 5
if_acmpeq 18
11: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 12
aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
iconst_0
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
ldc [Ljava/lang/Object;
if_acmpeq 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 13
aload 1
getstatic java.lang.invoke.MethodHandleImpl$ArrayAccess.SET:Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;
if_acmpne 13
aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
iconst_2
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
ldc Ljava/lang/Object;
if_acmpeq 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 17
aload 1
getstatic java.lang.invoke.MethodHandleImpl$ArrayAccess.GET:Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;
if_acmpne 17
14: aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
ldc Ljava/lang/Object;
if_acmpne 16
15: aload 5
iconst_0
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
aload 5
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
if_acmpeq 17
StackMap locals:
StackMap stack:
16: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
aload 4
aload 5
iconst_0
invokevirtual java.lang.invoke.MethodHandle.viewAsType:(Ljava/lang/invoke/MethodType;Z)Ljava/lang/invoke/MethodHandle;
astore 4
18: StackMap locals:
StackMap stack:
aload 4
aload 1
invokestatic java.lang.invoke.MethodHandleImpl$ArrayAccess.intrinsic:(Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokestatic java.lang.invoke.MethodHandleImpl.makeIntrinsic:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)Ljava/lang/invoke/MethodHandle;
astore 4
19: aload 2
dup
astore 6
monitorenter
20: aload 2
iload 3
aaload
ifnonnull 23
21: aload 2
iload 3
aload 4
aastore
22: goto 24
23: StackMap locals: java.lang.invoke.MethodHandle[]
StackMap stack:
aload 2
iload 3
aaload
astore 4
24: StackMap locals:
StackMap stack:
aload 6
monitorexit
25: goto 28
StackMap locals:
StackMap stack: java.lang.Throwable
26: aload 6
monitorexit
27: athrow
28: StackMap locals:
StackMap stack:
aload 4
areturn
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 29 0 arrayClass Ljava/lang/Class<*>;
0 29 1 access Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;
5 29 2 cache [Ljava/lang/invoke/MethodHandle;
6 29 3 cacheIndex I
7 29 4 mh Ljava/lang/invoke/MethodHandle;
10 29 5 correctType Ljava/lang/invoke/MethodType;
Exception table:
from to target type
20 25 26 any
26 27 26 any
Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
arrayClass
access
static java.lang.InternalError unmatchedArrayAccess(java.lang.invoke.MethodHandleImpl$ArrayAccess);
descriptor: (Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;)Ljava/lang/InternalError;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "should not reach here (unmatched ArrayAccess: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;)Ljava/lang/InternalError;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a Ljava/lang/invoke/MethodHandleImpl$ArrayAccess;
MethodParameters:
Name Flags
a
static java.lang.invoke.MethodHandle makePairwiseConvert(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, boolean, boolean);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
astore 4
start local 4 1: aload 1
aload 4
if_acmpne 3
2: aload 0
areturn
3: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokestatic java.lang.invoke.MethodHandleImpl.makePairwiseConvertByEditor:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/MethodHandle;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 target Ljava/lang/invoke/MethodHandle;
0 4 1 srcType Ljava/lang/invoke/MethodType;
0 4 2 strict Z
0 4 3 monobox Z
1 4 4 dstType Ljava/lang/invoke/MethodType;
MethodParameters:
Name Flags
target
srcType
strict
monobox
private static int countNonNull(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: java.lang.Object[] int top int int java.lang.Object[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 2
ifnull 4
iinc 1 1
end local 2 4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 2
6: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 array [Ljava/lang/Object;
1 7 1 count I
3 4 2 x Ljava/lang/Object;
MethodParameters:
Name Flags
array
static java.lang.invoke.MethodHandle makePairwiseConvertByEditor(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, boolean, boolean);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
iload 2
iload 3
invokestatic java.lang.invoke.MethodHandleImpl.computeValueConversions:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;ZZ)[Ljava/lang/Object;
astore 4
start local 4 1: aload 4
invokestatic java.lang.invoke.MethodHandleImpl.countNonNull:([Ljava/lang/Object;)I
istore 5
start local 5 2: iload 5
ifne 4
3: aload 0
aload 1
iload 2
invokevirtual java.lang.invoke.MethodHandle.viewAsType:(Ljava/lang/invoke/MethodType;Z)Ljava/lang/invoke/MethodHandle;
areturn
4: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 1
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
astore 6
start local 6 5: aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
astore 7
start local 7 6: aload 0
invokevirtual java.lang.invoke.MethodHandle.rebind:()Ljava/lang/invoke/BoundMethodHandle;
astore 8
start local 8 7: iconst_0
istore 9
start local 9 8: goto 23
9: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodType int int java.lang.Object[] int java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.BoundMethodHandle int
StackMap stack:
aload 4
iload 9
aaload
astore 10
start local 10 10: aload 10
ifnonnull 11
goto 22
11: StackMap locals: java.lang.Object
StackMap stack:
aload 10
instanceof java.lang.Class
ifeq 14
12: iconst_0
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
aload 10
invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
astore 11
start local 11 13: goto 15
end local 11 14: StackMap locals:
StackMap stack:
aload 10
checkcast java.lang.invoke.MethodHandle
astore 11
start local 11 15: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
aload 6
iload 9
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 12
start local 12 16: iinc 5 -1
iload 5
ifne 18
17: aload 1
astore 7
goto 19
18: StackMap locals: java.lang.Class
StackMap stack:
aload 7
iload 9
aload 12
invokevirtual java.lang.invoke.MethodType.changeParameterType:(ILjava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 7
19: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.lang.invoke.BoundMethodHandle.editor:()Ljava/lang/invoke/LambdaFormEditor;
iconst_1
iload 9
iadd
aload 12
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
invokevirtual java.lang.invoke.LambdaFormEditor.filterArgumentForm:(ILjava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm;
astore 13
start local 13 20: aload 8
aload 7
aload 13
aload 11
invokevirtual java.lang.invoke.BoundMethodHandle.copyWithExtendL:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
astore 8
21: aload 8
invokevirtual java.lang.invoke.BoundMethodHandle.rebind:()Ljava/lang/invoke/BoundMethodHandle;
astore 8
end local 13 end local 12 end local 11 end local 10 22: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
23: iload 9
aload 4
arraylength
iconst_1
isub
if_icmplt 9
end local 9 24: aload 4
aload 4
arraylength
iconst_1
isub
aaload
astore 9
start local 9 25: aload 9
ifnull 43
26: aload 9
instanceof java.lang.Class
ifeq 32
27: aload 9
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 30
28: aconst_null
astore 10
start local 10 29: goto 33
end local 10 30: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodType int int java.lang.Object[] int java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.BoundMethodHandle java.lang.Object
StackMap stack:
iconst_0
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
aload 9
invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
astore 10
start local 10 31: goto 33
end local 10 32: StackMap locals:
StackMap stack:
aload 9
checkcast java.lang.invoke.MethodHandle
astore 10
start local 10 33: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
aload 6
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 11
start local 11 34: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 35
iinc 5 -1
iload 5
ifeq 35
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
35: StackMap locals: java.lang.Class
StackMap stack:
aload 1
astore 7
36: aload 10
ifnull 41
37: aload 8
invokevirtual java.lang.invoke.BoundMethodHandle.rebind:()Ljava/lang/invoke/BoundMethodHandle;
astore 8
38: aload 8
invokevirtual java.lang.invoke.BoundMethodHandle.editor:()Ljava/lang/invoke/LambdaFormEditor;
aload 11
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
iconst_0
invokevirtual java.lang.invoke.LambdaFormEditor.filterReturnForm:(Ljava/lang/invoke/LambdaForm$BasicType;Z)Ljava/lang/invoke/LambdaForm;
astore 12
start local 12 39: aload 8
aload 7
aload 12
aload 10
invokevirtual java.lang.invoke.BoundMethodHandle.copyWithExtendL:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
astore 8
end local 12 40: goto 43
41: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.lang.invoke.BoundMethodHandle.editor:()Ljava/lang/invoke/LambdaFormEditor;
aload 11
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
iconst_1
invokevirtual java.lang.invoke.LambdaFormEditor.filterReturnForm:(Ljava/lang/invoke/LambdaForm$BasicType;Z)Ljava/lang/invoke/LambdaForm;
astore 12
start local 12 42: aload 8
aload 7
aload 12
invokevirtual java.lang.invoke.BoundMethodHandle.copyWith:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle;
astore 8
end local 12 end local 11 end local 10 43: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 44
iload 5
ifeq 44
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
44: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 45
aload 8
invokevirtual java.lang.invoke.BoundMethodHandle.type:()Ljava/lang/invoke/MethodType;
aload 1
invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
ifne 45
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
45: StackMap locals:
StackMap stack:
aload 8
areturn
end local 9 end local 8 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 46 0 target Ljava/lang/invoke/MethodHandle;
0 46 1 srcType Ljava/lang/invoke/MethodType;
0 46 2 strict Z
0 46 3 monobox Z
1 46 4 convSpecs [Ljava/lang/Object;
2 46 5 convCount I
5 46 6 basicSrcType Ljava/lang/invoke/MethodType;
6 46 7 midType Ljava/lang/invoke/MethodType;
7 46 8 mh Ljava/lang/invoke/BoundMethodHandle;
8 24 9 i I
10 22 10 convSpec Ljava/lang/Object;
13 14 11 fn Ljava/lang/invoke/MethodHandle;
15 22 11 fn Ljava/lang/invoke/MethodHandle;
16 22 12 newType Ljava/lang/Class<*>;
20 22 13 form2 Ljava/lang/invoke/LambdaForm;
25 46 9 convSpec Ljava/lang/Object;
29 30 10 fn Ljava/lang/invoke/MethodHandle;
31 32 10 fn Ljava/lang/invoke/MethodHandle;
33 43 10 fn Ljava/lang/invoke/MethodHandle;
34 43 11 newType Ljava/lang/Class<*>;
39 40 12 form2 Ljava/lang/invoke/LambdaForm;
42 43 12 form2 Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
target
srcType
strict
monobox
static java.lang.invoke.MethodHandle makePairwiseConvertIndirect(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, boolean, boolean);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=22, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
aload 1
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
iload 2
iload 3
invokestatic java.lang.invoke.MethodHandleImpl.computeValueConversions:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;ZZ)[Ljava/lang/Object;
astore 4
start local 4 2: aload 1
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 5
start local 5 3: aload 4
invokestatic java.lang.invoke.MethodHandleImpl.countNonNull:([Ljava/lang/Object;)I
istore 6
start local 6 4: aload 4
iload 5
aaload
ifnull 5
iconst_1
goto 6
StackMap locals: java.lang.Object[] int int
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 7
start local 7 7: aload 1
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 8
iconst_1
goto 9
StackMap locals: int
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 8
start local 8 10: iload 7
ifeq 13
iload 8
ifeq 13
11: iinc 6 -1
12: iconst_0
istore 7
13: StackMap locals: int
StackMap stack:
iconst_1
iload 5
iadd
istore 9
start local 9 14: iload 9
iload 6
iadd
iconst_1
iadd
istore 10
start local 10 15: iload 7
ifne 16
iconst_m1
goto 17
StackMap locals: int int
StackMap stack:
16: iload 10
iconst_1
isub
StackMap locals:
StackMap stack: int
17: istore 11
start local 11 18: iload 7
ifne 19
iload 10
goto 20
StackMap locals: int
StackMap stack:
19: iload 11
StackMap locals:
StackMap stack: int
20: iconst_1
isub
istore 12
start local 12 21: iload 8
ifeq 22
iconst_m1
goto 23
StackMap locals: int
StackMap stack:
22: iload 10
iconst_1
isub
StackMap locals:
StackMap stack: int
23: istore 13
start local 13 24: aload 1
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
astore 14
start local 14 25: iload 10
iload 9
isub
aload 14
invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
astore 15
start local 15 26: iconst_0
iload 5
iadd
anewarray java.lang.Object
astore 16
start local 16 27: iload 9
istore 17
start local 17 28: iconst_0
istore 18
start local 18 29: goto 45
30: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodType int int java.lang.Object[] int int int int int int int int int java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[] java.lang.Object[] int int
StackMap stack:
aload 4
iload 18
aaload
astore 19
start local 19 31: aload 19
ifnonnull 34
32: aload 16
iconst_0
iload 18
iadd
aload 15
iconst_1
iload 18
iadd
aaload
aastore
33: goto 44
34: StackMap locals: java.lang.Object
StackMap stack:
aload 19
instanceof java.lang.Class
ifeq 38
35: aload 19
checkcast java.lang.Class
astore 21
start local 21 36: new java.lang.invoke.LambdaForm$Name
dup
iconst_0
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 21
aastore
dup
iconst_1
aload 15
iconst_1
iload 18
iadd
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
astore 20
end local 21 start local 20 37: goto 40
end local 20 38: StackMap locals:
StackMap stack:
aload 19
checkcast java.lang.invoke.MethodHandle
astore 21
start local 21 39: new java.lang.invoke.LambdaForm$Name
dup
aload 21
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 15
iconst_1
iload 18
iadd
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
astore 20
end local 21 start local 20 40: StackMap locals: java.lang.invoke.LambdaForm$Name
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 41
aload 15
iload 17
aaload
ifnull 41
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
41: StackMap locals:
StackMap stack:
aload 15
iload 17
iinc 17 1
aload 20
aastore
42: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 43
aload 16
iconst_0
iload 18
iadd
aaload
ifnull 43
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
43: StackMap locals:
StackMap stack:
aload 16
iconst_0
iload 18
iadd
aload 20
aastore
end local 20 end local 19 44: StackMap locals:
StackMap stack:
iinc 18 1
StackMap locals:
StackMap stack:
45: iload 18
iload 5
if_icmplt 30
end local 18 46: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 47
iload 17
iload 12
if_icmpeq 47
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
47: StackMap locals:
StackMap stack:
aload 15
iload 12
new java.lang.invoke.LambdaForm$Name
dup
aload 0
aload 16
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
aastore
48: aload 4
iload 5
aaload
astore 18
start local 18 49: iload 7
ifne 51
50: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 66
iload 12
aload 15
arraylength
iconst_1
isub
if_icmpeq 66
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
51: StackMap locals: java.lang.Object
StackMap stack:
aload 18
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 54
52: new java.lang.invoke.LambdaForm$Name
dup
aload 1
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
invokestatic java.lang.invoke.LambdaForm.constantZero:(Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_0
anewarray java.lang.Object
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
astore 19
start local 19 53: goto 63
end local 19 StackMap locals:
StackMap stack:
54: aload 18
instanceof java.lang.Class
ifeq 58
55: aload 18
checkcast java.lang.Class
astore 20
start local 20 56: new java.lang.invoke.LambdaForm$Name
dup
iconst_0
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 20
aastore
dup
iconst_1
aload 15
iload 12
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
astore 19
end local 20 start local 19 57: goto 63
end local 19 58: StackMap locals:
StackMap stack:
aload 18
checkcast java.lang.invoke.MethodHandle
astore 20
start local 20 59: aload 20
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
ifne 62
60: new java.lang.invoke.LambdaForm$Name
dup
aload 20
iconst_0
anewarray java.lang.Object
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
astore 19
start local 19 61: goto 63
end local 19 62: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodType int int java.lang.Object[] int int int int int int int int int java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[] java.lang.Object[] int java.lang.Object top java.lang.invoke.MethodHandle
StackMap stack:
new java.lang.invoke.LambdaForm$Name
dup
aload 20
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 15
iload 12
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
astore 19
end local 20 start local 19 63: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodType int int java.lang.Object[] int int int int int int int int int java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[] java.lang.Object[] int java.lang.Object java.lang.invoke.LambdaForm$Name
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 64
aload 15
iload 11
aaload
ifnull 64
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
64: StackMap locals:
StackMap stack:
aload 15
iload 11
aload 19
aastore
65: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 66
iload 11
aload 15
arraylength
iconst_1
isub
if_icmpeq 66
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 19 66: StackMap locals:
StackMap stack:
new java.lang.invoke.LambdaForm
dup
aload 14
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
aload 15
iload 13
getstatic java.lang.invoke.LambdaForm$Kind.CONVERT:Ljava/lang/invoke/LambdaForm$Kind;
invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;ILjava/lang/invoke/LambdaForm$Kind;)V
astore 19
start local 19 67: aload 1
aload 19
invokestatic java.lang.invoke.SimpleMethodHandle.make:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle;
areturn
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 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 68 0 target Ljava/lang/invoke/MethodHandle;
0 68 1 srcType Ljava/lang/invoke/MethodType;
0 68 2 strict Z
0 68 3 monobox Z
2 68 4 convSpecs [Ljava/lang/Object;
3 68 5 INARG_COUNT I
4 68 6 convCount I
7 68 7 retConv Z
10 68 8 retVoid Z
14 68 9 INARG_LIMIT I
15 68 10 NAME_LIMIT I
18 68 11 RETURN_CONV I
21 68 12 OUT_CALL I
24 68 13 RESULT I
25 68 14 lambdaType Ljava/lang/invoke/MethodType;
26 68 15 names [Ljava/lang/invoke/LambdaForm$Name;
27 68 16 outArgs [Ljava/lang/Object;
28 68 17 nameCursor I
29 46 18 i I
31 44 19 convSpec Ljava/lang/Object;
37 38 20 conv Ljava/lang/invoke/LambdaForm$Name;
40 44 20 conv Ljava/lang/invoke/LambdaForm$Name;
36 37 21 convClass Ljava/lang/Class<*>;
39 40 21 fn Ljava/lang/invoke/MethodHandle;
49 68 18 convSpec Ljava/lang/Object;
53 54 19 conv Ljava/lang/invoke/LambdaForm$Name;
57 58 19 conv Ljava/lang/invoke/LambdaForm$Name;
61 62 19 conv Ljava/lang/invoke/LambdaForm$Name;
63 66 19 conv Ljava/lang/invoke/LambdaForm$Name;
56 57 20 convClass Ljava/lang/Class<*>;
59 63 20 fn Ljava/lang/invoke/MethodHandle;
67 68 19 form Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
target
srcType
strict
monobox
static java.lang.Object[] computeValueConversions(java.lang.invoke.MethodType, java.lang.invoke.MethodType, boolean, boolean);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;ZZ)[Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 4
start local 4 1: iload 4
iconst_1
iadd
anewarray java.lang.Object
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 16
4: StackMap locals: int java.lang.Object[] int
StackMap stack:
iload 6
iload 4
if_icmpne 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 7
start local 7 7: iload 7
ifeq 8
aload 1
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
goto 9
StackMap locals: int
StackMap stack:
8: aload 0
iload 6
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
StackMap locals:
StackMap stack: java.lang.Class
9: astore 8
start local 8 10: iload 7
ifeq 11
aload 0
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
goto 12
StackMap locals: java.lang.Class
StackMap stack:
11: aload 1
iload 6
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
StackMap locals:
StackMap stack: java.lang.Class
12: astore 9
start local 9 13: aload 8
aload 9
iload 2
invokestatic sun.invoke.util.VerifyType.isNullConversion:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
ifne 15
14: aload 5
iload 6
aload 8
aload 9
iload 2
iload 3
invokestatic java.lang.invoke.MethodHandleImpl.valueConversion:(Ljava/lang/Class;Ljava/lang/Class;ZZ)Ljava/lang/Object;
aastore
end local 9 end local 8 end local 7 15: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
iload 4
if_icmple 4
end local 6 17: aload 5
areturn
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 18 0 srcType Ljava/lang/invoke/MethodType;
0 18 1 dstType Ljava/lang/invoke/MethodType;
0 18 2 strict Z
0 18 3 monobox Z
1 18 4 INARG_COUNT I
2 18 5 convSpecs [Ljava/lang/Object;
3 17 6 i I
7 15 7 isRet Z
10 15 8 src Ljava/lang/Class<*>;
13 15 9 dst Ljava/lang/Class<*>;
MethodParameters:
Name Flags
srcType
dstType
strict
monobox
static java.lang.invoke.MethodHandle makePairwiseConvert(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, boolean);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Z)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
iconst_0
invokestatic java.lang.invoke.MethodHandleImpl.makePairwiseConvert:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/MethodHandle;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 target Ljava/lang/invoke/MethodHandle;
0 1 1 srcType Ljava/lang/invoke/MethodType;
0 1 2 strict Z
MethodParameters:
Name Flags
target
srcType
strict
static valueConversion(java.lang.Class<?>, java.lang.Class<?>, boolean, boolean);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;ZZ)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 1
aload 0
aload 1
iload 2
invokestatic sun.invoke.util.VerifyType.isNullConversion:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 3
2: aload 1
areturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 19
4: aload 0
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 6
5: getstatic java.lang.Void.TYPE:Ljava/lang/Class;
areturn
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 9
7: aload 0
aload 1
invokestatic sun.invoke.util.ValueConversions.convertPrimitive:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
astore 4
start local 4 8: goto 30
end local 4 9: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
astore 5
start local 5 10: aload 5
invokestatic sun.invoke.util.ValueConversions.boxExact:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
astore 4
start local 4 11: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 12
aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
iconst_0
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
aload 5
invokevirtual sun.invoke.util.Wrapper.primitiveType:()Ljava/lang/Class;
if_acmpeq 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals: java.lang.invoke.MethodHandle sun.invoke.util.Wrapper
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 13
aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
aload 5
invokevirtual sun.invoke.util.Wrapper.wrapperType:()Ljava/lang/Class;
if_acmpeq 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 5
invokevirtual sun.invoke.util.Wrapper.wrapperType:()Ljava/lang/Class;
aload 1
iload 2
invokestatic sun.invoke.util.VerifyType.isNullConversion:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
ifne 30
14: aload 1
aload 0
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 6
start local 6 15: iload 2
ifeq 17
16: aload 4
aload 6
invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 4
goto 30
17: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
aload 4
aload 6
iconst_0
invokestatic java.lang.invoke.MethodHandleImpl.makePairwiseConvert:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Z)Ljava/lang/invoke/MethodHandle;
astore 4
end local 6 end local 5 18: goto 30
end local 4 StackMap locals:
StackMap stack:
19: aload 1
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 29
20: aload 1
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
astore 5
start local 5 21: iload 3
ifne 22
aload 0
aload 5
invokevirtual sun.invoke.util.Wrapper.wrapperType:()Ljava/lang/Class;
if_acmpne 24
22: StackMap locals: java.lang.Class java.lang.Class int int top sun.invoke.util.Wrapper
StackMap stack:
aload 5
iload 2
invokestatic sun.invoke.util.ValueConversions.unboxExact:(Lsun/invoke/util/Wrapper;Z)Ljava/lang/invoke/MethodHandle;
astore 4
start local 4 23: goto 30
end local 4 24: StackMap locals:
StackMap stack:
iload 2
ifeq 26
25: aload 5
invokestatic sun.invoke.util.ValueConversions.unboxWiden:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
goto 27
26: StackMap locals:
StackMap stack:
aload 5
invokestatic sun.invoke.util.ValueConversions.unboxCast:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
27: StackMap locals:
StackMap stack: java.lang.invoke.MethodHandle
astore 4
end local 5 start local 4 28: goto 30
end local 4 29: StackMap locals: java.lang.Class java.lang.Class int int
StackMap stack:
aload 1
areturn
start local 4 30: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 31
aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iconst_1
if_icmple 31
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "pc"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 1
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
dup
iconst_2
aload 4
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
31: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 src Ljava/lang/Class<*>;
0 32 1 dst Ljava/lang/Class<*>;
0 32 2 strict Z
0 32 3 monobox Z
8 9 4 fn Ljava/lang/invoke/MethodHandle;
11 19 4 fn Ljava/lang/invoke/MethodHandle;
23 24 4 fn Ljava/lang/invoke/MethodHandle;
28 29 4 fn Ljava/lang/invoke/MethodHandle;
30 32 4 fn Ljava/lang/invoke/MethodHandle;
10 18 5 wsrc Lsun/invoke/util/Wrapper;
15 18 6 mt Ljava/lang/invoke/MethodType;
21 28 5 wdst Lsun/invoke/util/Wrapper;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;ZZ)Ljava/lang/Object;
MethodParameters:
Name Flags
src
dst
strict
monobox
static java.lang.invoke.MethodHandle makeVarargsCollector(java.lang.invoke.MethodHandle, java.lang.Class<?>);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
astore 2
start local 2 1: aload 2
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iconst_1
isub
istore 3
start local 3 2: aload 2
iload 3
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
aload 1
if_acmpeq 4
3: aload 0
aload 2
iload 3
aload 1
invokevirtual java.lang.invoke.MethodType.changeParameterType:(ILjava/lang/Class;)Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 0
4: StackMap locals: java.lang.invoke.MethodType int
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MethodHandle.asFixedArity:()Ljava/lang/invoke/MethodHandle;
astore 0
5: new java.lang.invoke.MethodHandleImpl$AsVarargsCollector
dup
aload 0
aload 1
invokespecial java.lang.invoke.MethodHandleImpl$AsVarargsCollector.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 target Ljava/lang/invoke/MethodHandle;
0 6 1 arrayType Ljava/lang/Class<*>;
1 6 2 type Ljava/lang/invoke/MethodType;
2 6 3 last I
Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
target
arrayType
static java.lang.invoke.MethodHandle makeSpreadArguments(java.lang.invoke.MethodHandle, java.lang.Class<?>, int, int);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;II)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=15, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 7
3: StackMap locals: java.lang.invoke.MethodType int
StackMap stack:
aload 1
iload 5
invokestatic sun.invoke.util.VerifyType.spreadArgElementType:(Ljava/lang/Class;I)Ljava/lang/Class;
astore 6
start local 6 4: aload 6
ifnonnull 5
ldc Ljava/lang/Object;
astore 6
5: StackMap locals: java.lang.Class
StackMap stack:
aload 4
iload 2
iload 5
iadd
aload 6
invokevirtual java.lang.invoke.MethodType.changeParameterType:(ILjava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 4
end local 6 6: iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
iload 3
if_icmplt 3
end local 5 8: aload 0
aload 4
invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 0
9: aload 4
10: iload 2
iload 2
iload 3
iadd
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 1
aastore
invokevirtual java.lang.invoke.MethodType.replaceParameterTypes:(II[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
11: astore 5
start local 5 12: aload 5
invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
astore 6
start local 6 13: iload 3
iconst_2
iadd
aload 6
invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
astore 7
start local 7 14: aload 6
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 8
start local 8 15: aload 4
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
newarray 10
astore 9
start local 9 16: iconst_0
istore 10
start local 10 17: iconst_1
istore 11
start local 11 18: goto 34
19: StackMap locals: java.lang.invoke.MethodHandle java.lang.Class int int java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[] int int[] int int
StackMap stack:
aload 6
iload 10
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
pop
20: iload 10
iload 2
if_icmpne 31
21: aload 1
invokestatic java.lang.invoke.MethodHandles.arrayElementGetter:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
astore 12
start local 12 22: aload 7
iload 11
aaload
astore 13
start local 13 23: aload 7
iload 8
iinc 8 1
new java.lang.invoke.LambdaForm$Name
dup
iconst_0
invokestatic java.lang.invoke.MethodHandleImpl.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 13
aastore
dup
iconst_1
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
24: iconst_0
istore 14
start local 14 25: goto 29
26: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.LambdaForm$Name int
StackMap stack:
aload 9
iload 10
iload 8
iastore
27: aload 7
iload 8
iinc 8 1
new java.lang.invoke.LambdaForm$Name
dup
new java.lang.invoke.LambdaForm$NamedFunction
dup
aload 12
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.ARRAY_LOAD:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 13
aastore
dup
iconst_1
iload 14
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
28: iinc 10 1
iinc 14 1
StackMap locals:
StackMap stack:
29: iload 14
iload 3
if_icmplt 26
end local 14 end local 13 end local 12 30: goto 33
StackMap locals:
StackMap stack:
31: iload 10
aload 9
arraylength
if_icmpge 33
32: aload 9
iload 10
iload 11
iastore
33: StackMap locals:
StackMap stack:
iinc 10 1
iinc 11 1
StackMap locals:
StackMap stack:
34: iload 10
aload 4
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iconst_1
iadd
if_icmplt 19
end local 11 end local 10 35: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 36
iload 8
aload 7
arraylength
iconst_1
isub
if_icmpeq 36
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
36: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
anewarray java.lang.invoke.LambdaForm$Name
astore 10
start local 10 37: iconst_0
istore 11
start local 11 38: goto 42
39: StackMap locals: java.lang.invoke.LambdaForm$Name[] int
StackMap stack:
aload 9
iload 11
iaload
istore 12
start local 12 40: aload 10
iload 11
aload 7
iload 12
aaload
aastore
end local 12 41: iinc 11 1
StackMap locals:
StackMap stack:
42: iload 11
aload 4
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
if_icmplt 39
end local 11 43: aload 7
aload 7
arraylength
iconst_1
isub
new java.lang.invoke.LambdaForm$Name
dup
aload 0
aload 10
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
aastore
44: new java.lang.invoke.LambdaForm
dup
aload 6
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
aload 7
getstatic java.lang.invoke.LambdaForm$Kind.SPREAD:Ljava/lang/invoke/LambdaForm$Kind;
invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Kind;)V
astore 11
start local 11 45: aload 5
aload 11
invokestatic java.lang.invoke.SimpleMethodHandle.make:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle;
areturn
end local 11 end local 10 end local 9 end local 8 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 46 0 target Ljava/lang/invoke/MethodHandle;
0 46 1 spreadArgType Ljava/lang/Class<*>;
0 46 2 spreadArgPos I
0 46 3 spreadArgCount I
1 46 4 targetType Ljava/lang/invoke/MethodType;
2 8 5 i I
4 6 6 arg Ljava/lang/Class<*>;
12 46 5 srcType Ljava/lang/invoke/MethodType;
13 46 6 lambdaType Ljava/lang/invoke/MethodType;
14 46 7 names [Ljava/lang/invoke/LambdaForm$Name;
15 46 8 nameCursor I
16 46 9 indexes [I
17 35 10 i I
18 35 11 argIndex I
22 30 12 aload Ljava/lang/invoke/MethodHandle;
23 30 13 array Ljava/lang/invoke/LambdaForm$Name;
25 30 14 j I
37 46 10 targetArgs [Ljava/lang/invoke/LambdaForm$Name;
38 43 11 i I
40 41 12 idx I
45 46 11 form Ljava/lang/invoke/LambdaForm;
Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;II)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
target
spreadArgType
spreadArgPos
spreadArgCount
static void checkSpreadArgument(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
iload 1
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
ifnonnull 4
3: new java.lang.NullPointerException
dup
ldc "null array reference"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Object[]
ifeq 7
5: aload 0
checkcast java.lang.Object[]
arraylength
istore 2
start local 2 6: iload 2
iload 1
if_icmpne 9
return
end local 2 7: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
istore 2
start local 2 8: iload 2
iload 1
if_icmpne 9
return
end local 2 9: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "array is not of length "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.invoke.MethodHandleStatics.newIllegalArgumentException:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 av Ljava/lang/Object;
0 10 1 n I
6 7 2 len I
8 9 2 len I
MethodParameters:
Name Flags
av
n
static java.lang.invoke.MethodHandle makeCollectArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, int, boolean);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;IZ)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=20, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
astore 4
start local 4 1: aload 1
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
astore 5
start local 5 2: aload 5
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 6
start local 6 3: aload 5
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 7
start local 7 4: aload 7
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 5
iconst_0
goto 6
StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle int int java.lang.invoke.MethodType java.lang.invoke.MethodType int java.lang.Class
StackMap stack:
5: iconst_1
StackMap locals:
StackMap stack: int
6: istore 8
start local 8 7: aload 4
8: iload 2
iload 2
iload 8
iadd
invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
9: astore 9
start local 9 10: iload 3
ifne 12
11: aload 9
iload 2
aload 5
invokevirtual java.lang.invoke.MethodType.parameterArray:()[Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 9
12: StackMap locals: int java.lang.invoke.MethodType
StackMap stack:
aload 9
invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
astore 10
start local 10 13: iconst_2
aload 10
invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
astore 11
start local 11 14: aload 11
arraylength
iconst_2
isub
istore 12
start local 12 15: aload 11
arraylength
iconst_1
isub
istore 13
start local 13 16: aload 11
iconst_1
iload 2
iadd
iconst_1
iload 2
iadd
iload 6
iadd
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
checkcast java.lang.invoke.LambdaForm$Name[]
astore 14
start local 14 17: aload 11
iload 12
new java.lang.invoke.LambdaForm$Name
dup
aload 1
aload 14
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
aastore
18: aload 4
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
anewarray java.lang.invoke.LambdaForm$Name
astore 15
start local 15 19: iconst_1
istore 16
start local 16 20: iconst_0
istore 17
start local 17 21: iload 2
istore 18
start local 18 22: aload 11
iload 16
aload 15
iload 17
iload 18
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
23: iload 16
iload 18
iadd
istore 16
24: iload 17
iload 18
iadd
istore 17
25: aload 7
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 27
26: aload 15
iload 17
iinc 17 1
aload 11
iload 12
aaload
aastore
27: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle int int java.lang.invoke.MethodType java.lang.invoke.MethodType int java.lang.Class int java.lang.invoke.MethodType java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[] int int java.lang.invoke.LambdaForm$Name[] java.lang.invoke.LambdaForm$Name[] int int int
StackMap stack:
iload 6
istore 18
28: iload 3
ifeq 31
29: aload 11
iload 16
aload 15
iload 17
iload 18
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
30: iload 17
iload 18
iadd
istore 17
31: StackMap locals:
StackMap stack:
iload 16
iload 18
iadd
istore 16
32: aload 15
arraylength
iload 17
isub
istore 18
33: aload 11
iload 16
aload 15
iload 17
iload 18
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
34: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 35
iload 16
iload 18
iadd
iload 12
if_icmpeq 35
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
35: StackMap locals:
StackMap stack:
aload 11
iload 13
new java.lang.invoke.LambdaForm$Name
dup
aload 0
aload 15
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
aastore
36: new java.lang.invoke.LambdaForm
dup
aload 10
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
aload 11
getstatic java.lang.invoke.LambdaForm$Kind.COLLECT:Ljava/lang/invoke/LambdaForm$Kind;
invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Kind;)V
astore 19
start local 19 37: aload 9
aload 19
invokestatic java.lang.invoke.SimpleMethodHandle.make:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle;
areturn
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 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 38 0 target Ljava/lang/invoke/MethodHandle;
0 38 1 collector Ljava/lang/invoke/MethodHandle;
0 38 2 collectArgPos I
0 38 3 retainOriginalArgs Z
1 38 4 targetType Ljava/lang/invoke/MethodType;
2 38 5 collectorType Ljava/lang/invoke/MethodType;
3 38 6 collectArgCount I
4 38 7 collectValType Ljava/lang/Class<*>;
7 38 8 collectValCount I
10 38 9 srcType Ljava/lang/invoke/MethodType;
13 38 10 lambdaType Ljava/lang/invoke/MethodType;
14 38 11 names [Ljava/lang/invoke/LambdaForm$Name;
15 38 12 collectNamePos I
16 38 13 targetNamePos I
17 38 14 collectorArgs [Ljava/lang/invoke/LambdaForm$Name;
19 38 15 targetArgs [Ljava/lang/invoke/LambdaForm$Name;
20 38 16 inputArgPos I
21 38 17 targetArgPos I
22 38 18 chunk I
37 38 19 form Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
target
collector
collectArgPos
retainOriginalArgs
static java.lang.invoke.MethodHandle selectAlternative(boolean, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle);
descriptor: (ZLjava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 0
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 testResult Z
0 3 1 target Ljava/lang/invoke/MethodHandle;
0 3 2 fallback Ljava/lang/invoke/MethodHandle;
RuntimeVisibleAnnotations:
java.lang.invoke.LambdaForm$Hidden()
MethodParameters:
Name Flags
testResult
target
fallback
static boolean profileBoolean(boolean, int[]);
descriptor: (Z[I)Z
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iload 0
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: aload 1
iload 2
aload 1
iload 2
iaload
iconst_1
invokestatic java.lang.Math.addExact:(II)I
iastore
4: goto 7
StackMap locals: int int[] int
StackMap stack: java.lang.ArithmeticException
5: pop
6: aload 1
iload 2
aload 1
iload 2
iaload
iconst_2
idiv
iastore
7: StackMap locals:
StackMap stack:
iload 0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 result Z
0 8 1 counters [I
3 8 2 idx I
Exception table:
from to target type
3 4 5 Class java.lang.ArithmeticException
RuntimeVisibleAnnotations:
java.lang.invoke.LambdaForm$Hidden()
jdk.internal.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
result
counters
static boolean isCompileConstant(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 obj Ljava/lang/Object;
RuntimeVisibleAnnotations:
java.lang.invoke.LambdaForm$Hidden()
jdk.internal.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
obj
static java.lang.invoke.MethodHandle makeGuardWithTest(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
astore 3
start local 3 1: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 3
aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
aload 3
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
ifeq 2
aload 2
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
aload 3
invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
ifne 3
StackMap locals: java.lang.invoke.MethodType
StackMap stack:
2: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
astore 4
start local 4 4: aload 4
invokestatic java.lang.invoke.MethodHandleImpl.makeGuardWithTestForm:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm;
astore 5
start local 5 5: getstatic java.lang.invoke.MethodHandleStatics.PROFILE_GWT:Z
ifeq 12
6: iconst_2
newarray 10
astore 7
start local 7 7: invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.factory:()Ljava/lang/invoke/MethodHandle;
aload 3
aload 5
8: aload 0
aload 1
invokestatic java.lang.invoke.MethodHandleImpl.profile:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
aload 2
invokestatic java.lang.invoke.MethodHandleImpl.profile:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
aload 7
9: invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[I)Ljava/lang/invoke/BoundMethodHandle;
10: astore 6
end local 7 start local 6 11: goto 19
end local 6 12: StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm
StackMap stack:
invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.factory:()Ljava/lang/invoke/MethodHandle;
aload 3
aload 5
13: aload 0
aload 1
invokestatic java.lang.invoke.MethodHandleImpl.profile:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
aload 2
invokestatic java.lang.invoke.MethodHandleImpl.profile:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
14: invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
15: astore 6
start local 6 16: goto 19
end local 6 StackMap locals:
StackMap stack: java.lang.Throwable
17: astore 7
start local 7 18: aload 7
invokestatic java.lang.invoke.MethodHandleStatics.uncaughtException:(Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 7 start local 6 19: StackMap locals: java.lang.invoke.BoundMethodHandle
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 20
aload 6
invokevirtual java.lang.invoke.BoundMethodHandle.type:()Ljava/lang/invoke/MethodType;
aload 3
if_acmpeq 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
aload 6
areturn
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 21 0 test Ljava/lang/invoke/MethodHandle;
0 21 1 target Ljava/lang/invoke/MethodHandle;
0 21 2 fallback Ljava/lang/invoke/MethodHandle;
1 21 3 type Ljava/lang/invoke/MethodType;
4 21 4 basicType Ljava/lang/invoke/MethodType;
5 21 5 form Ljava/lang/invoke/LambdaForm;
11 12 6 mh Ljava/lang/invoke/BoundMethodHandle;
16 17 6 mh Ljava/lang/invoke/BoundMethodHandle;
19 21 6 mh Ljava/lang/invoke/BoundMethodHandle;
7 11 7 counts [I
18 19 7 ex Ljava/lang/Throwable;
Exception table:
from to target type
5 16 17 Class java.lang.Throwable
MethodParameters:
Name Flags
test
target
fallback
static java.lang.invoke.MethodHandle profile(java.lang.invoke.MethodHandle);
descriptor: (Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic java.lang.invoke.MethodHandleStatics.DONT_INLINE_THRESHOLD:I
iflt 2
1: aload 0
invokestatic java.lang.invoke.MethodHandleImpl.makeBlockInliningWrapper:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
areturn
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 target Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
target
static java.lang.invoke.MethodHandle makeBlockInliningWrapper(java.lang.invoke.MethodHandle);
descriptor: (Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: getstatic java.lang.invoke.MethodHandleStatics.DONT_INLINE_THRESHOLD:I
ifle 3
1: getstatic java.lang.invoke.MethodHandleImpl$Makers.PRODUCE_BLOCK_INLINING_FORM:Ljava/util/function/Function;
aload 0
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.invoke.LambdaForm
astore 1
start local 1 2: goto 4
end local 1 3: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl$Makers.PRODUCE_REINVOKER_FORM:Ljava/util/function/Function;
aload 0
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.invoke.LambdaForm
astore 1
start local 1 4: StackMap locals: java.lang.invoke.LambdaForm
StackMap stack:
new java.lang.invoke.MethodHandleImpl$CountingWrapper
dup
aload 0
aload 1
5: getstatic java.lang.invoke.MethodHandleImpl$Makers.PRODUCE_BLOCK_INLINING_FORM:Ljava/util/function/Function;
getstatic java.lang.invoke.MethodHandleImpl$Makers.PRODUCE_REINVOKER_FORM:Ljava/util/function/Function;
6: getstatic java.lang.invoke.MethodHandleStatics.DONT_INLINE_THRESHOLD:I
7: invokespecial java.lang.invoke.MethodHandleImpl$CountingWrapper.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/LambdaForm;Ljava/util/function/Function;Ljava/util/function/Function;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 target Ljava/lang/invoke/MethodHandle;
2 3 1 lform Ljava/lang/invoke/LambdaForm;
4 8 1 lform Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
target
static java.lang.invoke.LambdaForm makeGuardWithTestForm(java.lang.invoke.MethodType);
descriptor: (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm;
flags: (0x0008) ACC_STATIC
Code:
stack=10, locals=18, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
bipush 17
invokevirtual java.lang.invoke.MethodTypeForm.cachedLambdaForm:(I)Ljava/lang/invoke/LambdaForm;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
areturn
2: StackMap locals: java.lang.invoke.LambdaForm
StackMap stack:
iconst_1
aload 0
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iadd
istore 2
start local 2 3: iload 2
istore 3
start local 3 4: iload 3
iinc 3 1
istore 4
start local 4 5: iload 3
iinc 3 1
istore 5
start local 5 6: iload 3
iinc 3 1
istore 6
start local 6 7: getstatic java.lang.invoke.MethodHandleStatics.PROFILE_GWT:Z
ifeq 8
iload 3
iinc 3 1
goto 9
StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm int int int int int
StackMap stack:
8: iconst_m1
StackMap locals:
StackMap stack: int
9: istore 7
start local 7 10: iload 3
iinc 3 1
istore 8
start local 8 11: iload 7
iconst_m1
if_icmpeq 12
iload 3
iinc 3 1
goto 13
StackMap locals: int int
StackMap stack:
12: iconst_m1
StackMap locals:
StackMap stack: int
13: istore 9
start local 9 14: iload 3
iconst_1
isub
istore 10
start local 10 15: iload 3
iinc 3 1
istore 11
start local 11 16: iload 3
iinc 3 1
istore 12
start local 12 17: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 18
iload 12
iload 11
iconst_1
iadd
if_icmpeq 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm int int int int int int int int int int int
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
astore 13
start local 13 19: iload 3
iload 2
isub
aload 13
invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
astore 14
start local 14 20: iload 7
iconst_m1
if_icmpeq 21
invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
goto 22
21: StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm$Name[]
StackMap stack:
invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
22: StackMap locals:
StackMap stack: java.lang.invoke.BoundMethodHandle$SpeciesData
astore 15
start local 15 23: aload 14
iconst_0
aload 14
iconst_0
aaload
aload 15
invokevirtual java.lang.invoke.LambdaForm$Name.withConstraint:(Ljava/lang/Object;)Ljava/lang/invoke/LambdaForm$Name;
aastore
24: aload 14
iload 4
new java.lang.invoke.LambdaForm$Name
dup
aload 15
iconst_0
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 14
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
25: aload 14
iload 5
new java.lang.invoke.LambdaForm$Name
dup
aload 15
iconst_1
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 14
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
26: aload 14
iload 6
new java.lang.invoke.LambdaForm$Name
dup
aload 15
iconst_2
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 14
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
27: iload 7
iconst_m1
if_icmpeq 29
28: aload 14
iload 7
new java.lang.invoke.LambdaForm$Name
dup
aload 15
iconst_3
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 14
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
29: StackMap locals: java.lang.invoke.BoundMethodHandle$SpeciesData
StackMap stack:
aload 14
iconst_0
iload 2
ldc [Ljava/lang/Object;
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;IILjava/lang/Class;)[Ljava/lang/Object;
astore 16
start local 16 30: aload 0
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
astore 17
start local 17 31: aload 16
iconst_0
aload 14
iload 4
aaload
aastore
32: aload 14
iload 8
new java.lang.invoke.LambdaForm$Name
dup
aload 17
aload 16
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)V
aastore
33: iload 9
iconst_m1
if_icmpeq 35
34: aload 14
iload 9
new java.lang.invoke.LambdaForm$Name
dup
iconst_5
invokestatic java.lang.invoke.MethodHandleImpl.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 14
iload 8
aaload
aastore
dup
iconst_1
aload 14
iload 7
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
35: StackMap locals: java.lang.Object[] java.lang.invoke.MethodType
StackMap stack:
aload 14
iload 11
new java.lang.invoke.LambdaForm$Name
dup
new java.lang.invoke.LambdaForm$NamedFunction
dup
iconst_1
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.SELECT_ALTERNATIVE:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 14
iload 10
aaload
aastore
dup
iconst_1
aload 14
iload 5
aaload
aastore
dup
iconst_2
aload 14
iload 6
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
36: aload 16
iconst_0
aload 14
iload 11
aaload
aastore
37: aload 14
iload 12
new java.lang.invoke.LambdaForm$Name
dup
aload 0
aload 16
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)V
aastore
38: new java.lang.invoke.LambdaForm
dup
aload 13
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
aload 14
iconst_1
getstatic java.lang.invoke.LambdaForm$Kind.GUARD:Ljava/lang/invoke/LambdaForm$Kind;
invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;ZLjava/lang/invoke/LambdaForm$Kind;)V
astore 1
39: aload 0
invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
bipush 17
aload 1
invokevirtual java.lang.invoke.MethodTypeForm.setCachedLambdaForm:(ILjava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
areturn
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 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 40 0 basicType Ljava/lang/invoke/MethodType;
1 40 1 lform Ljava/lang/invoke/LambdaForm;
3 40 2 ARG_LIMIT I
4 40 3 nameCursor I
5 40 4 GET_TEST I
6 40 5 GET_TARGET I
7 40 6 GET_FALLBACK I
10 40 7 GET_COUNTERS I
11 40 8 CALL_TEST I
14 40 9 PROFILE I
15 40 10 TEST I
16 40 11 SELECT_ALT I
17 40 12 CALL_TARGET I
19 40 13 lambdaType Ljava/lang/invoke/MethodType;
20 40 14 names [Ljava/lang/invoke/LambdaForm$Name;
23 40 15 data Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
30 40 16 invokeArgs [Ljava/lang/Object;
31 40 17 testType Ljava/lang/invoke/MethodType;
MethodParameters:
Name Flags
basicType
private static java.lang.invoke.LambdaForm makeGuardWithCatchForm(java.lang.invoke.MethodType);
descriptor: (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=21, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
astore 1
start local 1 1: aload 0
invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
bipush 16
invokevirtual java.lang.invoke.MethodTypeForm.cachedLambdaForm:(I)Ljava/lang/invoke/LambdaForm;
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 2
areturn
4: StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm
StackMap stack:
iconst_1
aload 0
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iadd
istore 3
start local 3 5: iload 3
istore 4
start local 4 6: iload 4
iinc 4 1
istore 5
start local 5 7: iload 4
iinc 4 1
istore 6
start local 6 8: iload 4
iinc 4 1
istore 7
start local 7 9: iload 4
iinc 4 1
istore 8
start local 8 10: iload 4
iinc 4 1
istore 9
start local 9 11: iload 4
iinc 4 1
istore 10
start local 10 12: iload 4
iinc 4 1
istore 11
start local 11 13: iload 4
iinc 4 1
istore 12
start local 12 14: iload 4
iload 3
isub
aload 1
invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
astore 13
start local 13 15: invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLLLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
astore 14
start local 14 16: aload 13
iconst_0
aload 13
iconst_0
aaload
aload 14
invokevirtual java.lang.invoke.LambdaForm$Name.withConstraint:(Ljava/lang/Object;)Ljava/lang/invoke/LambdaForm$Name;
aastore
17: aload 13
iload 5
new java.lang.invoke.LambdaForm$Name
dup
aload 14
iconst_0
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 13
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
18: aload 13
iload 6
new java.lang.invoke.LambdaForm$Name
dup
aload 14
iconst_1
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 13
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
19: aload 13
iload 7
new java.lang.invoke.LambdaForm$Name
dup
aload 14
iconst_2
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 13
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
20: aload 13
iload 8
new java.lang.invoke.LambdaForm$Name
dup
aload 14
iconst_3
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 13
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
21: aload 13
iload 9
new java.lang.invoke.LambdaForm$Name
dup
aload 14
iconst_4
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 13
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
22: aload 0
ldc Ljava/lang/Object;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 15
start local 15 23: aload 15
invokestatic java.lang.invoke.MethodHandles.basicInvoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 16
start local 16 24: aload 16
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
anewarray java.lang.Object
astore 17
start local 17 25: aload 17
iconst_0
aload 13
iload 8
aaload
aastore
26: aload 13
iconst_1
aload 17
iconst_1
iload 3
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
27: aload 13
iload 10
new java.lang.invoke.LambdaForm$Name
dup
new java.lang.invoke.LambdaForm$NamedFunction
dup
aload 16
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.GUARD_WITH_CATCH:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
aload 17
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
28: iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 13
iload 5
aaload
aastore
dup
iconst_1
aload 13
iload 6
aaload
aastore
dup
iconst_2
aload 13
iload 7
aaload
aastore
dup
iconst_3
aload 13
iload 10
aaload
aastore
astore 18
start local 18 29: aload 13
iload 11
new java.lang.invoke.LambdaForm$Name
dup
iconst_1
invokestatic java.lang.invoke.MethodHandleImpl.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
aload 18
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
30: aload 0
invokevirtual java.lang.invoke.MethodType.rtype:()Ljava/lang/Class;
ldc Ljava/lang/Object;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.MethodHandles.basicInvoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 19
start local 19 31: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 13
iload 9
aaload
aastore
dup
iconst_1
aload 13
iload 11
aaload
aastore
astore 20
start local 20 32: aload 13
iload 12
new java.lang.invoke.LambdaForm$Name
dup
aload 19
aload 20
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
aastore
33: new java.lang.invoke.LambdaForm
dup
aload 1
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
aload 13
getstatic java.lang.invoke.LambdaForm$Kind.GUARD_WITH_CATCH:Ljava/lang/invoke/LambdaForm$Kind;
invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Kind;)V
astore 2
34: aload 0
invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
bipush 16
aload 2
invokevirtual java.lang.invoke.MethodTypeForm.setCachedLambdaForm:(ILjava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
areturn
end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 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 35 0 basicType Ljava/lang/invoke/MethodType;
1 35 1 lambdaType Ljava/lang/invoke/MethodType;
2 35 2 lform Ljava/lang/invoke/LambdaForm;
5 35 3 ARG_LIMIT I
6 35 4 nameCursor I
7 35 5 GET_TARGET I
8 35 6 GET_CLASS I
9 35 7 GET_CATCHER I
10 35 8 GET_COLLECT_ARGS I
11 35 9 GET_UNBOX_RESULT I
12 35 10 BOXED_ARGS I
13 35 11 TRY_CATCH I
14 35 12 UNBOX_RESULT I
15 35 13 names [Ljava/lang/invoke/LambdaForm$Name;
16 35 14 data Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
23 35 15 collectArgsType Ljava/lang/invoke/MethodType;
24 35 16 invokeBasic Ljava/lang/invoke/MethodHandle;
25 35 17 args [Ljava/lang/Object;
29 35 18 gwcArgs [Ljava/lang/Object;
31 35 19 invokeBasicUnbox Ljava/lang/invoke/MethodHandle;
32 35 20 unboxArgs [Ljava/lang/Object;
MethodParameters:
Name Flags
basicType
static java.lang.invoke.MethodHandle makeGuardWithCatch(java.lang.invoke.MethodHandle, java.lang.Class<? extends java.lang.Throwable>, java.lang.invoke.MethodHandle);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
astore 3
start local 3 1: aload 3
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.MethodHandleImpl.makeGuardWithCatchForm:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm;
astore 4
start local 4 2: aload 3
ldc [Ljava/lang/Object;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 5
start local 5 3: aload 3
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
invokestatic java.lang.invoke.MethodHandleImpl.varargsArray:(I)Ljava/lang/invoke/MethodHandle;
aload 5
invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 6
start local 6 4: aload 3
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
invokestatic java.lang.invoke.MethodHandleImpl.unboxResultHandle:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
astore 7
start local 7 5: invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLLLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
astore 8
start local 8 6: aload 8
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.factory:()Ljava/lang/invoke/MethodHandle;
aload 3
aload 4
aload 0
aload 1
7: aload 2
aload 6
aload 7
8: invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
astore 9
start local 9 9: goto 12
end local 9 StackMap locals: java.lang.invoke.MethodHandle java.lang.Class java.lang.invoke.MethodHandle java.lang.invoke.MethodType java.lang.invoke.LambdaForm java.lang.invoke.MethodType java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.BoundMethodHandle$SpeciesData
StackMap stack: java.lang.Throwable
10: astore 10
start local 10 11: aload 10
invokestatic java.lang.invoke.MethodHandleStatics.uncaughtException:(Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 10 start local 9 12: StackMap locals: java.lang.invoke.BoundMethodHandle
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 13
aload 9
invokevirtual java.lang.invoke.BoundMethodHandle.type:()Ljava/lang/invoke/MethodType;
aload 3
if_acmpeq 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 9
areturn
end local 9 end local 8 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 14 0 target Ljava/lang/invoke/MethodHandle;
0 14 1 exType Ljava/lang/Class<+Ljava/lang/Throwable;>;
0 14 2 catcher Ljava/lang/invoke/MethodHandle;
1 14 3 type Ljava/lang/invoke/MethodType;
2 14 4 form Ljava/lang/invoke/LambdaForm;
3 14 5 varargsType Ljava/lang/invoke/MethodType;
4 14 6 collectArgs Ljava/lang/invoke/MethodHandle;
5 14 7 unboxResult Ljava/lang/invoke/MethodHandle;
6 14 8 data Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
9 10 9 mh Ljava/lang/invoke/BoundMethodHandle;
12 14 9 mh Ljava/lang/invoke/BoundMethodHandle;
11 12 10 ex Ljava/lang/Throwable;
Exception table:
from to target type
6 9 10 Class java.lang.Throwable
Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<+Ljava/lang/Throwable;>;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
target
exType
catcher
static guardWithCatch(java.lang.invoke.MethodHandle, java.lang.Class<? extends java.lang.Throwable>, java.lang.invoke.MethodHandle, []);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0088) ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.lang.invoke.MethodHandle.asFixedArity:()Ljava/lang/invoke/MethodHandle;
aload 3
invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
start local 4 3: aload 1
aload 4
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifne 4
aload 4
athrow
4: StackMap locals: java.lang.Throwable
StackMap stack:
aload 2
invokevirtual java.lang.invoke.MethodHandle.asFixedArity:()Ljava/lang/invoke/MethodHandle;
aload 3
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokestatic java.lang.invoke.MethodHandleImpl.prepend:([Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 target Ljava/lang/invoke/MethodHandle;
0 5 1 exType Ljava/lang/Class<+Ljava/lang/Throwable;>;
0 5 2 catcher Ljava/lang/invoke/MethodHandle;
0 5 3 av [Ljava/lang/Object;
3 5 4 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
Exceptions:
throws java.lang.Throwable
Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<+Ljava/lang/Throwable;>;Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)Ljava/lang/Object;
RuntimeVisibleAnnotations:
java.lang.invoke.LambdaForm$Hidden()
MethodParameters:
Name Flags
target
exType
catcher
av
private static java.lang.Object[] prepend(java.lang.Object[], java.lang.Object[]);
descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
arraylength
istore 2
start local 2 1: aload 1
arraylength
istore 3
start local 3 2: iload 2
iload 3
iadd
anewarray java.lang.Object
astore 4
start local 4 3: aload 1
iconst_0
aload 4
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 0
iconst_0
aload 4
iload 3
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 array [Ljava/lang/Object;
0 6 1 elems [Ljava/lang/Object;
1 6 2 nArray I
2 6 3 nElems I
3 6 4 newArray [Ljava/lang/Object;
RuntimeVisibleAnnotations:
java.lang.invoke.LambdaForm$Hidden()
MethodParameters:
Name Flags
array
elems
static java.lang.invoke.MethodHandle throwException(java.lang.invoke.MethodType);
descriptor: (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 1
ldc Ljava/lang/Throwable;
aload 0
iconst_0
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 1
start local 1 2: iload 1
iconst_1
if_icmple 6
3: aload 0
iconst_1
iload 1
invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.MethodHandleImpl.throwException:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 2
start local 2 4: aload 2
iconst_1
aload 0
invokevirtual java.lang.invoke.MethodType.parameterArray:()[Ljava/lang/Class;
iconst_1
iload 1
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
checkcast java.lang.Class[]
invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
astore 2
5: aload 2
areturn
end local 2 6: StackMap locals: int
StackMap stack:
iconst_2
invokestatic java.lang.invoke.MethodHandleImpl.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
invokevirtual java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:()Ljava/lang/invoke/MethodHandle;
aload 0
iconst_0
iconst_1
invokestatic java.lang.invoke.MethodHandleImpl.makePairwiseConvert:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/MethodHandle;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 type Ljava/lang/invoke/MethodType;
2 7 1 arity I
4 6 2 mh Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
type
static <T extends java.lang.Throwable> sun.invoke.empty.Empty throwException(T) throws T;
descriptor: (Ljava/lang/Throwable;)Lsun/invoke/empty/Empty;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 t TT;
Exceptions:
throws java.lang.Throwable
Signature: <T:Ljava/lang/Throwable;>(TT;)Lsun/invoke/empty/Empty;^TT;
MethodParameters:
Name Flags
t
static java.lang.invoke.MethodHandle fakeMethodHandleInvoke(java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=5, args_size=1
start local 0 0: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual java.lang.invoke.MemberName.isMethodHandleInvoke:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
dup
astore 2
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 2
-1183693704: 2
941760871: 3
default: 8
}
StackMap locals: java.lang.invoke.MemberName top java.lang.String
StackMap stack:
2: aload 2
ldc "invoke"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
goto 8
StackMap locals:
StackMap stack:
3: aload 2
ldc "invokeExact"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
goto 8
4: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 5: goto 9
end local 1 6: StackMap locals:
StackMap stack:
iconst_1
istore 1
start local 1 7: goto 9
end local 1 8: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
aload 0
invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
start local 1 9: StackMap locals: java.lang.invoke.MemberName int
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.FAKE_METHOD_HANDLE_INVOKE:[Ljava/lang/invoke/MethodHandle;
iload 1
aaload
astore 3
start local 3 10: aload 3
ifnull 11
aload 3
areturn
11: StackMap locals: java.lang.invoke.MemberName int top java.lang.invoke.MethodHandle
StackMap stack:
ldc Ljava/lang/Object;
ldc Ljava/lang/UnsupportedOperationException;
iconst_2
anewarray java.lang.Class
dup
iconst_0
12: ldc Ljava/lang/invoke/MethodHandle;
aastore
dup
iconst_1
ldc [Ljava/lang/Object;
aastore
13: invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 4
start local 4 14: aload 4
invokestatic java.lang.invoke.MethodHandleImpl.throwException:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 3
15: aload 3
new java.lang.UnsupportedOperationException
dup
ldc "cannot reflectively invoke MethodHandle"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
astore 3
16: aload 0
invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
aload 3
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
ifne 18
17: new java.lang.InternalError
dup
aload 0
invokevirtual java.lang.invoke.MemberName.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
aload 3
aload 0
iconst_0
invokevirtual java.lang.invoke.MethodHandle.withInternalMemberName:(Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/MethodHandle;
astore 3
19: aload 3
iconst_1
invokevirtual java.lang.invoke.MethodHandle.withVarargs:(Z)Ljava/lang/invoke/MethodHandle;
astore 3
20: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 21
aload 0
invokevirtual java.lang.invoke.MemberName.isVarargs:()Z
ifne 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
21: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.FAKE_METHOD_HANDLE_INVOKE:[Ljava/lang/invoke/MethodHandle;
iload 1
aload 3
aastore
22: aload 3
areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 method Ljava/lang/invoke/MemberName;
5 6 1 idx I
7 8 1 idx I
9 23 1 idx I
10 23 3 mh Ljava/lang/invoke/MethodHandle;
14 23 4 type Ljava/lang/invoke/MethodType;
MethodParameters:
Name Flags
method
static java.lang.invoke.MethodHandle fakeVarHandleInvoke(java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MemberName.getReturnType:()Ljava/lang/Class;
ldc Ljava/lang/UnsupportedOperationException;
iconst_2
anewarray java.lang.Class
dup
iconst_0
1: ldc Ljava/lang/invoke/VarHandle;
aastore
dup
iconst_1
ldc [Ljava/lang/Object;
aastore
2: invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 1
start local 1 3: aload 1
invokestatic java.lang.invoke.MethodHandleImpl.throwException:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 2
start local 2 4: aload 2
new java.lang.UnsupportedOperationException
dup
ldc "cannot reflectively invoke VarHandle"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
astore 2
5: aload 0
invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
aload 2
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
ifne 7
6: new java.lang.InternalError
dup
aload 0
invokevirtual java.lang.invoke.MemberName.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: java.lang.invoke.MethodType java.lang.invoke.MethodHandle
StackMap stack:
aload 2
aload 0
iconst_0
invokevirtual java.lang.invoke.MethodHandle.withInternalMemberName:(Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/MethodHandle;
astore 2
8: aload 2
ldc [Ljava/lang/Object;
invokevirtual java.lang.invoke.MethodHandle.asVarargsCollector:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
astore 2
9: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 10
aload 0
invokevirtual java.lang.invoke.MemberName.isVarargs:()Z
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 method Ljava/lang/invoke/MemberName;
3 11 1 type Ljava/lang/invoke/MethodType;
4 11 2 mh Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
method
static java.lang.invoke.MethodHandle bindCaller(java.lang.invoke.MethodHandle, java.lang.Class<?>);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.lang.invoke.MethodHandleImpl$BindCaller.bindCaller:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 mh Ljava/lang/invoke/MethodHandle;
0 1 1 hostClass Ljava/lang/Class<*>;
Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
mh
hostClass
static java.lang.invoke.MethodHandle makeWrappedMember(java.lang.invoke.MethodHandle, java.lang.invoke.MemberName, boolean);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
invokevirtual java.lang.invoke.MethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
invokevirtual java.lang.invoke.MemberName.equals:(Ljava/lang/invoke/MemberName;)Z
ifeq 2
iload 2
aload 0
invokevirtual java.lang.invoke.MethodHandle.isInvokeSpecial:()Z
if_icmpne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
new java.lang.invoke.MethodHandleImpl$WrappedMember
dup
aload 0
aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
aload 1
iload 2
aconst_null
invokespecial java.lang.invoke.MethodHandleImpl$WrappedMember.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MemberName;ZLjava/lang/Class;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 target Ljava/lang/invoke/MethodHandle;
0 3 1 member Ljava/lang/invoke/MemberName;
0 3 2 isInvokeSpecial Z
MethodParameters:
Name Flags
target
member
isInvokeSpecial
static java.lang.invoke.MethodHandle makeIntrinsic(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandleImpl$Intrinsic);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual java.lang.invoke.MethodHandle.intrinsicName:()Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
if_acmpne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
new java.lang.invoke.MethodHandleImpl$IntrinsicMethodHandle
dup
aload 0
aload 1
invokespecial java.lang.invoke.MethodHandleImpl$IntrinsicMethodHandle.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 target Ljava/lang/invoke/MethodHandle;
0 3 1 intrinsicName Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
MethodParameters:
Name Flags
target
intrinsicName
static java.lang.invoke.MethodHandle makeIntrinsic(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm, java.lang.invoke.MethodHandleImpl$Intrinsic);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.invoke.MethodHandleImpl$IntrinsicMethodHandle
dup
aload 0
aload 1
invokestatic java.lang.invoke.SimpleMethodHandle.make:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle;
aload 2
invokespecial java.lang.invoke.MethodHandleImpl$IntrinsicMethodHandle.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Ljava/lang/invoke/MethodType;
0 1 1 form Ljava/lang/invoke/LambdaForm;
0 1 2 intrinsicName Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
MethodParameters:
Name Flags
type
form
intrinsicName
private static java.lang.invoke.MethodHandle findCollector(java.lang.String, int, java.lang.Class<?>, java.lang.Class<?>[]);
descriptor: (Ljava/lang/String;ILjava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
invokestatic java.lang.invoke.MethodType.genericMethodType:(I)Ljava/lang/invoke/MethodType;
1: aload 2
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
2: iconst_0
aload 3
invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
3: astore 4
start local 4 4: getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
ldc Ljava/lang/invoke/MethodHandleImpl;
aload 0
aload 4
invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
5: areturn
6: StackMap locals: java.lang.String int java.lang.Class java.lang.Class[] java.lang.invoke.MethodType
StackMap stack: java.lang.ReflectiveOperationException
pop
7: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 name Ljava/lang/String;
0 8 1 nargs I
0 8 2 rtype Ljava/lang/Class<*>;
0 8 3 ptypes [Ljava/lang/Class;
4 8 4 type Ljava/lang/invoke/MethodType;
Exception table:
from to target type
4 5 6 Class java.lang.ReflectiveOperationException
Signature: (Ljava/lang/String;ILjava/lang/Class<*>;[Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
name
nargs
rtype
ptypes
private static java.lang.Object[] makeArray(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 args [Ljava/lang/Object;
MethodParameters:
Name Flags
args
private static java.lang.Object[] array();
descriptor: ()[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic java.lang.invoke.MethodHandleImpl.NO_ARGS_ARRAY:[Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.Object[] array(java.lang.Object);
descriptor: (Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a0 Ljava/lang/Object;
MethodParameters:
Name Flags
a0
private static java.lang.Object[] array(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a0 Ljava/lang/Object;
0 1 1 a1 Ljava/lang/Object;
MethodParameters:
Name Flags
a0
a1
private static java.lang.Object[] array(java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
aastore
invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a0 Ljava/lang/Object;
0 1 1 a1 Ljava/lang/Object;
0 1 2 a2 Ljava/lang/Object;
MethodParameters:
Name Flags
a0
a1
a2
private static java.lang.Object[] array(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
aload 3
aastore
invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a0 Ljava/lang/Object;
0 1 1 a1 Ljava/lang/Object;
0 1 2 a2 Ljava/lang/Object;
0 1 3 a3 Ljava/lang/Object;
MethodParameters:
Name Flags
a0
a1
a2
a3
private static java.lang.Object[] array(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
aload 3
aastore
dup
iconst_4
aload 4
aastore
invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a0 Ljava/lang/Object;
0 1 1 a1 Ljava/lang/Object;
0 1 2 a2 Ljava/lang/Object;
0 1 3 a3 Ljava/lang/Object;
0 1 4 a4 Ljava/lang/Object;
MethodParameters:
Name Flags
a0
a1
a2
a3
a4
private static java.lang.Object[] array(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: bipush 6
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
aload 3
aastore
dup
iconst_4
aload 4
aastore
dup
iconst_5
aload 5
aastore
invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
areturn
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 1 0 a0 Ljava/lang/Object;
0 1 1 a1 Ljava/lang/Object;
0 1 2 a2 Ljava/lang/Object;
0 1 3 a3 Ljava/lang/Object;
0 1 4 a4 Ljava/lang/Object;
0 1 5 a5 Ljava/lang/Object;
MethodParameters:
Name Flags
a0
a1
a2
a3
a4
a5
private static java.lang.Object[] array(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: bipush 7
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
aload 3
aastore
dup
iconst_4
aload 4
aastore
dup
iconst_5
aload 5
aastore
dup
bipush 6
aload 6
aastore
invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
areturn
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 1 0 a0 Ljava/lang/Object;
0 1 1 a1 Ljava/lang/Object;
0 1 2 a2 Ljava/lang/Object;
0 1 3 a3 Ljava/lang/Object;
0 1 4 a4 Ljava/lang/Object;
0 1 5 a5 Ljava/lang/Object;
0 1 6 a6 Ljava/lang/Object;
MethodParameters:
Name Flags
a0
a1
a2
a3
a4
a5
a6
private static java.lang.Object[] array(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: bipush 8
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
aload 3
aastore
dup
iconst_4
aload 4
aastore
dup
iconst_5
aload 5
aastore
dup
bipush 6
aload 6
aastore
dup
bipush 7
aload 7
aastore
invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([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 1 0 a0 Ljava/lang/Object;
0 1 1 a1 Ljava/lang/Object;
0 1 2 a2 Ljava/lang/Object;
0 1 3 a3 Ljava/lang/Object;
0 1 4 a4 Ljava/lang/Object;
0 1 5 a5 Ljava/lang/Object;
0 1 6 a6 Ljava/lang/Object;
0 1 7 a7 Ljava/lang/Object;
MethodParameters:
Name Flags
a0
a1
a2
a3
a4
a5
a6
a7
private static java.lang.Object[] array(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: bipush 9
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
aload 3
aastore
dup
iconst_4
aload 4
aastore
dup
iconst_5
aload 5
aastore
dup
bipush 6
aload 6
aastore
dup
bipush 7
aload 7
aastore
dup
bipush 8
aload 8
aastore
invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
areturn
end local 8 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 1 0 a0 Ljava/lang/Object;
0 1 1 a1 Ljava/lang/Object;
0 1 2 a2 Ljava/lang/Object;
0 1 3 a3 Ljava/lang/Object;
0 1 4 a4 Ljava/lang/Object;
0 1 5 a5 Ljava/lang/Object;
0 1 6 a6 Ljava/lang/Object;
0 1 7 a7 Ljava/lang/Object;
0 1 8 a8 Ljava/lang/Object;
MethodParameters:
Name Flags
a0
a1
a2
a3
a4
a5
a6
a7
a8
private static java.lang.Object[] array(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=10, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: bipush 10
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
aload 3
aastore
dup
iconst_4
aload 4
aastore
dup
iconst_5
aload 5
aastore
dup
bipush 6
aload 6
aastore
dup
bipush 7
aload 7
aastore
dup
bipush 8
aload 8
aastore
dup
bipush 9
aload 9
aastore
invokestatic java.lang.invoke.MethodHandleImpl.makeArray:([Ljava/lang/Object;)[Ljava/lang/Object;
areturn
end local 9 end local 8 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 1 0 a0 Ljava/lang/Object;
0 1 1 a1 Ljava/lang/Object;
0 1 2 a2 Ljava/lang/Object;
0 1 3 a3 Ljava/lang/Object;
0 1 4 a4 Ljava/lang/Object;
0 1 5 a5 Ljava/lang/Object;
0 1 6 a6 Ljava/lang/Object;
0 1 7 a7 Ljava/lang/Object;
0 1 8 a8 Ljava/lang/Object;
0 1 9 a9 Ljava/lang/Object;
MethodParameters:
Name Flags
a0
a1
a2
a3
a4
a5
a6
a7
a8
a9
private static java.lang.Object[] fillNewArray(java.lang.Integer, java.lang.Object[]);
descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Integer.intValue:()I
anewarray java.lang.Object
astore 2
start local 2 1: aload 2
iconst_0
aload 1
invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 len Ljava/lang/Integer;
0 3 1 args [Ljava/lang/Object;
1 3 2 a [Ljava/lang/Object;
MethodParameters:
Name Flags
len
args
private static java.lang.Object[] fillNewTypedArray(java.lang.Object[], java.lang.Integer, java.lang.Object[]);
descriptor: ([Ljava/lang/Object;Ljava/lang/Integer;[Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual java.lang.Integer.intValue:()I
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
astore 3
start local 3 1: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 2
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc [Ljava/lang/Object;
if_acmpne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: java.lang.Object[]
StackMap stack:
aload 3
iconst_0
aload 2
invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
3: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 example [Ljava/lang/Object;
0 4 1 len Ljava/lang/Integer;
0 4 2 args [Ljava/lang/Object;
1 4 3 a [Ljava/lang/Object;
MethodParameters:
Name Flags
example
len
args
private static void fillWithArguments(java.lang.Object[], int, java.lang.Object[]);
descriptor: ([Ljava/lang/Object;I[Ljava/lang/Object;)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
iconst_0
aload 0
iload 1
aload 2
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [Ljava/lang/Object;
0 2 1 pos I
0 2 2 args [Ljava/lang/Object;
MethodParameters:
Name Flags
a
pos
args
private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object);
descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
invokevirtual java.lang.Integer.intValue:()I
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pos Ljava/lang/Integer;
0 1 1 a [Ljava/lang/Object;
0 1 2 a0 Ljava/lang/Object;
MethodParameters:
Name Flags
pos
a
a0
private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 0
invokevirtual java.lang.Integer.intValue:()I
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pos Ljava/lang/Integer;
0 1 1 a [Ljava/lang/Object;
0 1 2 a0 Ljava/lang/Object;
0 1 3 a1 Ljava/lang/Object;
MethodParameters:
Name Flags
pos
a
a0
a1
private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 0
invokevirtual java.lang.Integer.intValue:()I
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
aload 4
aastore
invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pos Ljava/lang/Integer;
0 1 1 a [Ljava/lang/Object;
0 1 2 a0 Ljava/lang/Object;
0 1 3 a1 Ljava/lang/Object;
0 1 4 a2 Ljava/lang/Object;
MethodParameters:
Name Flags
pos
a
a0
a1
a2
private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
aload 0
invokevirtual java.lang.Integer.intValue:()I
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
aload 4
aastore
dup
iconst_3
aload 5
aastore
invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
aload 1
areturn
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 1 0 pos Ljava/lang/Integer;
0 1 1 a [Ljava/lang/Object;
0 1 2 a0 Ljava/lang/Object;
0 1 3 a1 Ljava/lang/Object;
0 1 4 a2 Ljava/lang/Object;
0 1 5 a3 Ljava/lang/Object;
MethodParameters:
Name Flags
pos
a
a0
a1
a2
a3
private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 1
aload 0
invokevirtual java.lang.Integer.intValue:()I
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
aload 4
aastore
dup
iconst_3
aload 5
aastore
dup
iconst_4
aload 6
aastore
invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
aload 1
areturn
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 1 0 pos Ljava/lang/Integer;
0 1 1 a [Ljava/lang/Object;
0 1 2 a0 Ljava/lang/Object;
0 1 3 a1 Ljava/lang/Object;
0 1 4 a2 Ljava/lang/Object;
0 1 5 a3 Ljava/lang/Object;
0 1 6 a4 Ljava/lang/Object;
MethodParameters:
Name Flags
pos
a
a0
a1
a2
a3
a4
private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 1
aload 0
invokevirtual java.lang.Integer.intValue:()I
bipush 6
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
aload 4
aastore
dup
iconst_3
aload 5
aastore
dup
iconst_4
aload 6
aastore
dup
iconst_5
aload 7
aastore
invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
aload 1
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 1 0 pos Ljava/lang/Integer;
0 1 1 a [Ljava/lang/Object;
0 1 2 a0 Ljava/lang/Object;
0 1 3 a1 Ljava/lang/Object;
0 1 4 a2 Ljava/lang/Object;
0 1 5 a3 Ljava/lang/Object;
0 1 6 a4 Ljava/lang/Object;
0 1 7 a5 Ljava/lang/Object;
MethodParameters:
Name Flags
pos
a
a0
a1
a2
a3
a4
a5
private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 1
aload 0
invokevirtual java.lang.Integer.intValue:()I
bipush 7
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
aload 4
aastore
dup
iconst_3
aload 5
aastore
dup
iconst_4
aload 6
aastore
dup
iconst_5
aload 7
aastore
dup
bipush 6
aload 8
aastore
invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
aload 1
areturn
end local 8 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 1 0 pos Ljava/lang/Integer;
0 1 1 a [Ljava/lang/Object;
0 1 2 a0 Ljava/lang/Object;
0 1 3 a1 Ljava/lang/Object;
0 1 4 a2 Ljava/lang/Object;
0 1 5 a3 Ljava/lang/Object;
0 1 6 a4 Ljava/lang/Object;
0 1 7 a5 Ljava/lang/Object;
0 1 8 a6 Ljava/lang/Object;
MethodParameters:
Name Flags
pos
a
a0
a1
a2
a3
a4
a5
a6
private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=10, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 1
aload 0
invokevirtual java.lang.Integer.intValue:()I
bipush 8
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
aload 4
aastore
dup
iconst_3
aload 5
aastore
dup
iconst_4
aload 6
aastore
dup
iconst_5
aload 7
aastore
dup
bipush 6
aload 8
aastore
dup
bipush 7
aload 9
aastore
invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
aload 1
areturn
end local 9 end local 8 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 1 0 pos Ljava/lang/Integer;
0 1 1 a [Ljava/lang/Object;
0 1 2 a0 Ljava/lang/Object;
0 1 3 a1 Ljava/lang/Object;
0 1 4 a2 Ljava/lang/Object;
0 1 5 a3 Ljava/lang/Object;
0 1 6 a4 Ljava/lang/Object;
0 1 7 a5 Ljava/lang/Object;
0 1 8 a6 Ljava/lang/Object;
0 1 9 a7 Ljava/lang/Object;
MethodParameters:
Name Flags
pos
a
a0
a1
a2
a3
a4
a5
a6
a7
private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=11, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: aload 1
aload 0
invokevirtual java.lang.Integer.intValue:()I
bipush 9
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
aload 4
aastore
dup
iconst_3
aload 5
aastore
dup
iconst_4
aload 6
aastore
dup
iconst_5
aload 7
aastore
dup
bipush 6
aload 8
aastore
dup
bipush 7
aload 9
aastore
dup
bipush 8
aload 10
aastore
invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
aload 1
areturn
end local 10 end local 9 end local 8 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 1 0 pos Ljava/lang/Integer;
0 1 1 a [Ljava/lang/Object;
0 1 2 a0 Ljava/lang/Object;
0 1 3 a1 Ljava/lang/Object;
0 1 4 a2 Ljava/lang/Object;
0 1 5 a3 Ljava/lang/Object;
0 1 6 a4 Ljava/lang/Object;
0 1 7 a5 Ljava/lang/Object;
0 1 8 a6 Ljava/lang/Object;
0 1 9 a7 Ljava/lang/Object;
0 1 10 a8 Ljava/lang/Object;
MethodParameters:
Name Flags
pos
a
a0
a1
a2
a3
a4
a5
a6
a7
a8
private static java.lang.Object[] fillArray(java.lang.Integer, java.lang.Object[], java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Integer;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=12, args_size=12
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 0: aload 1
aload 0
invokevirtual java.lang.Integer.intValue:()I
bipush 10
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
aload 4
aastore
dup
iconst_3
aload 5
aastore
dup
iconst_4
aload 6
aastore
dup
iconst_5
aload 7
aastore
dup
bipush 6
aload 8
aastore
dup
bipush 7
aload 9
aastore
dup
bipush 8
aload 10
aastore
dup
bipush 9
aload 11
aastore
invokestatic java.lang.invoke.MethodHandleImpl.fillWithArguments:([Ljava/lang/Object;I[Ljava/lang/Object;)V
aload 1
areturn
end local 11 end local 10 end local 9 end local 8 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 1 0 pos Ljava/lang/Integer;
0 1 1 a [Ljava/lang/Object;
0 1 2 a0 Ljava/lang/Object;
0 1 3 a1 Ljava/lang/Object;
0 1 4 a2 Ljava/lang/Object;
0 1 5 a3 Ljava/lang/Object;
0 1 6 a4 Ljava/lang/Object;
0 1 7 a5 Ljava/lang/Object;
0 1 8 a6 Ljava/lang/Object;
0 1 9 a7 Ljava/lang/Object;
0 1 10 a8 Ljava/lang/Object;
0 1 11 a9 Ljava/lang/Object;
MethodParameters:
Name Flags
pos
a
a0
a1
a2
a3
a4
a5
a6
a7
a8
a9
private static java.lang.invoke.MethodHandle getFillArray(int);
descriptor: (I)Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 2
iload 0
ifle 1
iload 0
bipush 11
if_icmplt 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAYS:[Ljava/lang/invoke/MethodHandle;
iload 0
aaload
astore 1
start local 1 3: aload 1
ifnull 5
4: aload 1
areturn
5: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
ldc "fillArray"
iload 0
ldc [Ljava/lang/Object;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Integer;
aastore
dup
iconst_1
ldc [Ljava/lang/Object;
aastore
invokestatic java.lang.invoke.MethodHandleImpl.findCollector:(Ljava/lang/String;ILjava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
astore 1
6: getstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAYS:[Ljava/lang/invoke/MethodHandle;
iload 0
aload 1
aastore
7: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 count I
3 8 1 mh Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
count
private static java.lang.Object copyAsPrimitiveArray(sun.invoke.util.Wrapper, java.lang.Object[]);
descriptor: (Lsun/invoke/util/Wrapper;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
arraylength
invokevirtual sun.invoke.util.Wrapper.makeArray:(I)Ljava/lang/Object;
astore 2
start local 2 1: aload 0
aload 1
iconst_0
aload 2
iconst_0
aload 1
arraylength
invokevirtual sun.invoke.util.Wrapper.copyArrayUnboxing:([Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 w Lsun/invoke/util/Wrapper;
0 3 1 boxes [Ljava/lang/Object;
1 3 2 a Ljava/lang/Object;
MethodParameters:
Name Flags
w
boxes
static java.lang.invoke.MethodHandle varargsArray(int);
descriptor: (I)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic java.lang.invoke.MethodHandleImpl.ARRAYS:[Ljava/lang/invoke/MethodHandle;
iload 0
aaload
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
iload 0
bipush 11
if_icmpge 6
4: ldc "array"
iload 0
ldc [Ljava/lang/Object;
iconst_0
anewarray java.lang.Class
invokestatic java.lang.invoke.MethodHandleImpl.findCollector:(Ljava/lang/String;ILjava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
astore 1
5: goto 9
6: StackMap locals:
StackMap stack:
iconst_4
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
7: iconst_5
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
iload 0
8: invokestatic java.lang.invoke.MethodHandleImpl.buildVarargsArray:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
astore 1
9: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 10
aload 1
iload 0
invokestatic java.lang.invoke.MethodHandleImpl.assertCorrectArity:(Ljava/lang/invoke/MethodHandle;I)Z
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.NEW_ARRAY:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokestatic java.lang.invoke.MethodHandleImpl.makeIntrinsic:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)Ljava/lang/invoke/MethodHandle;
astore 1
11: getstatic java.lang.invoke.MethodHandleImpl.ARRAYS:[Ljava/lang/invoke/MethodHandle;
iload 0
aload 1
dup_x2
aastore
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 nargs I
1 12 1 mh Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
nargs
private static boolean assertCorrectArity(java.lang.invoke.MethodHandle, int);
descriptor: (Ljava/lang/invoke/MethodHandle;I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iload 1
if_icmpeq 1
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "arity != "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 mh Ljava/lang/invoke/MethodHandle;
0 2 1 arity I
MethodParameters:
Name Flags
mh
arity
static <T> T[] identity();
descriptor: ([Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x [Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>([TT;)[TT;
MethodParameters:
Name Flags
x
private static java.lang.invoke.MethodHandle buildVarargsArray(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, int);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iload 2
bipush 10
invokestatic java.lang.Math.min:(II)I
istore 3
start local 3 1: iload 2
iload 3
isub
istore 4
start local 4 2: aload 0
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
astore 5
start local 5 3: aload 5
ldc [Ljava/lang/Object;
iload 3
invokevirtual java.lang.invoke.MethodHandle.asCollector:(Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;
astore 5
4: aload 1
astore 6
start local 6 5: iload 4
ifle 10
6: bipush 10
iload 4
iadd
invokestatic java.lang.invoke.MethodHandleImpl.fillToRight:(I)Ljava/lang/invoke/MethodHandle;
astore 7
start local 7 7: aload 6
iconst_5
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 9
8: aload 7
astore 6
goto 10
9: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle int int int java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle
StackMap stack:
aload 6
iconst_0
aload 7
invokestatic java.lang.invoke.MethodHandles.collectArguments:(Ljava/lang/invoke/MethodHandle;ILjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
astore 6
end local 7 10: StackMap locals:
StackMap stack:
aload 6
iconst_5
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 12
11: aload 5
astore 6
goto 13
12: StackMap locals:
StackMap stack:
aload 6
iconst_0
aload 5
invokestatic java.lang.invoke.MethodHandles.collectArguments:(Ljava/lang/invoke/MethodHandle;ILjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
astore 6
13: StackMap locals:
StackMap stack:
aload 6
areturn
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 14 0 newArray Ljava/lang/invoke/MethodHandle;
0 14 1 finisher Ljava/lang/invoke/MethodHandle;
0 14 2 nargs I
1 14 3 leftLen I
2 14 4 rightLen I
3 14 5 leftCollector Ljava/lang/invoke/MethodHandle;
5 14 6 mh Ljava/lang/invoke/MethodHandle;
7 10 7 rightFiller Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
newArray
finisher
nargs
private static java.lang.invoke.MethodHandle fillToRight(int);
descriptor: (I)Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAY_TO_RIGHT:[Ljava/lang/invoke/MethodHandle;
iload 0
aaload
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
areturn
2: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
iload 0
invokestatic java.lang.invoke.MethodHandleImpl.buildFiller:(I)Ljava/lang/invoke/MethodHandle;
astore 1
3: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 4
aload 1
iload 0
bipush 10
isub
iconst_1
iadd
invokestatic java.lang.invoke.MethodHandleImpl.assertCorrectArity:(Ljava/lang/invoke/MethodHandle;I)Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAY_TO_RIGHT:[Ljava/lang/invoke/MethodHandle;
iload 0
aload 1
dup_x2
aastore
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 nargs I
1 5 1 filler Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
nargs
private static java.lang.invoke.MethodHandle buildFiller(int);
descriptor: (I)Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: iload 0
bipush 10
if_icmpgt 2
1: iconst_5
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
areturn
2: StackMap locals:
StackMap stack:
iload 0
bipush 10
irem
istore 1
start local 1 3: iload 0
iload 1
isub
istore 2
start local 2 4: iload 1
ifne 12
5: iload 0
bipush 10
dup
istore 1
isub
istore 2
6: getstatic java.lang.invoke.MethodHandleImpl.FILL_ARRAY_TO_RIGHT:[Ljava/lang/invoke/MethodHandle;
iload 2
aaload
ifnonnull 12
7: iconst_0
istore 3
start local 3 8: goto 11
9: StackMap locals: int int int
StackMap stack:
iload 3
bipush 10
if_icmple 10
iload 3
invokestatic java.lang.invoke.MethodHandleImpl.fillToRight:(I)Ljava/lang/invoke/MethodHandle;
pop
10: StackMap locals:
StackMap stack:
iinc 3 10
StackMap locals:
StackMap stack:
11: iload 3
iload 2
if_icmplt 9
end local 3 12: StackMap locals:
StackMap stack:
iload 2
bipush 10
if_icmpge 13
iload 0
bipush 10
dup
istore 2
isub
istore 1
13: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 14
iload 1
ifgt 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
iload 2
invokestatic java.lang.invoke.MethodHandleImpl.fillToRight:(I)Ljava/lang/invoke/MethodHandle;
astore 3
start local 3 15: iload 1
invokestatic java.lang.invoke.MethodHandleImpl.getFillArray:(I)Ljava/lang/invoke/MethodHandle;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
astore 4
start local 4 16: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 17
aload 3
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iconst_1
iload 2
iadd
bipush 10
isub
if_icmpeq 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 18
aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iconst_1
iload 1
iadd
if_icmpeq 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals:
StackMap stack:
iload 2
bipush 10
if_icmpne 20
19: aload 4
areturn
20: StackMap locals:
StackMap stack:
aload 4
iconst_0
aload 3
invokestatic java.lang.invoke.MethodHandles.collectArguments:(Ljava/lang/invoke/MethodHandle;ILjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 nargs I
3 21 1 rightLen I
4 21 2 midLen I
8 12 3 j I
15 21 3 midFill Ljava/lang/invoke/MethodHandle;
16 21 4 rightFill Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
nargs
static java.lang.invoke.MethodHandle varargsArray(java.lang.Class<?>, int);
descriptor: (Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 2
start local 2 1: aload 2
ifnonnull 2
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "not an array: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals: java.lang.Class
StackMap stack:
iload 1
bipush 126
if_icmplt 8
3: iload 1
istore 3
start local 3 4: iload 3
sipush 254
if_icmpgt 6
aload 2
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 6
5: iload 3
aload 2
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.stackSlots:()I
imul
istore 3
6: StackMap locals: int
StackMap stack:
iload 3
sipush 254
if_icmple 8
7: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "too many arguments: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", length "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 3 8: StackMap locals:
StackMap stack:
aload 2
ldc Ljava/lang/Object;
if_acmpne 10
9: iload 1
invokestatic java.lang.invoke.MethodHandleImpl.varargsArray:(I)Ljava/lang/invoke/MethodHandle;
areturn
10: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl$Makers.TYPED_COLLECTORS:Ljava/lang/ClassValue;
aload 2
invokevirtual java.lang.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.invoke.MethodHandle[]
astore 3
start local 3 11: iload 1
aload 3
arraylength
if_icmpge 12
aload 3
iload 1
aaload
goto 13
StackMap locals: java.lang.invoke.MethodHandle[]
StackMap stack:
12: aconst_null
StackMap locals:
StackMap stack: java.lang.invoke.MethodHandle
13: astore 4
start local 4 14: aload 4
ifnull 15
aload 4
areturn
15: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
iload 1
ifne 19
16: aload 0
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
iconst_0
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 5
start local 5 17: aload 0
aload 5
invokestatic java.lang.invoke.MethodHandles.constant:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
astore 4
end local 5 18: goto 29
StackMap locals:
StackMap stack:
19: aload 2
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 24
20: iconst_4
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
astore 5
start local 5 21: aload 0
invokestatic java.lang.invoke.MethodHandleImpl.buildArrayProducer:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
astore 6
start local 6 22: aload 5
aload 6
iload 1
invokestatic java.lang.invoke.MethodHandleImpl.buildVarargsArray:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
astore 4
end local 6 end local 5 23: goto 29
24: StackMap locals:
StackMap stack:
aload 0
ldc [Ljava/lang/Object;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
astore 5
start local 5 25: getstatic java.lang.invoke.MethodHandleImpl.NO_ARGS_ARRAY:[Ljava/lang/Object;
iconst_0
aload 5
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;ILjava/lang/Class;)[Ljava/lang/Object;
astore 6
start local 6 26: iconst_3
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
aload 6
invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
astore 7
start local 7 27: iconst_5
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
astore 8
start local 8 28: aload 7
aload 8
iload 1
invokestatic java.lang.invoke.MethodHandleImpl.buildVarargsArray:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
astore 4
end local 8 end local 7 end local 6 end local 5 29: StackMap locals:
StackMap stack:
aload 4
aload 0
iload 1
aload 2
invokestatic java.util.Collections.nCopies:(ILjava/lang/Object;)Ljava/util/List;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/util/List;)Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 4
30: aload 4
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.NEW_ARRAY:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokestatic java.lang.invoke.MethodHandleImpl.makeIntrinsic:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)Ljava/lang/invoke/MethodHandle;
astore 4
31: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 32
aload 4
iload 1
invokestatic java.lang.invoke.MethodHandleImpl.assertCorrectArity:(Ljava/lang/invoke/MethodHandle;I)Z
ifne 32
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
32: StackMap locals:
StackMap stack:
iload 1
aload 3
arraylength
if_icmpge 34
33: aload 3
iload 1
aload 4
aastore
34: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 arrayType Ljava/lang/Class<*>;
0 35 1 nargs I
1 35 2 elemType Ljava/lang/Class<*>;
4 8 3 slots I
11 35 3 cache [Ljava/lang/invoke/MethodHandle;
14 35 4 mh Ljava/lang/invoke/MethodHandle;
17 18 5 example Ljava/lang/Object;
21 23 5 builder Ljava/lang/invoke/MethodHandle;
22 23 6 producer Ljava/lang/invoke/MethodHandle;
25 29 5 objArrayType Ljava/lang/Class<+[Ljava/lang/Object;>;
26 29 6 example [Ljava/lang/Object;
27 29 7 builder Ljava/lang/invoke/MethodHandle;
28 29 8 producer Ljava/lang/invoke/MethodHandle;
Signature: (Ljava/lang/Class<*>;I)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
arrayType
nargs
private static java.lang.invoke.MethodHandle buildArrayProducer(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 1
start local 1 1: getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 2
aload 1
invokevirtual java.lang.Class.isPrimitive:()Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: java.lang.Class
StackMap stack:
iconst_2
invokestatic java.lang.invoke.MethodHandleImpl.getConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
aload 1
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 arrayType Ljava/lang/Class<*>;
1 3 1 elemType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
arrayType
static void assertSame(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpeq 6
1: ldc "mh1 != mh2: mh1 = %s (form: %s); mh2 = %s (form: %s)"
iconst_4
anewarray java.lang.Object
dup
iconst_0
2: aload 0
aastore
dup
iconst_1
aload 0
checkcast java.lang.invoke.MethodHandle
getfield java.lang.invoke.MethodHandle.form:Ljava/lang/invoke/LambdaForm;
aastore
dup
iconst_2
3: aload 1
aastore
dup
iconst_3
aload 1
checkcast java.lang.invoke.MethodHandle
getfield java.lang.invoke.MethodHandle.form:Ljava/lang/invoke/LambdaForm;
aastore
4: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 5: aload 2
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;)Ljava/lang/InternalError;
athrow
end local 2 6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 mh1 Ljava/lang/Object;
0 7 1 mh2 Ljava/lang/Object;
5 6 2 msg Ljava/lang/String;
MethodParameters:
Name Flags
mh1
mh2
static java.lang.invoke.LambdaForm$NamedFunction getFunction(byte);
descriptor: (B)Ljava/lang/invoke/LambdaForm$NamedFunction;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic java.lang.invoke.MethodHandleImpl.NFS:[Ljava/lang/invoke/LambdaForm$NamedFunction;
iload 0
aaload
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: java.lang.invoke.LambdaForm$NamedFunction
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.NFS:[Ljava/lang/invoke/LambdaForm$NamedFunction;
iload 0
iload 0
invokestatic java.lang.invoke.MethodHandleImpl.createFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
dup_x2
aastore
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 func B
1 4 1 nf Ljava/lang/invoke/LambdaForm$NamedFunction;
MethodParameters:
Name Flags
func
private static java.lang.invoke.LambdaForm$NamedFunction createFunction(byte);
descriptor: (B)Ljava/lang/invoke/LambdaForm$NamedFunction;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=2, args_size=1
start local 0 0: iload 0
tableswitch { // 0 - 5
0: 1
1: 5
2: 19
3: 11
4: 15
5: 23
default: 27
}
1: StackMap locals:
StackMap stack:
new java.lang.invoke.LambdaForm$NamedFunction
dup
ldc Ljava/lang/invoke/MethodHandleImpl;
2: ldc "checkSpreadArgument"
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
dup
iconst_1
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
3: invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
4: areturn
5: StackMap locals:
StackMap stack:
new java.lang.invoke.LambdaForm$NamedFunction
dup
ldc Ljava/lang/invoke/MethodHandleImpl;
6: ldc "guardWithCatch"
iconst_4
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/invoke/MethodHandle;
aastore
dup
iconst_1
ldc Ljava/lang/Class;
aastore
dup
iconst_2
7: ldc Ljava/lang/invoke/MethodHandle;
aastore
dup
iconst_3
ldc [Ljava/lang/Object;
aastore
8: invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
9: invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
10: areturn
11: StackMap locals:
StackMap stack:
new java.lang.invoke.LambdaForm$NamedFunction
dup
ldc Ljava/lang/invoke/MethodHandleImpl;
12: ldc "tryFinally"
iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/invoke/MethodHandle;
aastore
dup
iconst_1
ldc Ljava/lang/invoke/MethodHandle;
aastore
dup
iconst_2
ldc [Ljava/lang/Object;
aastore
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
13: invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
14: areturn
15: StackMap locals:
StackMap stack:
new java.lang.invoke.LambdaForm$NamedFunction
dup
ldc Ljava/lang/invoke/MethodHandleImpl;
16: ldc "loop"
iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc [Ljava/lang/invoke/LambdaForm$BasicType;
aastore
dup
iconst_1
ldc Ljava/lang/invoke/MethodHandleImpl$LoopClauses;
aastore
dup
iconst_2
ldc [Ljava/lang/Object;
aastore
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
17: invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
18: areturn
19: StackMap locals:
StackMap stack:
new java.lang.invoke.LambdaForm$NamedFunction
dup
ldc Ljava/lang/invoke/MethodHandleImpl;
20: ldc "throwException"
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Throwable;
aastore
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
21: invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
22: areturn
23: StackMap locals:
StackMap stack:
new java.lang.invoke.LambdaForm$NamedFunction
dup
ldc Ljava/lang/invoke/MethodHandleImpl;
24: ldc "profileBoolean"
iconst_2
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
aastore
dup
iconst_1
ldc [I
aastore
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
25: invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/reflect/Method;)V
26: areturn
27: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Undefined function: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
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
28: StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
astore 1
start local 1 29: aload 1
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Exception;)Ljava/lang/InternalError;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 func B
29 30 1 ex Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
0 4 28 Class java.lang.ReflectiveOperationException
5 10 28 Class java.lang.ReflectiveOperationException
11 14 28 Class java.lang.ReflectiveOperationException
15 18 28 Class java.lang.ReflectiveOperationException
19 22 28 Class java.lang.ReflectiveOperationException
23 26 28 Class java.lang.ReflectiveOperationException
27 28 28 Class java.lang.ReflectiveOperationException
MethodParameters:
Name Flags
func
private static java.lang.invoke.MethodHandle unboxResultHandle(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 5
1: aload 0
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 3
2: invokestatic sun.invoke.util.ValueConversions.ignore:()Ljava/lang/invoke/MethodHandle;
areturn
3: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
astore 1
start local 1 4: aload 1
invokestatic sun.invoke.util.ValueConversions.unboxExact:(Lsun/invoke/util/Wrapper;)Ljava/lang/invoke/MethodHandle;
areturn
end local 1 5: StackMap locals:
StackMap stack:
ldc Ljava/lang/Object;
invokestatic java.lang.invoke.MethodHandles.identity:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 returnType Ljava/lang/Class<*>;
4 5 1 w Lsun/invoke/util/Wrapper;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
returnType
static java.lang.invoke.MethodHandle makeLoop(java.lang.Class<?>, java.util.List<java.lang.Class<?>>, java.util.List<java.lang.invoke.MethodHandle>, java.util.List<java.lang.invoke.MethodHandle>, java.util.List<java.lang.invoke.MethodHandle>, java.util.List<java.lang.invoke.MethodHandle>);
descriptor: (Ljava/lang/Class;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=16, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/util/List;)Ljava/lang/invoke/MethodType;
astore 6
start local 6 1: aload 2
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/lang/invoke/MethodHandleImpl.lambda$0(Ljava/lang/invoke/MethodHandle;)Ljava/lang/Class; (6)
(Ljava/lang/invoke/MethodHandle;)Ljava/lang/Class;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/lang/invoke/LambdaForm$BasicType.basicType(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType; (6)
(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/IntFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)Ljava/lang/Object;
java/lang/invoke/MethodHandleImpl.lambda$2(I)[Ljava/lang/invoke/LambdaForm$BasicType; (6)
(I)[Ljava/lang/invoke/LambdaForm$BasicType;
invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
checkcast java.lang.invoke.LambdaForm$BasicType[]
2: astore 7
start local 7 3: aload 6
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
aload 7
invokestatic java.lang.invoke.MethodHandleImpl.makeLoopForm:(Ljava/lang/invoke/MethodType;[Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm;
astore 8
start local 8 4: aload 6
ldc [Ljava/lang/Object;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 9
start local 9 5: aload 6
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
invokestatic java.lang.invoke.MethodHandleImpl.varargsArray:(I)Ljava/lang/invoke/MethodHandle;
aload 9
invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 10
start local 10 6: aload 0
invokestatic java.lang.invoke.MethodHandleImpl.unboxResultHandle:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
astore 11
start local 11 7: new java.lang.invoke.MethodHandleImpl$LoopClauses
dup
iconst_4
anewarray java.lang.invoke.MethodHandle[]
dup
iconst_0
aload 2
invokestatic java.lang.invoke.MethodHandleImpl.toArray:(Ljava/util/List;)[Ljava/lang/invoke/MethodHandle;
aastore
dup
iconst_1
aload 3
invokestatic java.lang.invoke.MethodHandleImpl.toArray:(Ljava/util/List;)[Ljava/lang/invoke/MethodHandle;
aastore
dup
iconst_2
aload 4
invokestatic java.lang.invoke.MethodHandleImpl.toArray:(Ljava/util/List;)[Ljava/lang/invoke/MethodHandle;
aastore
dup
iconst_3
aload 5
invokestatic java.lang.invoke.MethodHandleImpl.toArray:(Ljava/util/List;)[Ljava/lang/invoke/MethodHandle;
aastore
invokespecial java.lang.invoke.MethodHandleImpl$LoopClauses.<init>:([[Ljava/lang/invoke/MethodHandle;)V
8: astore 12
start local 12 9: invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
astore 13
start local 13 10: aload 13
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.factory:()Ljava/lang/invoke/MethodHandle;
aload 6
aload 8
aload 12
11: aload 10
aload 11
12: invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
astore 14
start local 14 13: goto 16
end local 14 StackMap locals: java.lang.Class java.util.List java.util.List java.util.List java.util.List java.util.List java.lang.invoke.MethodType java.lang.invoke.LambdaForm$BasicType[] java.lang.invoke.LambdaForm java.lang.invoke.MethodType java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandleImpl$LoopClauses java.lang.invoke.BoundMethodHandle$SpeciesData
StackMap stack: java.lang.Throwable
14: astore 15
start local 15 15: aload 15
invokestatic java.lang.invoke.MethodHandleStatics.uncaughtException:(Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 15 start local 14 16: StackMap locals: java.lang.invoke.BoundMethodHandle
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 17
aload 14
invokevirtual java.lang.invoke.BoundMethodHandle.type:()Ljava/lang/invoke/MethodType;
aload 6
if_acmpeq 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
aload 14
areturn
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 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 18 0 tloop Ljava/lang/Class<*>;
0 18 1 targs Ljava/util/List<Ljava/lang/Class<*>;>;
0 18 2 init Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;
0 18 3 step Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;
0 18 4 pred Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;
0 18 5 fini Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;
1 18 6 type Ljava/lang/invoke/MethodType;
3 18 7 initClauseTypes [Ljava/lang/invoke/LambdaForm$BasicType;
4 18 8 form Ljava/lang/invoke/LambdaForm;
5 18 9 varargsType Ljava/lang/invoke/MethodType;
6 18 10 collectArgs Ljava/lang/invoke/MethodHandle;
7 18 11 unboxResult Ljava/lang/invoke/MethodHandle;
9 18 12 clauseData Ljava/lang/invoke/MethodHandleImpl$LoopClauses;
10 18 13 data Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
13 14 14 mh Ljava/lang/invoke/BoundMethodHandle;
16 18 14 mh Ljava/lang/invoke/BoundMethodHandle;
15 16 15 ex Ljava/lang/Throwable;
Exception table:
from to target type
10 13 14 Class java.lang.Throwable
Signature: (Ljava/lang/Class<*>;Ljava/util/List<Ljava/lang/Class<*>;>;Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
tloop
targs
init
step
pred
fini
private static java.lang.invoke.MethodHandle[] toArray(java.util.List<java.lang.invoke.MethodHandle>);
descriptor: (Ljava/util/List;)[Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
anewarray java.lang.invoke.MethodHandle
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.invoke.MethodHandle[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 l Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;
Signature: (Ljava/util/List<Ljava/lang/invoke/MethodHandle;>;)[Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
l
private static java.lang.invoke.LambdaForm makeLoopForm(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm$BasicType[]);
descriptor: (Ljava/lang/invoke/MethodType;[Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=20, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
astore 2
start local 2 1: iconst_1
aload 0
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iadd
istore 3
start local 3 2: iload 3
istore 4
start local 4 3: iload 4
iinc 4 1
istore 5
start local 5 4: iload 4
iinc 4 1
istore 6
start local 6 5: iload 4
iinc 4 1
istore 7
start local 7 6: iload 4
iinc 4 1
istore 8
start local 8 7: iload 4
iinc 4 1
istore 9
start local 9 8: iload 4
iinc 4 1
istore 10
start local 10 9: aload 0
invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
bipush 19
invokevirtual java.lang.invoke.MethodTypeForm.cachedLambdaForm:(I)Ljava/lang/invoke/LambdaForm;
astore 11
start local 11 10: aload 11
ifnonnull 33
11: iload 4
iload 3
isub
aload 2
invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
astore 12
start local 12 12: invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
astore 13
start local 13 13: aload 12
iconst_0
aload 12
iconst_0
aaload
aload 13
invokevirtual java.lang.invoke.LambdaForm$Name.withConstraint:(Ljava/lang/Object;)Ljava/lang/invoke/LambdaForm$Name;
aastore
14: aload 12
iload 5
new java.lang.invoke.LambdaForm$Name
dup
aload 13
iconst_0
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 12
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
15: aload 12
iload 6
new java.lang.invoke.LambdaForm$Name
dup
aload 13
iconst_1
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 12
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
16: aload 12
iload 7
new java.lang.invoke.LambdaForm$Name
dup
aload 13
iconst_2
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 12
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
17: aload 0
ldc Ljava/lang/Object;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 14
start local 14 18: aload 14
invokestatic java.lang.invoke.MethodHandles.basicInvoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 15
start local 15 19: aload 15
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
anewarray java.lang.Object
astore 16
start local 16 20: aload 16
iconst_0
aload 12
iload 6
aaload
aastore
21: aload 12
iconst_1
aload 16
iconst_1
iload 3
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
22: aload 12
iload 8
new java.lang.invoke.LambdaForm$Name
dup
new java.lang.invoke.LambdaForm$NamedFunction
dup
aload 15
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.LOOP:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
aload 16
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
23: iconst_3
anewarray java.lang.Object
dup
iconst_1
24: aload 12
iload 5
aaload
aastore
dup
iconst_2
aload 12
iload 8
aaload
aastore
25: astore 17
start local 17 26: aload 12
iload 9
new java.lang.invoke.LambdaForm$Name
dup
iconst_4
invokestatic java.lang.invoke.MethodHandleImpl.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
aload 17
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
27: aload 0
invokevirtual java.lang.invoke.MethodType.rtype:()Ljava/lang/Class;
ldc Ljava/lang/Object;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.MethodHandles.basicInvoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 18
start local 18 28: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 12
iload 7
aaload
aastore
dup
iconst_1
aload 12
iload 9
aaload
aastore
astore 19
start local 19 29: aload 12
iload 10
new java.lang.invoke.LambdaForm$Name
dup
aload 18
aload 19
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
aastore
30: aload 0
invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
bipush 19
31: new java.lang.invoke.LambdaForm
dup
aload 2
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
aload 12
getstatic java.lang.invoke.LambdaForm$Kind.LOOP:Ljava/lang/invoke/LambdaForm$Kind;
invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Kind;)V
32: invokevirtual java.lang.invoke.MethodTypeForm.setCachedLambdaForm:(ILjava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
astore 11
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 33: StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm$BasicType[] java.lang.invoke.MethodType int int int int int int int int java.lang.invoke.LambdaForm
StackMap stack:
aload 11
invokevirtual java.lang.invoke.LambdaForm.editor:()Ljava/lang/invoke/LambdaFormEditor;
iload 8
aload 1
invokevirtual java.lang.invoke.LambdaFormEditor.noteLoopLocalTypesForm:(I[Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm;
areturn
end local 11 end local 10 end local 9 end local 8 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 basicType Ljava/lang/invoke/MethodType;
0 34 1 localVarTypes [Ljava/lang/invoke/LambdaForm$BasicType;
1 34 2 lambdaType Ljava/lang/invoke/MethodType;
2 34 3 ARG_LIMIT I
3 34 4 nameCursor I
4 34 5 GET_CLAUSE_DATA I
5 34 6 GET_COLLECT_ARGS I
6 34 7 GET_UNBOX_RESULT I
7 34 8 BOXED_ARGS I
8 34 9 LOOP I
9 34 10 UNBOX_RESULT I
10 34 11 lform Ljava/lang/invoke/LambdaForm;
12 33 12 names [Ljava/lang/invoke/LambdaForm$Name;
13 33 13 data Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
18 33 14 collectArgsType Ljava/lang/invoke/MethodType;
19 33 15 invokeBasic Ljava/lang/invoke/MethodHandle;
20 33 16 args [Ljava/lang/Object;
26 33 17 lArgs [Ljava/lang/Object;
28 33 18 invokeBasicUnbox Ljava/lang/invoke/MethodHandle;
29 33 19 unboxArgs [Ljava/lang/Object;
MethodParameters:
Name Flags
basicType
localVarTypes
static java.lang.Object loop(java.lang.invoke.LambdaForm$BasicType[], java.lang.invoke.MethodHandleImpl$LoopClauses, java.lang.Object[]);
descriptor: ([Ljava/lang/invoke/LambdaForm$BasicType;Ljava/lang/invoke/MethodHandleImpl$LoopClauses;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0088) ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=16, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield java.lang.invoke.MethodHandleImpl$LoopClauses.clauses:[[Ljava/lang/invoke/MethodHandle;
iconst_0
aaload
astore 3
start local 3 1: aload 1
getfield java.lang.invoke.MethodHandleImpl$LoopClauses.clauses:[[Ljava/lang/invoke/MethodHandle;
iconst_1
aaload
astore 4
start local 4 2: aload 1
getfield java.lang.invoke.MethodHandleImpl$LoopClauses.clauses:[[Ljava/lang/invoke/MethodHandle;
iconst_2
aaload
astore 5
start local 5 3: aload 1
getfield java.lang.invoke.MethodHandleImpl$LoopClauses.clauses:[[Ljava/lang/invoke/MethodHandle;
iconst_3
aaload
astore 6
start local 6 4: aload 3
invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
java/lang/invoke/MethodHandleImpl.lambda$3(Ljava/lang/invoke/MethodHandle;)Z (6)
(Ljava/lang/invoke/MethodHandle;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.count:()J
l2i
istore 7
start local 7 5: aload 3
iconst_0
aaload
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
istore 8
start local 8 6: iload 7
iload 8
iadd
anewarray java.lang.Object
astore 9
start local 9 7: iconst_0
istore 10
start local 10 8: iconst_0
istore 11
start local 11 9: goto 16
10: StackMap locals: java.lang.invoke.LambdaForm$BasicType[] java.lang.invoke.MethodHandleImpl$LoopClauses java.lang.Object[] java.lang.invoke.MethodHandle[] java.lang.invoke.MethodHandle[] java.lang.invoke.MethodHandle[] java.lang.invoke.MethodHandle[] int int java.lang.Object[] int int
StackMap stack:
aload 3
iload 10
aaload
astore 12
start local 12 11: aload 12
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 14
12: aload 12
aload 2
invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
pop
13: goto 15
14: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
aload 9
iload 11
iinc 11 1
aload 12
aload 2
invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
aastore
end local 12 15: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
16: iload 10
aload 3
arraylength
if_icmplt 10
end local 11 end local 10 17: aload 2
iconst_0
aload 9
iload 7
iload 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
18: aload 4
arraylength
istore 10
start local 10 19: StackMap locals:
StackMap stack:
iconst_0
istore 11
start local 11 20: iconst_0
istore 12
start local 12 21: goto 32
22: StackMap locals: int int
StackMap stack:
aload 5
iload 11
aaload
astore 13
start local 13 23: aload 4
iload 11
aaload
astore 14
start local 14 24: aload 6
iload 11
aaload
astore 15
start local 15 25: aload 14
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 28
26: aload 14
aload 9
invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
pop
27: goto 29
28: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle
StackMap stack:
aload 9
iload 12
iinc 12 1
aload 14
aload 9
invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
aastore
29: StackMap locals:
StackMap stack:
aload 13
aload 9
invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 31
30: aload 15
aload 9
invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 15 end local 14 end local 13 31: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
32: iload 11
iload 10
if_icmplt 22
end local 12 end local 11 33: goto 19
end local 10 end local 9 end local 8 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 localTypes [Ljava/lang/invoke/LambdaForm$BasicType;
0 34 1 clauseData Ljava/lang/invoke/MethodHandleImpl$LoopClauses;
0 34 2 av [Ljava/lang/Object;
1 34 3 init [Ljava/lang/invoke/MethodHandle;
2 34 4 step [Ljava/lang/invoke/MethodHandle;
3 34 5 pred [Ljava/lang/invoke/MethodHandle;
4 34 6 fini [Ljava/lang/invoke/MethodHandle;
5 34 7 varSize I
6 34 8 nArgs I
7 34 9 varsAndArgs [Ljava/lang/Object;
8 17 10 i I
9 17 11 v I
11 15 12 ih Ljava/lang/invoke/MethodHandle;
19 34 10 nSteps I
20 33 11 i I
21 33 12 v I
23 31 13 p Ljava/lang/invoke/MethodHandle;
24 31 14 s Ljava/lang/invoke/MethodHandle;
25 31 15 f Ljava/lang/invoke/MethodHandle;
Exceptions:
throws java.lang.Throwable
RuntimeVisibleAnnotations:
java.lang.invoke.LambdaForm$Hidden()
MethodParameters:
Name Flags
localTypes
clauseData
av
static boolean countedLoopPredicate(int, int);
descriptor: (II)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iload 0
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 limit I
0 2 1 counter I
MethodParameters:
Name Flags
limit
counter
static int countedLoopStep(int, int);
descriptor: (II)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_1
iadd
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 limit I
0 1 1 counter I
MethodParameters:
Name Flags
limit
counter
static java.util.Iterator<?> initIterator(java.lang.Iterable<?>);
descriptor: (Ljava/lang/Iterable;)Ljava/util/Iterator;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 it Ljava/lang/Iterable<*>;
Signature: (Ljava/lang/Iterable<*>;)Ljava/util/Iterator<*>;
MethodParameters:
Name Flags
it
static boolean iteratePredicate(java.util.Iterator<?>);
descriptor: (Ljava/util/Iterator;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface java.util.Iterator.hasNext:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 it Ljava/util/Iterator<*>;
Signature: (Ljava/util/Iterator<*>;)Z
MethodParameters:
Name Flags
it
static iterateNext(java.util.Iterator<?>);
descriptor: (Ljava/util/Iterator;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 it Ljava/util/Iterator<*>;
Signature: (Ljava/util/Iterator<*>;)Ljava/lang/Object;
MethodParameters:
Name Flags
it
static java.lang.invoke.MethodHandle makeTryFinally(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.Class<?>, java.util.List<java.lang.Class<?>>);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljava/util/List;)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 3
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/util/List;)Ljava/lang/invoke/MethodType;
astore 4
start local 4 1: aload 4
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.MethodHandleImpl.makeTryFinallyForm:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm;
astore 5
start local 5 2: aload 4
ldc [Ljava/lang/Object;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 6
start local 6 3: aload 4
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
invokestatic java.lang.invoke.MethodHandleImpl.varargsArray:(I)Ljava/lang/invoke/MethodHandle;
aload 6
invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 7
start local 7 4: aload 2
invokestatic java.lang.invoke.MethodHandleImpl.unboxResultHandle:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
astore 8
start local 8 5: invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
astore 9
start local 9 6: aload 9
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.factory:()Ljava/lang/invoke/MethodHandle;
aload 4
aload 5
aload 0
aload 1
7: aload 7
aload 8
8: invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
astore 10
start local 10 9: goto 12
end local 10 StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.Class java.util.List java.lang.invoke.MethodType java.lang.invoke.LambdaForm java.lang.invoke.MethodType java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.invoke.BoundMethodHandle$SpeciesData
StackMap stack: java.lang.Throwable
10: astore 11
start local 11 11: aload 11
invokestatic java.lang.invoke.MethodHandleStatics.uncaughtException:(Ljava/lang/Throwable;)Ljava/lang/Error;
athrow
end local 11 start local 10 12: StackMap locals: java.lang.invoke.BoundMethodHandle
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.$assertionsDisabled:Z
ifne 13
aload 10
invokevirtual java.lang.invoke.BoundMethodHandle.type:()Ljava/lang/invoke/MethodType;
aload 4
if_acmpeq 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 10
areturn
end local 10 end local 9 end local 8 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 14 0 target Ljava/lang/invoke/MethodHandle;
0 14 1 cleanup Ljava/lang/invoke/MethodHandle;
0 14 2 rtype Ljava/lang/Class<*>;
0 14 3 argTypes Ljava/util/List<Ljava/lang/Class<*>;>;
1 14 4 type Ljava/lang/invoke/MethodType;
2 14 5 form Ljava/lang/invoke/LambdaForm;
3 14 6 varargsType Ljava/lang/invoke/MethodType;
4 14 7 collectArgs Ljava/lang/invoke/MethodHandle;
5 14 8 unboxResult Ljava/lang/invoke/MethodHandle;
6 14 9 data Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
9 10 10 mh Ljava/lang/invoke/BoundMethodHandle;
12 14 10 mh Ljava/lang/invoke/BoundMethodHandle;
11 12 11 ex Ljava/lang/Throwable;
Exception table:
from to target type
6 9 10 Class java.lang.Throwable
Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;Ljava/util/List<Ljava/lang/Class<*>;>;)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
target
cleanup
rtype
argTypes
private static java.lang.invoke.LambdaForm makeTryFinallyForm(java.lang.invoke.MethodType);
descriptor: (Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=20, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
astore 1
start local 1 1: aload 0
invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
bipush 18
invokevirtual java.lang.invoke.MethodTypeForm.cachedLambdaForm:(I)Ljava/lang/invoke/LambdaForm;
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 2
areturn
4: StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm
StackMap stack:
iconst_1
aload 0
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iadd
istore 3
start local 3 5: iload 3
istore 4
start local 4 6: iload 4
iinc 4 1
istore 5
start local 5 7: iload 4
iinc 4 1
istore 6
start local 6 8: iload 4
iinc 4 1
istore 7
start local 7 9: iload 4
iinc 4 1
istore 8
start local 8 10: iload 4
iinc 4 1
istore 9
start local 9 11: iload 4
iinc 4 1
istore 10
start local 10 12: iload 4
iinc 4 1
istore 11
start local 11 13: iload 4
iload 3
isub
aload 1
invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
astore 12
start local 12 14: invokestatic java.lang.invoke.BoundMethodHandle.speciesData_LLLL:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
astore 13
start local 13 15: aload 12
iconst_0
aload 12
iconst_0
aaload
aload 13
invokevirtual java.lang.invoke.LambdaForm$Name.withConstraint:(Ljava/lang/Object;)Ljava/lang/invoke/LambdaForm$Name;
aastore
16: aload 12
iload 5
new java.lang.invoke.LambdaForm$Name
dup
aload 13
iconst_0
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 12
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
17: aload 12
iload 6
new java.lang.invoke.LambdaForm$Name
dup
aload 13
iconst_1
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 12
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
18: aload 12
iload 7
new java.lang.invoke.LambdaForm$Name
dup
aload 13
iconst_2
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 12
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
19: aload 12
iload 8
new java.lang.invoke.LambdaForm$Name
dup
aload 13
iconst_3
invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 12
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
20: aload 0
ldc Ljava/lang/Object;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 14
start local 14 21: aload 14
invokestatic java.lang.invoke.MethodHandles.basicInvoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 15
start local 15 22: aload 15
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
anewarray java.lang.Object
astore 16
start local 16 23: aload 16
iconst_0
aload 12
iload 7
aaload
aastore
24: aload 12
iconst_1
aload 16
iconst_1
iload 3
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
25: aload 12
iload 9
new java.lang.invoke.LambdaForm$Name
dup
new java.lang.invoke.LambdaForm$NamedFunction
dup
aload 15
getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.TRY_FINALLY:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
aload 16
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
26: iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 12
iload 5
aaload
aastore
dup
iconst_1
aload 12
iload 6
aaload
aastore
dup
iconst_2
aload 12
iload 9
aaload
aastore
astore 17
start local 17 27: aload 12
iload 10
new java.lang.invoke.LambdaForm$Name
dup
iconst_3
invokestatic java.lang.invoke.MethodHandleImpl.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
aload 17
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
28: aload 0
invokevirtual java.lang.invoke.MethodType.rtype:()Ljava/lang/Class;
ldc Ljava/lang/Object;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.MethodHandles.basicInvoker:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
astore 18
start local 18 29: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 12
iload 8
aaload
aastore
dup
iconst_1
aload 12
iload 10
aaload
aastore
astore 19
start local 19 30: aload 12
iload 11
new java.lang.invoke.LambdaForm$Name
dup
aload 18
aload 19
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
aastore
31: new java.lang.invoke.LambdaForm
dup
aload 1
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
aload 12
getstatic java.lang.invoke.LambdaForm$Kind.TRY_FINALLY:Ljava/lang/invoke/LambdaForm$Kind;
invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Kind;)V
astore 2
32: aload 0
invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
bipush 18
aload 2
invokevirtual java.lang.invoke.MethodTypeForm.setCachedLambdaForm:(ILjava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
areturn
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 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 33 0 basicType Ljava/lang/invoke/MethodType;
1 33 1 lambdaType Ljava/lang/invoke/MethodType;
2 33 2 lform Ljava/lang/invoke/LambdaForm;
5 33 3 ARG_LIMIT I
6 33 4 nameCursor I
7 33 5 GET_TARGET I
8 33 6 GET_CLEANUP I
9 33 7 GET_COLLECT_ARGS I
10 33 8 GET_UNBOX_RESULT I
11 33 9 BOXED_ARGS I
12 33 10 TRY_FINALLY I
13 33 11 UNBOX_RESULT I
14 33 12 names [Ljava/lang/invoke/LambdaForm$Name;
15 33 13 data Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
21 33 14 collectArgsType Ljava/lang/invoke/MethodType;
22 33 15 invokeBasic Ljava/lang/invoke/MethodHandle;
23 33 16 args [Ljava/lang/Object;
27 33 17 tfArgs [Ljava/lang/Object;
29 33 18 invokeBasicUnbox Ljava/lang/invoke/MethodHandle;
30 33 19 unboxArgs [Ljava/lang/Object;
MethodParameters:
Name Flags
basicType
static java.lang.Object tryFinally(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.Object[]);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0088) ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 0
aload 2
invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
astore 4
3: goto 13
StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.Object[] java.lang.Throwable java.lang.Object
StackMap stack: java.lang.Throwable
4: astore 5
start local 5 5: aload 5
astore 3
6: aload 3
athrow
end local 5 7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
8: aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 9
aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokestatic java.lang.invoke.MethodHandleImpl.prepend:([Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
goto 10
StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.Object[] java.lang.Throwable java.lang.Object top java.lang.Throwable
StackMap stack:
9: aload 2
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokestatic java.lang.invoke.MethodHandleImpl.prepend:([Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object[]
10: astore 7
start local 7 11: aload 1
aload 7
invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
astore 4
end local 7 12: aload 6
athrow
13: StackMap locals: java.lang.invoke.MethodHandle java.lang.invoke.MethodHandle java.lang.Object[] java.lang.Throwable java.lang.Object
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 14
aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokestatic java.lang.invoke.MethodHandleImpl.prepend:([Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
goto 15
StackMap locals:
StackMap stack:
14: aload 2
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokestatic java.lang.invoke.MethodHandleImpl.prepend:([Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object[]
15: astore 7
start local 7 16: aload 1
aload 7
invokevirtual java.lang.invoke.MethodHandle.invokeWithArguments:([Ljava/lang/Object;)Ljava/lang/Object;
astore 4
end local 7 17: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 target Ljava/lang/invoke/MethodHandle;
0 18 1 cleanup Ljava/lang/invoke/MethodHandle;
0 18 2 av [Ljava/lang/Object;
1 18 3 t Ljava/lang/Throwable;
2 18 4 r Ljava/lang/Object;
5 7 5 thrown Ljava/lang/Throwable;
11 12 7 args [Ljava/lang/Object;
16 17 7 args [Ljava/lang/Object;
Exception table:
from to target type
2 3 4 Class java.lang.Throwable
2 7 7 any
Exceptions:
throws java.lang.Throwable
RuntimeVisibleAnnotations:
java.lang.invoke.LambdaForm$Hidden()
MethodParameters:
Name Flags
target
cleanup
av
static java.lang.invoke.MethodHandle getConstantHandle(int);
descriptor: (I)Ljava/lang/invoke/MethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic java.lang.invoke.MethodHandleImpl.HANDLES:[Ljava/lang/invoke/MethodHandle;
iload 0
aaload
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
iload 0
iload 0
invokestatic java.lang.invoke.MethodHandleImpl.makeConstantHandle:(I)Ljava/lang/invoke/MethodHandle;
invokestatic java.lang.invoke.MethodHandleImpl.setCachedHandle:(ILjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 idx I
1 4 1 handle Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
idx
private static synchronized java.lang.invoke.MethodHandle setCachedHandle(int, java.lang.invoke.MethodHandle);
descriptor: (ILjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic java.lang.invoke.MethodHandleImpl.HANDLES:[Ljava/lang/invoke/MethodHandle;
iload 0
aaload
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
areturn
3: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
getstatic java.lang.invoke.MethodHandleImpl.HANDLES:[Ljava/lang/invoke/MethodHandle;
iload 0
aload 1
aastore
4: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 idx I
0 5 1 method Ljava/lang/invoke/MethodHandle;
1 5 2 prev Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
idx
method final
private static java.lang.invoke.MethodHandle makeConstantHandle(int);
descriptor: (I)Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=2, args_size=1
start local 0 0: iload 0
tableswitch { // 0 - 11
0: 1
1: 21
2: 5
3: 17
4: 13
5: 9
6: 25
7: 29
8: 33
9: 37
10: 41
11: 45
default: 49
}
1: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
ldc Ljava/lang/Class;
ldc "cast"
2: ldc Ljava/lang/Object;
ldc Ljava/lang/Object;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
3: invokevirtual java.lang.invoke.MethodHandles$Lookup.findVirtual:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
4: areturn
5: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
ldc Ljava/lang/invoke/MethodHandleImpl;
ldc "copyAsPrimitiveArray"
6: ldc Ljava/lang/Object;
ldc Lsun/invoke/util/Wrapper;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc [Ljava/lang/Object;
aastore
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
7: invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
8: areturn
9: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
ldc Ljava/lang/invoke/MethodHandleImpl;
ldc "identity"
10: ldc [Ljava/lang/Object;
ldc [Ljava/lang/Object;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
11: invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
12: areturn
13: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
ldc Ljava/lang/invoke/MethodHandleImpl;
ldc "fillNewArray"
14: ldc [Ljava/lang/Object;
ldc Ljava/lang/Integer;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc [Ljava/lang/Object;
aastore
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
15: invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
16: areturn
17: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
ldc Ljava/lang/invoke/MethodHandleImpl;
ldc "fillNewTypedArray"
18: ldc [Ljava/lang/Object;
ldc [Ljava/lang/Object;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Integer;
aastore
dup
iconst_1
ldc [Ljava/lang/Object;
aastore
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
19: invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
20: areturn
21: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
ldc Ljava/lang/invoke/MethodHandleImpl;
ldc "selectAlternative"
22: ldc Ljava/lang/invoke/MethodHandle;
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/invoke/MethodHandle;
aastore
dup
iconst_1
ldc Ljava/lang/invoke/MethodHandle;
aastore
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
23: invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
24: areturn
25: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
ldc Ljava/lang/invoke/MethodHandleImpl;
ldc "countedLoopPredicate"
26: getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
27: invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
28: areturn
29: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
ldc Ljava/lang/invoke/MethodHandleImpl;
ldc "countedLoopStep"
30: getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
31: invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
32: areturn
33: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
ldc Ljava/lang/invoke/MethodHandleImpl;
ldc "initIterator"
34: ldc Ljava/util/Iterator;
ldc Ljava/lang/Iterable;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
35: invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
36: areturn
37: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
ldc Ljava/lang/invoke/MethodHandleImpl;
ldc "iteratePredicate"
38: getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
ldc Ljava/util/Iterator;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
39: invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
40: areturn
41: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
ldc Ljava/lang/invoke/MethodHandleImpl;
ldc "iterateNext"
42: ldc Ljava/lang/Object;
ldc Ljava/util/Iterator;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
43: invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
44: areturn
45: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandles$Lookup.IMPL_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
ldc Ljava/lang/reflect/Array;
ldc "newInstance"
46: ldc Ljava/lang/Object;
ldc Ljava/lang/Class;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
47: invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
48: areturn
49: StackMap locals:
StackMap stack:
goto 52
StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
50: astore 1
start local 1 51: aload 1
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Exception;)Ljava/lang/InternalError;
athrow
end local 1 52: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Unknown function index: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;)Ljava/lang/InternalError;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 idx I
51 52 1 ex Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
0 4 50 Class java.lang.ReflectiveOperationException
5 8 50 Class java.lang.ReflectiveOperationException
9 12 50 Class java.lang.ReflectiveOperationException
13 16 50 Class java.lang.ReflectiveOperationException
17 20 50 Class java.lang.ReflectiveOperationException
21 24 50 Class java.lang.ReflectiveOperationException
25 28 50 Class java.lang.ReflectiveOperationException
29 32 50 Class java.lang.ReflectiveOperationException
33 36 50 Class java.lang.ReflectiveOperationException
37 40 50 Class java.lang.ReflectiveOperationException
41 44 50 Class java.lang.ReflectiveOperationException
45 48 50 Class java.lang.ReflectiveOperationException
MethodParameters:
Name Flags
idx
private static java.lang.Class lambda$0(java.lang.invoke.MethodHandle);
descriptor: (Ljava/lang/invoke/MethodHandle;)Ljava/lang/Class;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 h Ljava/lang/invoke/MethodHandle;
private static java.lang.invoke.LambdaForm$BasicType[] lambda$2(int);
descriptor: (I)[Ljava/lang/invoke/LambdaForm$BasicType;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: iload 0
anewarray java.lang.invoke.LambdaForm$BasicType
areturn
LocalVariableTable:
Start End Slot Name Signature
private static boolean lambda$3(java.lang.invoke.MethodHandle);
descriptor: (Ljava/lang/invoke/MethodHandle;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 h Ljava/lang/invoke/MethodHandle;
}
SourceFile: "MethodHandleImpl.java"
NestMembers:
java.lang.invoke.MethodHandleImpl$1 java.lang.invoke.MethodHandleImpl$ArrayAccess java.lang.invoke.MethodHandleImpl$ArrayAccessor java.lang.invoke.MethodHandleImpl$ArrayAccessor$1 java.lang.invoke.MethodHandleImpl$AsVarargsCollector java.lang.invoke.MethodHandleImpl$BindCaller java.lang.invoke.MethodHandleImpl$BindCaller$1 java.lang.invoke.MethodHandleImpl$CountingWrapper java.lang.invoke.MethodHandleImpl$Intrinsic java.lang.invoke.MethodHandleImpl$IntrinsicMethodHandle java.lang.invoke.MethodHandleImpl$LoopClauses java.lang.invoke.MethodHandleImpl$Makers java.lang.invoke.MethodHandleImpl$Makers$1 java.lang.invoke.MethodHandleImpl$Makers$2 java.lang.invoke.MethodHandleImpl$Makers$3 java.lang.invoke.MethodHandleImpl$WrappedMember
InnerClasses:
final SpeciesData = java.lang.invoke.BoundMethodHandle$SpeciesData of java.lang.invoke.BoundMethodHandle
final BasicType = java.lang.invoke.LambdaForm$BasicType of java.lang.invoke.LambdaForm
abstract Hidden = java.lang.invoke.LambdaForm$Hidden of java.lang.invoke.LambdaForm
final Kind = java.lang.invoke.LambdaForm$Kind of java.lang.invoke.LambdaForm
final Name = java.lang.invoke.LambdaForm$Name of java.lang.invoke.LambdaForm
NamedFunction = java.lang.invoke.LambdaForm$NamedFunction of java.lang.invoke.LambdaForm
java.lang.invoke.MethodHandleImpl$1
final ArrayAccess = java.lang.invoke.MethodHandleImpl$ArrayAccess of java.lang.invoke.MethodHandleImpl
final ArrayAccessor = java.lang.invoke.MethodHandleImpl$ArrayAccessor of java.lang.invoke.MethodHandleImpl
private final AsVarargsCollector = java.lang.invoke.MethodHandleImpl$AsVarargsCollector of java.lang.invoke.MethodHandleImpl
private BindCaller = java.lang.invoke.MethodHandleImpl$BindCaller of java.lang.invoke.MethodHandleImpl
CountingWrapper = java.lang.invoke.MethodHandleImpl$CountingWrapper of java.lang.invoke.MethodHandleImpl
final Intrinsic = java.lang.invoke.MethodHandleImpl$Intrinsic of java.lang.invoke.MethodHandleImpl
final IntrinsicMethodHandle = java.lang.invoke.MethodHandleImpl$IntrinsicMethodHandle of java.lang.invoke.MethodHandleImpl
LoopClauses = java.lang.invoke.MethodHandleImpl$LoopClauses of java.lang.invoke.MethodHandleImpl
private final Makers = java.lang.invoke.MethodHandleImpl$Makers of java.lang.invoke.MethodHandleImpl
private final WrappedMember = java.lang.invoke.MethodHandleImpl$WrappedMember of java.lang.invoke.MethodHandleImpl
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles