|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.cmu.cs.crystal.cfg.ExceptionMap<N,Node>
Node
- public class ExceptionMap<N,Node extends ICFGNode<N>>
This class maintains the exception information for the CFG algorithm while it is building the graph. It is notified of certain points in the cfg algorithm (such as finding a finally or catch), and it can be queried for information about the finallys at a given point or the nearest catch. The ExceptionMap maintains links to ASTNodes and CFGNodes. It should be deleted when the CFG is done with it.
Constructor Summary | |
---|---|
ExceptionMap()
|
Method Summary | |
---|---|
Object |
clone()
|
Node |
getCatchNode(ITypeBinding exception)
|
Stack<Node> |
getFinallyToException(ITypeBinding exceptionToStopAt)
Returns a stack of nodes that are the finally nodes up to the exception. |
Node |
popCatch()
Finish a catch. |
Node |
popFinally()
Finish a try. |
void |
pushCatch(Node catchNode,
ITypeBinding exception)
Notify the exception map that we have an exception, and it is catching a particular type of exception. |
void |
pushFinally(Node finallyNode)
Notify the exception map that we've found a try node, and we have a finally for it. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ExceptionMap()
Method Detail |
---|
public void pushFinally(Node finallyNode)
finallyNode
- public void pushCatch(Node catchNode, ITypeBinding exception)
catchNode
- exception
- public Node popFinally()
public Node popCatch()
public Node getCatchNode(ITypeBinding exception)
exception
- An exception to find a catch node for, considering subtyping
public Stack<Node> getFinallyToException(ITypeBinding exceptionToStopAt)
exceptionToStopAt
- The exception we should stop at. This might be a subtype of the actual exception
that we stop at.
public Object clone() throws CloneNotSupportedException
clone
in class Object
CloneNotSupportedException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |