Package soot.toolkits.graph
Interface ExceptionalGraph<N>
-
- Type Parameters:
N- node type
- All Superinterfaces:
DirectedBodyGraph<N>,DirectedGraph<N>,Iterable<N>
- All Known Implementing Classes:
CompleteBlockGraph,CompleteUnitGraph,ExceptionalBlockGraph,ExceptionalUnitGraph
public interface ExceptionalGraph<N> extends DirectedBodyGraph<N>
Defines the interface for navigating a control flow graph which distinguishes exceptional control flow.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceExceptionalGraph.ExceptionDest<N>Data structure to represent the fact that a givenTrapwill catch some subset of the exceptions which may be thrown by a given graph node.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description BodygetBody()Returns theBodyfrom which this graph was built.List<N>getExceptionalPredsOf(N n)Returns a list of nodes which are predecessors of a given node when only exceptional control flow is considered.List<N>getExceptionalSuccsOf(N n)Returns a list of nodes which are successors of a given node when only exceptional control flow is considered.Collection<? extends ExceptionalGraph.ExceptionDest<N>>getExceptionDests(N n)Returns a collection ofExceptionDestobjects which represent how exceptions thrown by a specified node will be handled.List<N>getUnexceptionalPredsOf(N n)Returns a list of nodes which are predecessors of a given node when only unexceptional control flow is considered.List<N>getUnexceptionalSuccsOf(N n)Returns a list of nodes which are successors of a given node when only unexceptional control flow is considered.-
Methods inherited from interface soot.toolkits.graph.DirectedGraph
getHeads, getPredsOf, getSuccsOf, getTails, iterator, size
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
getBody
Body getBody()
Returns theBodyfrom which this graph was built.- Specified by:
getBodyin interfaceDirectedBodyGraph<N>- Returns:
- the
Bodyfrom which this graph was built.
-
getUnexceptionalPredsOf
List<N> getUnexceptionalPredsOf(N n)
Returns a list of nodes which are predecessors of a given node when only unexceptional control flow is considered.- Parameters:
n- The node whose predecessors are to be returned.- Returns:
- a
Listof the nodes in this graph from which there is an unexceptional edge ton.
-
getUnexceptionalSuccsOf
List<N> getUnexceptionalSuccsOf(N n)
Returns a list of nodes which are successors of a given node when only unexceptional control flow is considered.- Parameters:
n- The node whose successors are to be returned.- Returns:
- a
Listof nodes in this graph to which there is an unexceptional edge fromn.
-
getExceptionalPredsOf
List<N> getExceptionalPredsOf(N n)
Returns a list of nodes which are predecessors of a given node when only exceptional control flow is considered.- Parameters:
n- The node whose predecessors are to be returned.- Returns:
- a
Listof nodes in this graph from which there is an exceptional edge ton.
-
getExceptionalSuccsOf
List<N> getExceptionalSuccsOf(N n)
Returns a list of nodes which are successors of a given node when only exceptional control flow is considered.- Parameters:
n- The node whose successors are to be returned.- Returns:
- a
Listof nodes in this graph to which there is an exceptional edge fromn.
-
getExceptionDests
Collection<? extends ExceptionalGraph.ExceptionDest<N>> getExceptionDests(N n)
Returns a collection ofExceptionDestobjects which represent how exceptions thrown by a specified node will be handled.- Parameters:
n- The node for which to provide exception information.- Returns:
- a collection of
ExceptionDestobjects describing the traps and handlers, if any, which catch the exceptions which may be thrown byn.
-
-