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/ForLoop.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;
/**
* C-style for-loop statement.
* Node type is {@link Token#FOR}.
*
* <pre><b>for</b> ( ExpressionNoInopt; Expressionopt ; Expressionopt ) Statement</pre>
* <pre><b>for</b> ( <b>var</b> VariableDeclarationListNoIn; Expressionopt ; Expressionopt ) Statement</pre>
*/
public class ForLoop extends Loop {
private AstNode initializer;
private AstNode condition;
private AstNode increment;
{
type = Token.FOR;
}
public ForLoop() {
}
public ForLoop(int pos) {
super(pos);
}
public ForLoop(int pos, int len) {
super(pos, len);
}
/**
* Returns loop initializer variable declaration list.
* This is either a {@link VariableDeclaration}, an
* {@link Assignment}, or an {@link InfixExpression} of
* type COMMA that chains multiple variable assignments.
*/
public AstNode getInitializer() {
return initializer;
}
/**
* Sets loop initializer expression, and sets its parent
* to this node. Virtually any expression can be in the initializer,
* so no error-checking is done other than a {@code null}-check.
* @param initializer loop initializer. Pass an
* {@link EmptyExpression} if the initializer is not specified.
* @throws IllegalArgumentException if condition is {@code null}
*/
public void setInitializer(AstNode initializer) {
assertNotNull(initializer);
this.initializer = initializer;
initializer.setParent(this);
}
/**
* Returns loop condition
*/
public AstNode getCondition() {
return condition;
}
/**
* Sets loop condition, and sets its parent to this node.
* @param condition loop condition. Pass an {@link EmptyExpression}
* if the condition is missing.
* @throws IllegalArgumentException} if condition is {@code null}
*/
public void setCondition(AstNode condition) {
assertNotNull(condition);
this.condition = condition;
condition.setParent(this);
}
/**
* Returns loop increment expression
*/
public AstNode getIncrement() {
return increment;
}
/**
* Sets loop increment expression, and sets its parent to
* this node.
* @param increment loop increment expression. Pass an
* {@link EmptyExpression} if increment is {@code null}.
* @throws IllegalArgumentException} if increment is {@code null}
*/
public void setIncrement(AstNode increment) {
assertNotNull(increment);
this.increment = increment;
increment.setParent(this);
}
@Override
public String toSource(int depth) {
StringBuilder sb = new StringBuilder();
sb.append(makeIndent(depth));
sb.append("for (");
sb.append(initializer.toSource(0));
sb.append("; ");
sb.append(condition.toSource(0));
sb.append("; ");
sb.append(increment.toSource(0));
sb.append(") ");
if(this.getInlineComment() != null) {
sb.append(this.getInlineComment().toSource()).append("\n");
}
if (body.getType() == Token.BLOCK) {
String bodySource = body.toSource(depth);
if(this.getInlineComment() == null) {
bodySource = bodySource.trim();
}
sb.append(bodySource).append("\n");
} else {
if(this.getInlineComment() == null) {
sb.append("\n");
}
sb.append(body.toSource(depth+1));
}
return sb.toString();
}
/**
* Visits this node, the initializer expression, the loop condition
* expression, the increment expression, and then the loop body.
*/
@Override
public void visit(NodeVisitor v) {
if (v.visit(this)) {
initializer.visit(v);
condition.visit(v);
increment.visit(v);
body.visit(v);
}
}
}
⏎ org/mozilla/javascript/ast/ForLoop.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, ≈113🔥, 1💬
Popular Posts:
JRE 5 sunjce_provider.jar is the JAR file for JRE 5 Sun JCE Provider, which provides implementations...
JDK 6 tools.jar is the JAR file for JDK 6 tools. It contains Java classes to support different JDK t...
ANTLR is a powerful parser generator for multiple programming languages including Java. ANTLR contai...
How to read XML document from socket connections with the socket\DelayedInput.java provided in the A...
JDK 11 java.desktop.jmod is the JMOD file for JDK 11 Desktop module. JDK 11 Desktop module compiled ...