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/TryStatement.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.Collections;
import java.util.List;
import org.mozilla.javascript.Token;
/**
* Try/catch/finally statement. Node type is {@link Token#TRY}.
*
* <pre><i>TryStatement</i> :
* <b>try</b> Block Catch
* <b>try</b> Block Finally
* <b>try</b> Block Catch Finally
* <i>Catch</i> :
* <b>catch</b> ( <i><b>Identifier</b></i> ) Block
* <i>Finally</i> :
* <b>finally</b> Block</pre>
*/
public class TryStatement extends AstNode {
private static final List<CatchClause> NO_CATCHES =
Collections.unmodifiableList(new ArrayList<CatchClause>());
private AstNode tryBlock;
private List<CatchClause> catchClauses;
private AstNode finallyBlock;
private int finallyPosition = -1;
{
type = Token.TRY;
}
public TryStatement() {
}
public TryStatement(int pos) {
super(pos);
}
public TryStatement(int pos, int len) {
super(pos, len);
}
public AstNode getTryBlock() {
return tryBlock;
}
/**
* Sets try block. Also sets its parent to this node.
* @throws IllegalArgumentException} if {@code tryBlock} is {@code null}
*/
public void setTryBlock(AstNode tryBlock) {
assertNotNull(tryBlock);
this.tryBlock = tryBlock;
tryBlock.setParent(this);
}
/**
* Returns list of {@link CatchClause} nodes. If there are no catch
* clauses, returns an immutable empty list.
*/
public List<CatchClause> getCatchClauses() {
return catchClauses != null ? catchClauses : NO_CATCHES;
}
/**
* Sets list of {@link CatchClause} nodes. Also sets their parents
* to this node. May be {@code null}. Replaces any existing catch
* clauses for this node.
*/
public void setCatchClauses(List<CatchClause> catchClauses) {
if (catchClauses == null) {
this.catchClauses = null;
} else {
if (this.catchClauses != null)
this.catchClauses.clear();
for (CatchClause cc : catchClauses) {
addCatchClause(cc);
}
}
}
/**
* Add a catch-clause to the end of the list, and sets its parent to
* this node.
* @throws IllegalArgumentException} if {@code clause} is {@code null}
*/
public void addCatchClause(CatchClause clause) {
assertNotNull(clause);
if (catchClauses == null) {
catchClauses = new ArrayList<CatchClause>();
}
catchClauses.add(clause);
clause.setParent(this);
}
/**
* Returns finally block, or {@code null} if not present
*/
public AstNode getFinallyBlock() {
return finallyBlock;
}
/**
* Sets finally block, and sets its parent to this node.
* May be {@code null}.
*/
public void setFinallyBlock(AstNode finallyBlock) {
this.finallyBlock = finallyBlock;
if (finallyBlock != null)
finallyBlock.setParent(this);
}
/**
* Returns position of {@code finally} keyword, if present, or -1
*/
public int getFinallyPosition() {
return finallyPosition;
}
/**
* Sets position of {@code finally} keyword, if present, or -1
*/
public void setFinallyPosition(int finallyPosition) {
this.finallyPosition = finallyPosition;
}
@Override
public String toSource(int depth) {
StringBuilder sb = new StringBuilder(250);
sb.append(makeIndent(depth));
sb.append("try ");
if(this.getInlineComment() != null) {
sb.append(this.getInlineComment().toSource(depth + 1)).append("\n");
}
sb.append(tryBlock.toSource(depth).trim());
for (CatchClause cc : getCatchClauses()) {
sb.append(cc.toSource(depth));
}
if (finallyBlock != null) {
sb.append(" finally ");
sb.append(finallyBlock.toSource(depth));
}
return sb.toString();
}
/**
* Visits this node, then the try-block, then any catch clauses,
* and then any finally block.
*/
@Override
public void visit(NodeVisitor v) {
if (v.visit(this)) {
tryBlock.visit(v);
for (CatchClause cc : getCatchClauses()) {
cc.visit(v);
}
if (finallyBlock != null) {
finallyBlock.visit(v);
}
}
}
}
⏎ org/mozilla/javascript/ast/TryStatement.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, ≈153🔥, 1💬
Popular Posts:
JDK 17 jdk.javadoc.jmod is the JMOD file for JDK 17 Java Document tool, which can be invoked by the ...
JDK 11 java.sql.jmod is the JMOD file for JDK 11 SQL (Structured Query Language) module. JDK 11 SQL ...
How to download and install JDK (Java Development Kit) 1.4? If you want to write Java applications, ...
JDK 17 jdk.jfr.jmod is the JMOD file for JDK 17 JFR module. JDK 17 JFR module compiled class files a...
Apache Log4j provides the interface that applications should code to and provides the adapter compon...