01: /* CatchData.java */
02: package org.quilt.cl;
03:
04: import org.apache.bcel.generic.*;
05: import org.quilt.graph.Vertex;
06:
07: /**
08: * Data structure describing an exception handler.
09: *
10: * XXX There have been problems associated with generation of
11: * exception handlers. <code>tryEnd</code> should be used to get
12: * a handle of the <b>last</b> instruction in the vertex.
13: *
14: * @author < a href="jddixon@users.sourceforge.net">Jim Dixon</a>
15: */
16: public class CatchData {
17:
18: /** First code vertex in try block. */
19: public Vertex tryStart;
20: /** Last code Vertex in try block. */
21: public Vertex tryEnd;
22: /** First code vertex in handler. */
23: public Vertex handlerPC;
24: /** Type of exception handled. */
25: public ObjectType exception;
26:
27: /** The information needed to set up an exception handler. */
28:
29: public CatchData(Vertex start, Vertex end, Vertex handler,
30: ObjectType exc) {
31: tryStart = start;
32: tryEnd = end;
33: handlerPC = handler;
34: exception = exc;
35: }
36: }
|