Class

org.opalj.br.cfg

BasicBlock

Related Doc: package cfg

Permalink

class BasicBlock extends CFGNode

Represents a basic block of a method's control flow graph (CFG). The basic block is identified by referring to the first and last instruction belonging to the basic block.

Linear Supertypes
CFGNode, Node, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. BasicBlock
  2. CFGNode
  3. Node
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new BasicBlock(startPC: PC)

    Permalink

    startPC

    The pc of the first instruction belonging to the BasicBlock.

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def endPC: PC

    Permalink

    The pc of the last instruction belonging to this basic block.

  7. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  8. def equals(other: Any): Boolean

    Permalink
    Definition Classes
    Node → AnyRef → Any
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. def foreach[U](f: (PC) ⇒ U)(implicit code: Code): Unit

    Permalink

    Calls the function f for all instructions - identified by their respective pcs - of a basic block.

    Calls the function f for all instructions - identified by their respective pcs - of a basic block.

    f

    The function that will be called.

    code

    The org.opalj.br.Code object to which this BasicBlock implicitly belongs.

  11. final def foreachSuccessor(f: (Node) ⇒ Unit): Unit

    Permalink
    Definition Classes
    CFGNode → Node
  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. final def hasSuccessors: Boolean

    Permalink
    Definition Classes
    CFGNode → Node
  14. def hashCode(): Int

    Permalink
    Definition Classes
    Node → AnyRef → Any
  15. def index(pc: PC)(implicit code: Code): Int

    Permalink

    Returns the index of an instruction – identified by its program counter (pc) – in a basic block.

    Returns the index of an instruction – identified by its program counter (pc) – in a basic block.

    Example

    Given a basic block which has five instructions which have the following program counters: {0,1,3,5,6}. In this case the index of the instruction with program counter 3 will be 2 and in case of the instruction with pc 6 the index will be 4.

    pc

    The program counter of the instruction for which the index is needed. pc has to satisfy: startPC <= pc <= endPC.

    code

    The code to which this basic block belongs.

  16. final def isBasicBlock: Boolean

    Permalink
    Definition Classes
    BasicBlockCFGNode
  17. final def isCatchNode: Boolean

    Permalink
    Definition Classes
    BasicBlockCFGNode
  18. final def isExitNode: Boolean

    Permalink
    Definition Classes
    BasicBlockCFGNode
  19. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  20. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  21. def nodeId: Long

    Permalink
    Definition Classes
    BasicBlock → Node
  22. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  24. def predecessors: Set[CFGNode]

    Permalink
    Definition Classes
    CFGNode
  25. def reachable(reflexive: Boolean = false): Set[CFGNode]

    Permalink

    Computes the set of all CFGNodes that are reachable from this one.

    Computes the set of all CFGNodes that are reachable from this one.

    Definition Classes
    CFGNode
    Note

    The result is not cached.

  26. val startPC: PC

    Permalink

    The pc of the first instruction belonging to the BasicBlock.

  27. def successors: Set[CFGNode]

    Permalink
    Definition Classes
    CFGNode
  28. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  29. def toHRR: Option[String]

    Permalink
    Definition Classes
    BasicBlock → Node
  30. def toString(): String

    Permalink
    Definition Classes
    BasicBlock → AnyRef → Any
  31. def visualProperties: Map[String, String]

    Permalink
    Definition Classes
    BasicBlock → Node
  32. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from CFGNode

Inherited from Node

Inherited from AnyRef

Inherited from Any

Ungrouped