1 cananian 1.1.2.1 // ExactTypeMapProxy.java, created Wed Nov 15 20:49:03 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 * An <code>ExactTypeMapProxy</code> implements an <code>ExactTypeMap</code> 11 cananian 1.1.2.1 * for 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 an 13 cananian 1.1.2.1 * <code>ExactTypeMap</code> is known. 14 cananian 1.1.2.1 * 15 cananian 1.1.2.1 * @author C. Scott Ananian <cananian@alumni.princeton.edu> 16 cananian 1.3 * @version $Id: ExactTypeMapProxy.java,v 1.3 2002/09/02 19:23:26 cananian Exp $ 17 cananian 1.1.2.1 */ 18 cananian 1.3 public class ExactTypeMapProxy<HCE extends HCodeElement> 19 cananian 1.3 extends TypeMapProxy<HCE> implements ExactTypeMap<HCE> { 20 cananian 1.3 private ExactTypeMap<HCE> etm; 21 cananian 1.1.2.1 /** Creates a <code>ExactTypeMapProxy</code>. */ 22 cananian 1.3 public ExactTypeMapProxy(HCodeAndMaps<HCE> hcam, ExactTypeMap<HCE> etm) { 23 cananian 1.1.2.1 super(hcam, etm); 24 cananian 1.1.2.1 this.etm = etm; 25 cananian 1.1.2.1 } 26 cananian 1.3 public boolean isExactType(HCE hce, Temp t) { 27 cananian 1.1.2.1 return etm.isExactType(n2o(hce), n2o(t)); 28 cananian 1.1.2.1 } 29 cananian 1.2 }