public class ExpressionStatement extends AstNode
Token.EXPR_VOID if inside a function, or else Token.EXPR_RESULT if inside a script.AstNode.DebugPrintVisitor, AstNode.PositionComparatorNode.NodeIteratorinlineComment, 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 |
|---|
ExpressionStatement() |
ExpressionStatement(AstNode expr)
Constructs a new
ExpressionStatement wrapping the specified expression. |
ExpressionStatement(AstNode expr,
boolean hasResult)
Constructs a new
ExpressionStatement wrapping the specified expression. |
ExpressionStatement(int pos,
int len) |
ExpressionStatement(int pos,
int len,
AstNode expr)
Constructs a new
ExpressionStatement |
| Modifier and Type | Method and Description |
|---|---|
AstNode |
getExpression()
Returns the wrapped expression
|
boolean |
hasSideEffects()
Returns true if this node has side effects
|
void |
setExpression(AstNode expression)
Sets the wrapped expression, and sets its parent to this node.
|
void |
setHasResult()
Called by the parser to set node type to EXPR_RESULT if this node is not within a Function.
|
java.lang.String |
toSource(int depth)
Emits source code for this node.
|
void |
visit(NodeVisitor v)
Visits this node, then the wrapped statement.
|
addChild, assertNotNull, codeBug, compareTo, debugPrint, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getInlineComment, getLength, getLineno, getParent, getPosition, 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 ExpressionStatement()
public ExpressionStatement(AstNode expr, boolean hasResult)
ExpressionStatement wrapping the specified expression. Sets this
node's position to the position of the wrapped node, and sets the wrapped node's position to
zero. Sets this node's length to the length of the wrapped node.expr - the wrapped expressionhasResult - true if this expression has side effects. If true, sets node type to
EXPR_RESULT, else to EXPR_VOID.public ExpressionStatement(AstNode expr)
ExpressionStatement wrapping the specified expression. Sets this
node's position to the position of the wrapped node, and sets the wrapped node's position to
zero. Sets this node's length to the length of the wrapped node.expr - the wrapped expressionpublic ExpressionStatement(int pos,
int len)
public ExpressionStatement(int pos,
int len,
AstNode expr)
ExpressionStatementexpr - the wrapped AstNode. The ExpressionStatement's bounds are set to
those of expr, and expr's parent is set to this node.java.lang.IllegalArgumentException - if expr is nullpublic void setHasResult()
public AstNode getExpression()
public void setExpression(AstNode expression)
IllegalArgumentException} - if expression is nullpublic boolean hasSideEffects()
hasSideEffects in class AstNodejava.lang.IllegalStateException - if expression has not yet been set.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)