1 bdemsky  1.1.2.1 // HandInfo.java, created Tue Aug 10 17:17:02 1999 by root
 2 bdemsky  1.1.2.1 // Copyright (C) 1999 Brian Demsky <bdemsky@mit.edu>
 3 bdemsky  1.1.2.1 // Licensed under the terms of the GNU GPL; see COPYING for details.
 4 bdemsky  1.1.2.1 package harpoon.IR.Quads;
 5 bdemsky  1.1.2.1 
 6 bdemsky  1.1.2.1 /**
 7 bdemsky  1.1.2.1  * <code>HandInfo</code>
 8 bdemsky  1.1.2.1  * 
 9 bdemsky  1.1.2.1  * @author  Brian Demsky <bdemsky@mit.edu>
10 cananian 1.2      * @version $Id: HandInfo.java,v 1.2 2002/02/25 21:05:12 cananian Exp $
11 bdemsky  1.1.2.1  */
12 bdemsky  1.1.2.1 
13 bdemsky  1.1.2.1 import harpoon.ClassFile.HClass;
14 bdemsky  1.1.2.1 import harpoon.IR.Quads.Quad;
15 bdemsky  1.1.2.2 import java.util.Map;
16 bdemsky  1.1.2.1 
17 bdemsky  1.1.2.1 class HandInfo {
18 bdemsky  1.1.2.1     //Need to denote
19 bdemsky  1.1.2.1     //any handler [hclass=null, anyhandler=true]
20 bdemsky  1.1.2.1     //default exit point [hclass=null, anyhandler=false]
21 bdemsky  1.1.2.1     //other possiblities [hclas=hclass]
22 bdemsky  1.1.2.1     
23 bdemsky  1.1.2.1     private boolean anyhandler;
24 bdemsky  1.1.2.1     private Quad handler;
25 bdemsky  1.1.2.1     private HClass hclass;
26 bdemsky  1.1.2.1     private int edge;
27 bdemsky  1.1.2.2     private Map hm;
28 bdemsky  1.1.2.1 
29 bdemsky  1.1.2.2     HandInfo(boolean anyhandler, Quad handler, int edge, Map hm) {
30 bdemsky  1.1.2.1         this.anyhandler=anyhandler;
31 bdemsky  1.1.2.1         this.handler=handler;
32 bdemsky  1.1.2.1         this.hclass=null;
33 bdemsky  1.1.2.1         this.edge=edge;
34 bdemsky  1.1.2.2         this.hm=hm;
35 bdemsky  1.1.2.1     }
36 bdemsky  1.1.2.2     HandInfo(HClass hclass, Quad handler, int edge, Map hm) {
37 bdemsky  1.1.2.1         this.hclass=hclass;
38 bdemsky  1.1.2.1         this.handler=handler;
39 bdemsky  1.1.2.1         this.anyhandler=false;
40 bdemsky  1.1.2.1         this.edge=edge;
41 bdemsky  1.1.2.2         this.hm=hm;
42 bdemsky  1.1.2.1     }
43 bdemsky  1.1.2.1     Quad handler() {
44 bdemsky  1.1.2.1         return handler;
45 bdemsky  1.1.2.1     }
46 bdemsky  1.1.2.1     int handleredge() {
47 bdemsky  1.1.2.1         return edge;
48 bdemsky  1.1.2.2     }
49 bdemsky  1.1.2.2     Map map() {
50 bdemsky  1.1.2.2         return hm;
51 bdemsky  1.1.2.1     }
52 bdemsky  1.1.2.1     boolean specificex() {
53 bdemsky  1.1.2.1         return (hclass!=null);
54 bdemsky  1.1.2.1     }
55 bdemsky  1.1.2.1     boolean anyhandler() {
56 bdemsky  1.1.2.1         return ((hclass==null)&&(anyhandler==true));
57 bdemsky  1.1.2.1     }
58 bdemsky  1.1.2.1     HClass hclass() {
59 bdemsky  1.1.2.1         return hclass;
60 bdemsky  1.1.2.1     }
61 cananian 1.2     }