1 cananian 1.1.4.1 // HClassPrimitive.java, created Wed Dec 29 22:22:49 1999 by cananian
 2 cananian 1.1.4.1 // Copyright (C) 1999 C. Scott Ananian <cananian@alumni.princeton.edu>
 3 cananian 1.1.4.1 // Licensed under the terms of the GNU GPL; see COPYING for details.
 4 cananian 1.1.4.1 package harpoon.ClassFile;
 5 cananian 1.1.4.1 
 6 cananian 1.1.4.3 import java.lang.reflect.Modifier;
 7 cananian 1.1.4.1 /**
 8 cananian 1.1.4.1  * <code>HClassPrimitive</code> is a simple <code>HClass</code>
 9 cananian 1.1.4.1  * implementation to represent primitive types.
10 cananian 1.1.4.1  * 
11 cananian 1.1.4.1  * @author  C. Scott Ananian <cananian@alumni.princeton.edu>
12 cananian 1.2      * @version $Id: HClassPrimitive.java,v 1.2 2002/02/25 21:03:03 cananian Exp $
13 cananian 1.1.4.1  */
14 cananian 1.1.4.1 class HClassPrimitive extends HClassImpl {
15 cananian 1.1.4.1   final String name, descriptor;
16 cananian 1.1.4.1   HClassPrimitive(final String name, final String descriptor) {
17 cananian 1.1.4.1     super(Loader.systemLinker);
18 cananian 1.1.4.1     this.name = name; this.descriptor = descriptor;
19 cananian 1.1.4.1   }
20 cananian 1.1.4.1   public String getName() { return this.name; }
21 cananian 1.1.4.1   public String getDescriptor() { return this.descriptor; }
22 cananian 1.1.4.1 
23 cananian 1.1.4.1   public HField[]  getDeclaredFields () { return new HField [0]; }
24 cananian 1.1.4.1   public HMethod[] getDeclaredMethods() { return new HMethod[0]; }
25 cananian 1.1.4.1   public int getModifiers() { 
26 cananian 1.1.4.3     // this is what java.lang.Class returns.
27 cananian 1.1.4.3     return Modifier.PUBLIC | Modifier.ABSTRACT | Modifier.FINAL;
28 cananian 1.1.4.1   }
29 cananian 1.1.4.1   public HClass getSuperclass() { return null; }
30 cananian 1.1.4.1   public HClass[] getInterfaces() { return new HClass[0]; }
31 cananian 1.1.4.1   public boolean isPrimitive() { return true; }
32 cananian 1.1.4.1 }
33 cananian 1.1.4.1 // set emacs indentation style.
34 cananian 1.1.4.1 // Local Variables:
35 cananian 1.1.4.1 // c-basic-offset:2
36 cananian 1.2     // End: