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)
AstNodeNote: 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)