joeq.Class
Class PrimordialClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by joeq.Class.PrimordialClassLoader
All Implemented Interfaces:
jq_ClassFileConstants

public class PrimordialClassLoader
extends ClassLoader
implements jq_ClassFileConstants

PrimordialClassLoader

Version:
$Id: PrimordialClassLoader.java 2192 2005-02-18 06:07:06Z livshits $
Author:
John Whaley

Field Summary
static jq_Array AddressArray
           
static String filesep
           
static jq_Class JavaLangClass
           
static jq_Class JavaLangObject
           
static jq_Class JavaLangString
           
static jq_Class JavaLangSystem
           
static jq_Class JavaLangThrowable
           
static PrimordialClassLoader loader
           
static PrintStream out
           
static String pathsep
           
static boolean TRACE
           
 
Fields inherited from interface joeq.Class.jq_ClassFileConstants
ACC_ABSTRACT, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, CONSTANT_Class, CONSTANT_Double, CONSTANT_FieldRef, CONSTANT_Float, CONSTANT_Integer, CONSTANT_InterfaceMethodRef, CONSTANT_Long, CONSTANT_MethodRef, CONSTANT_NameAndType, CONSTANT_ResolvedClass, CONSTANT_ResolvedIFieldRef, CONSTANT_ResolvedIMethodRef, CONSTANT_ResolvedSFieldRef, CONSTANT_ResolvedSMethodRef, CONSTANT_String, CONSTANT_Utf8, CONSUME_STACK, ILLEGAL_OPCODE, ILLEGAL_TYPE, jbc_AALOAD, jbc_AASTORE, jbc_ACONST_NULL, jbc_ALOAD, jbc_ALOAD_0, jbc_ALOAD_1, jbc_ALOAD_2, jbc_ALOAD_3, jbc_ANEWARRAY, jbc_ARETURN, jbc_ARRAYLENGTH, jbc_ASTORE, jbc_ASTORE_0, jbc_ASTORE_1, jbc_ASTORE_2, jbc_ASTORE_3, jbc_ATHROW, jbc_BALOAD, jbc_BASTORE, jbc_BIPUSH, jbc_BREAKPOINT, jbc_CALOAD, jbc_CASTORE, jbc_CHECKCAST, jbc_D2F, jbc_D2I, jbc_D2L, jbc_DADD, jbc_DALOAD, jbc_DASTORE, jbc_DCMPG, jbc_DCMPL, jbc_DCONST_0, jbc_DCONST_1, jbc_DDIV, jbc_DLOAD, jbc_DLOAD_0, jbc_DLOAD_1, jbc_DLOAD_2, jbc_DLOAD_3, jbc_DMUL, jbc_DNEG, jbc_DREM, jbc_DRETURN, jbc_DSTORE, jbc_DSTORE_0, jbc_DSTORE_1, jbc_DSTORE_2, jbc_DSTORE_3, jbc_DSUB, jbc_DUP, jbc_DUP_X1, jbc_DUP_X2, jbc_DUP2, jbc_DUP2_X1, jbc_DUP2_X2, jbc_F2D, jbc_F2I, jbc_F2L, jbc_FADD, jbc_FALOAD, jbc_FASTORE, jbc_FCMPG, jbc_FCMPL, jbc_FCONST_0, jbc_FCONST_1, jbc_FCONST_2, jbc_FDIV, jbc_FLOAD, jbc_FLOAD_0, jbc_FLOAD_1, jbc_FLOAD_2, jbc_FLOAD_3, jbc_FMUL, jbc_FNEG, jbc_FREM, jbc_FRETURN, jbc_FSTORE, jbc_FSTORE_0, jbc_FSTORE_1, jbc_FSTORE_2, jbc_FSTORE_3, jbc_FSUB, jbc_GETFIELD, jbc_GETSTATIC, jbc_GOTO, jbc_GOTO_W, jbc_I2B, jbc_I2C, jbc_I2D, jbc_I2F, jbc_I2L, jbc_I2S, jbc_IADD, jbc_IALOAD, jbc_IAND, jbc_IASTORE, jbc_ICONST_0, jbc_ICONST_1, jbc_ICONST_2, jbc_ICONST_3, jbc_ICONST_4, jbc_ICONST_5, jbc_ICONST_M1, jbc_IDIV, jbc_IF_ACMPEQ, jbc_IF_ACMPNE, jbc_IF_ICMPEQ, jbc_IF_ICMPGE, jbc_IF_ICMPGT, jbc_IF_ICMPLE, jbc_IF_ICMPLT, jbc_IF_ICMPNE, jbc_IFEQ, jbc_IFGE, jbc_IFGT, jbc_IFLE, jbc_IFLT, jbc_IFNE, jbc_IFNONNULL, jbc_IFNULL, jbc_IINC, jbc_ILOAD, jbc_ILOAD_0, jbc_ILOAD_1, jbc_ILOAD_2, jbc_ILOAD_3, jbc_IMUL, jbc_INEG, jbc_INSTANCEOF, jbc_INT2BYTE, jbc_INT2CHAR, jbc_INT2SHORT, jbc_INVOKEINTERFACE, jbc_INVOKENONVIRTUAL, jbc_INVOKESPECIAL, jbc_INVOKESTATIC, jbc_INVOKEVIRTUAL, jbc_IOR, jbc_IREM, jbc_IRETURN, jbc_ISHL, jbc_ISHR, jbc_ISTORE, jbc_ISTORE_0, jbc_ISTORE_1, jbc_ISTORE_2, jbc_ISTORE_3, jbc_ISUB, jbc_IUSHR, jbc_IXOR, jbc_JSR, jbc_JSR_W, jbc_L2D, jbc_L2F, jbc_L2I, jbc_LADD, jbc_LALOAD, jbc_LAND, jbc_LASTORE, jbc_LCMP, jbc_LCONST_0, jbc_LCONST_1, jbc_LDC, jbc_LDC_W, jbc_LDC2_W, jbc_LDIV, jbc_LLOAD, jbc_LLOAD_0, jbc_LLOAD_1, jbc_LLOAD_2, jbc_LLOAD_3, jbc_LMUL, jbc_LNEG, jbc_LOOKUPSWITCH, jbc_LOR, jbc_LREM, jbc_LRETURN, jbc_LSHL, jbc_LSHR, jbc_LSTORE, jbc_LSTORE_0, jbc_LSTORE_1, jbc_LSTORE_2, jbc_LSTORE_3, jbc_LSUB, jbc_LUSHR, jbc_LXOR, jbc_MONITORENTER, jbc_MONITOREXIT, jbc_MULTIANEWARRAY, jbc_NEW, jbc_NEWARRAY, jbc_NOP, jbc_POP, jbc_POP2, jbc_PUTFIELD, jbc_PUTSTATIC, jbc_RET, jbc_RETURN, jbc_SALOAD, jbc_SASTORE, jbc_SIPUSH, jbc_SWAP, jbc_TABLESWITCH, jbc_WIDE, NO_OF_OPERANDS, OPCODE_NAMES, PRODUCE_STACK, RESERVED, STATE_CLSINITERROR, STATE_CLSINITIALIZED, STATE_CLSINITIALIZING, STATE_CLSINITRUNNING, STATE_COMPILED, STATE_COMPILING, STATE_LOADED, STATE_LOADERROR, STATE_LOADING1, STATE_LOADING2, STATE_LOADING3, STATE_PREPARED, STATE_PREPAREERROR, STATE_PREPARING, STATE_SFINITERROR, STATE_SFINITIALIZED, STATE_SFINITIALIZING, STATE_UNLOADED, STATE_VERIFIED, STATE_VERIFYERROR, STATE_VERIFYING, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TC_ARRAY, TC_BOOLEAN, TC_BYTE, TC_CHAR, TC_CLASS, TC_CLASSEND, TC_DOUBLE, TC_FLOAT, TC_INT, TC_LONG, TC_PARAM, TC_PARAMEND, TC_SHORT, TC_VOID, TYPE_OF_OPERANDS, UNDEFINED, UNPREDICTABLE
 
Method Summary
 void addToClasspath(String s)
          Vector of ClasspathElements corresponding to CLASSPATH entries.
static String classnameToResource(String classname)
          Translate a class name into a corresponding resource name.
static Iterator classpaths(String classpath)
          Iterate over the components of the system CLASSPATH.
 String classpathToString()
           
static String descriptorToResource(String desc)
           
static jq_Array getAddressArray()
           
 jq_Type[] getAllTypes()
           
 jq_Type getBSType(String desc)
           
 jq_Type getBSType(Utf8 desc)
           
 Set getClassesThatReference(jq_Member m)
           
 DataInputStream getClassFileStream(Utf8 descriptor)
           
static jq_Class getJavaLangArithmeticException()
           
static jq_Class getJavaLangArrayIndexOutOfBoundsException()
           
static jq_Class getJavaLangArrayStoreException()
           
static jq_Class getJavaLangClass()
           
static jq_Class getJavaLangClassCastException()
           
static jq_Class getJavaLangClassLoader()
           
static jq_Class getJavaLangError()
           
static jq_Class getJavaLangException()
           
static jq_Class getJavaLangIllegalMonitorStateException()
           
static jq_Class getJavaLangIndexOutOfBoundsException()
           
static jq_Class getJavaLangNegativeArraySizeException()
           
static jq_Class getJavaLangNullPointerException()
           
static jq_Class getJavaLangObject()
           
static jq_Class getJavaLangRefFinalizer()
           
static jq_Class getJavaLangReflectConstructor()
           
static jq_Class getJavaLangReflectField()
           
static jq_Class getJavaLangReflectMethod()
           
static jq_Class getJavaLangRuntimeException()
           
static jq_Class getJavaLangString()
           
static jq_Class getJavaLangSystem()
           
static jq_Class getJavaLangThread()
           
static jq_Class getJavaLangThrowable()
           
 int getNumTypes()
           
 jq_Type getOrCreateBSType(String desc)
           
 jq_Type getOrCreateBSType(Utf8 desc)
           
 jq_Class getOrCreateClass(String desc, DataInput in)
           
static jq_Type getOrCreateType(ClassLoader cl, Utf8 desc)
           
 String getPackagePath(String name)
           
 InputStream getResourceAsStream(String name)
          Open an InputStream on a resource found somewhere in the CLASSPATH.
 String getResourcePath(String name)
           
 Iterator listPackage(String pathname)
           
 Iterator listPackage(String pathname, boolean recursive)
           
 Iterator listPackages()
           
 void replaceClass(String cName)
           
 void unloadBSType(jq_Type t)
           
static void unloadType(ClassLoader cl, jq_Type t)
           
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TRACE

public static boolean TRACE

out

public static final PrintStream out

pathsep

public static final String pathsep

filesep

public static final String filesep

loader

public static final PrimordialClassLoader loader

JavaLangObject

public static final jq_Class JavaLangObject

JavaLangClass

public static final jq_Class JavaLangClass

JavaLangString

public static final jq_Class JavaLangString

JavaLangSystem

public static final jq_Class JavaLangSystem

JavaLangThrowable

public static final jq_Class JavaLangThrowable

AddressArray

public static final jq_Array AddressArray
Method Detail

addToClasspath

public void addToClasspath(String s)
Vector of ClasspathElements corresponding to CLASSPATH entries.


classpaths

public static final Iterator classpaths(String classpath)
Iterate over the components of the system CLASSPATH. Each element is a String naming one segment of the CLASSPATH.


listPackage

public Iterator listPackage(String pathname)

listPackage

public Iterator listPackage(String pathname,
                            boolean recursive)

listPackages

public Iterator listPackages()

classpathToString

public String classpathToString()

descriptorToResource

public static String descriptorToResource(String desc)

classnameToResource

public static String classnameToResource(String classname)
Translate a class name into a corresponding resource name.

Parameters:
classname - The class name to translate.

getResourcePath

public String getResourcePath(String name)

getPackagePath

public String getPackagePath(String name)

getResourceAsStream

public InputStream getResourceAsStream(String name)
Open an InputStream on a resource found somewhere in the CLASSPATH.

Overrides:
getResourceAsStream in class ClassLoader
Parameters:
name - The filename of the resource to locate.

getClassFileStream

public DataInputStream getClassFileStream(Utf8 descriptor)
                                   throws IOException
Throws:
IOException

getJavaLangObject

public static jq_Class getJavaLangObject()

getJavaLangClass

public static jq_Class getJavaLangClass()

getJavaLangString

public static jq_Class getJavaLangString()

getJavaLangSystem

public static jq_Class getJavaLangSystem()

getJavaLangThrowable

public static jq_Class getJavaLangThrowable()

getAddressArray

public static jq_Array getAddressArray()

getJavaLangException

public static jq_Class getJavaLangException()

getJavaLangError

public static jq_Class getJavaLangError()

getJavaLangRuntimeException

public static jq_Class getJavaLangRuntimeException()

getJavaLangNullPointerException

public static jq_Class getJavaLangNullPointerException()

getJavaLangIndexOutOfBoundsException

public static jq_Class getJavaLangIndexOutOfBoundsException()

getJavaLangArrayIndexOutOfBoundsException

public static jq_Class getJavaLangArrayIndexOutOfBoundsException()

getJavaLangArrayStoreException

public static jq_Class getJavaLangArrayStoreException()

getJavaLangNegativeArraySizeException

public static jq_Class getJavaLangNegativeArraySizeException()

getJavaLangArithmeticException

public static jq_Class getJavaLangArithmeticException()

getJavaLangIllegalMonitorStateException

public static jq_Class getJavaLangIllegalMonitorStateException()

getJavaLangClassCastException

public static jq_Class getJavaLangClassCastException()

getJavaLangClassLoader

public static jq_Class getJavaLangClassLoader()

getJavaLangReflectField

public static jq_Class getJavaLangReflectField()

getJavaLangReflectMethod

public static jq_Class getJavaLangReflectMethod()

getJavaLangReflectConstructor

public static jq_Class getJavaLangReflectConstructor()

getJavaLangThread

public static jq_Class getJavaLangThread()

getJavaLangRefFinalizer

public static jq_Class getJavaLangRefFinalizer()

getAllTypes

public jq_Type[] getAllTypes()

getNumTypes

public int getNumTypes()

getClassesThatReference

public final Set getClassesThatReference(jq_Member m)

getOrCreateClass

public final jq_Class getOrCreateClass(String desc,
                                       DataInput in)

getBSType

public final jq_Type getBSType(String desc)

getBSType

public final jq_Type getBSType(Utf8 desc)

getOrCreateBSType

public final jq_Type getOrCreateBSType(String desc)

getOrCreateBSType

public final jq_Type getOrCreateBSType(Utf8 desc)

replaceClass

public final void replaceClass(String cName)

unloadBSType

public void unloadBSType(jq_Type t)

getOrCreateType

public static final jq_Type getOrCreateType(ClassLoader cl,
                                            Utf8 desc)

unloadType

public static final void unloadType(ClassLoader cl,
                                    jq_Type t)


Copyright © 2001-2008 John Whaley. All Rights Reserved.