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 }