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/ir/VarNode.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.ir; import jdk.nashorn.internal.ir.annotations.Immutable; import jdk.nashorn.internal.ir.visitor.NodeVisitor; /** * Node represents a var/let declaration. */ @Immutable public final class VarNode extends Statement implements Assignment<IdentNode> { private static final long serialVersionUID = 1L; /** Var name. */ private final IdentNode name; /** Initialization expression. */ private final Expression init; /** Is this a var statement (as opposed to a "var" in a for loop statement) */ private final int flags; /** * source order id to be used for this node. If this is -1, then we * the default which is start position of this node. See also the * method Node::getSourceOrder. */ private final int sourceOrder; /** Flag for ES6 LET declaration */ public static final int IS_LET = 1 << 0; /** Flag for ES6 CONST declaration */ public static final int IS_CONST = 1 << 1; /** Flag that determines if this is the last function declaration in a function * This is used to micro optimize the placement of return value assignments for * a program node */ public static final int IS_LAST_FUNCTION_DECLARATION = 1 << 2; /** * Constructor * * @param lineNumber line number * @param token token * @param finish finish * @param name name of variable * @param init init node or null if just a declaration */ public VarNode(final int lineNumber, final long token, final int finish, final IdentNode name, final Expression init) { this(lineNumber, token, finish, name, init, 0); } private VarNode(final VarNode varNode, final IdentNode name, final Expression init, final int flags) { super(varNode); this.sourceOrder = -1; this.name = init == null ? name : name.setIsInitializedHere(); this.init = init; this.flags = flags; } /** * Constructor * * @param lineNumber line number * @param token token * @param finish finish * @param name name of variable * @param init init node or null if just a declaration * @param flags flags */ public VarNode(final int lineNumber, final long token, final int finish, final IdentNode name, final Expression init, final int flags) { this(lineNumber, token, -1, finish, name, init, flags); } /** * Constructor * * @param lineNumber line number * @param token token * @param sourceOrder source order * @param finish finish * @param name name of variable * @param init init node or null if just a declaration * @param flags flags */ public VarNode(final int lineNumber, final long token, final int sourceOrder, final int finish, final IdentNode name, final Expression init, final int flags) { super(lineNumber, token, finish); this.sourceOrder = sourceOrder; this.name = init == null ? name : name.setIsInitializedHere(); this.init = init; this.flags = flags; } @Override public int getSourceOrder() { return sourceOrder == -1? super.getSourceOrder() : sourceOrder; } @Override public boolean isAssignment() { return hasInit(); } @Override public IdentNode getAssignmentDest() { return isAssignment() ? name : null; } @Override public VarNode setAssignmentDest(final IdentNode n) { return setName(n); } @Override public Expression getAssignmentSource() { return isAssignment() ? getInit() : null; } /** * Is this a VAR node block scoped? This returns true for ECMAScript 6 LET and CONST nodes. * @return true if an ES6 LET or CONST node */ public boolean isBlockScoped() { return getFlag(IS_LET) || getFlag(IS_CONST); } /** * Is this an ECMAScript 6 LET node? * @return true if LET node */ public boolean isLet() { return getFlag(IS_LET); } /** * Is this an ECMAScript 6 CONST node? * @return true if CONST node */ public boolean isConst() { return getFlag(IS_CONST); } /** * Return the flags to use for symbols for this declaration. * @return the symbol flags */ public int getSymbolFlags() { if (isLet()) { return Symbol.IS_VAR | Symbol.IS_LET; } else if (isConst()) { return Symbol.IS_VAR | Symbol.IS_CONST; } return Symbol.IS_VAR; } /** * Does this variable declaration have an init value * @return true if an init exists, false otherwise */ public boolean hasInit() { return init != null; } /** * Assist in IR navigation. * @param visitor IR navigating visitor. */ @Override public Node accept(final NodeVisitor<? extends LexicalContext> visitor) { if (visitor.enterVarNode(this)) { // var is right associative, so visit init before name final Expression newInit = init == null ? null : (Expression)init.accept(visitor); final IdentNode newName = (IdentNode)name.accept(visitor); final VarNode newThis; if (name != newName || init != newInit) { newThis = new VarNode(this, newName, newInit, flags); } else { newThis = this; } return visitor.leaveVarNode(newThis); } return this; } @Override public void toString(final StringBuilder sb, final boolean printType) { sb.append(tokenType().getName()).append(' '); name.toString(sb, printType); if (init != null) { sb.append(" = "); init.toString(sb, printType); } } /** * If this is an assignment of the form {@code var x = init;}, get the init part. * @return the expression to initialize the variable to, null if just a declaration */ public Expression getInit() { return init; } /** * Reset the initialization expression * @param init new initialization expression * @return a node equivalent to this one except for the requested change. */ public VarNode setInit(final Expression init) { if (this.init == init) { return this; } return new VarNode(this, name, init, flags); } /** * Get the identifier for the variable * @return IdentNode representing the variable being set or declared */ public IdentNode getName() { return name; } /** * Reset the identifier for this VarNode * @param name new IdentNode representing the variable being set or declared * @return a node equivalent to this one except for the requested change. */ public VarNode setName(final IdentNode name) { if (this.name == name) { return this; } return new VarNode(this, name, init, flags); } private VarNode setFlags(final int flags) { if (this.flags == flags) { return this; } return new VarNode(this, name, init, flags); } /** * Check if a flag is set for this var node * @param flag flag * @return true if flag is set */ public boolean getFlag(final int flag) { return (flags & flag) == flag; } /** * Set a flag for this var node * @param flag flag * @return new node if flags changed, same otherwise */ public VarNode setFlag(final int flag) { return setFlags(flags | flag); } /** * Returns true if this is a function declaration. * @return true if this is a function declaration. */ public boolean isFunctionDeclaration() { return init instanceof FunctionNode && ((FunctionNode)init).isDeclared(); } }
⏎ jdk/nashorn/internal/ir/VarNode.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, 82883👍, 0💬
Popular Posts:
Commons DBCP provides Database Connection Pooling. JAR File Size and Download Location: File name: c...
Xalan-Java, Version 2.7.1, is an XSLT processor for transforming XML documents into HTML, text, or o...
The JSR 105 XML Digital Signature 1.0.1 FCS implementation provides an API and implementation that a...
How to download and install Apache XMLBeans-2.6.0.zip? If you want to try the XMLBeans Java library,...
JDK 11 jdk.jlink.jmod is the JMOD file for JDK 11 JLink tool, which can be invoked by the "jlink" co...