Package soot.toolkits.graph
Interface ExceptionalGraph.ExceptionDest<N>
-
- Type Parameters:
N-
- All Known Implementing Classes:
ExceptionalBlockGraph.ExceptionDest,ExceptionalUnitGraph.ExceptionDest
- Enclosing interface:
- ExceptionalGraph<N>
public static interface ExceptionalGraph.ExceptionDest<N>Data structure to represent the fact that a given
Trapwill catch some subset of the exceptions which may be thrown by a given graph node.Note that these ``destinations'' are different from the edges in the CFG proper which are returned by
getSuccsOf()andgetPredsOf(). An edge fromatobin the CFG represents the fact that after nodeaexecutes (perhaps only partially, if it throws an exception after producing a side effect), execution may proceed to nodeb. An ExceptionDest fromatob, on the other hand, says that whenafails to execute, execution may proceed tobinstead.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description NgetHandlerNode()Returns the CFG node corresponding to the beginning of the exception handler that catches the exceptions (that is, the node that includes {@link trap().getBeginUnit()}).ThrowableSetgetThrowables()Returns the exceptions thrown to this destination.TrapgetTrap()Returns the trap corresponding to this destination.
-
-
-
Method Detail
-
getTrap
Trap getTrap()
Returns the trap corresponding to this destination.- Returns:
- either a
Traprepresenting the handler that catches the exceptions, if there is such a handler within the method, ornullif there is no such handler and the exceptions cause the method to terminate abruptly.
-
getThrowables
ThrowableSet getThrowables()
Returns the exceptions thrown to this destination.- Returns:
- a
ThrowableSetrepresenting the exceptions which may be caught by thisExceptionDest's trap.
-
getHandlerNode
N getHandlerNode()
Returns the CFG node corresponding to the beginning of the exception handler that catches the exceptions (that is, the node that includes {@link trap().getBeginUnit()}).- Returns:
- the node in this graph which represents the beginning of the handler which catches these exceptions, or
nullif there is no such handler and the exceptions cause the method to terminate abruptly.
-
-