daikon.chicory
Class ChicoryPremain.ChicoryLoader
Object
ClassLoader
ChicoryPremain.ChicoryLoader
- Enclosing class:
- ChicoryPremain
public static class ChicoryPremain.ChicoryLoader
- extends ClassLoader
Classloader for the BCEL code. Using this classloader guarantees
that we get the PAG version of the BCEL code and not a possible
incompatible version from elsewhere on the users classpath. We
also load daikon.chicory.Instrument via this (since that class is
the user of all of the BCEL classes). All references to BCEL
must be within that class (so that all references to BCEL will
get resolved by this classloader).
The PAG version of BCEL is identified by the presence of the
PAG marker class (org.apache.bcel.PAGMarker). Other versions of
BCEL will not contain this class. If other versions of BCEL are
present, they must appear before the PAG versions in the classpath
(so that the users application will see them first). If only the
PAG version is in the classpath, then the normal loader is used
for all of the classes.
|
Field Summary |
static SimpleLog |
debug
|
| Methods inherited from class ClassLoader |
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners |
| Methods inherited from class Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
debug
public static final SimpleLog debug
ChicoryPremain.ChicoryLoader
public ChicoryPremain.ChicoryLoader()
throws IOException
- Throws:
IOException
loadClass
protected Class<?> loadClass(String name,
boolean resolve)
throws ClassNotFoundException
- Overrides:
loadClass in class ClassLoader
- Throws:
ClassNotFoundException