Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
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 (309)
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/codegen/types/ObjectType.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.codegen.types; import static jdk.internal.org.objectweb.asm.Opcodes.ACONST_NULL; import static jdk.internal.org.objectweb.asm.Opcodes.ALOAD; import static jdk.internal.org.objectweb.asm.Opcodes.ARETURN; import static jdk.internal.org.objectweb.asm.Opcodes.ASTORE; import static jdk.internal.org.objectweb.asm.Opcodes.CHECKCAST; import static jdk.internal.org.objectweb.asm.Opcodes.GETSTATIC; import static jdk.nashorn.internal.codegen.CompilerConstants.className; import static jdk.nashorn.internal.codegen.CompilerConstants.typeDescriptor; import java.lang.invoke.MethodHandle; import jdk.internal.org.objectweb.asm.Handle; import jdk.internal.org.objectweb.asm.MethodVisitor; import jdk.nashorn.internal.codegen.CompilerConstants; import jdk.nashorn.internal.runtime.JSType; import jdk.nashorn.internal.runtime.ScriptRuntime; import jdk.nashorn.internal.runtime.Undefined; /** * Type class: OBJECT This is the object type, used for all object types. It can * contain a class that is a more specialized object */ class ObjectType extends Type { private static final long serialVersionUID = 1L; protected ObjectType() { this(Object.class); } protected ObjectType(final Class<?> clazz) { super("object", clazz, clazz == Object.class ? Type.MAX_WEIGHT : 10, 1); } @Override public String toString() { return "object" + (getTypeClass() != Object.class ? "<type=" + getTypeClass().getSimpleName() + '>' : ""); } @Override public String getShortDescriptor() { return getTypeClass() == Object.class ? "Object" : getTypeClass().getSimpleName(); } @Override public Type add(final MethodVisitor method, final int programPoint) { invokestatic(method, ScriptRuntime.ADD); return Type.OBJECT; } @Override public Type load(final MethodVisitor method, final int slot) { assert slot != -1; method.visitVarInsn(ALOAD, slot); return this; } @Override public void store(final MethodVisitor method, final int slot) { assert slot != -1; method.visitVarInsn(ASTORE, slot); } @Override public Type loadUndefined(final MethodVisitor method) { method.visitFieldInsn(GETSTATIC, className(ScriptRuntime.class), "UNDEFINED", typeDescriptor(Undefined.class)); return UNDEFINED; } @Override public Type loadForcedInitializer(final MethodVisitor method) { method.visitInsn(ACONST_NULL); // TODO: do we need a special type for null, e.g. Type.NULL? It should be assignable to any other object type // without a checkast in convert. return OBJECT; } @Override public Type loadEmpty(final MethodVisitor method) { method.visitFieldInsn(GETSTATIC, className(ScriptRuntime.class), "EMPTY", typeDescriptor(Undefined.class)); return UNDEFINED; } @Override public Type ldc(final MethodVisitor method, final Object c) { if (c == null) { method.visitInsn(ACONST_NULL); } else if (c instanceof Undefined) { return loadUndefined(method); } else if (c instanceof String) { method.visitLdcInsn(c); return STRING; } else if (c instanceof Handle) { method.visitLdcInsn(c); return Type.typeFor(MethodHandle.class); } else { throw new UnsupportedOperationException("implementation missing for class " + c.getClass() + " value=" + c); } return Type.OBJECT; } @Override public Type convert(final MethodVisitor method, final Type to) { final boolean toString = to.isString(); if (!toString) { if (to.isArray()) { final Type elemType = ((ArrayType)to).getElementType(); //note that if this an array, things won't work. see {link @ArrayType} subclass. //we also have the unpleasant case of NativeArray which looks like an Object, but is //an array to the type system. This is treated specially at the known load points if (elemType.isString()) { method.visitTypeInsn(CHECKCAST, CompilerConstants.className(String[].class)); } else if (elemType.isNumber()) { method.visitTypeInsn(CHECKCAST, CompilerConstants.className(double[].class)); } else if (elemType.isLong()) { method.visitTypeInsn(CHECKCAST, CompilerConstants.className(long[].class)); } else if (elemType.isInteger()) { method.visitTypeInsn(CHECKCAST, CompilerConstants.className(int[].class)); } else { method.visitTypeInsn(CHECKCAST, CompilerConstants.className(Object[].class)); } return to; } else if (to.isObject()) { final Class<?> toClass = to.getTypeClass(); if(!toClass.isAssignableFrom(getTypeClass())) { method.visitTypeInsn(CHECKCAST, CompilerConstants.className(toClass)); } return to; } } else if (isString()) { return to; } if (to.isInteger()) { invokestatic(method, JSType.TO_INT32); } else if (to.isNumber()) { invokestatic(method, JSType.TO_NUMBER); } else if (to.isLong()) { invokestatic(method, JSType.TO_LONG); } else if (to.isBoolean()) { invokestatic(method, JSType.TO_BOOLEAN); } else if (to.isString()) { invokestatic(method, JSType.TO_PRIMITIVE_TO_STRING); } else if (to.isCharSequence()) { invokestatic(method, JSType.TO_PRIMITIVE_TO_CHARSEQUENCE); } else { throw new UnsupportedOperationException("Illegal conversion " + this + " -> " + to + " " + isString() + " " + toString); } return to; } @Override public void _return(final MethodVisitor method) { method.visitInsn(ARETURN); } @Override public char getBytecodeStackType() { return 'A'; } }
⏎ jdk/nashorn/internal/codegen/types/ObjectType.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, 107925👍, 0💬
Popular Posts:
JLayer is a library that decodes/plays/converts MPEG 1/2/2.5 Layer 1/2/3 (i.e. MP3) in real time for...
JasperReports, the world's most popular open source business intelligence and reporting engine and J...
How to download and install ojdbc7.jar for Oracle 12c R1? ojdbc8.jar for Oracle 12c R1 is a Java 7 a...
How to download and install JDK (Java Development Kit) 1.3? If you want to write Java applications, ...
JDK 11 jdk.crypto.ec.jmod is the JMOD file for JDK 11 Crypto EC module. JDK 11 Crypto EC module comp...