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) |
java.lang.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 java.lang.String toString()
toString
in class CFGBuilder.ExtendedNode