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:
Rhino JavaScript Java Library Source Code
Rhino JavaScript Java Library is an open-source implementation of JavaScript
written entirely in Java.
Rhino JavaScript Java Library Source Code files are provided in binary package (rhino-1.7.14.zip).
You can also browse the source code below:
✍: FYIcenter.com
⏎ org/mozilla/javascript/ast/LetNode.java
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.javascript.ast;
import org.mozilla.javascript.Token;
/**
* AST node for let statements and expressions.
* Node type is {@link Token#LET} or {@link Token#LETEXPR}.
*
* <pre> <i>LetStatement</i>:
* <b>let</b> ( VariableDeclarationList ) Block
* <i>LetExpression</i>:
* <b>let</b> ( VariableDeclarationList ) Expression</pre>
*
* Note that standalone let-statements with no parens or body block,
* such as {@code let x=6, y=7;}, are represented as a
* {@link VariableDeclaration} node of type {@code Token.LET},
* wrapped with an {@link ExpressionStatement}.
*/
public class LetNode extends Scope {
private VariableDeclaration variables;
private AstNode body;
private int lp = -1;
private int rp = -1;
{
type = Token.LETEXPR;
}
public LetNode() {
}
public LetNode(int pos) {
super(pos);
}
public LetNode(int pos, int len) {
super(pos, len);
}
/**
* Returns variable list
*/
public VariableDeclaration getVariables() {
return variables;
}
/**
* Sets variable list. Sets list parent to this node.
* @throws IllegalArgumentException if variables is {@code null}
*/
public void setVariables(VariableDeclaration variables) {
assertNotNull(variables);
this.variables = variables;
variables.setParent(this);
}
/**
* Returns body statement or expression. Body is {@code null} if the
* form of the let statement is similar to a VariableDeclaration, with no
* curly-brace. (This form is used to define let-bound variables in the
* scope of the current block.)<p>
*
* @return the body form
*/
public AstNode getBody() {
return body;
}
/**
* Sets body statement or expression. Also sets the body parent to this
* node.
* @param body the body statement or expression. May be
* {@code null}.
*/
public void setBody(AstNode body) {
this.body = body;
if (body != null)
body.setParent(this);
}
/**
* Returns left paren position, -1 if missing
*/
public int getLp() {
return lp;
}
/**
* Sets left paren position
*/
public void setLp(int lp) {
this.lp = lp;
}
/**
* Returns right paren position, -1 if missing
*/
public int getRp() {
return rp;
}
/**
* Sets right paren position
*/
public void setRp(int rp) {
this.rp = rp;
}
/**
* Sets both paren positions
*/
public void setParens(int lp, int rp) {
this.lp = lp;
this.rp = rp;
}
@Override
public String toSource(int depth) {
String pad = makeIndent(depth);
StringBuilder sb = new StringBuilder();
sb.append(pad);
sb.append("let (");
printList(variables.getVariables(), sb);
sb.append(") ");
if (body != null) {
sb.append(body.toSource(depth));
}
return sb.toString();
}
/**
* Visits this node, the variable list, and if present, the body
* expression or statement.
*/
@Override
public void visit(NodeVisitor v) {
if (v.visit(this)) {
variables.visit(v);
if (body != null) {
body.visit(v);
}
}
}
}
⏎ org/mozilla/javascript/ast/LetNode.java
Or download all of them as a single archive file:
File name: rhino-1.7.14-sources.jar File size: 1029165 bytes Release date: 2022-01-06 Download
⇒ Example code to Test rhino-runtime-1.7.14.jar
⇐ Download Rhino JavaScript Binary Package
2022-05-03, ≈169🔥, 1💬
Popular Posts:
What JAR files are required to run sax\Counter.java provided in the Apache Xerces package? You can f...
Where to get the Java source code for Connector/J 8.0 Core API module? Java source code files for Co...
What is the dom\GetElementsByTagName .javaprovided in the Apache Xerces package? I have Apache Xerce...
JLayer is a library that decodes/plays/converts MPEG 1/2/2.5 Layer 1/2/3 (i.e. MP3) in real time for...
JDK 11 jdk.localedata.jmod is the JMOD file for JDK 11 Localedata module. JDK 11 Locale Data module ...