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