class jdk.dynalink.beans.StaticClassLinker$SingleClassStaticsLinker extends jdk.dynalink.beans.AbstractJavaLinker
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.dynalink.beans.StaticClassLinker$SingleClassStaticsLinker
super_class: jdk.dynalink.beans.AbstractJavaLinker
{
private final jdk.dynalink.beans.DynamicMethod constructor;
descriptor: Ljdk/dynalink/beans/DynamicMethod;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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
getstatic jdk.dynalink.beans.StaticClassLinker.IS_CLASS:Ljava/lang/invoke/MethodHandle;
aload 1
invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
invokespecial jdk.dynalink.beans.AbstractJavaLinker.<init>:(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;)V
1: aload 0
ldc "class"
getstatic jdk.dynalink.beans.StaticClassLinker.GET_CLASS:Ljava/lang/invoke/MethodHandle;
getstatic jdk.dynalink.beans.GuardedInvocationComponent$ValidationType.INSTANCE_OF:Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;
invokevirtual jdk.dynalink.beans.StaticClassLinker$SingleClassStaticsLinker.setPropertyGetter:(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/dynalink/beans/GuardedInvocationComponent$ValidationType;)V
2: aload 0
aload 1
invokestatic jdk.dynalink.beans.StaticClassLinker$SingleClassStaticsLinker.createConstructorMethod:(Ljava/lang/Class;)Ljdk/dynalink/beans/DynamicMethod;
putfield jdk.dynalink.beans.StaticClassLinker$SingleClassStaticsLinker.constructor:Ljdk/dynalink/beans/DynamicMethod;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/dynalink/beans/StaticClassLinker$SingleClassStaticsLinker;
0 4 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
clazz final
private static jdk.dynalink.beans.DynamicMethod createConstructorMethod(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljdk/dynalink/beans/DynamicMethod;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.isArray:()Z
ifeq 7
1: getstatic jdk.dynalink.beans.StaticClassLinker.ARRAY_CTOR:Ljava/lang/invoke/MethodHandle;
aload 0
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
astore 1
start local 1 2: new jdk.dynalink.beans.SimpleDynamicMethod
dup
3: aload 1
aload 1
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
aload 0
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;
4: invokestatic jdk.dynalink.beans.StaticClassIntrospector.editConstructorMethodHandle:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
5: aload 0
ldc "<init>"
6: invokespecial jdk.dynalink.beans.SimpleDynamicMethod.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljava/lang/String;)V
areturn
end local 1 7: StackMap locals:
StackMap stack:
aload 0
invokestatic jdk.dynalink.beans.CheckRestrictedPackage.isRestrictedClass:(Ljava/lang/Class;)Z
ifeq 9
8: aconst_null
areturn
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getConstructors:()[Ljava/lang/reflect/Constructor;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 0
ldc "<init>"
invokestatic jdk.dynalink.beans.StaticClassLinker$SingleClassStaticsLinker.createDynamicMethod:(Ljava/lang/Iterable;Ljava/lang/Class;Ljava/lang/String;)Ljdk/dynalink/beans/DynamicMethod;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 clazz Ljava/lang/Class<*>;
2 7 1 boundArrayCtor Ljava/lang/invoke/MethodHandle;
Signature: (Ljava/lang/Class<*>;)Ljdk/dynalink/beans/DynamicMethod;
MethodParameters:
Name Flags
clazz 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.StaticClassIntrospector
dup
aload 0
getfield jdk.dynalink.beans.StaticClassLinker$SingleClassStaticsLinker.clazz:Ljava/lang/Class;
invokespecial jdk.dynalink.beans.StaticClassIntrospector.<init>:(Ljava/lang/Class;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/dynalink/beans/StaticClassLinker$SingleClassStaticsLinker;
public jdk.dynalink.linker.GuardedInvocation getGuardedInvocation(jdk.dynalink.linker.LinkRequest, jdk.dynalink.linker.LinkerServices);
descriptor: (Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/linker/GuardedInvocation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial jdk.dynalink.beans.AbstractJavaLinker.getGuardedInvocation:(Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/linker/GuardedInvocation;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
areturn
3: StackMap locals: jdk.dynalink.linker.GuardedInvocation
StackMap stack:
aload 1
invokeinterface jdk.dynalink.linker.LinkRequest.getCallSiteDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
astore 4
start local 4 4: aload 4
invokevirtual jdk.dynalink.CallSiteDescriptor.getOperation:()Ljdk/dynalink/Operation;
invokestatic jdk.dynalink.NamedOperation.getBaseOperation:(Ljdk/dynalink/Operation;)Ljdk/dynalink/Operation;
getstatic jdk.dynalink.StandardOperation.NEW:Ljdk/dynalink/StandardOperation;
if_acmpne 8
aload 0
getfield jdk.dynalink.beans.StaticClassLinker$SingleClassStaticsLinker.constructor:Ljdk/dynalink/beans/DynamicMethod;
ifnull 8
5: aload 0
getfield jdk.dynalink.beans.StaticClassLinker$SingleClassStaticsLinker.constructor:Ljdk/dynalink/beans/DynamicMethod;
aload 4
aload 2
invokevirtual jdk.dynalink.beans.DynamicMethod.getInvocation:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkerServices;)Ljava/lang/invoke/MethodHandle;
astore 5
start local 5 6: aload 5
ifnull 8
7: new jdk.dynalink.linker.GuardedInvocation
dup
aload 5
aload 0
aload 4
invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
invokevirtual jdk.dynalink.beans.StaticClassLinker$SingleClassStaticsLinker.getClassGuard:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
invokespecial jdk.dynalink.linker.GuardedInvocation.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
areturn
end local 5 8: StackMap locals: jdk.dynalink.CallSiteDescriptor
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/dynalink/beans/StaticClassLinker$SingleClassStaticsLinker;
0 9 1 request Ljdk/dynalink/linker/LinkRequest;
0 9 2 linkerServices Ljdk/dynalink/linker/LinkerServices;
1 9 3 gi Ljdk/dynalink/linker/GuardedInvocation;
4 9 4 desc Ljdk/dynalink/CallSiteDescriptor;
6 8 5 ctorInvocation Ljava/lang/invoke/MethodHandle;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
request final
linkerServices final
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=3, 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 7
4: aload 1
getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.namespaces:Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
getstatic jdk.dynalink.StandardNamespace.ELEMENT:Ljdk/dynalink/StandardNamespace;
if_acmpne 7
5: aload 1
getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.baseOperation:Ljdk/dynalink/Operation;
getstatic jdk.dynalink.StandardOperation.GET:Ljdk/dynalink/StandardOperation;
if_acmpeq 6
aload 1
getfield jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.baseOperation:Ljdk/dynalink/Operation;
getstatic jdk.dynalink.StandardOperation.SET:Ljdk/dynalink/StandardOperation;
if_acmpne 7
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest.popNamespace:()Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
invokevirtual jdk.dynalink.beans.StaticClassLinker$SingleClassStaticsLinker.getNextComponent:(Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;)Ljdk/dynalink/beans/GuardedInvocationComponent;
areturn
7: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/dynalink/beans/StaticClassLinker$SingleClassStaticsLinker;
0 8 1 req Ljdk/dynalink/beans/AbstractJavaLinker$ComponentLinkRequest;
1 8 2 superGic Ljdk/dynalink/beans/GuardedInvocationComponent;
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=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.dynalink.beans.StaticClassLinker$SingleClassStaticsLinker.constructor:Ljdk/dynalink/beans/DynamicMethod;
ifnull 1
aload 0
getfield jdk.dynalink.beans.StaticClassLinker$SingleClassStaticsLinker.constructor:Ljdk/dynalink/beans/DynamicMethod;
aload 1
invokevirtual jdk.dynalink.beans.DynamicMethod.getMethodForExactParamTypes:(Ljava/lang/String;)Ljdk/dynalink/beans/SingleDynamicMethod;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: jdk.dynalink.beans.SingleDynamicMethod
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/dynalink/beans/StaticClassLinker$SingleClassStaticsLinker;
0 3 1 signature Ljava/lang/String;
MethodParameters:
Name Flags
signature final
}
SourceFile: "StaticClassLinker.java"
NestHost: jdk.dynalink.beans.StaticClassLinker
InnerClasses:
final ComponentLinkRequest = jdk.dynalink.beans.AbstractJavaLinker$ComponentLinkRequest of jdk.dynalink.beans.AbstractJavaLinker
final ValidationType = jdk.dynalink.beans.GuardedInvocationComponent$ValidationType of jdk.dynalink.beans.GuardedInvocationComponent
private SingleClassStaticsLinker = jdk.dynalink.beans.StaticClassLinker$SingleClassStaticsLinker of jdk.dynalink.beans.StaticClassLinker