public final class LoopStatement extends GoloStatement implements Scope, BlockContainer
cantConvert, cantReplace, cantReplace, doesNotContain, getASTNode, getDocumentation, getLocalReferenceTable, getParentNode, getPositionInSourceCode, hasASTNode, makeParentOf, replaceInParentBy, setASTNode, setParentNode
public LoopStatement ofAST(GoloASTNode node)
ofAST
in class GoloElement
public 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 BlockContainer
public void setBlock(Block block)
public GoloStatement getPostStatement()
public void setPostStatement(GoloStatement stat)
public boolean hasPostStatement()
public void relink(ReferenceTable table)
Scope
public void relinkTopLevel(ReferenceTable table)
Scope
Go up in the hierarchy of parent scope, and set the root to the given table.
relinkTopLevel
in interface Scope
public void accept(GoloIrVisitor visitor)
accept
in class GoloElement
public void walk(GoloIrVisitor visitor)
walk
in class GoloElement
protected void replaceElement(GoloElement original, GoloElement newElement)
replaceElement
in class GoloElement