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, ≈208🔥, 1💬
Popular Posts:
HttpComponents Client Source Code Files are provided in the source package file, httpcomponents-clie...
The Jakarta-ORO Java classes are a set of text-processing Java classes that provide Perl5 compatible...
commons-lang-2.6.jar is the JAR file for Apache Commons Lang 2.6, which provides a host of helper ut...
Where to get the Java source code for Connector/J 8.0 User Impl module? Java source code files for C...
How to read XML document with DTD validation from socket connections with the socket\DelayedInput.ja.. .