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
The false branch flow rule.
|
protected CFGBuilder.Label |
falseSucc
The false successor label.
|
protected Store.FlowRule |
trueFlowRule
The true branch flow rule.
|
protected CFGBuilder.Label |
trueSucc
The true successor label.
|
block, terminatesExecution, type
Constructor and Description |
---|
ConditionalJump(CFGBuilder.Label trueSucc,
CFGBuilder.Label falseSucc)
Construct a ConditionalJump.
|
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()
Produce a string representation.
|
String |
toStringDebug()
Returns a verbose string representation of this, useful for debugging.
|
getBlock, getLabel, getNode, getTerminatesExecution, getType, setBlock, setTerminatesExecution
protected final CFGBuilder.Label trueSucc
protected final CFGBuilder.Label falseSucc
protected Store.FlowRule trueFlowRule
protected Store.FlowRule falseFlowRule
public ConditionalJump(CFGBuilder.Label trueSucc, CFGBuilder.Label falseSucc)
trueSucc
- true successor labelfalseSucc
- false successor labelpublic 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
CFGBuilder.PhaseOneResult.nodeToString(org.checkerframework.dataflow.cfg.CFGBuilder.ExtendedNode)
public String toStringDebug()
CFGBuilder.ExtendedNode
toStringDebug
in class CFGBuilder.ExtendedNode