1 cananian 1.1.2.1 // LowQuadKind.java, created Wed Jan 20 22:20:40 1999 by cananian
 2 cananian 1.1.2.1 // Copyright (C) 1999 C. Scott Ananian <cananian@alumni.princeton.edu>
 3 cananian 1.1.2.1 // Licensed under the terms of the GNU GPL; see COPYING for details.
 4 cananian 1.1.2.1 package harpoon.IR.LowQuad;
 5 cananian 1.1.2.1 
 6 cananian 1.1.2.1 /**
 7 cananian 1.1.2.4  * <code>LowQuadKind</code> is an enumerated type for the various kinds of
 8 cananian 1.1.2.4  * <code>LowQuad</code>s. It extends <code>QuadKind</code>, so it enumerates
 9 cananian 1.1.2.4  * all the <code>Quad</code> types, too.
10 cananian 1.1.2.1  * 
11 cananian 1.1.2.1  * @author  C. Scott Ananian <cananian@alumni.princeton.edu>
12 cananian 1.2      * @version $Id: LowQuadKind.java,v 1.2 2002/02/25 21:04:40 cananian Exp $
13 cananian 1.1.2.1  */
14 cananian 1.1.2.1 public abstract class LowQuadKind extends harpoon.IR.Quads.QuadKind {
15 cananian 1.1.2.1     private static int n = min();
16 cananian 1.1.2.1 
17 cananian 1.1.2.3     // PPTR:
18 cananian 1.1.2.3     public static final int PARRAY   = n++;
19 cananian 1.1.2.3     public static final int PFIELD   = n++;
20 cananian 1.1.2.3     public static final int PMETHOD  = n++;
21 cananian 1.1.2.3     // PCONST:
22 cananian 1.1.2.3     public static final int PAOFFSET = n++;
23 cananian 1.1.2.3     public static final int PFOFFSET = n++;
24 cananian 1.1.2.3     public static final int PMOFFSET = n++;
25 cananian 1.1.2.3     public static final int PFCONST  = n++;
26 cananian 1.1.2.3     public static final int PMCONST  = n++;
27 cananian 1.1.2.3     // others:
28 cananian 1.1.2.3     public static final int PCALL    = n++;
29 cananian 1.1.2.3     public static final int PGET     = n++;
30 cananian 1.1.2.3     public static final int POPER    = n++;
31 cananian 1.1.2.3     public static final int PSET     = n++;
32 cananian 1.1.2.1 
33 cananian 1.1.2.1     public static int min() { return harpoon.IR.Quads.QuadKind.max(); }
34 cananian 1.1.2.1     public static int max() { return n; }
35 cananian 1.1.2.1 
36 cananian 1.1.2.1     public static boolean isValid(int k) {
37 cananian 1.1.2.1         return harpoon.IR.Quads.QuadKind.isValid(k) ||
38 cananian 1.1.2.1             (min() <= k && k < max() );
39 cananian 1.1.2.1     }
40 cananian 1.2     }