class jdk.dynalink.beans.BeanLinker$Binder
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.dynalink.beans.BeanLinker$Binder
super_class: java.lang.Object
{
private final jdk.dynalink.linker.LinkerServices linkerServices;
descriptor: Ljdk/dynalink/linker/LinkerServices;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.invoke.MethodType methodType;
descriptor: Ljava/lang/invoke/MethodType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object fixedKey;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(jdk.dynalink.linker.LinkerServices, java.lang.invoke.MethodType, java.lang.Object);
descriptor: (Ljdk/dynalink/linker/LinkerServices;Ljava/lang/invoke/MethodType;Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.dynalink.beans.BeanLinker$Binder.linkerServices:Ljdk/dynalink/linker/LinkerServices;
2: aload 0
aload 3
ifnonnull 3
aload 2
goto 4
StackMap locals: jdk.dynalink.beans.BeanLinker$Binder jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType java.lang.Object
StackMap stack: jdk.dynalink.beans.BeanLinker$Binder
3: aload 2
iconst_1
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
invokevirtual java.lang.invoke.MethodType.insertParameterTypes:(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
StackMap locals: jdk.dynalink.beans.BeanLinker$Binder jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType java.lang.Object
StackMap stack: jdk.dynalink.beans.BeanLinker$Binder java.lang.invoke.MethodType
4: putfield jdk.dynalink.beans.BeanLinker$Binder.methodType:Ljava/lang/invoke/MethodType;
5: aload 0
aload 3
putfield jdk.dynalink.beans.BeanLinker$Binder.fixedKey:Ljava/lang/Object;
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/dynalink/beans/BeanLinker$Binder;
0 7 1 linkerServices Ljdk/dynalink/linker/LinkerServices;
0 7 2 methodType Ljava/lang/invoke/MethodType;
0 7 3 fixedKey Ljava/lang/Object;
MethodParameters:
Name Flags
linkerServices final
methodType final
fixedKey final
java.lang.invoke.MethodHandle bind(java.lang.invoke.MethodHandle);
descriptor: (Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield jdk.dynalink.beans.BeanLinker$Binder.linkerServices:Ljdk/dynalink/linker/LinkerServices;
aload 1
aload 0
getfield jdk.dynalink.beans.BeanLinker$Binder.methodType:Ljava/lang/invoke/MethodType;
invokeinterface jdk.dynalink.linker.LinkerServices.asTypeLosslessReturn:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
invokevirtual jdk.dynalink.beans.BeanLinker$Binder.bindToFixedKey:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/dynalink/beans/BeanLinker$Binder;
0 1 1 handle Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
handle final
java.lang.invoke.MethodHandle bindTest(java.lang.invoke.MethodHandle);
descriptor: (Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
getfield jdk.dynalink.beans.BeanLinker$Binder.methodType:Ljava/lang/invoke/MethodType;
invokestatic jdk.dynalink.linker.support.Guards.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
invokevirtual jdk.dynalink.beans.BeanLinker$Binder.bindToFixedKey:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/dynalink/beans/BeanLinker$Binder;
0 1 1 handle Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
handle final
java.lang.invoke.MethodHandle convertArgToNumber(java.lang.invoke.MethodHandle);
descriptor: (Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
flags: (0x0000)
Code:
stack=9, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.dynalink.beans.BeanLinker$Binder.methodType:Ljava/lang/invoke/MethodType;
iconst_1
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 2
start local 2 1: aload 2
ldc Ljava/lang/Number;
invokestatic jdk.dynalink.linker.support.TypeUtilities.isMethodInvocationConvertible:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 3
2: aload 1
areturn
3: StackMap locals: java.lang.Class
StackMap stack:
aload 0
getfield jdk.dynalink.beans.BeanLinker$Binder.linkerServices:Ljdk/dynalink/linker/LinkerServices;
aload 2
ldc Ljava/lang/Number;
invokeinterface jdk.dynalink.linker.LinkerServices.canConvert:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 8
4: aload 0
getfield jdk.dynalink.beans.BeanLinker$Binder.linkerServices:Ljdk/dynalink/linker/LinkerServices;
aload 2
ldc Ljava/lang/Number;
invokeinterface jdk.dynalink.linker.LinkerServices.getTypeConverter:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
astore 3
start local 3 5: aload 1
iconst_1
iconst_1
anewarray java.lang.invoke.MethodHandle
dup
iconst_0
aload 3
aload 3
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
6: aload 1
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
iconst_1
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
7: invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
aastore
invokestatic java.lang.invoke.MethodHandles.filterArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
areturn
end local 3 8: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/dynalink/beans/BeanLinker$Binder;
0 9 1 mh Ljava/lang/invoke/MethodHandle;
1 9 2 sourceType Ljava/lang/Class<*>;
5 8 3 converter Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
mh final
private java.lang.invoke.MethodHandle bindToFixedKey(java.lang.invoke.MethodHandle);
descriptor: (Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.dynalink.beans.BeanLinker$Binder.fixedKey:Ljava/lang/Object;
ifnonnull 1
aload 1
goto 2
StackMap locals:
StackMap stack:
1: aload 1
iconst_1
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.dynalink.beans.BeanLinker$Binder.fixedKey:Ljava/lang/Object;
aastore
invokestatic java.lang.invoke.MethodHandles.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
StackMap locals:
StackMap stack: java.lang.invoke.MethodHandle
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/dynalink/beans/BeanLinker$Binder;
0 3 1 handle Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
handle final
}
SourceFile: "BeanLinker.java"
NestHost: jdk.dynalink.beans.BeanLinker
InnerClasses:
private Binder = jdk.dynalink.beans.BeanLinker$Binder of jdk.dynalink.beans.BeanLinker