AstNode.DebugPrintVisitor, AstNode.PositionComparator
Node.NodeIterator
parentScope, symbolTable, top
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 and Description |
---|
ForLoop() |
ForLoop(int pos) |
ForLoop(int pos,
int len) |
Modifier and Type | Method and Description |
---|---|
AstNode |
getCondition()
Returns loop condition
|
AstNode |
getIncrement()
Returns loop increment expression
|
AstNode |
getInitializer()
Returns loop initializer variable declaration list.
|
void |
setCondition(AstNode condition)
Sets loop condition, and sets its parent to this node.
|
void |
setIncrement(AstNode increment)
Sets loop increment expression, and sets its parent to
this node.
|
void |
setInitializer(AstNode initializer)
Sets loop initializer expression, and sets its parent
to this node.
|
java.lang.String |
toSource(int depth)
Emits source code for this node.
|
void |
visit(NodeVisitor v)
Visits this node, the initializer expression, the loop condition
expression, the increment expression, and then the loop body.
|
getBody, getLp, getRp, setBody, setLp, setParens, setRp
addChildScope, clearParentScope, getChildScopes, getDefiningScope, getParentScope, getStatements, getSymbol, getSymbolTable, getTop, joinScopes, putSymbol, replaceWith, setParentScope, setSymbolTable, setTop, splitScope
getContinue, getDefault, getFinally, getJumpStatement, getLoop, setContinue, setDefault, setFinally, setJumpStatement, setLoop
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
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
public ForLoop()
public ForLoop(int pos)
public ForLoop(int pos, int len)
public AstNode getInitializer()
VariableDeclaration
, an
Assignment
, or an InfixExpression
of
type COMMA that chains multiple variable assignments.public void setInitializer(AstNode initializer)
null
-check.initializer
- loop initializer. Pass an
EmptyExpression
if the initializer is not specified.java.lang.IllegalArgumentException
- if condition is null
public AstNode getCondition()
public void setCondition(AstNode condition)
condition
- loop condition. Pass an EmptyExpression
if the condition is missing.IllegalArgumentException}
- if condition is null
public AstNode getIncrement()
public void setIncrement(AstNode increment)
increment
- loop increment expression. Pass an
EmptyExpression
if increment is null
.IllegalArgumentException}
- if increment is null
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)