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     }