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