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 }