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