57 scriptModule = createModule("jdk.scripting.nashorn.scripts");
58
59 // specific exports from nashorn to new scripts module
60 NASHORN_MODULE.addExports(OBJECTS_PKG, scriptModule);
61 NASHORN_MODULE.addExports(RUNTIME_PKG, scriptModule);
62 NASHORN_MODULE.addExports(RUNTIME_ARRAYS_PKG, scriptModule);
63 NASHORN_MODULE.addExports(RUNTIME_LINKER_PKG, scriptModule);
64 NASHORN_MODULE.addExports(SCRIPTS_PKG, scriptModule);
65
66 // nashorn needs to read scripts module methods,fields
67 NASHORN_MODULE.addReads(scriptModule);
68 }
69
70 private Module createModule(final String moduleName) {
71 final Module structMod = context.getStructLoader().getModule();
72 final ModuleDescriptor.Builder builder =
73 ModuleDescriptor.newModule(moduleName, Set.of(Modifier.SYNTHETIC))
74 .requires("java.logging")
75 .requires(NASHORN_MODULE.getName())
76 .requires(structMod.getName())
77 .packages(Set.of(SCRIPTS_PKG));
78
79 if (Context.javaSqlFound) {
80 builder.requires("java.sql");
81 }
82
83 if (Context.javaSqlRowsetFound) {
84 builder.requires("java.sql.rowset");
85 }
86
87 final ModuleDescriptor descriptor = builder.build();
88
89 final Module mod = Context.createModuleTrusted(structMod.getLayer(), descriptor, this);
90 loadModuleManipulator();
91 return mod;
92 }
93
94 @Override
95 protected Class<?> loadClass(final String name, final boolean resolve) throws ClassNotFoundException {
96 checkPackageAccess(name);
97 final Class<?> cl = super.loadClass(name, resolve);
|
57 scriptModule = createModule("jdk.scripting.nashorn.scripts");
58
59 // specific exports from nashorn to new scripts module
60 NASHORN_MODULE.addExports(OBJECTS_PKG, scriptModule);
61 NASHORN_MODULE.addExports(RUNTIME_PKG, scriptModule);
62 NASHORN_MODULE.addExports(RUNTIME_ARRAYS_PKG, scriptModule);
63 NASHORN_MODULE.addExports(RUNTIME_LINKER_PKG, scriptModule);
64 NASHORN_MODULE.addExports(SCRIPTS_PKG, scriptModule);
65
66 // nashorn needs to read scripts module methods,fields
67 NASHORN_MODULE.addReads(scriptModule);
68 }
69
70 private Module createModule(final String moduleName) {
71 final Module structMod = context.getStructLoader().getModule();
72 final ModuleDescriptor.Builder builder =
73 ModuleDescriptor.newModule(moduleName, Set.of(Modifier.SYNTHETIC))
74 .requires("java.logging")
75 .requires(NASHORN_MODULE.getName())
76 .requires(structMod.getName())
77 .packages(Set.of(SCRIPTS_PKG))
78 .exports(SCRIPTS_PKG, Set.of(NASHORN_MODULE.getName()));
79
80 if (Context.javaSqlFound) {
81 builder.requires("java.sql");
82 }
83
84 if (Context.javaSqlRowsetFound) {
85 builder.requires("java.sql.rowset");
86 }
87
88 final ModuleDescriptor descriptor = builder.build();
89
90 final Module mod = Context.createModuleTrusted(structMod.getLayer(), descriptor, this);
91 loadModuleManipulator();
92 return mod;
93 }
94
95 @Override
96 protected Class<?> loadClass(final String name, final boolean resolve) throws ClassNotFoundException {
97 checkPackageAccess(name);
98 final Class<?> cl = super.loadClass(name, resolve);
|