protected static class CFGBuilder.ConditionalJump extends CFGBuilder.ExtendedNode
CFGBuilder.ExtendedNode.ExtendedNodeType.CONDITIONAL_JUMP
.
Important: In the list of extended nodes, there should not be
any labels that point to a conditional jump. Furthermore, the node
directly ahead of any conditional jump has to be a
CFGBuilder.NodeWithExceptionsHolder
or CFGBuilder.NodeHolder
, and the node held
by that extended node is required to be of boolean type.
CFGBuilder.ExtendedNode.ExtendedNodeType
Modifier and Type | Field and Description |
---|---|
protected Store.FlowRule |
falseFlowRule |
protected CFGBuilder.Label |
falseSucc |
protected Store.FlowRule |
trueFlowRule |
protected CFGBuilder.Label |
trueSucc |
block, terminatesExecution, type
Constructor and Description |
---|
ConditionalJump(CFGBuilder.Label trueSucc,
CFGBuilder.Label falseSucc) |
Modifier and Type | Method and Description |
---|---|
CFGBuilder.Label |
getElseLabel() |
Store.FlowRule |
getFalseFlowRule() |
CFGBuilder.Label |
getThenLabel() |
Store.FlowRule |
getTrueFlowRule() |
void |
setFalseFlowRule(Store.FlowRule rule) |
void |
setTrueFlowRule(Store.FlowRule rule) |
String |
toString() |
getBlock, getLabel, getNode, getTerminatesExecution, getType, setBlock, setTerminatesExecution
protected CFGBuilder.Label trueSucc
protected CFGBuilder.Label falseSucc
protected Store.FlowRule trueFlowRule
protected Store.FlowRule falseFlowRule
public ConditionalJump(CFGBuilder.Label trueSucc, CFGBuilder.Label falseSucc)
public CFGBuilder.Label getThenLabel()
public CFGBuilder.Label getElseLabel()
public Store.FlowRule getTrueFlowRule()
public Store.FlowRule getFalseFlowRule()
public void setTrueFlowRule(Store.FlowRule rule)
public void setFalseFlowRule(Store.FlowRule rule)
public String toString()
toString
in class CFGBuilder.ExtendedNode