1 duncan   1.1.2.1 // HCLibrary.java, created Mon Dec 28 21:01:12 1998 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 duncan   1.1.2.1 package harpoon.Interpret.Tree;
 5 duncan   1.1.2.1 
 6 duncan   1.1.2.1 import harpoon.ClassFile.HClass;
 7 cananian 1.1.2.5 import harpoon.ClassFile.Linker;
 8 duncan   1.1.2.1 
 9 duncan   1.1.2.1 /**
10 duncan   1.1.2.1  * <code>HCLibrary</code> is a simple superclass designed to bring the
11 duncan   1.1.2.1  * <code>HClass</code> objects for common classes into class scope.
12 duncan   1.1.2.1  * 
13 duncan   1.1.2.1  * @author  C. Scott Ananian <cananian@alumni.princeton.edu>
14 cananian 1.2      * @version $Id: HCLibrary.java,v 1.2 2002/02/25 21:05:50 cananian Exp $
15 duncan   1.1.2.1  */
16 cananian 1.1.2.5 abstract class HCLibrary  {
17 cananian 1.1.2.5     final HClass HCbyteA, HCcharA, HCclass, HCclassA, HCcloneable, HCdouble;
18 cananian 1.1.2.5     final HClass HCfloat, HCobject, HCruntime, HCsmanager, HCstring;
19 cananian 1.1.2.5     final HClass HCstringA, HCsystem, HCthrowable, HCfile, HCfiledesc;
20 cananian 1.1.2.5     final HClass HCfistream, HCfostream, HCrafile, HCproperties;
21 cananian 1.1.2.5     final HClass HCarraystoreE, HCarrayindexE, HCclassnotfoundE;
22 cananian 1.1.2.5     final HClass HCillegalaccessE, HCinstantiationE, HCnullpointerE;
23 cananian 1.1.2.5     final HClass HCnegativearrayE, HCarithmeticE, HCclasscastE;
24 cananian 1.1.2.5     final HClass HCclonenotsupportedE, HCioE, HCsecurityE;
25 cananian 1.1.2.5     final HClass HCillegalaccessErr, HCnosuchmethodErr;
26 cananian 1.1.2.5     final HClass HCunsatisfiedlinkErr;
27 duncan   1.1.2.2 
28 cananian 1.1.2.5     HCLibrary(Linker linker) {
29 cananian 1.1.2.5         HCbyteA = linker.forDescriptor("[B");
30 cananian 1.1.2.5         HCcharA = linker.forDescriptor("[C");
31 cananian 1.1.2.5         HCclass = linker.forName("java.lang.Class");
32 cananian 1.1.2.5         HCclassA = linker.forDescriptor("[Ljava/lang/Class;");
33 cananian 1.1.2.5         HCcloneable = linker.forName("java.lang.Cloneable");
34 cananian 1.1.2.5         HCdouble = linker.forName("java.lang.Double");
35 cananian 1.1.2.5         HCfloat = linker.forName("java.lang.Float");
36 cananian 1.1.2.5         HCobject = linker.forName("java.lang.Object");
37 cananian 1.1.2.5         HCruntime = linker.forName("java.lang.Runtime");
38 cananian 1.1.2.5         HCsmanager = linker.forName("java.lang.SecurityManager");
39 cananian 1.1.2.5         HCstring = linker.forName("java.lang.String");
40 cananian 1.1.2.5         HCstringA = linker.forDescriptor("[Ljava/lang/String;");
41 cananian 1.1.2.5         HCsystem = linker.forName("java.lang.System");
42 cananian 1.1.2.5         HCthrowable = linker.forName("java.lang.Throwable");
43 cananian 1.1.2.5         HCfile = linker.forName("java.io.File");
44 cananian 1.1.2.5         HCfiledesc = linker.forName("java.io.FileDescriptor");
45 cananian 1.1.2.5         HCfistream = linker.forName("java.io.FileInputStream");
46 cananian 1.1.2.5         HCfostream = linker.forName("java.io.FileOutputStream");
47 cananian 1.1.2.5         HCrafile = linker.forName("java.io.RandomAccessFile");
48 cananian 1.1.2.5         HCproperties = linker.forName("java.util.Properties");
49 cananian 1.1.2.5         HCarraystoreE = linker.forName("java.lang.ArrayStoreException");
50 cananian 1.1.2.5         HCarrayindexE = linker.forName("java.lang.ArrayIndexOutOfBounds"+
51 cananian 1.1.2.5                                        "Exception");
52 cananian 1.1.2.5         HCclassnotfoundE = linker.forName("java.lang.ClassNotFoundException");
53 cananian 1.1.2.5         HCillegalaccessE = linker.forName("java.lang.IllegalAccessException");
54 cananian 1.1.2.5         HCinstantiationE = linker.forName("java.lang.InstantiationException");
55 cananian 1.1.2.5         HCnullpointerE = linker.forName("java.lang.NullPointerException");
56 cananian 1.1.2.5         HCnegativearrayE = linker.forName("java.lang.NegativeArraySize"+
57 cananian 1.1.2.5                                           "Exception");
58 cananian 1.1.2.5         HCarithmeticE = linker.forName("java.lang.ArithmeticException");
59 cananian 1.1.2.5         HCclasscastE = linker.forName("java.lang.ClassCastException");
60 cananian 1.1.2.5         HCclonenotsupportedE = linker.forName("java.lang.CloneNotSupported"+
61 cananian 1.1.2.5                                               "Exception");
62 cananian 1.1.2.5         HCioE = linker.forName("java.io.IOException");
63 cananian 1.1.2.5         HCsecurityE = linker.forName("java.lang.SecurityException");
64 cananian 1.1.2.5         HCillegalaccessErr = linker.forName("java.lang.IllegalAccessError");
65 cananian 1.1.2.5         HCnosuchmethodErr = linker.forName("java.lang.NoSuchMethodError");
66 cananian 1.1.2.5         HCunsatisfiedlinkErr=linker.forName("java.lang.UnsatisfiedLinkError");
67 cananian 1.1.2.5     }
68 cananian 1.2     }