public class VariableInitializer extends AstNode
VariableDeclaration
expression. The variable "target" can be a simple name or a destructuring
form. The initializer, if present, can be any expression.
Node type is one of Token.VAR
, Token.CONST
, or
Token.LET
.
AstNode.DebugPrintVisitor, AstNode.PositionComparator
Node.NodeIterator
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 |
---|
VariableInitializer() |
VariableInitializer(int pos) |
VariableInitializer(int pos,
int len) |
Modifier and Type | Method and Description |
---|---|
AstNode |
getInitializer()
Returns the initial value, or
null if not provided |
AstNode |
getTarget()
Returns the variable name or destructuring form
|
boolean |
isDestructuring()
Returns true if this is a destructuring assignment.
|
void |
setInitializer(AstNode initializer)
Sets the initial value expression, and sets its parent to this node.
|
void |
setNodeType(int nodeType)
Sets the node type.
|
void |
setTarget(AstNode target)
Sets the variable name or destructuring form, 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, then the target expression, then the initializer
expression if present.
|
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 VariableInitializer()
public VariableInitializer(int pos)
public VariableInitializer(int pos, int len)
public void setNodeType(int nodeType)
java.lang.IllegalArgumentException
- if nodeType
is not one of
Token.VAR
, Token.CONST
, or Token.LET
public boolean isDestructuring()
null
.true
if the target
field is a destructuring form
(an ArrayLiteral
or ObjectLiteral
node)public AstNode getTarget()
public void setTarget(AstNode target)
java.lang.IllegalArgumentException
- if target is null
public AstNode getInitializer()
null
if not providedpublic void setInitializer(AstNode initializer)
initializer
- the initial value. May be 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)