Class SingleSuccessorBlockImpl

java.lang.Object
org.checkerframework.dataflow.cfg.block.BlockImpl
org.checkerframework.dataflow.cfg.block.SingleSuccessorBlockImpl
All Implemented Interfaces:
Block, SingleSuccessorBlock, org.plumelib.util.UniqueId
Direct Known Subclasses:
ExceptionBlockImpl, RegularBlockImpl, SpecialBlockImpl

public abstract class SingleSuccessorBlockImpl extends BlockImpl implements SingleSuccessorBlock
A basic block that has at most one successor. SpecialBlockImpl extends this, but exit blocks have no successor.
  • Field Details

  • Constructor Details

    • SingleSuccessorBlockImpl

      protected SingleSuccessorBlockImpl(Block.BlockType type)
      Creates a new SingleSuccessorBlock.
      Parameters:
      type - the type of this basic block
  • Method Details

    • getSuccessor

      public @Nullable Block getSuccessor()
      Description copied from interface: SingleSuccessorBlock
      Returns the non-exceptional successor block, or null if there is no non-exceptional successor.
      Specified by:
      getSuccessor in interface SingleSuccessorBlock
      Returns:
      the non-exceptional successor block, or null if there is no non-exceptional successor
    • getSuccessors

      public Set<Block> getSuccessors()
      Description copied from interface: Block
      Returns the successors of this basic block.
      Specified by:
      getSuccessors in interface Block
      Returns:
      the successors of this basic block
    • setSuccessor

      public void setSuccessor(BlockImpl successor)
      Set a basic block as the successor of this block.
      Parameters:
      successor - the block that will be the successor of this
    • getFlowRule

      public Store.FlowRule getFlowRule()
      Description copied from interface: SingleSuccessorBlock
      Returns the flow rule for information flowing from this block to its successor.
      Specified by:
      getFlowRule in interface SingleSuccessorBlock
      Returns:
      the flow rule for information flowing from this block to its successor
    • setFlowRule

      public void setFlowRule(Store.FlowRule rule)
      Description copied from interface: SingleSuccessorBlock
      Set the flow rule for information flowing from this block to its successor.
      Specified by:
      setFlowRule in interface SingleSuccessorBlock
      Parameters:
      rule - the new flow rule for information flowing from this block to its successor