public final class LoopStatement extends GoloStatement implements Scope, BlockContainer
| Modifier and Type | Method and Description | 
|---|---|
void | 
accept(GoloIrVisitor visitor)
Accept the visitor. 
 | 
LoopStatement | 
block(Block innerBlock)  | 
LoopStatement | 
block(java.lang.Object... statements)  | 
LoopStatement | 
condition(java.lang.Object expression)  | 
Block | 
getBlock()  | 
ExpressionStatement | 
getConditionStatement()  | 
AssignmentStatement | 
getInitStatement()  | 
GoloStatement | 
getPostStatement()  | 
boolean | 
hasInitStatement()  | 
boolean | 
hasPostStatement()  | 
LoopStatement | 
init(java.lang.Object assignment)  | 
LoopStatement | 
ofAST(GoloASTNode node)  | 
LoopStatement | 
post(java.lang.Object statement)  | 
void | 
relink(ReferenceTable table)
Make the given table a parent of this scope. 
 | 
void | 
relinkTopLevel(ReferenceTable table)
Make the given table the top-level parent of this scope. 
 | 
protected void | 
replaceElement(GoloElement original,
              GoloElement newElement)
Replace a child. 
 | 
void | 
setBlock(Block block)  | 
void | 
setConditionStatement(ExpressionStatement cond)  | 
void | 
setInitStatement(AssignmentStatement init)  | 
void | 
setPostStatement(GoloStatement stat)  | 
void | 
walk(GoloIrVisitor visitor)
Walk the visitor through this node children. 
 | 
cantConvert, cantReplace, cantReplace, doesNotContain, getASTNode, getDocumentation, getLocalReferenceTable, getParentNode, getPositionInSourceCode, hasASTNode, makeParentOf, replaceInParentBy, setASTNode, setParentNodepublic LoopStatement ofAST(GoloASTNode node)
ofAST in class GoloElementpublic LoopStatement init(java.lang.Object assignment)
public LoopStatement condition(java.lang.Object expression)
public LoopStatement post(java.lang.Object statement)
public LoopStatement block(Block innerBlock)
public LoopStatement block(java.lang.Object... statements)
public boolean hasInitStatement()
public AssignmentStatement getInitStatement()
public void setInitStatement(AssignmentStatement init)
public ExpressionStatement getConditionStatement()
public void setConditionStatement(ExpressionStatement cond)
public Block getBlock()
getBlock in interface BlockContainerpublic GoloStatement getPostStatement()
public void setPostStatement(GoloStatement stat)
public boolean hasPostStatement()
public void relink(ReferenceTable table)
Scopepublic void relinkTopLevel(ReferenceTable table)
ScopeGo up in the hierarchy of parent scope, and set the root to the given table.
relinkTopLevel in interface Scopepublic void accept(GoloIrVisitor visitor)
GoloElement
 This method should only call the visitor visitXXXX method.
 The children of this node will be visited by the
 GoloElement.walk(GoloIrVisitor) method.
accept in class GoloElementpublic void walk(GoloIrVisitor visitor)
GoloElementwalk in class GoloElementprotected void replaceElement(GoloElement original, GoloElement newElement)
GoloElement
 Replace original with newElement if original is a child of this node
 and type matches.
replaceElement in class GoloElementoriginal - the original value to replace. Must be a child of this nodenewElement - the element to replace with. Type must match.GoloElement.cantReplace(), 
GoloElement.cantReplace(GoloElement, GoloElement), 
GoloElement.doesNotContain(GoloElement), 
GoloElement.cantConvert(String, Object)