public class LetNode extends Scope
Token.LET or Token.LETEXPR.
LetStatement:
let ( VariableDeclarationList ) Block
LetExpression:
let ( VariableDeclarationList ) Expression
Note that standalone let-statements with no parens or body block,
such as let x=6, y=7;, are represented as a
VariableDeclaration node of type Token.LET,
wrapped with an ExpressionStatement.AstNode.DebugPrintVisitor, AstNode.PositionComparatorNode.NodeIteratorparentScope, symbolTable, topinlineComment, length, parent, positionARROW_FUNCTION_PROP, ATTRIBUTE_FLAG, BOTH, CASEARRAY_PROP, CATCH_SCOPE_PROP, CONTROL_BLOCK_PROP, DECR_FLAG, DESCENDANTS_FLAG, DESTRUCTURING_ARRAY_LENGTH, DESTRUCTURING_NAMES, DESTRUCTURING_PARAMS, 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, SHORTHAND_PROPERTY_NAME, SKIP_INDEXES_PROP, SPECIALCALL_EVAL, SPECIALCALL_PROP, SPECIALCALL_WITH, TARGETBLOCK_PROP, TEMPLATE_LITERAL_PROP, type, VARIABLE_PROP| Constructor and Description |
|---|
LetNode() |
LetNode(int pos) |
LetNode(int pos,
int len) |
| Modifier and Type | Method and Description |
|---|---|
AstNode |
getBody()
Returns body statement or expression.
|
int |
getLp()
Returns left paren position, -1 if missing
|
int |
getRp()
Returns right paren position, -1 if missing
|
VariableDeclaration |
getVariables()
Returns variable list
|
void |
setBody(AstNode body)
Sets body statement or expression.
|
void |
setLp(int lp)
Sets left paren position
|
void |
setParens(int lp,
int rp)
Sets both paren positions
|
void |
setRp(int rp)
Sets right paren position
|
void |
setVariables(VariableDeclaration variables)
Sets variable list.
|
java.lang.String |
toSource(int depth)
Emits source code for this node.
|
void |
visit(NodeVisitor v)
Visits this node, the variable list, and if present, the body
expression or statement.
|
addChildScope, clearParentScope, getChildScopes, getDefiningScope, getParentScope, getStatements, getSymbol, getSymbolTable, getTop, joinScopes, putSymbol, replaceWith, setParentScope, setSymbolTable, setTop, splitScopegetContinue, getDefault, getFinally, getJumpStatement, getLoop, setContinue, setDefault, setFinally, setJumpStatement, setLoopaddChild, assertNotNull, codeBug, compareTo, debugPrint, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getInlineComment, getLength, getLineno, getParent, getPosition, hasSideEffects, makeIndent, operatorToString, printList, setBounds, setInlineComment, setLength, setParent, setPosition, setRelative, shortName, toSourceaddChildAfter, addChildBefore, addChildrenToBack, addChildrenToFront, addChildToBack, addChildToFront, getBigInt, 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, setBigInt, setDouble, setJsDocNode, setLineno, setScope, setString, setType, toString, toStringTreepublic LetNode()
public LetNode(int pos)
public LetNode(int pos,
int len)
public VariableDeclaration getVariables()
public void setVariables(VariableDeclaration variables)
java.lang.IllegalArgumentException - if variables is nullpublic AstNode getBody()
null if the
form of the let statement is similar to a VariableDeclaration, with no
curly-brace. (This form is used to define let-bound variables in the
scope of the current block.)public void setBody(AstNode body)
body - the body statement or expression. May be
null.public int getLp()
public void setLp(int lp)
public int getRp()
public void setRp(int rp)
public void setParens(int lp,
int rp)
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)