class jdk.dynalink.beans.BeanLinker extends jdk.dynalink.beans.AbstractJavaLinker implements jdk.dynalink.linker.TypeBasedGuardingDynamicLinker
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.dynalink.beans.BeanLinker
super_class: jdk.dynalink.beans.AbstractJavaLinker
{
private static final java.lang.invoke.MethodHandle GET_LIST_ELEMENT;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle GET_MAP_ELEMENT;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle LIST_GUARD;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle MAP_GUARD;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle NULL_GETTER_1;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle NULL_GETTER_2;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle RANGE_CHECK_ARRAY;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle RANGE_CHECK_LIST;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle CONTAINS_MAP;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle SET_LIST_ELEMENT;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle PUT_MAP_ELEMENT;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle NO_OP_SETTER_2;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle NO_OP_SETTER_3;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle GET_COLLECTION_LENGTH;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle GET_MAP_LENGTH;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$jdk$dynalink$beans$BeanLinker$CollectionType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
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=9, locals=1, args_size=0
0: ldc Ljdk/dynalink/beans/BeanLinker;
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 jdk.dynalink.beans.BeanLinker.$assertionsDisabled:Z
3: getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
ldc Ljava/util/List;
ldc "get"
4: ldc Ljava/lang/Object;
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
5: invokevirtual jdk.dynalink.linker.support.Lookup.findVirtual:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.dynalink.beans.BeanLinker.GET_LIST_ELEMENT:Ljava/lang/invoke/MethodHandle;
6: getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
ldc Ljava/util/Map;
ldc "get"
7: ldc Ljava/lang/Object;
ldc Ljava/lang/Object;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
8: invokevirtual jdk.dynalink.linker.support.Lookup.findVirtual:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.dynalink.beans.BeanLinker.GET_MAP_ELEMENT:Ljava/lang/invoke/MethodHandle;
9: ldc Ljava/util/List;
invokestatic jdk.dynalink.linker.support.Guards.getInstanceOfGuard:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.dynalink.beans.BeanLinker.LIST_GUARD:Ljava/lang/invoke/MethodHandle;
10: ldc Ljava/util/Map;
invokestatic jdk.dynalink.linker.support.Guards.getInstanceOfGuard:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.dynalink.beans.BeanLinker.MAP_GUARD:Ljava/lang/invoke/MethodHandle;
11: ldc Ljava/lang/Object;
aconst_null
invokestatic java.lang.invoke.MethodHandles.constant:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
astore 0
start local 0 12: aload 0
iconst_1
invokestatic jdk.dynalink.beans.BeanLinker.dropObjectArguments:(Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
putstatic jdk.dynalink.beans.BeanLinker.NULL_GETTER_1:Ljava/lang/invoke/MethodHandle;
13: aload 0
iconst_2
invokestatic jdk.dynalink.beans.BeanLinker.dropObjectArguments:(Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
putstatic jdk.dynalink.beans.BeanLinker.NULL_GETTER_2:Ljava/lang/invoke/MethodHandle;
end local 0 14: ldc Ljava/lang/Object;
invokestatic jdk.dynalink.beans.BeanLinker.findRangeCheck:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.dynalink.beans.BeanLinker.RANGE_CHECK_ARRAY:Ljava/lang/invoke/MethodHandle;
15: ldc Ljava/util/List;
invokestatic jdk.dynalink.beans.BeanLinker.findRangeCheck:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.dynalink.beans.BeanLinker.RANGE_CHECK_LIST:Ljava/lang/invoke/MethodHandle;
16: getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
ldc Ljava/util/Map;
ldc "containsKey"
17: getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
ldc Ljava/lang/Object;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
18: invokevirtual jdk.dynalink.linker.support.Lookup.findVirtual:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.dynalink.beans.BeanLinker.CONTAINS_MAP:Ljava/lang/invoke/MethodHandle;
19: getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
ldc Ljava/util/List;
ldc "set"
20: ldc Ljava/lang/Object;
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
21: invokevirtual jdk.dynalink.linker.support.Lookup.findVirtual:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.dynalink.beans.BeanLinker.SET_LIST_ELEMENT:Ljava/lang/invoke/MethodHandle;
22: getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
ldc Ljava/util/Map;
ldc "put"
23: ldc Ljava/lang/Object;
ldc Ljava/lang/Object;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
24: invokevirtual jdk.dynalink.linker.support.Lookup.findVirtual:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.dynalink.beans.BeanLinker.PUT_MAP_ELEMENT:Ljava/lang/invoke/MethodHandle;
25: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
ldc "noOpSetter"
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokestatic jdk.dynalink.linker.support.Lookup.findOwnStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
astore 0
start local 0 26: aload 0
iconst_2
invokestatic jdk.dynalink.beans.BeanLinker.dropObjectArguments:(Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
putstatic jdk.dynalink.beans.BeanLinker.NO_OP_SETTER_2:Ljava/lang/invoke/MethodHandle;
27: aload 0
iconst_3
invokestatic jdk.dynalink.beans.BeanLinker.dropObjectArguments:(Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
putstatic jdk.dynalink.beans.BeanLinker.NO_OP_SETTER_3:Ljava/lang/invoke/MethodHandle;
end local 0 28: getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
ldc Ljava/util/Collection;
ldc "size"
29: getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
30: invokevirtual jdk.dynalink.linker.support.Lookup.findVirtual:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.dynalink.beans.BeanLinker.GET_COLLECTION_LENGTH:Ljava/lang/invoke/MethodHandle;
31: getstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
ldc Ljava/util/Map;
ldc "size"
32: getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
33: invokevirtual jdk.dynalink.linker.support.Lookup.findVirtual:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.dynalink.beans.BeanLinker.GET_MAP_LENGTH:Ljava/lang/invoke/MethodHandle;
34: return
LocalVariableTable:
Start End Slot Name Signature
12 14 0 constantNull Ljava/lang/invoke/MethodHandle;
26 28 0 noOpSetter Ljava/lang/invoke/MethodHandle;
void <init>(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokestatic jdk.dynalink.linker.support.Guards.getClassGuard:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
aload 1
invokestatic jdk.dynalink.linker.support.Guards.getInstanceOfGuard:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
invokespecial jdk.dynalink.beans.AbstractJavaLinker.<init>:(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
1: aload 1
invokevirtual java.lang.Class.isArray:()Z
ifeq 4
2: aload 0
ldc "length"
aload 1
invokestatic java.lang.invoke.MethodHandles.arrayLength:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.EXACT_CLASS:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
invokevirtual jdk.dynalink.beans.BeanLinker.setPropertyGetter:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
3: goto 9
StackMap locals: jdk.dynalink.beans.BeanLinker java.lang.Class
StackMap stack:
4: ldc Ljava/util/Collection;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 7
5: aload 0
ldc "length"
getstatic jdk.dynalink.beans.BeanLinker.GET_COLLECTION_LENGTH:Ljava/lang/invoke/MethodHandle;
getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.INSTANCE_OF:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
invokevirtual jdk.dynalink.beans.BeanLinker.setPropertyGetter:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
6: goto 9
StackMap locals:
StackMap stack:
7: ldc Ljava/util/Map;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 9
8: aload 0
ldc "length"
getstatic jdk.dynalink.beans.BeanLinker.GET_MAP_LENGTH:Ljava/lang/invoke/MethodHandle;
getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.INSTANCE_OF:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
invokevirtual jdk.dynalink.beans.BeanLinker.setPropertyGetter:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/dynalink/beans/BeanLinker;
0 10 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
clazz final
public boolean canLinkType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield jdk.dynalink.beans.BeanLinker.clazz:Ljava/lang/Class;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/dynalink/beans/BeanLinker;
0 2 1 type Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
type final
jdk.dynalink.beans.FacetIntrospector createFacetIntrospector();
descriptor: ()Ljdk/dynalink/beans/FacetIntrospector;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: new jdk.dynalink.beans.BeanIntrospector
dup
aload 0
getfield jdk.dynalink.beans.BeanLinker.clazz:Ljava/lang/Class;
invokespecial jdk.dynalink.beans.BeanIntrospector.<init>:(Ljava/lang/Class;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/dynalink/beans/BeanLinker;
protected jdk.dynalink.beans.GuardedInvocationComponent getGuardedInvocationComponent(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial jdk.dynalink.beans.AbstractJavaLinker.getGuardedInvocationComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
areturn
3: StackMap locals: jdk.dynalink.beans.GuardedInvocationComponent
StackMap stack:
aload 1
getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.namespaces:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 11
4: aload 1
getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.baseOperation:Ljdk/dynalink/Operation;
astore 3
start local 3 5: aload 1
getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.namespaces:Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.dynalink.Namespace
astore 4
start local 4 6: aload 4
getstatic jdk.dynalink.StandardNamespace.ELEMENT:Ljdk/dynalink/StandardNamespace;
if_acmpne 11
7: aload 3
getstatic jdk.dynalink.StandardOperation.GET:Ljdk/dynalink/StandardOperation;
if_acmpne 9
8: aload 0
aload 1
invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.popNamespace:()Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
invokevirtual jdk.dynalink.beans.BeanLinker.getElementGetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
areturn
9: StackMap locals: jdk.dynalink.Operation jdk.dynalink.Namespace
StackMap stack:
aload 3
getstatic jdk.dynalink.StandardOperation.SET:Ljdk/dynalink/StandardOperation;
if_acmpne 11
10: aload 0
aload 1
invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.popNamespace:()Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
invokevirtual jdk.dynalink.beans.BeanLinker.getElementSetter:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
areturn
end local 4 end local 3 11: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/dynalink/beans/BeanLinker;
0 12 1 req Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
1 12 2 superGic Ljdk/dynalink/beans/GuardedInvocationComponent;
5 11 3 op Ljdk/dynalink/Operation;
6 11 4 ns Ljdk/dynalink/Namespace;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
req final
jdk.dynalink.beans.SingleDynamicMethod getConstructorMethod(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/dynalink/beans/SingleDynamicMethod;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/dynalink/beans/BeanLinker;
0 1 1 signature Ljava/lang/String;
MethodParameters:
Name Flags
signature final
private static java.lang.invoke.MethodHandle dropObjectArguments(java.lang.invoke.MethodHandle, int);
descriptor: (Ljava/lang/invoke/MethodHandle;I)Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
iload 1
ldc Ljava/lang/Object;
invokestatic java.util.Collections.nCopies:(ILjava/lang/Object;)Ljava/util/List;
invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;ILjava/util/List;)Ljava/lang/invoke/MethodHandle;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 m Ljava/lang/invoke/MethodHandle;
0 1 1 n I
MethodParameters:
Name Flags
m final
n final
private jdk.dynalink.beans.GuardedInvocationComponent getElementGetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=18, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.getDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
astore 2
start local 2 1: aload 1
getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.name:Ljava/lang/Object;
astore 3
start local 3 2: aload 3
ifnull 3
iconst_1
goto 4
StackMap locals: jdk.dynalink.CallSiteDescriptor java.lang.Object
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 4
start local 4 5: aload 2
iload 4
ifeq 6
iconst_1
goto 7
StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int
StackMap stack: jdk.dynalink.CallSiteDescriptor
6: iconst_2
StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int
StackMap stack: jdk.dynalink.CallSiteDescriptor int
7: invokestatic jdk.dynalink.beans.BeanLinker.assertParameterCount:(Ljdk/dynalink/CallSiteDescriptor;I)V
8: aload 1
getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.linkerServices:Ljdk/dynalink/linker/LinkerServices;
astore 5
start local 5 9: aload 2
invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
astore 6
start local 6 10: aload 6
iconst_0
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 7
start local 7 11: aload 0
aload 1
invokevirtual jdk.dynalink.beans.BeanLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
astore 8
start local 8 12: aload 7
invokevirtual java.lang.Class.isArray:()Z
ifeq 16
13: aload 7
invokestatic java.lang.invoke.MethodHandles.arrayElementGetter:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
aload 5
invokestatic jdk.dynalink.beans.BeanLinker.createInternalFilteredGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
astore 9
start local 9 14: getstatic jdk.dynalink.beans.BeanLinker$CollectionType.ARRAY:Ljdk/dynalink/beans/BeanLinker$CollectionType;
astore 10
start local 10 15: goto 41
end local 10 end local 9 StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType java.lang.Class jdk.dynalink.beans.GuardedInvocationComponent
StackMap stack:
16: ldc Ljava/util/List;
aload 7
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 20
17: getstatic jdk.dynalink.beans.BeanLinker.GET_LIST_ELEMENT:Ljava/lang/invoke/MethodHandle;
aload 5
invokestatic jdk.dynalink.beans.BeanLinker.createInternalFilteredGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
astore 9
start local 9 18: getstatic jdk.dynalink.beans.BeanLinker$CollectionType.LIST:Ljdk/dynalink/beans/BeanLinker$CollectionType;
astore 10
start local 10 19: goto 41
end local 10 end local 9 StackMap locals:
StackMap stack:
20: ldc Ljava/util/Map;
aload 7
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 24
21: getstatic jdk.dynalink.beans.BeanLinker.GET_MAP_ELEMENT:Ljava/lang/invoke/MethodHandle;
aload 5
invokestatic jdk.dynalink.beans.BeanLinker.createInternalFilteredGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
astore 9
start local 9 22: getstatic jdk.dynalink.beans.BeanLinker$CollectionType.MAP:Ljdk/dynalink/beans/BeanLinker$CollectionType;
astore 10
start local 10 23: goto 41
end local 10 end local 9 StackMap locals:
StackMap stack:
24: aload 0
getfield jdk.dynalink.beans.BeanLinker.clazz:Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 28
25: aload 0
aload 5
aload 0
getfield jdk.dynalink.beans.BeanLinker.clazz:Ljava/lang/Class;
invokestatic java.lang.invoke.MethodHandles.arrayElementGetter:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
invokeinterface jdk.dynalink.linker.LinkerServices.filterInternalObjects:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
aload 6
invokevirtual jdk.dynalink.beans.BeanLinker.getClassGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
astore 9
start local 9 26: getstatic jdk.dynalink.beans.BeanLinker$CollectionType.ARRAY:Ljdk/dynalink/beans/BeanLinker$CollectionType;
astore 10
start local 10 27: goto 41
end local 10 end local 9 StackMap locals:
StackMap stack:
28: ldc Ljava/util/List;
aload 0
getfield jdk.dynalink.beans.BeanLinker.clazz:Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 34
29: getstatic jdk.dynalink.beans.BeanLinker.GET_LIST_ELEMENT:Ljava/lang/invoke/MethodHandle;
getstatic jdk.dynalink.beans.BeanLinker.LIST_GUARD:Ljava/lang/invoke/MethodHandle;
aload 6
invokestatic jdk.dynalink.linker.support.Guards.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
ldc Ljava/util/List;
getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.INSTANCE_OF:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
30: aload 5
31: invokestatic jdk.dynalink.beans.BeanLinker.createInternalFilteredGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
astore 9
start local 9 32: getstatic jdk.dynalink.beans.BeanLinker$CollectionType.LIST:Ljdk/dynalink/beans/BeanLinker$CollectionType;
astore 10
start local 10 33: goto 41
end local 10 end local 9 StackMap locals:
StackMap stack:
34: ldc Ljava/util/Map;
aload 0
getfield jdk.dynalink.beans.BeanLinker.clazz:Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 40
35: getstatic jdk.dynalink.beans.BeanLinker.GET_MAP_ELEMENT:Ljava/lang/invoke/MethodHandle;
getstatic jdk.dynalink.beans.BeanLinker.MAP_GUARD:Ljava/lang/invoke/MethodHandle;
aload 6
invokestatic jdk.dynalink.linker.support.Guards.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
ldc Ljava/util/Map;
getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.INSTANCE_OF:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
36: aload 5
37: invokestatic jdk.dynalink.beans.BeanLinker.createInternalFilteredGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
astore 9
start local 9 38: getstatic jdk.dynalink.beans.BeanLinker$CollectionType.MAP:Ljdk/dynalink/beans/BeanLinker$CollectionType;
astore 10
start local 10 39: goto 41
end local 10 end local 9 40: StackMap locals:
StackMap stack:
aload 8
areturn
start local 9 start local 10 41: StackMap locals: jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$CollectionType
StackMap stack:
aload 10
getstatic jdk.dynalink.beans.BeanLinker$CollectionType.MAP:Ljdk/dynalink/beans/BeanLinker$CollectionType;
if_acmpeq 47
iload 4
ifeq 47
42: aload 3
aload 5
invokestatic jdk.dynalink.beans.BeanLinker.convertKeyToInteger:(Ljava/lang/Object;Ljdk/dynalink/linker/LinkerServices;)Ljava/lang/Integer;
astore 12
start local 12 43: aload 12
ifnull 44
aload 12
invokevirtual java.lang.Integer.intValue:()I
ifge 45
44: StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType java.lang.Class jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$CollectionType top java.lang.Integer
StackMap stack:
aload 8
areturn
45: StackMap locals:
StackMap stack:
aload 12
astore 11
end local 12 start local 11 46: goto 48
end local 11 47: StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType java.lang.Class jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$CollectionType
StackMap stack:
aload 3
astore 11
start local 11 48: StackMap locals: java.lang.Object
StackMap stack:
aload 9
invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getGuardedInvocation:()Ljdk/dynalink/linker/GuardedInvocation;
astore 12
start local 12 49: new jdk.dynalink.beans.BeanLinker$Binder
dup
aload 5
aload 6
aload 11
invokespecial jdk.dynalink.beans.BeanLinker$Binder.<init>:(Ljdk/dynalink/linker/LinkerServices;Ljava/lang/invoke/MethodType;Ljava/lang/Object;)V
astore 13
start local 13 50: aload 12
invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
astore 14
start local 14 51: invokestatic jdk.dynalink.beans.BeanLinker.$SWITCH_TABLE$jdk$dynalink$beans$BeanLinker$CollectionType:()[I
aload 10
invokevirtual jdk.dynalink.beans.BeanLinker$CollectionType.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 56
2: 52
3: 54
default: 58
}
52: StackMap locals: jdk.dynalink.linker.GuardedInvocation jdk.dynalink.beans.BeanLinker$Binder java.lang.invoke.MethodHandle
StackMap stack:
getstatic jdk.dynalink.beans.BeanLinker.RANGE_CHECK_LIST:Ljava/lang/invoke/MethodHandle;
aload 5
aload 2
invokestatic jdk.dynalink.beans.BeanLinker.convertArgToNumber:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandle;
astore 15
start local 15 53: goto 59
end local 15 54: StackMap locals:
StackMap stack:
aload 5
getstatic jdk.dynalink.beans.BeanLinker.CONTAINS_MAP:Ljava/lang/invoke/MethodHandle;
invokeinterface jdk.dynalink.linker.LinkerServices.filterInternalObjects:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
astore 15
start local 15 55: goto 59
end local 15 56: StackMap locals:
StackMap stack:
getstatic jdk.dynalink.beans.BeanLinker.RANGE_CHECK_ARRAY:Ljava/lang/invoke/MethodHandle;
aload 5
aload 2
invokestatic jdk.dynalink.beans.BeanLinker.convertArgToNumber:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandle;
astore 15
start local 15 57: goto 59
end local 15 58: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
start local 15 59: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
aload 8
ifnull 62
60: aload 8
astore 16
start local 16 61: goto 66
end local 16 62: StackMap locals:
StackMap stack:
iload 4
ifeq 63
getstatic jdk.dynalink.beans.BeanLinker.NULL_GETTER_1:Ljava/lang/invoke/MethodHandle;
goto 64
StackMap locals:
StackMap stack:
63: getstatic jdk.dynalink.beans.BeanLinker.NULL_GETTER_2:Ljava/lang/invoke/MethodHandle;
StackMap locals:
StackMap stack: java.lang.invoke.MethodHandle
64: astore 17
start local 17 65: aload 17
aload 6
aload 5
invokestatic jdk.dynalink.beans.BeanLinker.createGuardedInvocationComponentAsType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
astore 16
end local 17 start local 16 66: StackMap locals: jdk.dynalink.beans.GuardedInvocationComponent
StackMap stack:
aload 13
aload 14
invokevirtual jdk.dynalink.beans.BeanLinker$Binder.bind:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
67: aload 16
invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getGuardedInvocation:()Ljdk/dynalink/linker/GuardedInvocation;
invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
68: invokestatic jdk.dynalink.beans.BeanLinker.matchReturnTypes:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/beans/AbstractJavaLinker$MethodPair;
astore 17
start local 17 69: aload 16
aload 17
aload 13
aload 15
invokevirtual jdk.dynalink.beans.BeanLinker$Binder.bindTest:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
invokevirtual jdk.dynalink.beans.AbstractJavaLinker$MethodPair.guardWithTest:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
aload 12
invokevirtual jdk.dynalink.linker.GuardedInvocation.getGuard:()Ljava/lang/invoke/MethodHandle;
70: aload 9
invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getValidatorClass:()Ljava/lang/Class;
aload 9
invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getValidationType:()Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
71: invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.compose:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
areturn
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 72 0 this Ljdk/dynalink/beans/BeanLinker;
0 72 1 req Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
1 72 2 callSiteDescriptor Ljdk/dynalink/CallSiteDescriptor;
2 72 3 name Ljava/lang/Object;
5 72 4 isFixedKey Z
9 72 5 linkerServices Ljdk/dynalink/linker/LinkerServices;
10 72 6 callSiteType Ljava/lang/invoke/MethodType;
11 72 7 declaredType Ljava/lang/Class<*>;
12 72 8 nextComponent Ljdk/dynalink/beans/GuardedInvocationComponent;
14 16 9 gic Ljdk/dynalink/beans/GuardedInvocationComponent;
18 20 9 gic Ljdk/dynalink/beans/GuardedInvocationComponent;
22 24 9 gic Ljdk/dynalink/beans/GuardedInvocationComponent;
26 28 9 gic Ljdk/dynalink/beans/GuardedInvocationComponent;
32 34 9 gic Ljdk/dynalink/beans/GuardedInvocationComponent;
38 40 9 gic Ljdk/dynalink/beans/GuardedInvocationComponent;
41 72 9 gic Ljdk/dynalink/beans/GuardedInvocationComponent;
15 16 10 collectionType Ljdk/dynalink/beans/BeanLinker$CollectionType;
19 20 10 collectionType Ljdk/dynalink/beans/BeanLinker$CollectionType;
23 24 10 collectionType Ljdk/dynalink/beans/BeanLinker$CollectionType;
27 28 10 collectionType Ljdk/dynalink/beans/BeanLinker$CollectionType;
33 34 10 collectionType Ljdk/dynalink/beans/BeanLinker$CollectionType;
39 40 10 collectionType Ljdk/dynalink/beans/BeanLinker$CollectionType;
41 72 10 collectionType Ljdk/dynalink/beans/BeanLinker$CollectionType;
46 47 11 typedName Ljava/lang/Object;
48 72 11 typedName Ljava/lang/Object;
43 46 12 integer Ljava/lang/Integer;
49 72 12 gi Ljdk/dynalink/linker/GuardedInvocation;
50 72 13 binder Ljdk/dynalink/beans/BeanLinker$Binder;
51 72 14 invocation Ljava/lang/invoke/MethodHandle;
53 54 15 checkGuard Ljava/lang/invoke/MethodHandle;
55 56 15 checkGuard Ljava/lang/invoke/MethodHandle;
57 58 15 checkGuard Ljava/lang/invoke/MethodHandle;
59 72 15 checkGuard Ljava/lang/invoke/MethodHandle;
61 62 16 finalNextComponent Ljdk/dynalink/beans/GuardedInvocationComponent;
66 72 16 finalNextComponent Ljdk/dynalink/beans/GuardedInvocationComponent;
65 66 17 nullGetterHandle Ljava/lang/invoke/MethodHandle;
69 72 17 matchedInvocations Ljdk/dynalink/beans/AbstractJavaLinker$MethodPair;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
req final
private static jdk.dynalink.beans.GuardedInvocationComponent createInternalFilteredGuardedInvocationComponent(java.lang.invoke.MethodHandle, jdk.dynalink.linker.LinkerServices);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new jdk.dynalink.beans.GuardedInvocationComponent
dup
aload 1
aload 0
invokeinterface jdk.dynalink.linker.LinkerServices.filterInternalObjects:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
invokespecial jdk.dynalink.beans.GuardedInvocationComponent.<init>:(Ljava/lang/invoke/MethodHandle;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 invocation Ljava/lang/invoke/MethodHandle;
0 1 1 linkerServices Ljdk/dynalink/linker/LinkerServices;
MethodParameters:
Name Flags
invocation final
linkerServices final
private static jdk.dynalink.beans.GuardedInvocationComponent createGuardedInvocationComponentAsType(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, jdk.dynalink.linker.LinkerServices);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new jdk.dynalink.beans.GuardedInvocationComponent
dup
aload 2
aload 0
aload 1
invokeinterface jdk.dynalink.linker.LinkerServices.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
invokespecial jdk.dynalink.beans.GuardedInvocationComponent.<init>:(Ljava/lang/invoke/MethodHandle;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 invocation Ljava/lang/invoke/MethodHandle;
0 1 1 fromType Ljava/lang/invoke/MethodType;
0 1 2 linkerServices Ljdk/dynalink/linker/LinkerServices;
MethodParameters:
Name Flags
invocation final
fromType final
linkerServices final
private static jdk.dynalink.beans.GuardedInvocationComponent createInternalFilteredGuardedInvocationComponent(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.Class<?>, jdk.dynalink.beans.GuardedInvocationComponent$ValidationType, jdk.dynalink.linker.LinkerServices);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new jdk.dynalink.beans.GuardedInvocationComponent
dup
aload 4
aload 0
invokeinterface jdk.dynalink.linker.LinkerServices.filterInternalObjects:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
aload 1
1: aload 2
aload 3
2: invokespecial jdk.dynalink.beans.GuardedInvocationComponent.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 invocation Ljava/lang/invoke/MethodHandle;
0 3 1 guard Ljava/lang/invoke/MethodHandle;
0 3 2 validatorClass Ljava/lang/Class<*>;
0 3 3 validationType Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
0 3 4 linkerServices Ljdk/dynalink/linker/LinkerServices;
Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
MethodParameters:
Name Flags
invocation final
guard final
validatorClass final
validationType final
linkerServices final
private static java.lang.Integer convertKeyToInteger(java.lang.Object, jdk.dynalink.linker.LinkerServices);
descriptor: (Ljava/lang/Object;Ljdk/dynalink/linker/LinkerServices;)Ljava/lang/Integer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
instanceof java.lang.Integer
ifeq 2
1: aload 0
checkcast java.lang.Integer
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Number
ifeq 5
3: aload 0
checkcast java.lang.Number
astore 2
start local 2 4: goto 23
end local 2 5: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 3
start local 3 6: aload 1
aload 3
ldc Ljava/lang/Number;
invokeinterface jdk.dynalink.linker.LinkerServices.canConvert:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 17
7: aload 1
aload 3
ldc Ljava/lang/Number;
invokeinterface jdk.dynalink.linker.LinkerServices.getTypeConverter:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
aload 0
invokevirtual java.lang.invoke.MethodHandle.invoke:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 8: goto 13
end local 4 StackMap locals: java.lang.Object jdk.dynalink.linker.LinkerServices top java.lang.Class
StackMap stack: java.lang.Throwable
9: astore 5
start local 5 10: aload 5
athrow
end local 5 11: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
start local 5 12: new java.lang.RuntimeException
dup
aload 5
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 start local 4 13: StackMap locals: java.lang.Object
StackMap stack:
aload 4
instanceof java.lang.Number
ifne 15
14: aconst_null
areturn
15: StackMap locals:
StackMap stack:
aload 4
checkcast java.lang.Number
astore 2
end local 4 start local 2 16: goto 23
end local 2 StackMap locals:
StackMap stack:
17: aload 0
instanceof java.lang.String
ifeq 22
18: aload 0
checkcast java.lang.String
invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
19: areturn
20: StackMap locals:
StackMap stack: java.lang.NumberFormatException
pop
21: aconst_null
areturn
22: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 start local 2 23: StackMap locals: java.lang.Object jdk.dynalink.linker.LinkerServices java.lang.Number
StackMap stack:
aload 2
instanceof java.lang.Integer
ifeq 25
24: aload 2
checkcast java.lang.Integer
areturn
25: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Number.intValue:()I
istore 3
start local 3 26: aload 2
invokevirtual java.lang.Number.doubleValue:()D
dstore 4
start local 4 27: iload 3
i2d
dload 4
dcmpl
ifeq 29
dload 4
invokestatic java.lang.Double.isInfinite:(D)Z
ifne 29
28: aconst_null
areturn
29: StackMap locals: int double
StackMap stack:
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 fixedKey Ljava/lang/Object;
0 30 1 linkerServices Ljdk/dynalink/linker/LinkerServices;
4 5 2 n Ljava/lang/Number;
16 17 2 n Ljava/lang/Number;
23 30 2 n Ljava/lang/Number;
6 23 3 keyClass Ljava/lang/Class<*>;
8 9 4 val Ljava/lang/Object;
13 16 4 val Ljava/lang/Object;
10 11 5 e Ljava/lang/Throwable;
12 13 5 t Ljava/lang/Throwable;
26 30 3 intIndex I
27 30 4 doubleValue D
Exception table:
from to target type
7 8 9 Class java.lang.Exception
7 8 9 Class java.lang.Error
7 8 11 Class java.lang.Throwable
18 19 20 Class java.lang.NumberFormatException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
fixedKey final
linkerServices final
private static java.lang.invoke.MethodHandle convertArgToNumber(java.lang.invoke.MethodHandle, jdk.dynalink.linker.LinkerServices, jdk.dynalink.CallSiteDescriptor);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
iconst_1
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 3
start local 3 1: aload 3
ldc Ljava/lang/Number;
invokestatic jdk.dynalink.linker.support.TypeUtilities.isMethodInvocationConvertible:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 3
2: aload 0
areturn
3: StackMap locals: java.lang.Class
StackMap stack:
aload 1
aload 3
ldc Ljava/lang/Number;
invokeinterface jdk.dynalink.linker.LinkerServices.canConvert:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 8
4: aload 1
aload 3
ldc Ljava/lang/Number;
invokeinterface jdk.dynalink.linker.LinkerServices.getTypeConverter:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
astore 4
start local 4 5: aload 0
iconst_1
iconst_1
anewarray java.lang.invoke.MethodHandle
dup
iconst_0
aload 4
aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
6: aload 0
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 4 8: StackMap locals:
StackMap stack:
aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 mh Ljava/lang/invoke/MethodHandle;
0 9 1 ls Ljdk/dynalink/linker/LinkerServices;
0 9 2 desc Ljdk/dynalink/CallSiteDescriptor;
1 9 3 sourceType Ljava/lang/Class<*>;
5 8 4 converter Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
mh final
ls final
desc final
private static java.lang.invoke.MethodHandle findRangeCheck(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
ldc "rangeCheck"
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
iconst_2
anewarray java.lang.Class
dup
iconst_0
aload 0
aastore
dup
iconst_1
ldc Ljava/lang/Object;
aastore
invokestatic jdk.dynalink.linker.support.Lookup.findOwnStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 collectionType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
collectionType final
private static boolean rangeCheck(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.Number
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Number
astore 2
start local 2 3: aload 2
invokevirtual java.lang.Number.intValue:()I
istore 3
start local 3 4: iload 3
i2d
aload 2
invokevirtual java.lang.Number.doubleValue:()D
dcmpl
ifeq 6
5: iconst_0
ireturn
6: StackMap locals: java.lang.Number int
StackMap stack:
iload 3
iflt 7
iload 3
aload 0
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
if_icmpge 7
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 array Ljava/lang/Object;
0 8 1 index Ljava/lang/Object;
3 8 2 n Ljava/lang/Number;
4 8 3 intIndex I
MethodParameters:
Name Flags
array final
index final
private static boolean rangeCheck(java.util.List<?>, );
descriptor: (Ljava/util/List;Ljava/lang/Object;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.Number
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.Number
astore 2
start local 2 3: aload 2
invokevirtual java.lang.Number.intValue:()I
istore 3
start local 3 4: iload 3
i2d
aload 2
invokevirtual java.lang.Number.doubleValue:()D
dcmpl
ifeq 6
5: iconst_0
ireturn
6: StackMap locals: java.lang.Number int
StackMap stack:
iload 3
iflt 7
iload 3
aload 0
invokeinterface java.util.List.size:()I
if_icmpge 7
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 list Ljava/util/List<*>;
0 8 1 index Ljava/lang/Object;
3 8 2 n Ljava/lang/Number;
4 8 3 intIndex I
Signature: (Ljava/util/List<*>;Ljava/lang/Object;)Z
MethodParameters:
Name Flags
list final
index final
private static void noOpSetter();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=0, locals=0, args_size=0
0: return
LocalVariableTable:
Start End Slot Name Signature
private jdk.dynalink.beans.GuardedInvocationComponent getElementSetter(jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest);
descriptor: (Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=18, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.getDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
astore 2
start local 2 1: aload 1
getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.name:Ljava/lang/Object;
astore 3
start local 3 2: aload 3
ifnull 3
iconst_1
goto 4
StackMap locals: jdk.dynalink.CallSiteDescriptor java.lang.Object
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 4
start local 4 5: aload 2
iload 4
ifeq 6
iconst_2
goto 7
StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int
StackMap stack: jdk.dynalink.CallSiteDescriptor
6: iconst_3
StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int
StackMap stack: jdk.dynalink.CallSiteDescriptor int
7: invokestatic jdk.dynalink.beans.BeanLinker.assertParameterCount:(Ljdk/dynalink/CallSiteDescriptor;I)V
8: aload 1
getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.linkerServices:Ljdk/dynalink/linker/LinkerServices;
astore 5
start local 5 9: aload 2
invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
astore 6
start local 6 10: aload 6
iconst_0
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 7
start local 7 11: aload 7
invokevirtual java.lang.Class.isArray:()Z
ifeq 15
12: aload 7
invokestatic java.lang.invoke.MethodHandles.arrayElementSetter:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
aload 5
invokestatic jdk.dynalink.beans.BeanLinker.createInternalFilteredGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
astore 8
start local 8 13: getstatic jdk.dynalink.beans.BeanLinker$CollectionType.ARRAY:Ljdk/dynalink/beans/BeanLinker$CollectionType;
astore 9
start local 9 14: goto 45
end local 9 end local 8 StackMap locals: jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType java.lang.Class
StackMap stack:
15: ldc Ljava/util/List;
aload 7
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 19
16: getstatic jdk.dynalink.beans.BeanLinker.SET_LIST_ELEMENT:Ljava/lang/invoke/MethodHandle;
aload 5
invokestatic jdk.dynalink.beans.BeanLinker.createInternalFilteredGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
astore 8
start local 8 17: getstatic jdk.dynalink.beans.BeanLinker$CollectionType.LIST:Ljdk/dynalink/beans/BeanLinker$CollectionType;
astore 9
start local 9 18: goto 45
end local 9 end local 8 StackMap locals:
StackMap stack:
19: ldc Ljava/util/Map;
aload 7
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 23
20: getstatic jdk.dynalink.beans.BeanLinker.PUT_MAP_ELEMENT:Ljava/lang/invoke/MethodHandle;
aload 5
invokestatic jdk.dynalink.beans.BeanLinker.createInternalFilteredGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
astore 8
start local 8 21: getstatic jdk.dynalink.beans.BeanLinker$CollectionType.MAP:Ljdk/dynalink/beans/BeanLinker$CollectionType;
astore 9
start local 9 22: goto 45
end local 9 end local 8 StackMap locals:
StackMap stack:
23: aload 0
getfield jdk.dynalink.beans.BeanLinker.clazz:Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 31
24: aload 0
aload 5
25: aload 0
getfield jdk.dynalink.beans.BeanLinker.clazz:Ljava/lang/Class;
invokestatic java.lang.invoke.MethodHandles.arrayElementSetter:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
26: invokeinterface jdk.dynalink.linker.LinkerServices.filterInternalObjects:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
27: aload 6
28: invokevirtual jdk.dynalink.beans.BeanLinker.getClassGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
astore 8
start local 8 29: getstatic jdk.dynalink.beans.BeanLinker$CollectionType.ARRAY:Ljdk/dynalink/beans/BeanLinker$CollectionType;
astore 9
start local 9 30: goto 45
end local 9 end local 8 StackMap locals:
StackMap stack:
31: ldc Ljava/util/List;
aload 0
getfield jdk.dynalink.beans.BeanLinker.clazz:Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 37
32: getstatic jdk.dynalink.beans.BeanLinker.SET_LIST_ELEMENT:Ljava/lang/invoke/MethodHandle;
getstatic jdk.dynalink.beans.BeanLinker.LIST_GUARD:Ljava/lang/invoke/MethodHandle;
aload 6
invokestatic jdk.dynalink.linker.support.Guards.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
ldc Ljava/util/List;
getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.INSTANCE_OF:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
33: aload 5
34: invokestatic jdk.dynalink.beans.BeanLinker.createInternalFilteredGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
astore 8
start local 8 35: getstatic jdk.dynalink.beans.BeanLinker$CollectionType.LIST:Ljdk/dynalink/beans/BeanLinker$CollectionType;
astore 9
start local 9 36: goto 45
end local 9 end local 8 StackMap locals:
StackMap stack:
37: ldc Ljava/util/Map;
aload 0
getfield jdk.dynalink.beans.BeanLinker.clazz:Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 43
38: getstatic jdk.dynalink.beans.BeanLinker.PUT_MAP_ELEMENT:Ljava/lang/invoke/MethodHandle;
getstatic jdk.dynalink.beans.BeanLinker.MAP_GUARD:Ljava/lang/invoke/MethodHandle;
aload 6
invokestatic jdk.dynalink.linker.support.Guards.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
39: ldc Ljava/util/Map;
getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.INSTANCE_OF:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
aload 5
40: invokestatic jdk.dynalink.beans.BeanLinker.createInternalFilteredGuardedInvocationComponent:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
astore 8
start local 8 41: getstatic jdk.dynalink.beans.BeanLinker$CollectionType.MAP:Ljdk/dynalink/beans/BeanLinker$CollectionType;
astore 9
start local 9 42: goto 45
end local 9 end local 8 43: StackMap locals:
StackMap stack:
aconst_null
astore 8
start local 8 44: aconst_null
astore 9
start local 9 45: StackMap locals: jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$CollectionType
StackMap stack:
aload 9
getstatic jdk.dynalink.beans.BeanLinker$CollectionType.MAP:Ljdk/dynalink/beans/BeanLinker$CollectionType;
if_acmpne 46
aconst_null
goto 47
StackMap locals:
StackMap stack:
46: aload 0
aload 1
invokevirtual jdk.dynalink.beans.BeanLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
StackMap locals:
StackMap stack: jdk.dynalink.beans.GuardedInvocationComponent
47: astore 10
start local 10 48: aload 8
ifnonnull 50
49: aload 10
areturn
50: StackMap locals: jdk.dynalink.beans.GuardedInvocationComponent
StackMap stack:
aload 9
getstatic jdk.dynalink.beans.BeanLinker$CollectionType.MAP:Ljdk/dynalink/beans/BeanLinker$CollectionType;
if_acmpeq 56
iload 4
ifeq 56
51: aload 3
aload 5
invokestatic jdk.dynalink.beans.BeanLinker.convertKeyToInteger:(Ljava/lang/Object;Ljdk/dynalink/linker/LinkerServices;)Ljava/lang/Integer;
astore 12
start local 12 52: aload 12
ifnull 53
aload 12
invokevirtual java.lang.Integer.intValue:()I
ifge 54
53: StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType java.lang.Class jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$CollectionType jdk.dynalink.beans.GuardedInvocationComponent top java.lang.Integer
StackMap stack:
aload 10
areturn
54: StackMap locals:
StackMap stack:
aload 12
astore 11
end local 12 start local 11 55: goto 57
end local 11 56: StackMap locals: jdk.dynalink.beans.BeanLinker jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest jdk.dynalink.CallSiteDescriptor java.lang.Object int jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodType java.lang.Class jdk.dynalink.beans.GuardedInvocationComponent jdk.dynalink.beans.BeanLinker$CollectionType jdk.dynalink.beans.GuardedInvocationComponent
StackMap stack:
aload 3
astore 11
start local 11 57: StackMap locals: java.lang.Object
StackMap stack:
aload 8
invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getGuardedInvocation:()Ljdk/dynalink/linker/GuardedInvocation;
astore 12
start local 12 58: new jdk.dynalink.beans.BeanLinker$Binder
dup
aload 5
aload 6
aload 11
invokespecial jdk.dynalink.beans.BeanLinker$Binder.<init>:(Ljdk/dynalink/linker/LinkerServices;Ljava/lang/invoke/MethodType;Ljava/lang/Object;)V
astore 13
start local 13 59: aload 12
invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
astore 14
start local 14 60: aload 9
getstatic jdk.dynalink.beans.BeanLinker$CollectionType.MAP:Ljdk/dynalink/beans/BeanLinker$CollectionType;
if_acmpne 63
61: getstatic jdk.dynalink.beans.BeanLinker.$assertionsDisabled:Z
ifne 62
aload 10
ifnull 62
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
62: StackMap locals: jdk.dynalink.linker.GuardedInvocation jdk.dynalink.beans.BeanLinker$Binder java.lang.invoke.MethodHandle
StackMap stack:
aload 8
aload 13
aload 14
invokevirtual jdk.dynalink.beans.BeanLinker$Binder.bind:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.replaceInvocation:(Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/beans/GuardedInvocationComponent;
areturn
63: StackMap locals:
StackMap stack:
getstatic jdk.dynalink.beans.BeanLinker.$assertionsDisabled:Z
ifne 64
aload 9
getstatic jdk.dynalink.beans.BeanLinker$CollectionType.LIST:Ljdk/dynalink/beans/BeanLinker$CollectionType;
if_acmpeq 64
aload 9
getstatic jdk.dynalink.beans.BeanLinker$CollectionType.ARRAY:Ljdk/dynalink/beans/BeanLinker$CollectionType;
if_acmpeq 64
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
64: StackMap locals:
StackMap stack:
aload 9
getstatic jdk.dynalink.beans.BeanLinker$CollectionType.LIST:Ljdk/dynalink/beans/BeanLinker$CollectionType;
if_acmpne 65
getstatic jdk.dynalink.beans.BeanLinker.RANGE_CHECK_LIST:Ljava/lang/invoke/MethodHandle;
goto 66
65: StackMap locals:
StackMap stack:
getstatic jdk.dynalink.beans.BeanLinker.RANGE_CHECK_ARRAY:Ljava/lang/invoke/MethodHandle;
StackMap locals:
StackMap stack: java.lang.invoke.MethodHandle
66: aload 5
aload 2
67: invokestatic jdk.dynalink.beans.BeanLinker.convertArgToNumber:(Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/linker/LinkerServices;Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/invoke/MethodHandle;
astore 15
start local 15 68: aload 10
ifnull 71
69: aload 10
astore 16
start local 16 70: goto 75
end local 16 71: StackMap locals: java.lang.invoke.MethodHandle
StackMap stack:
iload 4
ifeq 72
getstatic jdk.dynalink.beans.BeanLinker.NO_OP_SETTER_2:Ljava/lang/invoke/MethodHandle;
goto 73
StackMap locals:
StackMap stack:
72: getstatic jdk.dynalink.beans.BeanLinker.NO_OP_SETTER_3:Ljava/lang/invoke/MethodHandle;
StackMap locals:
StackMap stack: java.lang.invoke.MethodHandle
73: astore 17
start local 17 74: aload 17
aload 6
aload 5
invokestatic jdk.dynalink.beans.BeanLinker.createGuardedInvocationComponentAsType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/beans/GuardedInvocationComponent;
astore 16
end local 17 start local 16 75: StackMap locals: jdk.dynalink.beans.GuardedInvocationComponent
StackMap stack:
aload 13
aload 14
invokevirtual jdk.dynalink.beans.BeanLinker$Binder.bind:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
76: aload 16
invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getGuardedInvocation:()Ljdk/dynalink/linker/GuardedInvocation;
invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
77: invokestatic jdk.dynalink.beans.BeanLinker.matchReturnTypes:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/beans/AbstractJavaLinker$MethodPair;
astore 17
start local 17 78: aload 16
aload 17
aload 13
aload 15
invokevirtual jdk.dynalink.beans.BeanLinker$Binder.bindTest:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
invokevirtual jdk.dynalink.beans.AbstractJavaLinker$MethodPair.guardWithTest:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
aload 12
invokevirtual jdk.dynalink.linker.GuardedInvocation.getGuard:()Ljava/lang/invoke/MethodHandle;
79: aload 8
invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getValidatorClass:()Ljava/lang/Class;
aload 8
invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.getValidationType:()Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
80: invokevirtual jdk.dynalink.beans.GuardedInvocationComponent.compose:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)Ljdk/dynalink/beans/GuardedInvocationComponent;
areturn
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 81 0 this Ljdk/dynalink/beans/BeanLinker;
0 81 1 req Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
1 81 2 callSiteDescriptor Ljdk/dynalink/CallSiteDescriptor;
2 81 3 name Ljava/lang/Object;
5 81 4 isFixedKey Z
9 81 5 linkerServices Ljdk/dynalink/linker/LinkerServices;
10 81 6 callSiteType Ljava/lang/invoke/MethodType;
11 81 7 declaredType Ljava/lang/Class<*>;
13 15 8 gic Ljdk/dynalink/beans/GuardedInvocationComponent;
17 19 8 gic Ljdk/dynalink/beans/GuardedInvocationComponent;
21 23 8 gic Ljdk/dynalink/beans/GuardedInvocationComponent;
29 31 8 gic Ljdk/dynalink/beans/GuardedInvocationComponent;
35 37 8 gic Ljdk/dynalink/beans/GuardedInvocationComponent;
41 43 8 gic Ljdk/dynalink/beans/GuardedInvocationComponent;
44 81 8 gic Ljdk/dynalink/beans/GuardedInvocationComponent;
14 15 9 collectionType Ljdk/dynalink/beans/BeanLinker$CollectionType;
18 19 9 collectionType Ljdk/dynalink/beans/BeanLinker$CollectionType;
22 23 9 collectionType Ljdk/dynalink/beans/BeanLinker$CollectionType;
30 31 9 collectionType Ljdk/dynalink/beans/BeanLinker$CollectionType;
36 37 9 collectionType Ljdk/dynalink/beans/BeanLinker$CollectionType;
42 43 9 collectionType Ljdk/dynalink/beans/BeanLinker$CollectionType;
45 81 9 collectionType Ljdk/dynalink/beans/BeanLinker$CollectionType;
48 81 10 nextComponent Ljdk/dynalink/beans/GuardedInvocationComponent;
55 56 11 typedName Ljava/lang/Object;
57 81 11 typedName Ljava/lang/Object;
52 55 12 integer Ljava/lang/Integer;
58 81 12 gi Ljdk/dynalink/linker/GuardedInvocation;
59 81 13 binder Ljdk/dynalink/beans/BeanLinker$Binder;
60 81 14 invocation Ljava/lang/invoke/MethodHandle;
68 81 15 checkGuard Ljava/lang/invoke/MethodHandle;
70 71 16 finalNextComponent Ljdk/dynalink/beans/GuardedInvocationComponent;
75 81 16 finalNextComponent Ljdk/dynalink/beans/GuardedInvocationComponent;
74 75 17 noOpSetterHandle Ljava/lang/invoke/MethodHandle;
78 81 17 matchedInvocations Ljdk/dynalink/beans/AbstractJavaLinker$MethodPair;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
req final
private static void assertParameterCount(jdk.dynalink.CallSiteDescriptor, int);
descriptor: (Ljdk/dynalink/CallSiteDescriptor;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iload 1
if_icmpeq 2
1: new java.lang.BootstrapMethodError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual jdk.dynalink.CallSiteDescriptor.getOperation:()Ljdk/dynalink/Operation;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " must have exactly "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " parameters."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.BootstrapMethodError.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 descriptor Ljdk/dynalink/CallSiteDescriptor;
0 3 1 paramCount I
MethodParameters:
Name Flags
descriptor final
paramCount final
static int[] $SWITCH_TABLE$jdk$dynalink$beans$BeanLinker$CollectionType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic jdk.dynalink.beans.BeanLinker.$SWITCH_TABLE$jdk$dynalink$beans$BeanLinker$CollectionType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.dynalink.beans.BeanLinker$CollectionType.values:()[Ljdk/dynalink/beans/BeanLinker$CollectionType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.dynalink.beans.BeanLinker$CollectionType.ARRAY:Ljdk/dynalink/beans/BeanLinker$CollectionType;
invokevirtual jdk.dynalink.beans.BeanLinker$CollectionType.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jdk.dynalink.beans.BeanLinker$CollectionType.LIST:Ljdk/dynalink/beans/BeanLinker$CollectionType;
invokevirtual jdk.dynalink.beans.BeanLinker$CollectionType.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.dynalink.beans.BeanLinker$CollectionType.MAP:Ljdk/dynalink/beans/BeanLinker$CollectionType;
invokevirtual jdk.dynalink.beans.BeanLinker$CollectionType.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic jdk.dynalink.beans.BeanLinker.$SWITCH_TABLE$jdk$dynalink$beans$BeanLinker$CollectionType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
}
SourceFile: "BeanLinker.java"
NestMembers:
jdk.dynalink.beans.BeanLinker$Binder jdk.dynalink.beans.BeanLinker$CollectionType
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
final ComponentLinkRequest = jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest of jdk.dynalink.beans.AbstractJavaLinker
MethodPair = jdk.dynalink.beans.AbstractJavaLinker$MethodPair of jdk.dynalink.beans.AbstractJavaLinker
private Binder = jdk.dynalink.beans.BeanLinker$Binder of jdk.dynalink.beans.BeanLinker
private final CollectionType = jdk.dynalink.beans.BeanLinker$CollectionType of jdk.dynalink.beans.BeanLinker
final ValidationType = jdk.dynalink.beans.GuardedInvocationComponent$ValidationType of jdk.dynalink.beans.GuardedInvocationComponent