1 cananian 1.1 // DefaultMap.java, created Sat Sep 12 17:30:49 1998 by cananian 2 cananian 1.2 // Copyright (C) 1998 C. Scott Ananian <cananian@alumni.princeton.edu> 3 cananian 1.2 // Licensed under the terms of the GNU GPL; see COPYING for details. 4 cananian 1.1 package harpoon.Analysis.Maps; 5 cananian 1.1 6 cananian 1.2.2.1 import harpoon.ClassFile.HCode; 7 cananian 1.2.2.1 import harpoon.ClassFile.HCodeEdge; 8 cananian 1.2.2.1 import harpoon.ClassFile.HCodeElement; 9 cananian 1.1 import harpoon.Temp.Temp; 10 cananian 1.2.2.1 11 cananian 1.1 /** 12 cananian 1.1 * A <code>DefaultMap</code> returns conservative values for 13 cananian 1.1 * const and exec information: namely that no temp corresponds 14 cananian 1.1 * to a constant and that every node and edge is potentially 15 cananian 1.1 * executable. 16 cananian 1.1 * 17 cananian 1.1 * @author C. Scott Ananian <cananian@alumni.princeton.edu> 18 cananian 1.4 * @version $Id: DefaultMap.java,v 1.4 2002/09/02 19:23:26 cananian Exp $ 19 cananian 1.1 */ 20 cananian 1.4 // we never refer to type 'HCE' in this class; this should perhaps not 21 cananian 1.4 // be parameterized. 22 cananian 1.4 public class DefaultMap<HCE extends HCodeElement> 23 cananian 1.4 implements ConstMap<HCE>, ExecMap<HCE> { 24 cananian 1.4 public boolean isConst(HCE hce, Temp t) { return false; } 25 cananian 1.4 public Object constMap(HCE hce, Temp t) { 26 cananian 1.1 throw new Error("Temp "+t+" not constant."); 27 cananian 1.1 } 28 cananian 1.4 public boolean execMap(HCE node) { return true; } 29 cananian 1.4 public boolean execMap(HCodeEdge<HCE> edge) { return true; } 30 cananian 1.1 }