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/LabeledStatement.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 java.util.ArrayList;
import java.util.List;
import org.mozilla.javascript.Token;
/**
* A labeled statement. A statement can have more than one label. In
* this AST representation, all labels for a statement are collapsed into
* the "labels" list of a single {@link LabeledStatement} node.
*
* <p>Node type is {@link Token#EXPR_VOID}.</p>
*/
public class LabeledStatement extends AstNode {
private List<Label> labels = new ArrayList<Label>(); // always at least 1
private AstNode statement;
{
type = Token.EXPR_VOID;
}
public LabeledStatement() {
}
public LabeledStatement(int pos) {
super(pos);
}
public LabeledStatement(int pos, int len) {
super(pos, len);
}
/**
* Returns label list
*/
public List<Label> getLabels() {
return labels;
}
/**
* Sets label list, setting the parent of each label
* in the list. Replaces any existing labels.
* @throws IllegalArgumentException} if labels is {@code null}
*/
public void setLabels(List<Label> labels) {
assertNotNull(labels);
if (this.labels != null)
this.labels.clear();
for (Label l : labels) {
addLabel(l);
}
}
/**
* Adds a label and sets its parent to this node.
* @throws IllegalArgumentException} if label is {@code null}
*/
public void addLabel(Label label) {
assertNotNull(label);
labels.add(label);
label.setParent(this);
}
/**
* Returns the labeled statement
*/
public AstNode getStatement() {
return statement;
}
/**
* Returns label with specified name from the label list for
* this labeled statement. Returns {@code null} if there is no
* label with that name in the list.
*/
public Label getLabelByName(String name) {
for (Label label : labels) {
if (name.equals(label.getName())) {
return label;
}
}
return null;
}
/**
* Sets the labeled statement, and sets its parent to this node.
* @throws IllegalArgumentException if {@code statement} is {@code null}
*/
public void setStatement(AstNode statement) {
assertNotNull(statement);
this.statement = statement;
statement.setParent(this);
}
public Label getFirstLabel() {
return labels.get(0);
}
@Override
public boolean hasSideEffects() {
// just to avoid the default case for EXPR_VOID in AstNode
return true;
}
@Override
public String toSource(int depth) {
StringBuilder sb = new StringBuilder();
for (Label label : labels) {
sb.append(label.toSource(depth)); // prints newline
}
sb.append(statement.toSource(depth + 1));
return sb.toString();
}
/**
* Visits this node, then each label in the label-list, and finally the
* statement.
*/
@Override
public void visit(NodeVisitor v) {
if (v.visit(this)) {
for (AstNode label : labels) {
label.visit(v);
}
statement.visit(v);
}
}
}
⏎ org/mozilla/javascript/ast/LabeledStatement.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, ≈99🔥, 1💬
Popular Posts:
JDK 11 java.sql.rowset.jmod is the JMOD file for JDK 11 SQL Rowset module. JDK 11 SQL Rowset module ...
Where to find answers to frequently asked questions on Downloading and Using JDK (Java Development K...
How to run "jarsigner" command from JDK tools.jar file? "jarsigner" command allows you to digitally ...
How to run "jarsigner" command from JDK tools.jar file? "jarsigner" command allows you to digitally ...
JDK 17 jdk.internal.vm.ci.jmod is the JMOD file for JDK 17 Internal VM CI module. JDK 17 Internal VM...