final class jdk.nashorn.internal.runtime.ScriptLoader extends jdk.nashorn.internal.runtime.NashornLoader
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.nashorn.internal.runtime.ScriptLoader
super_class: jdk.nashorn.internal.runtime.NashornLoader
{
private static final java.lang.String NASHORN_PKG_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jdk.nashorn.internal."
private volatile boolean structureAccessAdded;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final jdk.nashorn.internal.runtime.Context context;
descriptor: Ljdk/nashorn/internal/runtime/Context;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Module scriptModule;
descriptor: Ljava/lang/Module;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
jdk.nashorn.internal.runtime.Context getContext();
descriptor: ()Ljdk/nashorn/internal/runtime/Context;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.ScriptLoader.context:Ljdk/nashorn/internal/runtime/Context;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/ScriptLoader;
void <init>(jdk.nashorn.internal.runtime.Context);
descriptor: (Ljdk/nashorn/internal/runtime/Context;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.runtime.Context.getStructLoader:()Ljdk/nashorn/internal/runtime/StructureLoader;
invokespecial jdk.nashorn.internal.runtime.NashornLoader.<init>:(Ljava/lang/ClassLoader;)V
1: aload 0
aload 1
putfield jdk.nashorn.internal.runtime.ScriptLoader.context:Ljdk/nashorn/internal/runtime/Context;
2: aload 0
aload 0
ldc "jdk.scripting.nashorn.scripts"
invokevirtual jdk.nashorn.internal.runtime.ScriptLoader.createModule:(Ljava/lang/String;)Ljava/lang/Module;
putfield jdk.nashorn.internal.runtime.ScriptLoader.scriptModule:Ljava/lang/Module;
3: getstatic jdk.nashorn.internal.runtime.ScriptLoader.NASHORN_MODULE:Ljava/lang/Module;
ldc "jdk.nashorn.internal.objects"
aload 0
getfield jdk.nashorn.internal.runtime.ScriptLoader.scriptModule:Ljava/lang/Module;
invokevirtual java.lang.Module.addExports:(Ljava/lang/String;Ljava/lang/Module;)Ljava/lang/Module;
pop
4: getstatic jdk.nashorn.internal.runtime.ScriptLoader.NASHORN_MODULE:Ljava/lang/Module;
ldc "jdk.nashorn.internal.runtime"
aload 0
getfield jdk.nashorn.internal.runtime.ScriptLoader.scriptModule:Ljava/lang/Module;
invokevirtual java.lang.Module.addExports:(Ljava/lang/String;Ljava/lang/Module;)Ljava/lang/Module;
pop
5: getstatic jdk.nashorn.internal.runtime.ScriptLoader.NASHORN_MODULE:Ljava/lang/Module;
ldc "jdk.nashorn.internal.runtime.arrays"
aload 0
getfield jdk.nashorn.internal.runtime.ScriptLoader.scriptModule:Ljava/lang/Module;
invokevirtual java.lang.Module.addExports:(Ljava/lang/String;Ljava/lang/Module;)Ljava/lang/Module;
pop
6: getstatic jdk.nashorn.internal.runtime.ScriptLoader.NASHORN_MODULE:Ljava/lang/Module;
ldc "jdk.nashorn.internal.runtime.linker"
aload 0
getfield jdk.nashorn.internal.runtime.ScriptLoader.scriptModule:Ljava/lang/Module;
invokevirtual java.lang.Module.addExports:(Ljava/lang/String;Ljava/lang/Module;)Ljava/lang/Module;
pop
7: getstatic jdk.nashorn.internal.runtime.ScriptLoader.NASHORN_MODULE:Ljava/lang/Module;
ldc "jdk.nashorn.internal.scripts"
aload 0
getfield jdk.nashorn.internal.runtime.ScriptLoader.scriptModule:Ljava/lang/Module;
invokevirtual java.lang.Module.addExports:(Ljava/lang/String;Ljava/lang/Module;)Ljava/lang/Module;
pop
8: getstatic jdk.nashorn.internal.runtime.ScriptLoader.NASHORN_MODULE:Ljava/lang/Module;
aload 0
getfield jdk.nashorn.internal.runtime.ScriptLoader.scriptModule:Ljava/lang/Module;
invokevirtual java.lang.Module.addReads:(Ljava/lang/Module;)Ljava/lang/Module;
pop
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/nashorn/internal/runtime/ScriptLoader;
0 10 1 context Ljdk/nashorn/internal/runtime/Context;
MethodParameters:
Name Flags
context final
private java.lang.Module createModule(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Module;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.runtime.ScriptLoader.context:Ljdk/nashorn/internal/runtime/Context;
invokevirtual jdk.nashorn.internal.runtime.Context.getStructLoader:()Ljdk/nashorn/internal/runtime/StructureLoader;
invokevirtual jdk.nashorn.internal.runtime.StructureLoader.getModule:()Ljava/lang/Module;
astore 2
start local 2 1: aload 1
getstatic java.lang.module.ModuleDescriptor$Modifier.SYNTHETIC:Ljava/lang/module/ModuleDescriptor$Modifier;
invokestatic java.util.Set.of:(Ljava/lang/Object;)Ljava/util/Set;
invokestatic java.lang.module.ModuleDescriptor.newModule:(Ljava/lang/String;Ljava/util/Set;)Ljava/lang/module/ModuleDescriptor$Builder;
2: ldc "java.logging"
invokevirtual java.lang.module.ModuleDescriptor$Builder.requires:(Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Builder;
3: getstatic jdk.nashorn.internal.runtime.ScriptLoader.NASHORN_MODULE:Ljava/lang/Module;
invokevirtual java.lang.Module.getName:()Ljava/lang/String;
invokevirtual java.lang.module.ModuleDescriptor$Builder.requires:(Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Builder;
4: aload 2
invokevirtual java.lang.Module.getName:()Ljava/lang/String;
invokevirtual java.lang.module.ModuleDescriptor$Builder.requires:(Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Builder;
5: ldc "jdk.nashorn.internal.scripts"
invokestatic java.util.Set.of:(Ljava/lang/Object;)Ljava/util/Set;
invokevirtual java.lang.module.ModuleDescriptor$Builder.packages:(Ljava/util/Set;)Ljava/lang/module/ModuleDescriptor$Builder;
6: astore 3
start local 3 7: getstatic jdk.nashorn.internal.runtime.Context.javaSqlFound:Z
ifeq 9
8: aload 3
ldc "java.sql"
invokevirtual java.lang.module.ModuleDescriptor$Builder.requires:(Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Builder;
pop
9: StackMap locals: java.lang.Module java.lang.module.ModuleDescriptor$Builder
StackMap stack:
getstatic jdk.nashorn.internal.runtime.Context.javaSqlRowsetFound:Z
ifeq 11
10: aload 3
ldc "java.sql.rowset"
invokevirtual java.lang.module.ModuleDescriptor$Builder.requires:(Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Builder;
pop
11: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.module.ModuleDescriptor$Builder.build:()Ljava/lang/module/ModuleDescriptor;
astore 4
start local 4 12: aload 2
invokevirtual java.lang.Module.getLayer:()Ljava/lang/ModuleLayer;
aload 4
aload 0
invokestatic jdk.nashorn.internal.runtime.Context.createModuleTrusted:(Ljava/lang/ModuleLayer;Ljava/lang/module/ModuleDescriptor;Ljava/lang/ClassLoader;)Ljava/lang/Module;
astore 5
start local 5 13: aload 0
invokevirtual jdk.nashorn.internal.runtime.ScriptLoader.loadModuleManipulator:()V
14: aload 5
areturn
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 15 0 this Ljdk/nashorn/internal/runtime/ScriptLoader;
0 15 1 moduleName Ljava/lang/String;
1 15 2 structMod Ljava/lang/Module;
7 15 3 builder Ljava/lang/module/ModuleDescriptor$Builder;
12 15 4 descriptor Ljava/lang/module/ModuleDescriptor;
13 15 5 mod Ljava/lang/Module;
MethodParameters:
Name Flags
moduleName final
protected java.lang.Class<?> loadClass(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic jdk.nashorn.internal.runtime.ScriptLoader.checkPackageAccess:(Ljava/lang/String;)V
1: aload 0
aload 1
iload 2
invokespecial jdk.nashorn.internal.runtime.NashornLoader.loadClass:(Ljava/lang/String;Z)Ljava/lang/Class;
astore 3
start local 3 2: aload 0
getfield jdk.nashorn.internal.runtime.ScriptLoader.structureAccessAdded:Z
ifne 7
3: aload 0
getfield jdk.nashorn.internal.runtime.ScriptLoader.context:Ljdk/nashorn/internal/runtime/Context;
invokevirtual jdk.nashorn.internal.runtime.Context.getStructLoader:()Ljdk/nashorn/internal/runtime/StructureLoader;
astore 4
start local 4 4: aload 3
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
aload 4
if_acmpne 7
5: aload 0
iconst_1
putfield jdk.nashorn.internal.runtime.ScriptLoader.structureAccessAdded:Z
6: aload 4
aload 0
getfield jdk.nashorn.internal.runtime.ScriptLoader.scriptModule:Ljava/lang/Module;
invokevirtual jdk.nashorn.internal.runtime.StructureLoader.addModuleExport:(Ljava/lang/Module;)V
end local 4 7: StackMap locals: java.lang.Class
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/runtime/ScriptLoader;
0 8 1 name Ljava/lang/String;
0 8 2 resolve Z
2 8 3 cl Ljava/lang/Class<*>;
4 7 4 structLoader Ljdk/nashorn/internal/runtime/StructureLoader;
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;Z)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name final
resolve final
protected java.lang.Class<?> findClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.runtime.ScriptLoader.context:Ljdk/nashorn/internal/runtime/Context;
invokevirtual jdk.nashorn.internal.runtime.Context.getAppLoader:()Ljava/lang/ClassLoader;
astore 2
start local 2 1: aload 2
ifnull 2
aload 1
ldc "jdk.nashorn.internal."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
2: StackMap locals: java.lang.ClassLoader
StackMap stack:
new java.lang.ClassNotFoundException
dup
aload 1
invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/nashorn/internal/runtime/ScriptLoader;
0 4 1 name Ljava/lang/String;
1 4 2 appLoader Ljava/lang/ClassLoader;
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name final
synchronized java.lang.Class<?> installClass(java.lang.String, byte[], java.security.CodeSource);
descriptor: (Ljava/lang/String;[BLjava/security/CodeSource;)Ljava/lang/Class;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iconst_0
aload 2
arraylength
aload 3
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.CodeSource
invokevirtual jdk.nashorn.internal.runtime.ScriptLoader.defineClass:(Ljava/lang/String;[BIILjava/security/CodeSource;)Ljava/lang/Class;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/ScriptLoader;
0 1 1 name Ljava/lang/String;
0 1 2 data [B
0 1 3 cs Ljava/security/CodeSource;
Signature: (Ljava/lang/String;[BLjava/security/CodeSource;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name final
data final
cs final
}
SourceFile: "ScriptLoader.java"
InnerClasses:
public final Builder = java.lang.module.ModuleDescriptor$Builder of java.lang.module.ModuleDescriptor
public final Modifier = java.lang.module.ModuleDescriptor$Modifier of java.lang.module.ModuleDescriptor