org.mozilla.javascript.ast
Class Block
java.lang.Object
org.mozilla.javascript.Node
org.mozilla.javascript.ast.AstNode
org.mozilla.javascript.ast.Block
- All Implemented Interfaces:
- Comparable<AstNode>, Iterable<Node>
public class Block
- extends AstNode
A block statement delimited by curly braces. The node position is the
position of the open-curly, and the length extends to the position of
the close-curly. Node type is Token.BLOCK
.
Block :
{ Statement* }
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 |
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, getLastChild, getLastSibling, getNext, getProp, getScope, getString, getType, hasChildren, hasConsistentReturnUsage, iterator, labelId, labelId, newNumber, newString, newString, newTarget, putIntProp, putProp, removeChild, removeChildren, removeProp, replaceChild, replaceChildAfter, setDouble, setJsDoc, setLineno, setScope, setString, setType, toString, toStringTree |
Block
public Block()
Block
public Block(int pos)
Block
public Block(int pos,
int len)
addStatement
public void addStatement(AstNode statement)
- Alias for
AstNode.addChild(org.mozilla.javascript.ast.AstNode)
.
toSource
public 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)
- Description copied from class:
AstNode
- Visits this node and its children in an arbitrary order.
It's up to each node subclass to decide the order for processing
its children. The subclass also decides (and should document)
which child nodes are not passed to the NodeVisitor
.
For instance, nodes representing keywords like each
or
in
may not be passed to the visitor object. The visitor
can simply query the current node for these children if desired.
Generally speaking, the order will be deterministic; the order is
whatever order is decided by each child node. Normally child nodes
will try to visit their children in lexical order, but there may
be exceptions to this rule.
- Specified by:
visit
in class AstNode
- Parameters:
v
- the object to call with this node and its children