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 type 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 NodeWithExceptionsHolder or NodeHolder, and the node held by that extended node is required to be of boolean type.

  • Field Details

    • 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.
  • Constructor Details

    • ConditionalJump

      public ConditionalJump(Label trueSucc, Label falseSucc)
      Construct a ConditionalJump.
      Parameters:
      trueSucc - true successor label
      falseSucc - false successor label
  • Method Details

    • 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 String toString()
      Produce a string representation.
      Overrides:
      toString in class ExtendedNode
      Returns:
      a string representation
      See Also:
    • toStringDebug

      public String toStringDebug()
      Description copied from class: ExtendedNode
      Returns a verbose string representation of this, useful for debugging.
      Specified by:
      toStringDebug in class ExtendedNode
      Returns:
      a string representation of this