1 cananian 1.1.2.1 // ConstMapProxy.java, created Wed Nov 15 21:37:39 2000 by cananian
 2 cananian 1.1.2.2 // Copyright (C) 2000 C. Scott Ananian <cananian@alumni.princeton.edu>
 3 cananian 1.1.2.1 // Licensed under the terms of the GNU GPL; see COPYING for details.
 4 cananian 1.1.2.1 package harpoon.Analysis.Maps;
 5 cananian 1.1.2.1 
 6 cananian 1.1.2.1 import harpoon.ClassFile.HCodeAndMaps;
 7 cananian 1.1.2.1 import harpoon.ClassFile.HCodeElement;
 8 cananian 1.1.2.1 import harpoon.Temp.Temp;
 9 cananian 1.1.2.1 /**
10 cananian 1.1.2.1  * A <code>ConstMapProxy</code> implements a <code>ConstMap</code> for
11 cananian 1.1.2.1  * a cloned <code>HCode</code> given the <code>HCodeAndMaps</code> which
12 cananian 1.1.2.1  * specifies its relationship to an <code>HCode</code> for which a
13 cananian 1.1.2.1  * <code>ConstMap</code> is known.
14 cananian 1.1.2.1  * 
15 cananian 1.1.2.2  * @author   C. Scott Ananian <cananian@alumni.princeton.edu>
16 cananian 1.3      * @version $Id: ConstMapProxy.java,v 1.3 2002/09/02 19:23:26 cananian Exp $
17 cananian 1.1.2.1  */
18 cananian 1.3     public class ConstMapProxy<HCE extends HCodeElement>
19 cananian 1.3         extends MapProxy<HCE> implements ConstMap<HCE> {
20 cananian 1.3         private ConstMap<HCE> cm;
21 cananian 1.1.2.1     /** Creates a <code>ConstMapProxy</code>. */
22 cananian 1.3         public ConstMapProxy(HCodeAndMaps<HCE> hcam, ConstMap<HCE> cm) {
23 cananian 1.1.2.1         super(hcam);
24 cananian 1.1.2.1         this.cm = cm;
25 cananian 1.1.2.1     }
26 cananian 1.3         public boolean isConst(HCE hce, Temp t) {
27 cananian 1.1.2.1         return cm.isConst(n2o(hce), n2o(t));
28 cananian 1.1.2.1     }
29 cananian 1.3         public Object constMap(HCE hce, Temp t) {
30 cananian 1.1.2.1         return cm.constMap(n2o(hce), n2o(t));
31 cananian 1.1.2.1     }
32 cananian 1.2     }