public final class ConditionalBranching extends GoloStatement implements Scope
cantConvert, cantReplace, cantReplace, doesNotContain, getASTNode, getDocumentation, getLocalReferenceTable, getParentNode, getPositionInSourceCode, hasASTNode, makeParentOf, replaceInParentBy, setASTNode, setParentNodepublic ConditionalBranching condition(java.lang.Object cond)
public ConditionalBranching whenTrue(java.lang.Object block)
public ConditionalBranching whenFalse(java.lang.Object block)
public ConditionalBranching elseBranch(java.lang.Object elseBranch)
public ConditionalBranching otherwise(java.lang.Object alternative)
public ConditionalBranching ofAST(GoloASTNode node)
ofAST in class GoloElementpublic 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 ExpressionStatement getCondition()
public void setCondition(ExpressionStatement condition)
public Block getTrueBlock()
public void setTrueBlock(Block block)
public Block getFalseBlock()
public void setFalseBlock(Block block)
public boolean hasFalseBlock()
public ConditionalBranching getElseConditionalBranching()
public void setElseConditionalBranching(ConditionalBranching elseBranch)
public boolean hasElseConditionalBranching()
public boolean returnsFromBothBranches()
public java.lang.String toString()
toString in class java.lang.Objectpublic void accept(GoloIrVisitor visitor)
accept in class GoloElementpublic void walk(GoloIrVisitor visitor)
walk in class GoloElementprotected void replaceElement(GoloElement original, GoloElement newElement)
replaceElement in class GoloElement