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.
- Alphabetic
- By Inheritance
- CatchNode
- CFGNode
- Node
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
CatchNode(handler: ExceptionHandler, index: Int)
- handler
The Handler.
- index
The unique index in the exception handler table; this enables us to assign unique nodeids to catch nodes.
-
new
CatchNode(index: Int, startPC: Int, endPC: Int, handlerPC: Int, catchType: Option[ObjectType])
- 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
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
addPredecessor(predecessor: CFGNode): Unit
- Definition Classes
- CFGNode
-
def
addPredecessors(predecessor: TraversableOnce[CFGNode]): Unit
- Definition Classes
- CFGNode
-
def
addSuccessor(successor: CFGNode): Unit
- Definition Classes
- CFGNode
-
def
asBasicBlock: BasicBlock
- Definition Classes
- CFGNode
- final def asCatchNode: CatchNode.this.type
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- val catchType: Option[ObjectType]
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
- def copy(index: Int = this.index, startPC: Int = this.startPC, endPC: Int = this.endPC, handlerPC: Int = this.handlerPC, catchType: Option[ObjectType] = this.catchType): CatchNode
- val endPC: Int
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(other: Any): Boolean
- Definition Classes
- Node → AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
foreachSuccessor(f: (Node) ⇒ Unit): Unit
- Definition Classes
- CFGNode → Node
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- val handlerPC: Int
-
final
def
hasSuccessors: Boolean
- Definition Classes
- CFGNode → Node
-
def
hashCode(): Int
- Definition Classes
- Node → AnyRef → Any
- val index: Int
- final def isAbnormalReturnExitNode: Boolean
- final def isBasicBlock: Boolean
- final def isCatchNode: Boolean
- final def isExitNode: Boolean
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def isNormalReturnExitNode: Boolean
- final def isStartOfSubroutine: Boolean
-
def
mayThrowException: Boolean
Returns
trueif the last instruction of this basic block throws/may throw an exception; whether the exception is handled or not is not relevant!Returns
trueif the last instruction of this basic block throws/may throw an exception; whether the exception is handled or not is not relevant!- Definition Classes
- CFGNode
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
nodeId: Int
- Definition Classes
- CatchNode → Node
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
predecessors: Set[CFGNode]
- Definition Classes
- CFGNode
-
def
reachable(reflexive: Boolean = false): Set[CFGNode]
Computes the set of all CFGNodes that are reachable from this one.
-
def
removePredecessor(predecessor: CFGNode): Unit
- Definition Classes
- CFGNode
- val startPC: Int
-
def
successors: Set[CFGNode]
- Definition Classes
- CFGNode
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toHRR: Option[String]
- Definition Classes
- CatchNode → Node
-
def
toString(): String
- Definition Classes
- CatchNode → AnyRef → Any
-
def
visualProperties: Map[String, String]
- Definition Classes
- CatchNode → Node
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )