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, ≈154🔥, 1💬
Popular Posts:
MP3SPI is a Java Service Provider Interface that adds MP3 (MPEG 1/2/2.5 Layer 1/2/3) audio format su...
JRE 5 sunjce_provider.jar is the JAR file for JRE 5 Sun JCE Provider, which provides implementations...
What Is commons-logging-1.2.jar? commons-logging-1.2.jar is the JAR file for Apache Commons Logging ...
A stream buffer is a stream-based representation of an XML infoset in Java. Stream buffers are desig...
What Is ojdbc8.jar for Oracle 12c R2? ojdbc8.jar for Oracle 12c R2 is the JAR files of ojdbc.jar, JD...