- All Superinterfaces:
ASTNode,BlockItemNode,Iterable<StatementNode>,SequenceNode<StatementNode>,StatementNode
A "choose" statement has the form "choose { s1 ... sn }", where each si is a
statement. It represents nondeterministic choice. Typically the si is a
"when" statement, but every statement has a guard, whether implicit or
explicit.
Basically wraps the sequence of statements s1, ..., sn.
-
Nested Class Summary
Nested classes/interfaces inherited from interface dev.civl.abc.ast.node.IF.ASTNode
ASTNode.NodeKindNested classes/interfaces inherited from interface dev.civl.abc.ast.node.IF.statement.BlockItemNode
BlockItemNode.BlockItemKindNested classes/interfaces inherited from interface dev.civl.abc.ast.node.IF.statement.StatementNode
StatementNode.StatementKind -
Method Summary
Modifier and TypeMethodDescriptioncopy()Returns a deep copy of this AST node.The default case is just some meta-data associated to the node, and is totally independent of the methods to create and add the children.voidsetDefaultCase(LabeledStatementNode statement) The default case is just some meta-data associated to the node, and is totally independent of the methods to create and add the children.Methods inherited from interface dev.civl.abc.ast.node.IF.ASTNode
addAllTransformAnnotations, addTransformAnnotation, child, childIndex, children, diff, equiv, getAttribute, getOwner, getScope, getSource, id, keepOnly, nextDFS, nodeKind, numChildren, parent, prettyPrint, prettyRepresentation, prettyRepresentation, print, remove, removeTransformAnnotation, setAttribute, setChild, setId, setOwner, setScope, toString, transformAnnotationsMethods inherited from interface dev.civl.abc.ast.node.IF.statement.BlockItemNode
blockItemKindMethods inherited from interface java.lang.Iterable
forEach, iterator, spliteratorMethods inherited from interface dev.civl.abc.ast.node.IF.SequenceNode
addSequenceChild, getSequenceChild, insertChildren, removeChild, setSequenceChild, shiftRemoveChildMethods inherited from interface dev.civl.abc.ast.node.IF.statement.StatementNode
statementKind
-
Method Details
-
getDefaultCase
LabeledStatementNode getDefaultCase()The default case is just some meta-data associated to the node, and is totally independent of the methods to create and add the children.- Parameters:
statement-
-
setDefaultCase
The default case is just some meta-data associated to the node, and is totally independent of the methods to create and add the children.- Parameters:
statement-
-
copy
ChooseStatementNode copy()Description copied from interface:ASTNodeReturns a deep copy of this AST node. The node and all of its descendants will be cloned. The cloning does not copy analysis or attribute information.- Specified by:
copyin interfaceASTNode- Specified by:
copyin interfaceBlockItemNode- Specified by:
copyin interfaceSequenceNode<StatementNode>- Specified by:
copyin interfaceStatementNode- Returns:
- deep copy of this node
-