public class Block extends AstNode
Token.BLOCK.
Block :
{ Statement* }
AstNode.DebugPrintVisitor, AstNode.PositionComparatorNode.NodeIteratorlength, parent, positionATTRIBUTE_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 and Description |
|---|
Block() |
Block(int pos) |
Block(int pos,
int len) |
| Modifier and Type | Method and Description |
|---|---|
void |
addStatement(AstNode statement)
|
java.lang.String |
toSource(int depth)
Emits source code for this node.
|
void |
visit(NodeVisitor v)
Visits this node and its children in an arbitrary order.
|
addChild, assertNotNull, codeBug, compareTo, debugPrint, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getLength, getLineno, getParent, getPosition, hasSideEffects, makeIndent, operatorToString, printList, setBounds, setLength, setParent, setPosition, setRelative, shortName, toSourceaddChildAfter, 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, toStringTreepublic Block()
public Block(int pos)
public Block(int pos,
int len)
public void addStatement(AstNode statement)
public java.lang.String toSource(int depth)
AstNode
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.
public void visit(NodeVisitor v)
AstNode
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.