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/ExpressionStatement.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 representing an expression in a statement context. The node type is
* {@link Token#EXPR_VOID} if inside a function, or else
* {@link Token#EXPR_RESULT} if inside a script.
*/
public class ExpressionStatement extends AstNode {
private AstNode expr;
{
type = Token.EXPR_VOID;
}
/**
* Called by the parser to set node type to EXPR_RESULT
* if this node is not within a Function.
*/
public void setHasResult() {
type = Token.EXPR_RESULT;
}
public ExpressionStatement() {
}
/**
* Constructs a new {@code ExpressionStatement} wrapping
* the specified expression. Sets this node's position to the
* position of the wrapped node, and sets the wrapped node's
* position to zero. Sets this node's length to the length of
* the wrapped node.
* @param expr the wrapped expression
* @param hasResult {@code true} if this expression has side
* effects. If true, sets node type to EXPR_RESULT, else to EXPR_VOID.
*/
public ExpressionStatement(AstNode expr, boolean hasResult) {
this(expr);
if (hasResult) setHasResult();
}
/**
* Constructs a new {@code ExpressionStatement} wrapping
* the specified expression. Sets this node's position to the
* position of the wrapped node, and sets the wrapped node's
* position to zero. Sets this node's length to the length of
* the wrapped node.
* @param expr the wrapped expression
*/
public ExpressionStatement(AstNode expr) {
this(expr.getPosition(), expr.getLength(), expr);
}
public ExpressionStatement(int pos, int len) {
super(pos, len);
}
/**
* Constructs a new {@code ExpressionStatement}
* @param expr the wrapped {@link AstNode}.
* The {@code ExpressionStatement}'s bounds are set to those of expr,
* and expr's parent is set to this node.
* @throws IllegalArgumentException if {@code expr} is null
*/
public ExpressionStatement(int pos, int len, AstNode expr) {
super(pos, len);
setExpression(expr);
}
/**
* Returns the wrapped expression
*/
public AstNode getExpression() {
return expr;
}
/**
* Sets the wrapped expression, and sets its parent to this node.
* @throws IllegalArgumentException} if expression is {@code null}
*/
public void setExpression(AstNode expression) {
assertNotNull(expression);
expr = expression;
expression.setParent(this);
setLineno(expression.getLineno());
}
/**
* Returns true if this node has side effects
* @throws IllegalStateException if expression has not yet
* been set.
*/
@Override
public boolean hasSideEffects() {
return type == Token.EXPR_RESULT || expr.hasSideEffects();
}
@Override
public String toSource(int depth) {
StringBuilder sb = new StringBuilder();
sb.append(expr.toSource(depth));
sb.append(";");
if(this.getInlineComment() != null) {
sb.append(this.getInlineComment().toSource(depth));
}
sb.append("\n");
return sb.toString();
}
/**
* Visits this node, then the wrapped statement.
*/
@Override
public void visit(NodeVisitor v) {
if (v.visit(this)) {
expr.visit(v);
}
}
}
⏎ org/mozilla/javascript/ast/ExpressionStatement.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, ≈205🔥, 1💬
Popular Posts:
JRE 5 sunjce_provider.jar is the JAR file for JRE 5 Sun JCE Provider, which provides implementations...
What is the jaxp\TypeInfoWriter.java provided in the Apache Xerces package? I have Apache Xerces 2.1...
JDK 11 jdk.dynalink.jmod is the JMOD file for JDK 11 Dynamic Linking module. JDK 11 Dynamic Linking ...
Apache Log4j API provides the interface that applications should code to and provides the adapter co...
What Is mail.jar of JavaMail 1.4.2? I got the JAR file from javamail-1.4.2.zip. mail.jar in javamail...