Class ShrikeCFG.BasicBlock

java.lang.Object
com.ibm.wala.util.graph.impl.NodeWithNumber
com.ibm.wala.cfg.ShrikeCFG.BasicBlock
All Implemented Interfaces:
IBasicBlock<IInstruction>, INodeWithNumber, Iterable<IInstruction>
Enclosing class:
ShrikeCFG

public final class ShrikeCFG.BasicBlock extends NodeWithNumber implements IBasicBlock<IInstruction>
  • Constructor Details

    • BasicBlock

      public BasicBlock(int startIndex)
  • Method Details

    • isCatchBlock

      public boolean isCatchBlock()
      Description copied from interface: IBasicBlock
      Return true if the basic block represents a catch block.
      Specified by:
      isCatchBlock in interface IBasicBlock<IInstruction>
      Returns:
      true if the basic block represents a catch block.
    • getLastInstructionIndex

      public int getLastInstructionIndex()
      Description copied from interface: IBasicBlock
      Get the index of the last instruction in the basic block. The value is an index into the instruction array that contains all the instructions for the method.

      If the result is < 0, the block has no instructions

      Specified by:
      getLastInstructionIndex in interface IBasicBlock<IInstruction>
      Returns:
      the instruction index for the last instruction in the basic block
    • getFirstInstructionIndex

      public int getFirstInstructionIndex()
      Description copied from interface: IBasicBlock
      Get the index of the first instruction in the basic block. The value is an index into the instruction array that contains all the instructions for the method.

      If the result is < 0, the block has no instructions

      Specified by:
      getFirstInstructionIndex in interface IBasicBlock<IInstruction>
      Returns:
      the instruction index for the first instruction in the basic block.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • isExitBlock

      public boolean isExitBlock()
      Description copied from interface: IBasicBlock
      Return true if the basic block represents the unique exit block.
      Specified by:
      isExitBlock in interface IBasicBlock<IInstruction>
      Returns:
      true if the basic block represents the unique exit block.
    • isEntryBlock

      public boolean isEntryBlock()
      Description copied from interface: IBasicBlock
      Return true if the basic block represents the unique entry block.
      Specified by:
      isEntryBlock in interface IBasicBlock<IInstruction>
      Returns:
      true if the basic block represents the unique entry block.
    • getMethod

      public IMethod getMethod()
      Specified by:
      getMethod in interface IBasicBlock<IInstruction>
      Returns:
      governing method for this block
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • getNumber

      public int getNumber()
      Description copied from interface: IBasicBlock
      Each basic block should have a unique number in its cfg
      Specified by:
      getNumber in interface IBasicBlock<IInstruction>
      Returns:
      the basic block's number
    • iterator

      public Iterator<IInstruction> iterator()
      Specified by:
      iterator in interface Iterable<IInstruction>