public class VariableDeclaration extends AstNode
Token.VAR
, Token.CONST
or
Token.LET
.
If the node is for var
or const
, the node position
is the beginning of the var
or const
keyword.
For let
declarations, the node position coincides with the
first VariableInitializer
child.
A standalone variable declaration in a statement context returns true
from its isStatement()
method.
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 |
---|
VariableDeclaration() |
VariableDeclaration(int pos) |
VariableDeclaration(int pos,
int len) |
Modifier and Type | Method and Description |
---|---|
void |
addVariable(VariableInitializer v)
Adds a variable initializer node to the child list.
|
java.util.List<VariableInitializer> |
getVariables()
Returns variable list.
|
boolean |
isConst()
Returns true if this is a
Token.CONST declaration. |
boolean |
isLet()
Returns true if this is a
Token.LET declaration. |
boolean |
isStatement()
Returns true if this node represents a statement.
|
boolean |
isVar()
Returns true if this is a
var (not
const or let ) declaration. |
void |
setIsStatement(boolean isStatement)
Set or unset the statement flag.
|
Node |
setType(int type)
Sets the node type and returns this node.
|
void |
setVariables(java.util.List<VariableInitializer> variables)
Sets variable list
|
java.lang.String |
toSource(int depth)
Emits source code for this node.
|
void |
visit(NodeVisitor v)
Visits this node, then each
VariableInitializer child. |
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, toString, toStringTree
public VariableDeclaration()
public VariableDeclaration(int pos)
public VariableDeclaration(int pos, int len)
public java.util.List<VariableInitializer> getVariables()
null
.public void setVariables(java.util.List<VariableInitializer> variables)
java.lang.IllegalArgumentException
- if variables list is null
public void addVariable(VariableInitializer v)
java.lang.IllegalArgumentException
- if v is null
public Node setType(int type)
public boolean isVar()
var
(not
const
or let
) declaration.declType
is Token.VAR
public boolean isConst()
Token.CONST
declaration.public boolean isLet()
Token.LET
declaration.public boolean isStatement()
public void setIsStatement(boolean isStatement)
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)
VariableInitializer
child.