Class ConditionalJump
- java.lang.Object
-
- org.checkerframework.dataflow.cfg.builder.ExtendedNode
-
- org.checkerframework.dataflow.cfg.builder.ConditionalJump
-
public class ConditionalJump extends ExtendedNode
An extended node of typeExtendedNode.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
NodeWithExceptionsHolderorNodeHolder, and the node held by that extended node is required to be of boolean type.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.checkerframework.dataflow.cfg.builder.ExtendedNode
ExtendedNode.ExtendedNodeType
-
-
Field Summary
Fields Modifier and Type Field Description protected Store.FlowRulefalseFlowRuleThe false branch flow rule.protected LabelfalseSuccThe false successor label.protected Store.FlowRuletrueFlowRuleThe true branch flow rule.protected LabeltrueSuccThe true successor label.-
Fields inherited from class org.checkerframework.dataflow.cfg.builder.ExtendedNode
block, terminatesExecution, type
-
-
Constructor Summary
Constructors Constructor Description ConditionalJump(Label trueSucc, Label falseSucc)Construct a ConditionalJump.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LabelgetElseLabel()Store.FlowRulegetFalseFlowRule()Returns the false branch flow rule.LabelgetThenLabel()Store.FlowRulegetTrueFlowRule()Returns the true branch flow rule.voidsetFalseFlowRule(Store.FlowRule rule)Sets the false branch flow rule.voidsetTrueFlowRule(Store.FlowRule rule)Sets the true branch flow rule.java.lang.StringtoString()Produce a string representation.java.lang.StringtoStringDebug()Returns a verbose string representation of this, useful for debugging.-
Methods inherited from class org.checkerframework.dataflow.cfg.builder.ExtendedNode
getBlock, getLabel, getNode, getTerminatesExecution, getType, setBlock, setTerminatesExecution
-
-
-
-
Field Detail
-
trueSucc
protected final Label trueSucc
The true successor label.
-
falseSucc
protected final Label falseSucc
The false successor label.
-
trueFlowRule
protected Store.FlowRule trueFlowRule
The true branch flow rule.
-
falseFlowRule
protected Store.FlowRule falseFlowRule
The false branch flow rule.
-
-
Method Detail
-
getThenLabel
public Label getThenLabel()
-
getElseLabel
public Label getElseLabel()
-
getTrueFlowRule
public Store.FlowRule getTrueFlowRule()
Returns the true branch flow rule.- Returns:
- the true branch flow rule
-
getFalseFlowRule
public Store.FlowRule getFalseFlowRule()
Returns the false branch flow rule.- Returns:
- the false branch flow rule
-
setTrueFlowRule
public void setTrueFlowRule(Store.FlowRule rule)
Sets the true branch flow rule.- Parameters:
rule- the new true branch flow rule
-
setFalseFlowRule
public void setFalseFlowRule(Store.FlowRule rule)
Sets the false branch flow rule.- Parameters:
rule- the new false branch flow rule
-
toString
public java.lang.String toString()
Produce a string representation.- Overrides:
toStringin classExtendedNode- Returns:
- a string representation
- See Also:
PhaseOneResult.nodeToString(org.checkerframework.dataflow.cfg.builder.ExtendedNode)
-
toStringDebug
public java.lang.String toStringDebug()
Description copied from class:ExtendedNodeReturns a verbose string representation of this, useful for debugging.- Specified by:
toStringDebugin classExtendedNode- Returns:
- a string representation of this
-
-