final class jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader
super_class: java.lang.Object
{
private static final java.lang.Module NASHORN_MODULE;
descriptor: Ljava/lang/Module;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.security.AccessControlContext CREATE_LOADER_ACC_CTXT;
descriptor: Ljava/security/AccessControlContext;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.security.AccessControlContext GET_CONTEXT_ACC_CTXT;
descriptor: Ljava/security/AccessControlContext;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Collection<java.lang.String> VISIBLE_INTERNAL_CLASS_NAMES;
descriptor: Ljava/util/Collection;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Collection<Ljava/lang/String;>;
private final java.lang.String className;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] classBytes;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, 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=6, locals=0, args_size=0
0: ldc Ljdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader;
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.nashorn.internal.runtime.linker.JavaAdapterClassLoader.$assertionsDisabled:Z
3: ldc Ljdk/nashorn/internal/runtime/Context;
invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader.NASHORN_MODULE:Ljava/lang/Module;
4: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "createClassLoader"
aastore
invokestatic jdk.nashorn.internal.runtime.linker.ClassAndLoader.createPermAccCtxt:([Ljava/lang/String;)Ljava/security/AccessControlContext;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader.CREATE_LOADER_ACC_CTXT:Ljava/security/AccessControlContext;
5: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "nashorn.getContext"
aastore
invokestatic jdk.nashorn.internal.runtime.linker.ClassAndLoader.createPermAccCtxt:([Ljava/lang/String;)Ljava/security/AccessControlContext;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader.GET_CONTEXT_ACC_CTXT:Ljava/security/AccessControlContext;
6: new java.util.HashSet
dup
iconst_4
anewarray java.lang.String
dup
iconst_0
7: ldc Ljdk/nashorn/internal/runtime/linker/JavaAdapterServices;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_1
ldc Ljdk/nashorn/internal/runtime/ScriptObject;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_2
ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_3
ldc Ljdk/nashorn/internal/runtime/JSType;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
8: invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
invokestatic java.util.Collections.unmodifiableCollection:(Ljava/util/Collection;)Ljava/util/Collection;
putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader.VISIBLE_INTERNAL_CLASS_NAMES:Ljava/util/Collection;
9: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
putfield jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader.className:Ljava/lang/String;
2: aload 0
aload 2
putfield jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader.classBytes:[B
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader;
0 4 1 className Ljava/lang/String;
0 4 2 classBytes [B
MethodParameters:
Name Flags
className final
classBytes final
jdk.dynalink.beans.StaticClass generateClass(java.lang.ClassLoader, java.security.ProtectionDomain);
descriptor: (Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljdk/dynalink/beans/StaticClass;
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader.$assertionsDisabled:Z
ifne 1
aload 2
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader$1
dup
aload 0
aload 1
aload 2
invokespecial jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader$1.<init>:(Ljdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader;Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)V
2: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader.CREATE_LOADER_ACC_CTXT:Ljava/security/AccessControlContext;
3: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
checkcast jdk.dynalink.beans.StaticClass
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader;
0 4 1 parentLoader Ljava/lang/ClassLoader;
0 4 2 protectionDomain Ljava/security/ProtectionDomain;
MethodParameters:
Name Flags
parentLoader final
protectionDomain final
private java.lang.ClassLoader createClassLoader(java.lang.ClassLoader, java.security.ProtectionDomain);
descriptor: (Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/ClassLoader;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader$2
dup
aload 0
aload 1
aload 2
invokespecial jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader$2.<init>:(Ljdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader;Ljava/lang/ClassLoader;Ljava/security/ProtectionDomain;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader;
0 1 1 parentLoader Ljava/lang/ClassLoader;
0 1 2 protectionDomain Ljava/security/ProtectionDomain;
MethodParameters:
Name Flags
parentLoader final
protectionDomain final
}
SourceFile: "JavaAdapterClassLoader.java"
NestMembers:
jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader$1 jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader$2 jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader$2$1
InnerClasses:
jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader$1
jdk.nashorn.internal.runtime.linker.JavaAdapterClassLoader$2