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 }