Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
JDK 11 jdk.scripting.nashorn.jmod - Scripting Nashorn Module
JDK 11 jdk.scripting.nashorn.jmod is the JMOD file for JDK 11 Scripting Nashorn module.
JDK 11 Scripting Nashorn module compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\jdk.scripting.nashorn.jmod.
JDK 11 Scripting Nashorn module compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.
JDK 11 Scripting Nashorn module source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\jdk.scripting.nashorn.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ jdk/nashorn/internal/runtime/StructureLoader.java
/*
* Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package jdk.nashorn.internal.runtime;
import static jdk.nashorn.internal.codegen.Compiler.SCRIPTS_PACKAGE;
import static jdk.nashorn.internal.codegen.Compiler.binaryName;
import static jdk.nashorn.internal.codegen.CompilerConstants.JS_OBJECT_DUAL_FIELD_PREFIX;
import static jdk.nashorn.internal.codegen.CompilerConstants.JS_OBJECT_SINGLE_FIELD_PREFIX;
import java.lang.module.ModuleDescriptor;
import java.lang.module.ModuleDescriptor.Modifier;
import java.security.ProtectionDomain;
import java.util.Set;
import jdk.nashorn.internal.codegen.ObjectClassGenerator;
/**
* Responsible for on the fly construction of structure classes.
*/
final class StructureLoader extends NashornLoader {
private static final String SINGLE_FIELD_PREFIX = binaryName(SCRIPTS_PACKAGE) + '.' + JS_OBJECT_SINGLE_FIELD_PREFIX.symbolName();
private static final String DUAL_FIELD_PREFIX = binaryName(SCRIPTS_PACKAGE) + '.' + JS_OBJECT_DUAL_FIELD_PREFIX.symbolName();
private final Module structuresModule;
/**
* Constructor.
*/
StructureLoader(final ClassLoader parent) {
super(parent);
// new structures module, it's exports, read edges
structuresModule = createModule("jdk.scripting.nashorn.structures");
// specific exports from nashorn to the structures module
NASHORN_MODULE.addExports(SCRIPTS_PKG, structuresModule);
NASHORN_MODULE.addExports(RUNTIME_PKG, structuresModule);
// nashorn has to read fields from classes of the new module
NASHORN_MODULE.addReads(structuresModule);
}
private Module createModule(final String moduleName) {
final ModuleDescriptor descriptor =
ModuleDescriptor.newModule(moduleName, Set.of(Modifier.SYNTHETIC))
.requires(NASHORN_MODULE.getName())
.packages(Set.of(SCRIPTS_PKG))
.build();
final Module mod = Context.createModuleTrusted(descriptor, this);
loadModuleManipulator();
return mod;
}
/**
* Returns true if the class name represents a structure object with dual primitive/object fields.
* @param name a class name
* @return true if a dual field structure class
*/
private static boolean isDualFieldStructure(final String name) {
return name.startsWith(DUAL_FIELD_PREFIX);
}
/**
* Returns true if the class name represents a structure object with single object-only fields.
* @param name a class name
* @return true if a single field structure class
*/
static boolean isSingleFieldStructure(final String name) {
return name.startsWith(SINGLE_FIELD_PREFIX);
}
/**
* Returns true if the class name represents a Nashorn structure object.
* @param name a class name
* @return true if a structure class
*/
static boolean isStructureClass(final String name) {
return isDualFieldStructure(name) || isSingleFieldStructure(name);
}
Module getModule() {
return structuresModule;
}
@Override
protected Class<?> findClass(final String name) throws ClassNotFoundException {
if (isDualFieldStructure(name)) {
return generateClass(name, name.substring(DUAL_FIELD_PREFIX.length()), true);
} else if (isSingleFieldStructure(name)) {
return generateClass(name, name.substring(SINGLE_FIELD_PREFIX.length()), false);
}
return super.findClass(name);
}
/**
* Generate a layout class.
* @param name Name of class.
* @param descriptor Layout descriptor.
* @return Generated class.
*/
private Class<?> generateClass(final String name, final String descriptor, final boolean dualFields) {
final Context context = Context.getContextTrusted();
final byte[] code = new ObjectClassGenerator(context, dualFields).generate(descriptor);
return defineClass(name, code, 0, code.length, new ProtectionDomain(null, getPermissions(null)));
}
}
⏎ jdk/nashorn/internal/runtime/StructureLoader.java
Or download all of them as a single archive file:
File name: jdk.scripting.nashorn-11.0.1-src.zip File size: 1390965 bytes Release date: 2018-11-04 Download
⇒ JDK 11 jdk.scripting.nashorn.shell.jmod - Scripting Nashorn Shell Module
2020-04-25, ≈221🔥, 0💬
Popular Posts:
How to read XML document with XML Schema validation from socket connections with the socket\DelayedI...
JDK 11 jdk.scripting.nashorn.jm odis the JMOD file for JDK 11 Scripting Nashorn module. JDK 11 Scrip...
Where to get the Java source code for Connector/J 8.0 Core API module? Java source code files for Co...
What is the jaxp\TypeInfoWriter.java provided in the Apache Xerces package? I have Apache Xerces 2.1...
JAX-RPC is an API for building Web services and clients that used remote procedure calls (RPC) and X...