class java.lang.invoke.DirectMethodHandle extends java.lang.invoke.MethodHandle
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.lang.invoke.DirectMethodHandle
super_class: java.lang.invoke.MethodHandle
{
final java.lang.invoke.MemberName member;
descriptor: Ljava/lang/invoke/MemberName;
flags: (0x0010) ACC_FINAL
private static final java.lang.invoke.MemberName$Factory IMPL_NAMES;
descriptor: Ljava/lang/invoke/MemberName$Factory;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static byte AF_GETFIELD;
descriptor: B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static byte AF_PUTFIELD;
descriptor: B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static byte AF_GETSTATIC;
descriptor: B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static byte AF_PUTSTATIC;
descriptor: B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static byte AF_GETSTATIC_INIT;
descriptor: B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static byte AF_PUTSTATIC_INIT;
descriptor: B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static byte AF_LIMIT;
descriptor: B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int FT_LAST_WRAPPER;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int FT_UNCHECKED_REF;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int FT_CHECKED_REF;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int FT_LIMIT;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.lang.invoke.LambdaForm[] ACCESSOR_FORMS;
descriptor: [Ljava/lang/invoke/LambdaForm;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Ljava/lang/invoke/DirectMethodHandle;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
3: invokestatic java.lang.invoke.MemberName.getFactory:()Ljava/lang/invoke/MemberName$Factory;
putstatic java.lang.invoke.DirectMethodHandle.IMPL_NAMES:Ljava/lang/invoke/MemberName$Factory;
4: iconst_0
putstatic java.lang.invoke.DirectMethodHandle.AF_GETFIELD:B
5: iconst_1
putstatic java.lang.invoke.DirectMethodHandle.AF_PUTFIELD:B
6: iconst_2
putstatic java.lang.invoke.DirectMethodHandle.AF_GETSTATIC:B
7: iconst_3
putstatic java.lang.invoke.DirectMethodHandle.AF_PUTSTATIC:B
8: iconst_4
putstatic java.lang.invoke.DirectMethodHandle.AF_GETSTATIC_INIT:B
9: iconst_5
putstatic java.lang.invoke.DirectMethodHandle.AF_PUTSTATIC_INIT:B
10: bipush 6
putstatic java.lang.invoke.DirectMethodHandle.AF_LIMIT:B
11: invokestatic sun.invoke.util.Wrapper.values:()[Lsun/invoke/util/Wrapper;
arraylength
iconst_1
isub
putstatic java.lang.invoke.DirectMethodHandle.FT_LAST_WRAPPER:I
12: getstatic sun.invoke.util.Wrapper.OBJECT:Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
putstatic java.lang.invoke.DirectMethodHandle.FT_UNCHECKED_REF:I
13: getstatic java.lang.invoke.DirectMethodHandle.FT_LAST_WRAPPER:I
iconst_1
iadd
putstatic java.lang.invoke.DirectMethodHandle.FT_CHECKED_REF:I
14: getstatic java.lang.invoke.DirectMethodHandle.FT_LAST_WRAPPER:I
iconst_2
iadd
putstatic java.lang.invoke.DirectMethodHandle.FT_LIMIT:I
15: getstatic java.lang.invoke.DirectMethodHandle.AF_LIMIT:B
iconst_0
iconst_0
invokestatic java.lang.invoke.DirectMethodHandle.afIndex:(BZI)I
anewarray java.lang.invoke.LambdaForm
16: putstatic java.lang.invoke.DirectMethodHandle.ACCESSOR_FORMS:[Ljava/lang/invoke/LambdaForm;
17: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm, java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokespecial java.lang.invoke.MethodHandle.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)V
1: aload 3
invokevirtual java.lang.invoke.MemberName.isResolved:()Z
ifne 2
new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
2: StackMap locals: java.lang.invoke.DirectMethodHandle java.lang.invoke.MethodType java.lang.invoke.LambdaForm java.lang.invoke.MemberName
StackMap stack:
aload 3
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isInterface:()Z
ifeq 9
3: aload 3
invokevirtual java.lang.invoke.MemberName.isMethod:()Z
ifeq 9
aload 3
invokevirtual java.lang.invoke.MemberName.isAbstract:()Z
ifne 9
4: new java.lang.invoke.MemberName
dup
ldc Ljava/lang/Object;
aload 3
invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
aload 3
invokevirtual java.lang.invoke.MemberName.getMethodType:()Ljava/lang/invoke/MethodType;
aload 3
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;B)V
astore 4
start local 4 5: invokestatic java.lang.invoke.MemberName.getFactory:()Ljava/lang/invoke/MemberName$Factory;
aload 4
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
aload 4
aconst_null
invokevirtual java.lang.invoke.MemberName$Factory.resolveOrNull:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
astore 4
6: aload 4
ifnull 9
aload 4
invokevirtual java.lang.invoke.MemberName.isPublic:()Z
ifeq 9
7: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 8
aload 3
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
aload 4
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
if_icmpeq 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: java.lang.invoke.MemberName
StackMap stack:
aload 4
astore 3
end local 4 9: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/lang/invoke/DirectMethodHandle;
0 11 1 mtype Ljava/lang/invoke/MethodType;
0 11 2 form Ljava/lang/invoke/LambdaForm;
0 11 3 member Ljava/lang/invoke/MemberName;
5 9 4 m Ljava/lang/invoke/MemberName;
MethodParameters:
Name Flags
mtype
form
member
static java.lang.invoke.DirectMethodHandle make(byte, java.lang.Class<?>, java.lang.invoke.MemberName);
descriptor: (BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.lang.invoke.MemberName.getMethodOrFieldType:()Ljava/lang/invoke/MethodType;
astore 3
start local 3 1: aload 2
invokevirtual java.lang.invoke.MemberName.isStatic:()Z
ifne 5
2: aload 2
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 3
aload 2
invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
ifeq 4
3: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
new java.lang.InternalError
dup
aload 2
invokevirtual java.lang.invoke.MemberName.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 3
iconst_0
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 1
aastore
invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 3
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.invoke.MemberName.isField:()Z
ifne 14
6: iload 0
tableswitch { // 7 - 9
7: 7
8: 12
9: 10
default: 12
}
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.invoke.MemberName.asSpecial:()Ljava/lang/invoke/MemberName;
astore 2
8: aload 2
invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
astore 4
start local 4 9: new java.lang.invoke.DirectMethodHandle$Special
dup
aload 3
aload 4
aload 2
invokespecial java.lang.invoke.DirectMethodHandle$Special.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
areturn
end local 4 10: StackMap locals:
StackMap stack:
aload 2
invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
astore 4
start local 4 11: new java.lang.invoke.DirectMethodHandle$Interface
dup
aload 3
aload 4
aload 2
aload 1
invokespecial java.lang.invoke.DirectMethodHandle$Interface.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)V
areturn
end local 4 12: StackMap locals:
StackMap stack:
aload 2
invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
astore 4
start local 4 13: new java.lang.invoke.DirectMethodHandle
dup
aload 3
aload 4
aload 2
invokespecial java.lang.invoke.DirectMethodHandle.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
areturn
end local 4 14: StackMap locals:
StackMap stack:
aload 2
invokestatic java.lang.invoke.DirectMethodHandle.preparedFieldLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
astore 4
start local 4 15: aload 2
invokevirtual java.lang.invoke.MemberName.isStatic:()Z
ifeq 19
16: aload 2
invokestatic java.lang.invoke.MethodHandleNatives.staticFieldOffset:(Ljava/lang/invoke/MemberName;)J
lstore 5
start local 5 17: aload 2
invokestatic java.lang.invoke.MethodHandleNatives.staticFieldBase:(Ljava/lang/invoke/MemberName;)Ljava/lang/Object;
astore 7
start local 7 18: new java.lang.invoke.DirectMethodHandle$StaticAccessor
dup
aload 3
aload 4
aload 2
aload 7
lload 5
invokespecial java.lang.invoke.DirectMethodHandle$StaticAccessor.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;Ljava/lang/Object;J)V
areturn
end local 7 end local 5 19: StackMap locals: java.lang.invoke.LambdaForm
StackMap stack:
aload 2
invokestatic java.lang.invoke.MethodHandleNatives.objectFieldOffset:(Ljava/lang/invoke/MemberName;)J
lstore 5
start local 5 20: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 21
lload 5
lload 5
l2i
i2l
lcmp
ifeq 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
21: StackMap locals: long
StackMap stack:
new java.lang.invoke.DirectMethodHandle$Accessor
dup
aload 3
aload 4
aload 2
lload 5
l2i
invokespecial java.lang.invoke.DirectMethodHandle$Accessor.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;I)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 refKind B
0 22 1 receiver Ljava/lang/Class<*>;
0 22 2 member Ljava/lang/invoke/MemberName;
1 22 3 mtype Ljava/lang/invoke/MethodType;
9 10 4 lform Ljava/lang/invoke/LambdaForm;
11 12 4 lform Ljava/lang/invoke/LambdaForm;
13 14 4 lform Ljava/lang/invoke/LambdaForm;
15 22 4 lform Ljava/lang/invoke/LambdaForm;
17 19 5 offset J
18 19 7 base Ljava/lang/Object;
20 22 5 offset J
Signature: (BLjava/lang/Class<*>;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
MethodParameters:
Name Flags
refKind
receiver
member
static java.lang.invoke.DirectMethodHandle make(java.lang.Class<?>, java.lang.invoke.MemberName);
descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
istore 2
start local 2 1: iload 2
bipush 7
if_icmpne 3
2: iconst_5
istore 2
3: StackMap locals: int
StackMap stack:
iload 2
aload 0
aload 1
invokestatic java.lang.invoke.DirectMethodHandle.make:(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 receiver Ljava/lang/Class<*>;
0 4 1 member Ljava/lang/invoke/MemberName;
1 4 2 refKind B
Signature: (Ljava/lang/Class<*>;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
MethodParameters:
Name Flags
receiver
member
static java.lang.invoke.DirectMethodHandle make(java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
ifeq 2
1: aload 0
invokestatic java.lang.invoke.DirectMethodHandle.makeAllocator:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
aload 0
invokestatic java.lang.invoke.DirectMethodHandle.make:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 member Ljava/lang/invoke/MemberName;
MethodParameters:
Name Flags
member
static java.lang.invoke.DirectMethodHandle make(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/invoke/DirectMethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
new java.lang.invoke.MemberName
dup
aload 0
invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/reflect/Method;)V
invokestatic java.lang.invoke.DirectMethodHandle.make:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 method Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
method
static java.lang.invoke.DirectMethodHandle make(java.lang.reflect.Field);
descriptor: (Ljava/lang/reflect/Field;)Ljava/lang/invoke/DirectMethodHandle;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
new java.lang.invoke.MemberName
dup
aload 0
invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/reflect/Field;)V
invokestatic java.lang.invoke.DirectMethodHandle.make:(Ljava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 field Ljava/lang/reflect/Field;
MethodParameters:
Name Flags
field
private static java.lang.invoke.DirectMethodHandle makeAllocator(java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=5, args_size=1
start local 0 0: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
ifeq 1
aload 0
invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
ldc "<init>"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
astore 1
start local 1 3: aload 0
invokevirtual java.lang.invoke.MemberName.asConstructor:()Ljava/lang/invoke/MemberName;
astore 0
4: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 6
aload 0
invokevirtual java.lang.invoke.MemberName.isConstructor:()Z
ifeq 5
aload 0
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
bipush 8
if_icmpeq 6
StackMap locals: java.lang.Class
StackMap stack:
5: new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MemberName.getMethodType:()Ljava/lang/invoke/MethodType;
aload 1
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 2
start local 2 7: aload 0
invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
astore 3
start local 3 8: aload 0
invokevirtual java.lang.invoke.MemberName.asSpecial:()Ljava/lang/invoke/MemberName;
astore 4
start local 4 9: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 10
aload 4
invokevirtual java.lang.invoke.MemberName.getMethodType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals: java.lang.invoke.MethodType java.lang.invoke.LambdaForm java.lang.invoke.MemberName
StackMap stack:
new java.lang.invoke.DirectMethodHandle$Constructor
dup
aload 2
aload 3
aload 0
aload 4
aload 1
invokespecial java.lang.invoke.DirectMethodHandle$Constructor.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 ctor Ljava/lang/invoke/MemberName;
3 11 1 instanceClass Ljava/lang/Class<*>;
7 11 2 mtype Ljava/lang/invoke/MethodType;
8 11 3 lform Ljava/lang/invoke/LambdaForm;
9 11 4 init Ljava/lang/invoke/MemberName;
MethodParameters:
Name Flags
ctor
java.lang.invoke.BoundMethodHandle rebind();
descriptor: ()Ljava/lang/invoke/BoundMethodHandle;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.lang.invoke.BoundMethodHandle.makeReinvoker:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/BoundMethodHandle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/DirectMethodHandle;
java.lang.invoke.MethodHandle copyWith(java.lang.invoke.MethodType, java.lang.invoke.LambdaForm);
descriptor: (Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/MethodHandle;
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljava/lang/invoke/DirectMethodHandle;
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new java.lang.invoke.DirectMethodHandle
dup
aload 1
aload 2
aload 0
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
invokespecial java.lang.invoke.DirectMethodHandle.<init>:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/invoke/DirectMethodHandle;
0 2 1 mt Ljava/lang/invoke/MethodType;
0 2 2 lf Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
mt
lf
java.lang.String internalProperties();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "\n& DMH.MN="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.invoke.DirectMethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/DirectMethodHandle;
java.lang.invoke.MemberName internalMemberName();
descriptor: ()Ljava/lang/invoke/MemberName;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/DirectMethodHandle;
RuntimeVisibleAnnotations:
java.lang.invoke.ForceInline()
private static java.lang.invoke.LambdaForm preparedLambdaForm(java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual java.lang.invoke.MemberName.isInvocable:()Z
ifne 1
new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
astore 1
start local 1 2: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 3
aload 0
invokevirtual java.lang.invoke.MemberName.isMethodHandleInvoke:()Z
ifeq 3
new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
tableswitch { // 5 - 9
5: 4
6: 6
7: 8
8: 12
9: 10
default: 14
}
4: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 5: goto 15
end local 2 6: StackMap locals:
StackMap stack:
iconst_1
istore 2
start local 2 7: goto 15
end local 2 8: StackMap locals:
StackMap stack:
iconst_2
istore 2
start local 2 9: goto 15
end local 2 10: StackMap locals:
StackMap stack:
iconst_4
istore 2
start local 2 11: goto 15
end local 2 12: StackMap locals:
StackMap stack:
iconst_3
istore 2
start local 2 13: goto 15
end local 2 14: StackMap locals:
StackMap stack:
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
start local 2 15: StackMap locals: int
StackMap stack:
iload 2
iconst_1
if_icmpne 18
aload 0
invokestatic java.lang.invoke.DirectMethodHandle.shouldBeInitialized:(Ljava/lang/invoke/MemberName;)Z
ifeq 18
16: aload 1
iload 2
invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;
pop
17: iconst_5
istore 2
18: StackMap locals:
StackMap stack:
aload 1
iload 2
invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;
astore 3
start local 3 19: aload 3
aload 0
invokestatic java.lang.invoke.DirectMethodHandle.maybeCompile:(Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
20: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 23
aload 3
invokevirtual java.lang.invoke.LambdaForm.methodType:()Ljava/lang/invoke/MethodType;
iconst_0
iconst_1
invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
21: aload 0
invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
ifne 23
new java.lang.AssertionError
dup
iconst_4
anewarray java.lang.Object
dup
iconst_0
22: aload 0
aastore
dup
iconst_1
aload 0
invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
aastore
dup
iconst_2
aload 3
aastore
dup
iconst_3
aload 3
invokevirtual java.lang.invoke.LambdaForm.methodType:()Ljava/lang/invoke/MethodType;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
23: StackMap locals: java.lang.invoke.LambdaForm
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 m Ljava/lang/invoke/MemberName;
2 24 1 mtype Ljava/lang/invoke/MethodType;
5 6 2 which I
7 8 2 which I
9 10 2 which I
11 12 2 which I
13 14 2 which I
15 24 2 which I
19 24 3 lform Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
m
private static java.lang.invoke.LambdaForm preparedLambdaForm(java.lang.invoke.MethodType, int);
descriptor: (Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
iload 1
invokevirtual java.lang.invoke.MethodTypeForm.cachedLambdaForm:(I)Ljava/lang/invoke/LambdaForm;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
areturn
2: StackMap locals: java.lang.invoke.LambdaForm
StackMap stack:
aload 0
iload 1
invokestatic java.lang.invoke.DirectMethodHandle.makePreparedLambdaForm:(Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;
astore 2
3: aload 0
invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
iload 1
aload 2
invokevirtual java.lang.invoke.MethodTypeForm.setCachedLambdaForm:(ILjava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 mtype Ljava/lang/invoke/MethodType;
0 4 1 which I
1 4 2 lform Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
mtype
which
private static java.lang.invoke.LambdaForm makePreparedLambdaForm(java.lang.invoke.MethodType, int);
descriptor: (Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=19, args_size=2
start local 0 start local 1 0: iload 1
iconst_5
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: iload 1
iconst_3
if_icmpne 4
iconst_1
goto 5
StackMap locals: int
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 3
start local 3 6: iload 1
iconst_4
if_icmpne 7
iconst_1
goto 8
StackMap locals: int
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 4
start local 4 9: iload 1
tableswitch { // 0 - 5
0: 10
1: 13
2: 19
3: 25
4: 22
5: 16
default: 28
}
10: StackMap locals: int
StackMap stack:
ldc "linkToVirtual"
astore 5
start local 5 11: ldc "DMH.invokeVirtual"
astore 6
start local 6 12: goto 29
end local 6 end local 5 13: StackMap locals:
StackMap stack:
ldc "linkToStatic"
astore 5
start local 5 14: ldc "DMH.invokeStatic"
astore 6
start local 6 15: goto 29
end local 6 end local 5 16: StackMap locals:
StackMap stack:
ldc "linkToStatic"
astore 5
start local 5 17: ldc "DMH.invokeStaticInit"
astore 6
start local 6 18: goto 29
end local 6 end local 5 19: StackMap locals:
StackMap stack:
ldc "linkToSpecial"
astore 5
start local 5 20: ldc "DMH.invokeSpecial"
astore 6
start local 6 21: goto 29
end local 6 end local 5 22: StackMap locals:
StackMap stack:
ldc "linkToInterface"
astore 5
start local 5 23: ldc "DMH.invokeInterface"
astore 6
start local 6 24: goto 29
end local 6 end local 5 25: StackMap locals:
StackMap stack:
ldc "linkToSpecial"
astore 5
start local 5 26: ldc "DMH.newInvokeSpecial"
astore 6
start local 6 27: goto 29
end local 6 end local 5 28: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "which="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
start local 5 start local 6 29: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 0
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/invoke/MemberName;
aastore
invokevirtual java.lang.invoke.MethodType.appendParameterTypes:([Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 7
start local 7 30: iload 3
ifeq 35
31: aload 7
32: iconst_0
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
33: getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
34: astore 7
35: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
new java.lang.invoke.MemberName
dup
ldc Ljava/lang/invoke/MethodHandle;
aload 5
aload 7
bipush 6
invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;B)V
astore 8
start local 8 36: getstatic java.lang.invoke.DirectMethodHandle.IMPL_NAMES:Ljava/lang/invoke/MemberName$Factory;
bipush 6
aload 8
aconst_null
ldc Ljava/lang/NoSuchMethodException;
invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
astore 8
37: goto 40
StackMap locals: java.lang.invoke.MethodType int int int int java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName
StackMap stack: java.lang.ReflectiveOperationException
38: astore 9
start local 9 39: aload 9
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Throwable;)Ljava/lang/InternalError;
athrow
end local 9 40: StackMap locals:
StackMap stack:
iconst_1
aload 0
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iadd
istore 9
start local 9 41: iload 9
istore 10
start local 10 42: iload 3
ifeq 43
iload 10
iinc 10 1
goto 44
StackMap locals: int int
StackMap stack:
43: iconst_m1
StackMap locals:
StackMap stack: int
44: istore 11
start local 11 45: iload 10
iinc 10 1
istore 12
start local 12 46: iload 4
ifeq 47
iload 10
iinc 10 1
goto 48
StackMap locals: int int
StackMap stack:
47: iconst_m1
StackMap locals:
StackMap stack: int
48: istore 13
start local 13 49: iload 10
iinc 10 1
istore 14
start local 14 50: iload 10
iload 9
isub
aload 0
invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
astore 15
start local 15 51: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 52
aload 15
arraylength
iload 10
if_icmpeq 52
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
52: StackMap locals: int int java.lang.invoke.LambdaForm$Name[]
StackMap stack:
iload 3
ifeq 56
53: aload 15
iload 11
new java.lang.invoke.LambdaForm$Name
dup
getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_allocateInstance:Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 15
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
54: aload 15
iload 12
new java.lang.invoke.LambdaForm$Name
dup
getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_constructorMethod:Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 15
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
55: goto 60
StackMap locals:
StackMap stack:
56: iload 2
ifeq 59
57: aload 15
iload 12
new java.lang.invoke.LambdaForm$Name
dup
getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_internalMemberNameEnsureInit:Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 15
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
58: goto 60
59: StackMap locals:
StackMap stack:
aload 15
iload 12
new java.lang.invoke.LambdaForm$Name
dup
getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_internalMemberName:Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 15
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
60: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 61
aload 15
iload 12
aaload
invokestatic java.lang.invoke.DirectMethodHandle.findDirectMethodHandle:(Ljava/lang/invoke/LambdaForm$Name;)Ljava/lang/Object;
aload 15
iconst_0
aaload
if_acmpeq 61
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
61: StackMap locals:
StackMap stack:
aload 15
iconst_1
iload 12
iconst_1
iadd
ldc [Ljava/lang/Object;
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;IILjava/lang/Class;)[Ljava/lang/Object;
astore 16
start local 16 62: iload 4
ifeq 65
63: aload 15
iload 13
new java.lang.invoke.LambdaForm$Name
dup
getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_checkReceiver:Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 15
iconst_0
aaload
aastore
dup
iconst_1
aload 15
iconst_1
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
64: aload 16
iconst_0
aload 15
iload 13
aaload
aastore
65: StackMap locals: java.lang.Object[]
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 66
aload 16
aload 16
arraylength
iconst_1
isub
aaload
aload 15
iload 12
aaload
if_acmpeq 66
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
66: StackMap locals:
StackMap stack:
bipush -2
istore 17
start local 17 67: iload 3
ifeq 72
68: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 69
aload 16
aload 16
arraylength
iconst_2
isub
aaload
aload 15
iload 11
aaload
if_acmpeq 69
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
69: StackMap locals: int
StackMap stack:
aload 16
iconst_0
aload 16
iconst_1
aload 16
arraylength
iconst_2
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
70: aload 16
iconst_0
aload 15
iload 11
aaload
aastore
71: iload 11
istore 17
72: StackMap locals:
StackMap stack:
aload 15
iload 14
new java.lang.invoke.LambdaForm$Name
dup
aload 8
aload 16
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MemberName;[Ljava/lang/Object;)V
aastore
73: new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokestatic java.lang.invoke.LambdaForm.basicTypeSignature:(Ljava/lang/invoke/MethodType;)Ljava/lang/String;
invokestatic java.lang.invoke.LambdaForm.shortenSignature:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
74: new java.lang.invoke.LambdaForm
dup
aload 6
iload 9
aload 15
iload 17
invokespecial java.lang.invoke.LambdaForm.<init>:(Ljava/lang/String;I[Ljava/lang/invoke/LambdaForm$Name;I)V
astore 18
start local 18 75: aload 18
invokevirtual java.lang.invoke.LambdaForm.compileToBytecode:()Ljava/lang/invoke/MemberName;
pop
76: aload 18
areturn
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 77 0 mtype Ljava/lang/invoke/MethodType;
0 77 1 which I
3 77 2 needsInit Z
6 77 3 doesAlloc Z
9 77 4 needsReceiverCheck Z
11 13 5 linkerName Ljava/lang/String;
14 16 5 linkerName Ljava/lang/String;
17 19 5 linkerName Ljava/lang/String;
20 22 5 linkerName Ljava/lang/String;
23 25 5 linkerName Ljava/lang/String;
26 28 5 linkerName Ljava/lang/String;
29 77 5 linkerName Ljava/lang/String;
12 13 6 lambdaName Ljava/lang/String;
15 16 6 lambdaName Ljava/lang/String;
18 19 6 lambdaName Ljava/lang/String;
21 22 6 lambdaName Ljava/lang/String;
24 25 6 lambdaName Ljava/lang/String;
27 28 6 lambdaName Ljava/lang/String;
29 77 6 lambdaName Ljava/lang/String;
30 77 7 mtypeWithArg Ljava/lang/invoke/MethodType;
36 77 8 linker Ljava/lang/invoke/MemberName;
39 40 9 ex Ljava/lang/ReflectiveOperationException;
41 77 9 ARG_LIMIT I
42 77 10 nameCursor I
45 77 11 NEW_OBJ I
46 77 12 GET_MEMBER I
49 77 13 CHECK_RECEIVER I
50 77 14 LINKER_CALL I
51 77 15 names [Ljava/lang/invoke/LambdaForm$Name;
62 77 16 outArgs [Ljava/lang/Object;
67 77 17 result I
75 77 18 lform Ljava/lang/invoke/LambdaForm;
Exception table:
from to target type
36 37 38 Class java.lang.ReflectiveOperationException
MethodParameters:
Name Flags
mtype
which
static java.lang.Object findDirectMethodHandle(java.lang.invoke.LambdaForm$Name);
descriptor: (Ljava/lang/invoke/LambdaForm$Name;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_internalMemberName:Ljava/lang/invoke/LambdaForm$NamedFunction;
if_acmpeq 3
1: aload 0
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_internalMemberNameEnsureInit:Ljava/lang/invoke/LambdaForm$NamedFunction;
if_acmpeq 3
2: aload 0
getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_constructorMethod:Ljava/lang/invoke/LambdaForm$NamedFunction;
if_acmpne 5
3: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 4
aload 0
getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
arraylength
iconst_1
if_icmpeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
iconst_0
aaload
areturn
5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 name Ljava/lang/invoke/LambdaForm$Name;
MethodParameters:
Name Flags
name
private static void maybeCompile(java.lang.invoke.LambdaForm, java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
ldc Ljava/lang/invoke/MethodHandle;
invokestatic sun.invoke.util.VerifyAccess.isSamePackage:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 2
1: aload 0
invokevirtual java.lang.invoke.LambdaForm.compileToBytecode:()Ljava/lang/invoke/MemberName;
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 lform Ljava/lang/invoke/LambdaForm;
0 3 1 m Ljava/lang/invoke/MemberName;
MethodParameters:
Name Flags
lform
m
static java.lang.Object internalMemberName(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast java.lang.invoke.DirectMethodHandle
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 mh Ljava/lang/Object;
RuntimeVisibleAnnotations:
java.lang.invoke.ForceInline()
MethodParameters:
Name Flags
mh
static java.lang.Object internalMemberNameEnsureInit(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
checkcast java.lang.invoke.DirectMethodHandle
astore 1
start local 1 1: aload 1
invokevirtual java.lang.invoke.DirectMethodHandle.ensureInitialized:()V
2: aload 1
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 mh Ljava/lang/Object;
1 3 1 dmh Ljava/lang/invoke/DirectMethodHandle;
MethodParameters:
Name Flags
mh
static boolean shouldBeInitialized(java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/MemberName;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
tableswitch { // 2 - 8
2: 1
3: 2
4: 1
5: 2
6: 1
7: 2
8: 1
default: 2
}
1: StackMap locals:
StackMap stack:
goto 3
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
astore 1
start local 1 4: aload 1
ldc Lsun/invoke/util/ValueConversions;
if_acmpeq 7
5: aload 1
ldc Ljava/lang/invoke/MethodHandleImpl;
if_acmpeq 7
6: aload 1
ldc Ljava/lang/invoke/Invokers;
if_acmpne 8
7: StackMap locals: java.lang.Class
StackMap stack:
iconst_0
ireturn
8: StackMap locals:
StackMap stack:
ldc Ljava/lang/invoke/MethodHandle;
aload 1
invokestatic sun.invoke.util.VerifyAccess.isSamePackage:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifne 10
9: ldc Lsun/invoke/util/ValueConversions;
aload 1
invokestatic sun.invoke.util.VerifyAccess.isSamePackage:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 13
10: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
aload 1
invokevirtual sun.misc.Unsafe.shouldBeInitialized:(Ljava/lang/Class;)Z
ifeq 12
11: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
aload 1
invokevirtual sun.misc.Unsafe.ensureClassInitialized:(Ljava/lang/Class;)V
12: StackMap locals:
StackMap stack:
iconst_0
ireturn
13: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
aload 1
invokevirtual sun.misc.Unsafe.shouldBeInitialized:(Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 member Ljava/lang/invoke/MemberName;
4 14 1 cls Ljava/lang/Class<*>;
MethodParameters:
Name Flags
member
private void ensureInitialized();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
invokestatic java.lang.invoke.DirectMethodHandle.checkInitialized:(Ljava/lang/invoke/MemberName;)Z
ifeq 4
1: aload 0
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
invokevirtual java.lang.invoke.MemberName.isField:()Z
ifeq 3
2: aload 0
aload 0
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
invokestatic java.lang.invoke.DirectMethodHandle.preparedFieldLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
invokevirtual java.lang.invoke.DirectMethodHandle.updateForm:(Ljava/lang/invoke/LambdaForm;)V
goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
invokestatic java.lang.invoke.DirectMethodHandle.preparedLambdaForm:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
invokevirtual java.lang.invoke.DirectMethodHandle.updateForm:(Ljava/lang/invoke/LambdaForm;)V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/invoke/DirectMethodHandle;
private static boolean checkInitialized(java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/MemberName;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
astore 1
start local 1 1: getstatic java.lang.invoke.DirectMethodHandle$EnsureInitialized.INSTANCE:Ljava/lang/invoke/DirectMethodHandle$EnsureInitialized;
aload 1
invokevirtual java.lang.invoke.DirectMethodHandle$EnsureInitialized.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 2
start local 2 2: aload 2
ifnonnull 4
3: iconst_1
ireturn
4: StackMap locals: java.lang.Class java.lang.ref.WeakReference
StackMap stack:
aload 2
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast java.lang.Thread
astore 3
start local 3 5: aload 3
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
if_acmpne 8
6: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
aload 1
invokevirtual sun.misc.Unsafe.shouldBeInitialized:(Ljava/lang/Class;)Z
ifeq 9
7: iconst_0
ireturn
8: StackMap locals: java.lang.Thread
StackMap stack:
getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
aload 1
invokevirtual sun.misc.Unsafe.ensureClassInitialized:(Ljava/lang/Class;)V
9: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 10
getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
aload 1
invokevirtual sun.misc.Unsafe.shouldBeInitialized:(Ljava/lang/Class;)Z
ifeq 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle$EnsureInitialized.INSTANCE:Ljava/lang/invoke/DirectMethodHandle$EnsureInitialized;
aload 1
invokevirtual java.lang.invoke.DirectMethodHandle$EnsureInitialized.remove:(Ljava/lang/Class;)V
11: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 member Ljava/lang/invoke/MemberName;
1 12 1 defc Ljava/lang/Class<*>;
2 12 2 ref Ljava/lang/ref/WeakReference<Ljava/lang/Thread;>;
5 12 3 clinitThread Ljava/lang/Thread;
MethodParameters:
Name Flags
member
static void ensureInitialized(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast java.lang.invoke.DirectMethodHandle
invokevirtual java.lang.invoke.DirectMethodHandle.ensureInitialized:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 mh Ljava/lang/Object;
MethodParameters:
Name Flags
mh
static java.lang.Object constructorMethod(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
checkcast java.lang.invoke.DirectMethodHandle$Constructor
astore 1
start local 1 1: aload 1
getfield java.lang.invoke.DirectMethodHandle$Constructor.initMethod:Ljava/lang/invoke/MemberName;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 mh Ljava/lang/Object;
1 2 1 dmh Ljava/lang/invoke/DirectMethodHandle$Constructor;
MethodParameters:
Name Flags
mh
static java.lang.Object allocateInstance(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
checkcast java.lang.invoke.DirectMethodHandle$Constructor
astore 1
start local 1 1: getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
aload 1
getfield java.lang.invoke.DirectMethodHandle$Constructor.instanceClass:Ljava/lang/Class;
invokevirtual sun.misc.Unsafe.allocateInstance:(Ljava/lang/Class;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 mh Ljava/lang/Object;
1 2 1 dmh Ljava/lang/invoke/DirectMethodHandle$Constructor;
Exceptions:
throws java.lang.InstantiationException
MethodParameters:
Name Flags
mh
static long fieldOffset(java.lang.Object);
descriptor: (Ljava/lang/Object;)J
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
checkcast java.lang.invoke.DirectMethodHandle$Accessor
getfield java.lang.invoke.DirectMethodHandle$Accessor.fieldOffset:I
i2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 accessorObj Ljava/lang/Object;
RuntimeVisibleAnnotations:
java.lang.invoke.ForceInline()
MethodParameters:
Name Flags
accessorObj
static java.lang.Object checkBase(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 obj Ljava/lang/Object;
RuntimeVisibleAnnotations:
java.lang.invoke.ForceInline()
MethodParameters:
Name Flags
obj
static java.lang.Object nullCheck(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 obj Ljava/lang/Object;
RuntimeVisibleAnnotations:
java.lang.invoke.ForceInline()
MethodParameters:
Name Flags
obj
static java.lang.Object staticBase(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast java.lang.invoke.DirectMethodHandle$StaticAccessor
getfield java.lang.invoke.DirectMethodHandle$StaticAccessor.staticBase:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 accessorObj Ljava/lang/Object;
RuntimeVisibleAnnotations:
java.lang.invoke.ForceInline()
MethodParameters:
Name Flags
accessorObj
static long staticOffset(java.lang.Object);
descriptor: (Ljava/lang/Object;)J
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
checkcast java.lang.invoke.DirectMethodHandle$StaticAccessor
getfield java.lang.invoke.DirectMethodHandle$StaticAccessor.staticOffset:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 accessorObj Ljava/lang/Object;
RuntimeVisibleAnnotations:
java.lang.invoke.ForceInline()
MethodParameters:
Name Flags
accessorObj
static java.lang.Object checkCast(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
checkcast java.lang.invoke.DirectMethodHandle
aload 1
invokevirtual java.lang.invoke.DirectMethodHandle.checkCast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 mh Ljava/lang/Object;
0 1 1 obj Ljava/lang/Object;
RuntimeVisibleAnnotations:
java.lang.invoke.ForceInline()
MethodParameters:
Name Flags
mh
obj
java.lang.Object checkCast(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.invoke.DirectMethodHandle.member:Ljava/lang/invoke/MemberName;
invokevirtual java.lang.invoke.MemberName.getReturnType:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/DirectMethodHandle;
0 1 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
private static int afIndex(byte, boolean, int);
descriptor: (BZI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 0
getstatic java.lang.invoke.DirectMethodHandle.FT_LIMIT:I
imul
iconst_2
imul
1: iload 1
ifeq 2
getstatic java.lang.invoke.DirectMethodHandle.FT_LIMIT:I
goto 3
StackMap locals:
StackMap stack: int
2: iconst_0
3: StackMap locals: int int int
StackMap stack: int int
iadd
4: iload 2
5: iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 formOp B
0 6 1 isVolatile Z
0 6 2 ftypeKind I
MethodParameters:
Name Flags
formOp
isVolatile
ftypeKind
private static int ftypeKind(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 2
1: aload 0
invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
invokevirtual sun.invoke.util.Wrapper.ordinal:()I
ireturn
2: StackMap locals:
StackMap stack:
ldc Ljava/lang/Object;
aload 0
invokestatic sun.invoke.util.VerifyType.isNullReferenceConversion:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 4
3: getstatic java.lang.invoke.DirectMethodHandle.FT_UNCHECKED_REF:I
ireturn
4: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle.FT_CHECKED_REF:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 ftype Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)I
MethodParameters:
Name Flags
ftype
private static java.lang.invoke.LambdaForm preparedFieldLambdaForm(java.lang.invoke.MemberName);
descriptor: (Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MemberName.getFieldType:()Ljava/lang/Class;
astore 1
start local 1 1: aload 0
invokevirtual java.lang.invoke.MemberName.isVolatile:()Z
istore 2
start local 2 2: aload 0
invokevirtual java.lang.invoke.MemberName.getReferenceKind:()B
tableswitch { // 1 - 4
1: 3
2: 7
3: 5
4: 9
default: 11
}
3: StackMap locals: java.lang.Class int
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle.AF_GETFIELD:B
istore 3
start local 3 4: goto 12
end local 3 5: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle.AF_PUTFIELD:B
istore 3
start local 3 6: goto 12
end local 3 7: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle.AF_GETSTATIC:B
istore 3
start local 3 8: goto 12
end local 3 9: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.DirectMethodHandle.AF_PUTSTATIC:B
istore 3
start local 3 10: goto 12
end local 3 11: StackMap locals:
StackMap stack:
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
start local 3 12: StackMap locals: int
StackMap stack:
aload 0
invokestatic java.lang.invoke.DirectMethodHandle.shouldBeInitialized:(Ljava/lang/invoke/MemberName;)Z
ifeq 18
13: iload 3
iload 2
aload 1
invokestatic java.lang.invoke.DirectMethodHandle.preparedFieldLambdaForm:(BZLjava/lang/Class;)Ljava/lang/invoke/LambdaForm;
pop
14: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 17
getstatic java.lang.invoke.DirectMethodHandle.AF_GETSTATIC_INIT:B
getstatic java.lang.invoke.DirectMethodHandle.AF_GETSTATIC:B
isub
15: getstatic java.lang.invoke.DirectMethodHandle.AF_PUTSTATIC_INIT:B
getstatic java.lang.invoke.DirectMethodHandle.AF_PUTSTATIC:B
isub
16: if_icmpeq 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
iload 3
getstatic java.lang.invoke.DirectMethodHandle.AF_GETSTATIC_INIT:B
getstatic java.lang.invoke.DirectMethodHandle.AF_GETSTATIC:B
isub
iadd
i2b
istore 3
18: StackMap locals:
StackMap stack:
iload 3
iload 2
aload 1
invokestatic java.lang.invoke.DirectMethodHandle.preparedFieldLambdaForm:(BZLjava/lang/Class;)Ljava/lang/invoke/LambdaForm;
astore 4
start local 4 19: aload 4
aload 0
invokestatic java.lang.invoke.DirectMethodHandle.maybeCompile:(Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MemberName;)V
20: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 23
aload 4
invokevirtual java.lang.invoke.LambdaForm.methodType:()Ljava/lang/invoke/MethodType;
iconst_0
iconst_1
invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
21: aload 0
invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
ifne 23
new java.lang.AssertionError
dup
iconst_4
anewarray java.lang.Object
dup
iconst_0
22: aload 0
aastore
dup
iconst_1
aload 0
invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
aastore
dup
iconst_2
aload 4
aastore
dup
iconst_3
aload 4
invokevirtual java.lang.invoke.LambdaForm.methodType:()Ljava/lang/invoke/MethodType;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
23: StackMap locals: java.lang.invoke.LambdaForm
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 24 0 m Ljava/lang/invoke/MemberName;
1 24 1 ftype Ljava/lang/Class<*>;
2 24 2 isVolatile Z
4 5 3 formOp B
6 7 3 formOp B
8 9 3 formOp B
10 11 3 formOp B
12 24 3 formOp B
19 24 4 lform Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
m
private static java.lang.invoke.LambdaForm preparedFieldLambdaForm(byte, boolean, java.lang.Class<?>);
descriptor: (BZLjava/lang/Class;)Ljava/lang/invoke/LambdaForm;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 0
iload 1
aload 2
invokestatic java.lang.invoke.DirectMethodHandle.ftypeKind:(Ljava/lang/Class;)I
invokestatic java.lang.invoke.DirectMethodHandle.afIndex:(BZI)I
istore 3
start local 3 1: getstatic java.lang.invoke.DirectMethodHandle.ACCESSOR_FORMS:[Ljava/lang/invoke/LambdaForm;
iload 3
aaload
astore 4
start local 4 2: aload 4
ifnull 3
aload 4
areturn
3: StackMap locals: int java.lang.invoke.LambdaForm
StackMap stack:
iload 0
iload 1
aload 2
invokestatic java.lang.invoke.DirectMethodHandle.ftypeKind:(Ljava/lang/Class;)I
invokestatic java.lang.invoke.DirectMethodHandle.makePreparedFieldLambdaForm:(BZI)Ljava/lang/invoke/LambdaForm;
astore 4
4: getstatic java.lang.invoke.DirectMethodHandle.ACCESSOR_FORMS:[Ljava/lang/invoke/LambdaForm;
iload 3
aload 4
aastore
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 formOp B
0 6 1 isVolatile Z
0 6 2 ftype Ljava/lang/Class<*>;
1 6 3 afIndex I
2 6 4 lform Ljava/lang/invoke/LambdaForm;
Signature: (BZLjava/lang/Class<*>;)Ljava/lang/invoke/LambdaForm;
MethodParameters:
Name Flags
formOp
isVolatile
ftype
private static java.lang.invoke.LambdaForm makePreparedFieldLambdaForm(byte, boolean, int);
descriptor: (BZI)Ljava/lang/invoke/LambdaForm;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=12, locals=34, args_size=3
start local 0 start local 1 start local 2 0: iload 0
iconst_1
iand
getstatic java.lang.invoke.DirectMethodHandle.AF_GETFIELD:B
iconst_1
iand
if_icmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 3
start local 3 3: iload 0
getstatic java.lang.invoke.DirectMethodHandle.AF_GETSTATIC:B
if_icmplt 4
iconst_1
goto 5
StackMap locals: int
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 4
start local 4 6: iload 0
getstatic java.lang.invoke.DirectMethodHandle.AF_GETSTATIC_INIT:B
if_icmplt 7
iconst_1
goto 8
StackMap locals: int
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 5
start local 5 9: iload 2
getstatic java.lang.invoke.DirectMethodHandle.FT_CHECKED_REF:I
if_icmpne 10
iconst_1
goto 11
StackMap locals: int
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 6
start local 6 12: iload 6
ifeq 13
getstatic sun.invoke.util.Wrapper.OBJECT:Lsun/invoke/util/Wrapper;
goto 14
StackMap locals: int
StackMap stack:
13: invokestatic sun.invoke.util.Wrapper.values:()[Lsun/invoke/util/Wrapper;
iload 2
aaload
StackMap locals:
StackMap stack: sun.invoke.util.Wrapper
14: astore 7
start local 7 15: aload 7
invokevirtual sun.invoke.util.Wrapper.primitiveType:()Ljava/lang/Class;
astore 8
start local 8 16: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 19
iload 6
ifeq 17
ldc Ljava/lang/String;
goto 18
StackMap locals: sun.invoke.util.Wrapper java.lang.Class
StackMap stack:
17: aload 8
StackMap locals:
StackMap stack: java.lang.Class
18: invokestatic java.lang.invoke.DirectMethodHandle.ftypeKind:(Ljava/lang/Class;)I
iload 2
if_icmpeq 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals:
StackMap stack:
aload 7
invokevirtual sun.invoke.util.Wrapper.primitiveSimpleName:()Ljava/lang/String;
astore 9
start local 9 20: new java.lang.StringBuilder
dup
aload 9
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.toUpperCase:(C)C
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
start local 10 21: iload 1
ifeq 22
new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "Volatile"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
22: StackMap locals: java.lang.String java.lang.String
StackMap stack:
iload 3
ifeq 23
ldc "get"
goto 24
StackMap locals:
StackMap stack:
23: ldc "put"
StackMap locals:
StackMap stack: java.lang.String
24: astore 11
start local 11 25: new java.lang.StringBuilder
dup
aload 11
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 12
start local 12 26: iload 3
ifeq 29
27: aload 8
ldc Ljava/lang/Object;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
aastore
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 13
start local 13 28: goto 30
end local 13 29: StackMap locals: java.lang.String java.lang.String
StackMap stack:
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
ldc Ljava/lang/Object;
iconst_2
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
aastore
dup
iconst_1
aload 8
aastore
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 13
start local 13 30: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
new java.lang.invoke.MemberName
dup
ldc Lsun/misc/Unsafe;
aload 12
aload 13
iconst_5
invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;B)V
astore 14
start local 14 31: getstatic java.lang.invoke.DirectMethodHandle.IMPL_NAMES:Ljava/lang/invoke/MemberName$Factory;
iconst_5
aload 14
aconst_null
ldc Ljava/lang/NoSuchMethodException;
invokevirtual java.lang.invoke.MemberName$Factory.resolveOrFail:(BLjava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
astore 14
32: goto 35
StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.String java.lang.String java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName
StackMap stack: java.lang.ReflectiveOperationException
33: astore 15
start local 15 34: aload 15
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/Throwable;)Ljava/lang/InternalError;
athrow
end local 15 35: StackMap locals:
StackMap stack:
iload 3
ifeq 38
36: aload 8
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 15
start local 15 37: goto 39
end local 15 38: StackMap locals:
StackMap stack:
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
aload 8
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 15
start local 15 39: StackMap locals: java.lang.invoke.MethodType
StackMap stack:
aload 15
invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
astore 15
40: iload 4
ifne 42
41: aload 15
iconst_0
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
astore 15
42: StackMap locals:
StackMap stack:
iconst_1
aload 15
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iadd
istore 16
start local 16 43: iload 4
ifeq 44
iconst_m1
goto 45
StackMap locals: int
StackMap stack:
44: iconst_1
StackMap locals:
StackMap stack: int
45: istore 17
start local 17 46: iload 3
ifeq 47
iconst_m1
goto 48
StackMap locals: int
StackMap stack:
47: iload 16
iconst_1
isub
StackMap locals:
StackMap stack: int
48: istore 18
start local 18 49: iload 16
istore 19
start local 19 50: iload 4
ifeq 51
iload 19
iinc 19 1
goto 52
StackMap locals: int int
StackMap stack:
51: iconst_m1
StackMap locals:
StackMap stack: int
52: istore 20
start local 20 53: iload 19
iinc 19 1
istore 21
start local 21 54: iload 17
iflt 55
iload 19
iinc 19 1
goto 56
StackMap locals: int int
StackMap stack:
55: iconst_m1
StackMap locals:
StackMap stack: int
56: istore 22
start local 22 57: iload 5
ifeq 58
iload 19
iinc 19 1
goto 59
StackMap locals: int
StackMap stack:
58: iconst_m1
StackMap locals:
StackMap stack: int
59: istore 23
start local 23 60: iload 6
ifeq 61
iload 3
ifne 61
iload 19
iinc 19 1
goto 62
StackMap locals: int
StackMap stack:
61: iconst_m1
StackMap locals:
StackMap stack: int
62: istore 24
start local 24 63: iload 19
iinc 19 1
istore 25
start local 25 64: iload 6
ifeq 65
iload 3
ifeq 65
iload 19
iinc 19 1
goto 66
StackMap locals: int int
StackMap stack:
65: iconst_m1
StackMap locals:
StackMap stack: int
66: istore 26
start local 26 67: iload 19
iconst_1
isub
istore 27
start local 27 68: iload 19
iload 16
isub
aload 15
invokevirtual java.lang.invoke.MethodType.invokerType:()Ljava/lang/invoke/MethodType;
invokestatic java.lang.invoke.LambdaForm.arguments:(ILjava/lang/invoke/MethodType;)[Ljava/lang/invoke/LambdaForm$Name;
astore 28
start local 28 69: iload 5
ifeq 71
70: aload 28
iload 23
new java.lang.invoke.LambdaForm$Name
dup
getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_ensureInitialized:Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 28
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
71: StackMap locals: int int java.lang.invoke.LambdaForm$Name[]
StackMap stack:
iload 6
ifeq 73
iload 3
ifne 73
72: aload 28
iload 24
new java.lang.invoke.LambdaForm$Name
dup
getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_checkCast:Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 28
iconst_0
aaload
aastore
dup
iconst_1
aload 28
iload 18
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
73: StackMap locals:
StackMap stack:
iconst_1
aload 13
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iadd
anewarray java.lang.Object
astore 29
start local 29 74: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 77
aload 29
arraylength
iload 3
ifeq 75
iconst_3
goto 76
StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.String java.lang.String java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
StackMap stack: int
75: iconst_4
StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.String java.lang.String java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
StackMap stack: int int
76: if_icmpeq 77
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
77: StackMap locals:
StackMap stack:
aload 29
iconst_0
getstatic java.lang.invoke.MethodHandleStatics.UNSAFE:Lsun/misc/Unsafe;
aastore
78: iload 4
ifeq 82
79: aload 29
iconst_1
aload 28
iload 20
new java.lang.invoke.LambdaForm$Name
dup
getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_staticBase:Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 28
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
dup_x2
aastore
aastore
80: aload 29
iconst_2
aload 28
iload 21
new java.lang.invoke.LambdaForm$Name
dup
getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_staticOffset:Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 28
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
dup_x2
aastore
aastore
81: goto 84
82: StackMap locals:
StackMap stack:
aload 29
iconst_1
aload 28
iload 22
new java.lang.invoke.LambdaForm$Name
dup
getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_checkBase:Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 28
iload 17
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
dup_x2
aastore
aastore
83: aload 29
iconst_2
aload 28
iload 21
new java.lang.invoke.LambdaForm$Name
dup
getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_fieldOffset:Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 28
iconst_0
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
dup_x2
aastore
aastore
84: StackMap locals:
StackMap stack:
iload 3
ifne 88
85: aload 29
iconst_3
iload 6
ifeq 86
aload 28
iload 24
aaload
goto 87
StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.String java.lang.String java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
StackMap stack: java.lang.Object[] int
86: aload 28
iload 18
aaload
StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.String java.lang.String java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
StackMap stack: java.lang.Object[] int java.lang.invoke.LambdaForm$Name
87: aastore
88: StackMap locals:
StackMap stack:
aload 29
dup
astore 33
arraylength
istore 32
iconst_0
istore 31
goto 92
StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.String java.lang.String java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[] top int int java.lang.Object[]
StackMap stack:
89: aload 33
iload 31
aaload
astore 30
start local 30 90: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 91
aload 30
ifnonnull 91
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 30 StackMap locals:
StackMap stack:
91: iinc 31 1
StackMap locals:
StackMap stack:
92: iload 31
iload 32
if_icmplt 89
93: aload 28
iload 25
new java.lang.invoke.LambdaForm$Name
dup
aload 14
aload 29
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MemberName;[Ljava/lang/Object;)V
aastore
94: iload 6
ifeq 96
iload 3
ifeq 96
95: aload 28
iload 26
new java.lang.invoke.LambdaForm$Name
dup
getstatic java.lang.invoke.DirectMethodHandle$Lazy.NF_checkCast:Ljava/lang/invoke/LambdaForm$NamedFunction;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 28
iconst_0
aaload
aastore
dup
iconst_1
aload 28
iload 25
aaload
aastore
invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
aastore
96: StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.String java.lang.String java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
StackMap stack:
aload 28
dup
astore 33
arraylength
istore 32
iconst_0
istore 31
goto 100
StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.String java.lang.String java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[] top int int java.lang.invoke.LambdaForm$Name[]
StackMap stack:
97: aload 33
iload 31
aaload
astore 30
start local 30 98: getstatic java.lang.invoke.DirectMethodHandle.$assertionsDisabled:Z
ifne 99
aload 30
ifnonnull 99
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 30 StackMap locals:
StackMap stack:
99: iinc 31 1
StackMap locals:
StackMap stack:
100: iload 31
iload 32
if_icmplt 97
101: iload 4
ifeq 102
ldc "Static"
goto 103
StackMap locals: int int int int int int int sun.invoke.util.Wrapper java.lang.Class java.lang.String java.lang.String java.lang.String java.lang.String java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.invoke.MethodType int int int int int int int int int int int int java.lang.invoke.LambdaForm$Name[] java.lang.Object[]
StackMap stack:
102: ldc "Field"
StackMap locals:
StackMap stack: java.lang.String
103: astore 30
start local 30 104: new java.lang.StringBuilder
dup
aload 12
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 30
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 31
start local 31 105: iload 6
ifeq 106
new java.lang.StringBuilder
dup
aload 31
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "Cast"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 31
106: StackMap locals: java.lang.String java.lang.String
StackMap stack:
iload 5
ifeq 107
new java.lang.StringBuilder
dup
aload 31
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "Init"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 31
107: StackMap locals:
StackMap stack:
new java.lang.invoke.LambdaForm
dup
aload 31
iload 16
aload 28
iload 27
invokespecial java.lang.invoke.LambdaForm.<init>:(Ljava/lang/String;I[Ljava/lang/invoke/LambdaForm$Name;I)V
areturn
end local 31 end local 30 end local 29 end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 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 108 0 formOp B
0 108 1 isVolatile Z
0 108 2 ftypeKind I
3 108 3 isGetter Z
6 108 4 isStatic Z
9 108 5 needsInit Z
12 108 6 needsCast Z
15 108 7 fw Lsun/invoke/util/Wrapper;
16 108 8 ft Ljava/lang/Class<*>;
20 108 9 tname Ljava/lang/String;
21 108 10 ctname Ljava/lang/String;
25 108 11 getOrPut Ljava/lang/String;
26 108 12 linkerName Ljava/lang/String;
28 29 13 linkerType Ljava/lang/invoke/MethodType;
30 108 13 linkerType Ljava/lang/invoke/MethodType;
31 108 14 linker Ljava/lang/invoke/MemberName;
34 35 15 ex Ljava/lang/ReflectiveOperationException;
37 38 15 mtype Ljava/lang/invoke/MethodType;
39 108 15 mtype Ljava/lang/invoke/MethodType;
43 108 16 ARG_LIMIT I
46 108 17 OBJ_BASE I
49 108 18 SET_VALUE I
50 108 19 nameCursor I
53 108 20 F_HOLDER I
54 108 21 F_OFFSET I
57 108 22 OBJ_CHECK I
60 108 23 INIT_BAR I
63 108 24 PRE_CAST I
64 108 25 LINKER_CALL I
67 108 26 POST_CAST I
68 108 27 RESULT I
69 108 28 names [Ljava/lang/invoke/LambdaForm$Name;
74 108 29 outArgs [Ljava/lang/Object;
90 91 30 a Ljava/lang/Object;
98 99 30 n Ljava/lang/invoke/LambdaForm$Name;
104 108 30 fieldOrStatic Ljava/lang/String;
105 108 31 lambdaName Ljava/lang/String;
Exception table:
from to target type
31 32 33 Class java.lang.ReflectiveOperationException
MethodParameters:
Name Flags
formOp
isVolatile
ftypeKind
java.lang.Object internalProperties();
descriptor: ()Ljava/lang/Object;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual java.lang.invoke.DirectMethodHandle.internalProperties:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "DirectMethodHandle.java"
NestMembers:
java.lang.invoke.DirectMethodHandle$Accessor java.lang.invoke.DirectMethodHandle$Constructor java.lang.invoke.DirectMethodHandle$EnsureInitialized java.lang.invoke.DirectMethodHandle$Interface java.lang.invoke.DirectMethodHandle$Lazy java.lang.invoke.DirectMethodHandle$Special java.lang.invoke.DirectMethodHandle$StaticAccessor
InnerClasses:
Accessor = java.lang.invoke.DirectMethodHandle$Accessor of java.lang.invoke.DirectMethodHandle
Constructor = java.lang.invoke.DirectMethodHandle$Constructor of java.lang.invoke.DirectMethodHandle
private EnsureInitialized = java.lang.invoke.DirectMethodHandle$EnsureInitialized of java.lang.invoke.DirectMethodHandle
Interface = java.lang.invoke.DirectMethodHandle$Interface of java.lang.invoke.DirectMethodHandle
private Lazy = java.lang.invoke.DirectMethodHandle$Lazy of java.lang.invoke.DirectMethodHandle
Special = java.lang.invoke.DirectMethodHandle$Special of java.lang.invoke.DirectMethodHandle
StaticAccessor = java.lang.invoke.DirectMethodHandle$StaticAccessor of java.lang.invoke.DirectMethodHandle
final Name = java.lang.invoke.LambdaForm$Name of java.lang.invoke.LambdaForm
NamedFunction = java.lang.invoke.LambdaForm$NamedFunction of java.lang.invoke.LambdaForm
Factory = java.lang.invoke.MemberName$Factory of java.lang.invoke.MemberName