1 cananian 1.1.2.1 // QuadKind.java, created Fri Dec 11 06:48:53 1998 by cananian 2 cananian 1.1.2.5 // Copyright (C) 1998 C. Scott Ananian <cananian@alumni.princeton.edu> 3 cananian 1.1.2.5 // Licensed under the terms of the GNU GPL; see COPYING for details. 4 cananian 1.1.2.1 package harpoon.IR.Quads; 5 cananian 1.1.2.1 6 cananian 1.1.2.1 /** 7 cananian 1.1.2.1 * <code>QuadKind</code> is an enumerated type for the various kinds of 8 cananian 1.1.2.1 * <code>Quad</code>s. 9 cananian 1.1.2.1 * 10 cananian 1.1.2.1 * @author C. Scott Ananian <cananian@alumni.princeton.edu> 11 cananian 1.2 * @version $Id: QuadKind.java,v 1.2 2002/02/25 21:05:12 cananian Exp $ 12 cananian 1.1.2.1 */ 13 cananian 1.1.2.1 public abstract class QuadKind { 14 cananian 1.1.2.1 private static int n = min(); 15 cananian 1.1.2.1 16 cananian 1.1.2.1 public final static int AGET = n++; 17 cananian 1.1.2.1 public final static int ALENGTH = n++; 18 cananian 1.1.2.1 public final static int ANEW = n++; 19 cananian 1.1.2.1 public final static int ARRAYINIT = n++; 20 cananian 1.1.2.1 public final static int ASET = n++; 21 cananian 1.1.2.1 public final static int CALL = n++; 22 cananian 1.1.2.1 public final static int CJMP = n++; 23 cananian 1.1.2.1 public final static int COMPONENTOF = n++; 24 cananian 1.1.2.1 public final static int CONST = n++; 25 cananian 1.1.2.1 public final static int DEBUG = n++; 26 cananian 1.1.2.1 public final static int FOOTER = n++; 27 cananian 1.1.2.1 public final static int GET = n++; 28 cananian 1.1.2.1 public final static int HEADER = n++; 29 cananian 1.1.2.1 public final static int INSTANCEOF = n++; 30 cananian 1.1.2.1 public final static int LABEL = n++; 31 cananian 1.1.2.2 public final static int HANDLER = n++; 32 cananian 1.1.2.2 public final static int METHOD = n++; 33 cananian 1.1.2.1 public final static int MONITORENTER = n++; 34 cananian 1.1.2.1 public final static int MONITOREXIT = n++; 35 cananian 1.1.2.1 public final static int MOVE = n++; 36 cananian 1.1.2.1 public final static int NEW = n++; 37 cananian 1.1.2.1 public final static int NOP = n++; 38 cananian 1.1.2.1 public final static int OPER = n++; 39 cananian 1.1.2.1 public final static int PHI = n++; 40 cananian 1.1.2.1 public final static int RETURN = n++; 41 cananian 1.1.2.1 public final static int SET = n++; 42 cananian 1.1.2.1 public final static int SIGMA = n++; 43 cananian 1.1.2.1 public final static int SWITCH = n++; 44 cananian 1.1.2.1 public final static int THROW = n++; 45 cananian 1.1.2.3 public final static int TYPECAST = n++; 46 cananian 1.1.2.6 public final static int TYPESWITCH = n++; 47 cananian 1.1.2.4 public final static int XI = n++; 48 cananian 1.1.2.1 49 cananian 1.1.2.1 public static int min() { return 0; } 50 cananian 1.1.2.1 public static int max() { return n; } 51 cananian 1.1.2.1 52 cananian 1.1.2.1 public static boolean isValid(int k) { 53 cananian 1.1.2.1 return (min()<=k) && (k<max()); 54 cananian 1.1.2.1 } 55 cananian 1.1.2.1 } 56 cananian 1.1.2.1 57 cananian 1.1.2.1 58 cananian 1.1.2.1 59 cananian 1.2