1 cananian 1.1.2.1 // Typed.java, created Thu Jan 14 18:59:52 1999 by cananian
 2 cananian 1.1.2.4 // Copyright (C) 1998 C. Scott Ananian <cananian@alumni.princeton.edu>
 3 cananian 1.1.2.4 // Licensed under the terms of the GNU GPL; see COPYING for details.
 4 cananian 1.1.2.1 package harpoon.IR.Tree;
 5 cananian 1.1.2.1 
 6 cananian 1.1.2.1 /**
 7 cananian 1.1.2.1  * The <code>Typed</code> interface allows access to type information for
 8 cananian 1.1.2.7  * <code>Exp</code>s (including
 9 cananian 1.1.2.2  * <code>TEMP</code>, <code>MEM</code>, <code>CONST</code>,
10 cananian 1.1.2.7  * <code>OPER</code>, and <code>UNOP</code>) and the <code>Stm</code>s
11 cananian 1.1.2.7  * <code>THROW</code>, <code>RETURN</code>, and <code>MOVE</code>.
12 cananian 1.1.2.1  * 
13 cananian 1.1.2.1  * @author  C. Scott Ananian <cananian@alumni.princeton.edu>
14 cananian 1.2      * @version $Id: Typed.java,v 1.2 2002/02/25 21:05:42 cananian Exp $
15 cananian 1.1.2.1  */
16 cananian 1.1.2.1 public interface Typed  {
17 cananian 1.1.2.2     // enumerated constants.
18 cananian 1.1.2.2     public int INT=Type.INT;
19 cananian 1.1.2.2     public int LONG=Type.LONG;
20 cananian 1.1.2.2     public int FLOAT=Type.FLOAT;
21 cananian 1.1.2.2     public int DOUBLE=Type.DOUBLE;
22 cananian 1.1.2.2     public int POINTER=Type.POINTER;
23 cananian 1.1.2.2 
24 cananian 1.1.2.2     /** Returns enumerated constant (INT, LONG, FLOAT, DOUBLE, or POINTER)
25 cananian 1.1.2.2      *  corresponding to the type of the expression. */
26 cananian 1.1.2.2     public int type();
27 cananian 1.1.2.3 
28 cananian 1.1.2.3     /** Returns <code>true</code> if the expression corresponds to a
29 cananian 1.1.2.3      *  64-bit value. */
30 cananian 1.1.2.3     public boolean isDoubleWord();
31 cananian 1.1.2.3     /** Returns <code>true</code> if the expression corresponds to a
32 cananian 1.1.2.3      *  floating-point value. */
33 cananian 1.1.2.3     public boolean isFloatingPoint();
34 cananian 1.2     }