Class

org.opalj.br.cfg

CatchNode

Related Doc: package cfg

Permalink

class CatchNode extends CFGNode

This node represents an exception handler.

Note

CatchNodes are made explicit to handle/identify situations where the same exception handlers is responsible for handling multiple different exceptions. This situation generally arises in case of Javas multi-catch expressions.

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

Instance Constructors

  1. new CatchNode(handler: ExceptionHandler, index: Int)

    Permalink
  2. new CatchNode(index: Int, startPC: PC, endPC: PC, handlerPC: PC, catchType: Option[ObjectType])

    Permalink

    index

    The index of the underlying exception handler in the exception table.

    startPC

    The start pc of the try-block.

    endPC

    The pc of the first instruction after the try-block (exclusive!).

    handlerPC

    The first pc of the handler block.

    catchType

    The type of the handled exception.

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. def addPredecessor(predecessor: CFGNode): Unit

    Permalink
    Definition Classes
    CFGNode
  5. def addSuccessor(successor: CFGNode): Unit

    Permalink
    Definition Classes
    CFGNode
  6. def asBasicBlock: BasicBlock

    Permalink
    Definition Classes
    CFGNode
  7. final def asCatchNode: CatchNode.this.type

    Permalink
    Definition Classes
    CatchNodeCFGNode
  8. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  9. val catchType: Option[ObjectType]

    Permalink

    The type of the handled exception.

  10. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. def copy(index: Int = this.index, startPC: PC = this.startPC, endPC: PC = this.endPC, handlerPC: PC = this.handlerPC, catchType: Option[ObjectType] = this.catchType): CatchNode

    Permalink
  12. val endPC: PC

    Permalink

    The pc of the first instruction after the try-block (exclusive!).

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

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. final def foreachSuccessor(f: (Node) ⇒ Unit): Unit

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

    Permalink
    Definition Classes
    AnyRef → Any
  18. val handlerPC: PC

    Permalink

    The first pc of the handler block.

  19. final def hasSuccessors: Boolean

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

    Permalink
    Definition Classes
    Node → AnyRef → Any
  21. val index: Int

    Permalink

    The index of the underlying exception handler in the exception table.

  22. final def isBasicBlock: Boolean

    Permalink
    Definition Classes
    CatchNodeCFGNode
  23. final def isCatchNode: Boolean

    Permalink
    Definition Classes
    CatchNodeCFGNode
  24. final def isExitNode: Boolean

    Permalink
    Definition Classes
    CatchNodeCFGNode
  25. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  26. final def isStartOfSubroutine: Boolean

    Permalink
    Definition Classes
    CatchNodeCFGNode
  27. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  28. final def nodeId: Int

    Permalink
    Definition Classes
    CatchNode → Node
  29. final def notify(): Unit

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

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

    Permalink
    Definition Classes
    CFGNode
  32. 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.

  33. def removePredecessor(predecessor: CFGNode): Unit

    Permalink
    Definition Classes
    CFGNode
  34. val startPC: PC

    Permalink

    The start pc of the try-block.

  35. def successors: Set[CFGNode]

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

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

    Permalink
    Definition Classes
    CatchNode → Node
  38. def toString(): String

    Permalink
    Definition Classes
    CatchNode → AnyRef → Any
  39. def visualProperties: Map[String, String]

    Permalink
    Definition Classes
    CatchNode → Node
  40. final def wait(): Unit

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  42. 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