org.mozilla.javascript.ast
Class TryStatement

java.lang.Object
  extended by org.mozilla.javascript.Node
      extended by org.mozilla.javascript.ast.AstNode
          extended by org.mozilla.javascript.ast.TryStatement
All Implemented Interfaces:
java.lang.Comparable<AstNode>, java.lang.Iterable<Node>

public class TryStatement
extends AstNode

Try/catch/finally statement. Node type is Token.TRY.

TryStatement :
        try Block Catch
        try Block Finally
        try Block Catch Finally
 Catch :
        catch ( Identifier ) Block
 Finally :
        finally Block


Nested Class Summary
 
Nested classes/interfaces inherited from class org.mozilla.javascript.ast.AstNode
AstNode.DebugPrintVisitor, AstNode.PositionComparator
 
Nested classes/interfaces inherited from class org.mozilla.javascript.Node
Node.NodeIterator
 
Field Summary
 
Fields inherited from class org.mozilla.javascript.ast.AstNode
length, parent, position
 
Fields inherited from class org.mozilla.javascript.Node
ATTRIBUTE_FLAG, BOTH, CASEARRAY_PROP, CATCH_SCOPE_PROP, CONTROL_BLOCK_PROP, DECR_FLAG, DESCENDANTS_FLAG, DESTRUCTURING_ARRAY_LENGTH, DESTRUCTURING_NAMES, DESTRUCTURING_PARAMS, DESTRUCTURING_SHORTHAND, DIRECTCALL_PROP, END_DROPS_OFF, END_RETURNS, END_RETURNS_VALUE, END_UNREACHED, END_YIELDS, EXPRESSION_CLOSURE_PROP, first, FUNCTION_PROP, GENERATOR_END_PROP, INCRDECR_PROP, ISNUMBER_PROP, JSDOC_PROP, LABEL_ID_PROP, last, LAST_PROP, LEFT, lineno, LOCAL_BLOCK_PROP, LOCAL_PROP, MEMBER_TYPE_PROP, NAME_PROP, next, NON_SPECIALCALL, OBJECT_IDS_PROP, PARENTHESIZED_PROP, POST_FLAG, PROPERTY_FLAG, propListHead, REGEXP_PROP, RIGHT, SKIP_INDEXES_PROP, SPECIALCALL_EVAL, SPECIALCALL_PROP, SPECIALCALL_WITH, TARGETBLOCK_PROP, type, VARIABLE_PROP
 
Constructor Summary
TryStatement()
           
TryStatement(int pos)
           
TryStatement(int pos, int len)
           
 
Method Summary
 void addCatchClause(CatchClause clause)
          Add a catch-clause to the end of the list, and sets its parent to this node.
 java.util.List<CatchClause> getCatchClauses()
          Returns list of CatchClause nodes.
 AstNode getFinallyBlock()
          Returns finally block, or null if not present
 int getFinallyPosition()
          Returns position of finally keyword, if present, or -1
 AstNode getTryBlock()
           
 void setCatchClauses(java.util.List<CatchClause> catchClauses)
          Sets list of CatchClause nodes.
 void setFinallyBlock(AstNode finallyBlock)
          Sets finally block, and sets its parent to this node.
 void setFinallyPosition(int finallyPosition)
          Sets position of finally keyword, if present, or -1
 void setTryBlock(AstNode tryBlock)
          Sets try block.
 java.lang.String toSource(int depth)
          Emits source code for this node.
 void visit(NodeVisitor v)
          Visits this node, then the try-block, then any catch clauses, and then any finally block.
 
Methods inherited from class org.mozilla.javascript.ast.AstNode
addChild, assertNotNull, codeBug, compareTo, debugPrint, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getLength, getLineno, getParent, getPosition, hasSideEffects, makeIndent, operatorToString, printList, setBounds, setLength, setParent, setPosition, setRelative, shortName, toSource
 
Methods inherited from class org.mozilla.javascript.Node
addChildAfter, addChildBefore, addChildrenToBack, addChildrenToFront, addChildToBack, addChildToFront, getChildBefore, getDouble, getExistingIntProp, getFirstChild, getIntProp, getJsDoc, getJsDocNode, getLastChild, getLastSibling, getNext, getProp, getScope, getString, getType, hasChildren, hasConsistentReturnUsage, iterator, labelId, labelId, newNumber, newString, newString, newTarget, putIntProp, putProp, removeChild, removeChildren, removeProp, replaceChild, replaceChildAfter, resetTargets, setDouble, setJsDocNode, setLineno, setScope, setString, setType, toString, toStringTree
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TryStatement

public TryStatement()

TryStatement

public TryStatement(int pos)

TryStatement

public TryStatement(int pos,
                    int len)
Method Detail

getTryBlock

public AstNode getTryBlock()

setTryBlock

public void setTryBlock(AstNode tryBlock)
Sets try block. Also sets its parent to this node.

Throws:
IllegalArgumentException} - if tryBlock is null

getCatchClauses

public java.util.List<CatchClause> getCatchClauses()
Returns list of CatchClause nodes. If there are no catch clauses, returns an immutable empty list.


setCatchClauses

public void setCatchClauses(java.util.List<CatchClause> catchClauses)
Sets list of CatchClause nodes. Also sets their parents to this node. May be null. Replaces any existing catch clauses for this node.


addCatchClause

public void addCatchClause(CatchClause clause)
Add a catch-clause to the end of the list, and sets its parent to this node.

Throws:
IllegalArgumentException} - if clause is null

getFinallyBlock

public AstNode getFinallyBlock()
Returns finally block, or null if not present


setFinallyBlock

public void setFinallyBlock(AstNode finallyBlock)
Sets finally block, and sets its parent to this node. May be null.


getFinallyPosition

public int getFinallyPosition()
Returns position of finally keyword, if present, or -1


setFinallyPosition

public void setFinallyPosition(int finallyPosition)
Sets position of finally keyword, if present, or -1


toSource

public java.lang.String toSource(int depth)
Description copied from class: AstNode
Emits source code for this node. Callee is responsible for calling this function recursively on children, incrementing indent as appropriate.

Note: if the parser was in error-recovery mode, some AST nodes may have null children that are expected to be non-null when no errors are present. In this situation, the behavior of the toSource method is undefined: toSource implementations may assume that the AST node is error-free, since it is intended to be invoked only at runtime after a successful parse.

Specified by:
toSource in class AstNode
Parameters:
depth - the current recursion depth, typically beginning at 0 when called on the root node.

visit

public void visit(NodeVisitor v)
Visits this node, then the try-block, then any catch clauses, and then any finally block.

Specified by:
visit in class AstNode
Parameters:
v - the object to call with this node and its children