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 }