public final class jdk.nashorn.internal.runtime.linker.InvokeByName
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.nashorn.internal.runtime.linker.InvokeByName
super_class: java.lang.Object
{
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.invoke.MethodHandle getter;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.invoke.MethodHandle invoker;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.lang.String, java.lang.Class<?>);
descriptor: (Ljava/lang/String;Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
ldc Ljava/lang/Object;
iconst_0
anewarray java.lang.Class
invokespecial jdk.nashorn.internal.runtime.linker.InvokeByName.<init>:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/linker/InvokeByName;
0 2 1 name Ljava/lang/String;
0 2 2 targetClass Ljava/lang/Class<*>;
Signature: (Ljava/lang/String;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
name final
targetClass final
public void <init>(java.lang.String, java.lang.Class<?>, java.lang.Class<?>, java.lang.Class<?>[]);
descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=8, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.nashorn.internal.runtime.linker.InvokeByName.name:Ljava/lang/String;
2: aload 0
aload 1
iconst_2
ldc Ljava/lang/Object;
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 2
aastore
invokestatic jdk.nashorn.internal.runtime.linker.Bootstrap.createDynamicInvoker:(Ljava/lang/String;ILjava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
putfield jdk.nashorn.internal.runtime.linker.InvokeByName.getter:Ljava/lang/invoke/MethodHandle;
3: aload 4
arraylength
istore 6
start local 6 4: iload 6
ifne 7
5: iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
dup
iconst_1
aload 2
aastore
astore 5
start local 5 6: goto 11
end local 5 7: StackMap locals: jdk.nashorn.internal.runtime.linker.InvokeByName java.lang.String java.lang.Class java.lang.Class java.lang.Class[] top int
StackMap stack:
iload 6
iconst_2
iadd
anewarray java.lang.Class
astore 5
start local 5 8: aload 5
iconst_0
ldc Ljava/lang/Object;
aastore
9: aload 5
iconst_1
aload 2
aastore
10: aload 4
iconst_0
aload 5
iconst_2
iload 6
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: StackMap locals: jdk.nashorn.internal.runtime.linker.InvokeByName java.lang.String java.lang.Class java.lang.Class java.lang.Class[] java.lang.Class[] int
StackMap stack:
aload 0
aload 3
aload 5
invokestatic jdk.nashorn.internal.runtime.linker.Bootstrap.createDynamicCallInvoker:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
putfield jdk.nashorn.internal.runtime.linker.InvokeByName.invoker:Ljava/lang/invoke/MethodHandle;
12: return
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 13 0 this Ljdk/nashorn/internal/runtime/linker/InvokeByName;
0 13 1 name Ljava/lang/String;
0 13 2 targetClass Ljava/lang/Class<*>;
0 13 3 rtype Ljava/lang/Class<*>;
0 13 4 ptypes [Ljava/lang/Class;
6 7 5 finalPtypes [Ljava/lang/Class;
8 13 5 finalPtypes [Ljava/lang/Class;
4 13 6 plength I
Signature: (Ljava/lang/String;Ljava/lang/Class<*>;Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
name final
targetClass final
rtype final
ptypes final
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.linker.InvokeByName.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/linker/InvokeByName;
public java.lang.invoke.MethodHandle getGetter();
descriptor: ()Ljava/lang/invoke/MethodHandle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.linker.InvokeByName.getter:Ljava/lang/invoke/MethodHandle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/linker/InvokeByName;
public java.lang.invoke.MethodHandle getInvoker();
descriptor: ()Ljava/lang/invoke/MethodHandle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.linker.InvokeByName.invoker:Ljava/lang/invoke/MethodHandle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/linker/InvokeByName;
}
SourceFile: "InvokeByName.java"