Class ExprStmt
- java.lang.Object
-
- com.tonic.analysis.source.ast.stmt.ExprStmt
-
-
Constructor Summary
Constructors Constructor Description ExprStmt(Expression expression)Creates an expression statement with an unknown location.ExprStmt(Expression expression, SourceLocation location)Creates an expression statement and parents the expression to it.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> Taccept(SourceVisitor<T> visitor)Accepts a visitor for this node.List<ASTNode>getChildren()Lists the direct children a node holds, in source order.ExpressiongetExpression()SourceLocationgetLocation()Gets the source location of this node.ASTNodegetParent()Gets the parent node in the AST tree.voidsetExpression(Expression expression)Replaces the wrapped expression, reparenting old and new nodes.voidsetLocation(SourceLocation location)Sets this statement's source location.voidsetParent(ASTNode parent)Sets the enclosing AST node.StringtoString()ExprStmtwithExpression(Expression expression)Replaces the wrapped expression, reparenting old and new nodes.-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.tonic.analysis.source.ast.ASTNode
deepClone, findAll, findAll, findAncestor, findFirst, findFirst, getRoot, isDescendantOf, remove, replaceWith, stream, stream, walk
-
-
-
-
Constructor Detail
-
ExprStmt
public ExprStmt(Expression expression, SourceLocation location)
Creates an expression statement and parents the expression to it.- Parameters:
expression- the wrapped expressionlocation- source location, or null for unknown- Throws:
NullPointerException- if expression is null
-
ExprStmt
public ExprStmt(Expression expression)
Creates an expression statement with an unknown location.- Parameters:
expression- the wrapped expression- Throws:
NullPointerException- if expression is null
-
-
Method Detail
-
getExpression
public Expression getExpression()
- Returns:
- the expression
-
setExpression
public void setExpression(Expression expression)
Replaces the wrapped expression, reparenting old and new nodes.- Parameters:
expression- the new expression
-
getLocation
public SourceLocation getLocation()
Description copied from interface:ASTNodeGets the source location of this node.- Specified by:
getLocationin interfaceASTNode- Returns:
- the location
-
getParent
public ASTNode getParent()
Description copied from interface:ASTNodeGets the parent node in the AST tree.
-
setParent
public void setParent(ASTNode parent)
Sets the enclosing AST node.
-
withExpression
public ExprStmt withExpression(Expression expression)
Replaces the wrapped expression, reparenting old and new nodes.- Parameters:
expression- the new expression- Returns:
- this statement
- Throws:
NullPointerException- if expression is null
-
getChildren
public List<ASTNode> getChildren()
Description copied from interface:ASTNodeLists the direct children a node holds, in source order.- Specified by:
getChildrenin interfaceASTNode- Returns:
- the direct children, empty for a leaf
-
accept
public <T> T accept(SourceVisitor<T> visitor)
Description copied from interface:ASTNodeAccepts a visitor for this node.
-
setLocation
public void setLocation(SourceLocation location)
Description copied from interface:StatementSets this statement's source location.- Specified by:
setLocationin interfaceStatement- Parameters:
location- the provenance to stamp, or null forSourceLocation.UNKNOWN
-
-