Class BlockImpl

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

public abstract class BlockImpl extends Object implements Block
Base class of the Block implementation hierarchy.
  • Field Details

    • type

      protected final Block.BlockType type
      The type of this basic block.
    • predecessors

      protected final Set<BlockImpl> predecessors
      The set of predecessors.
  • Constructor Details

    • BlockImpl

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

    • getUid

      public long getUid(@UnknownInitialization BlockImpl this)
      Specified by:
      getUid in interface org.plumelib.util.UniqueId
    • getType

      public Block.BlockType getType()
      Description copied from interface: Block
      Returns the type of this basic block.
      Specified by:
      getType in interface Block
      Returns:
      the type of this basic block
    • getPredecessors

      public List<Block> getPredecessors()
      Description copied from interface: Block
      Returns the predecessors of this basic block.
      Specified by:
      getPredecessors in interface Block
      Returns:
      the predecessors of this basic block
    • addPredecessor

      public void addPredecessor(BlockImpl pred)
    • removePredecessor

      public void removePredecessor(BlockImpl pred)