public class BypassSyntheticClassLoader extends Object implements IClassLoader
Constructor and Description |
---|
BypassSyntheticClassLoader(ClassLoaderReference me,
IClassLoader parent,
SetOfClasses exclusions,
IClassHierarchy cha)
Don't change my signature! ClassLoaderFactoryImpl calls me by reflection! yuck.
|
Modifier and Type | Method and Description |
---|---|
SSAInstructionFactory |
getInstructionFactory() |
Language |
getLanguage() |
Atom |
getName() |
int |
getNumberOfClasses() |
int |
getNumberOfMethods() |
IClassLoader |
getParent() |
ClassLoaderReference |
getReference()
Return the ClassLoaderReference for this class loader.
|
Reader |
getSource(IClass klass) |
Reader |
getSource(IMethod method,
int offset) |
String |
getSourceFileName(IClass klass) |
String |
getSourceFileName(IMethod method,
int offset) |
void |
init(List<Module> modules)
Initialize internal data structures.
|
Iterator<IClass> |
iterateAllClasses() |
IClass |
lookupClass(TypeName className)
Find and return the IClass defined by this class loader that corresponds to the given class name.
|
void |
registerClass(TypeName className,
IClass theClass)
Register the existence of a new synthetic class
|
void |
removeAll(Collection<IClass> toRemove)
blow away references to any classes in the set
|
String |
toString() |
public BypassSyntheticClassLoader(ClassLoaderReference me, IClassLoader parent, SetOfClasses exclusions, IClassHierarchy cha)
me
- the name of this class loaderparent
- its parentexclusions
- classes to ignorecha
- governing class hierarchypublic IClass lookupClass(TypeName className)
IClassLoader
lookupClass
in interface IClassLoader
className
- name of the classpublic void registerClass(TypeName className, IClass theClass)
public ClassLoaderReference getReference()
getReference
in interface IClassLoader
public Iterator<IClass> iterateAllClasses()
iterateAllClasses
in interface IClassLoader
public int getNumberOfClasses()
getNumberOfClasses
in interface IClassLoader
public Atom getName()
getName
in interface IClassLoader
public Language getLanguage()
getLanguage
in interface IClassLoader
public int getNumberOfMethods()
getNumberOfMethods
in interface IClassLoader
public String getSourceFileName(IClass klass)
getSourceFileName
in interface IClassLoader
klass
- the class for which information is desired.public IClassLoader getParent()
getParent
in interface IClassLoader
IClassLoader.getParent()
public void init(List<Module> modules) throws IOException
IClassLoader
init
in interface IClassLoader
IOException
public void removeAll(Collection<IClass> toRemove)
IClassLoader
removeAll
in interface IClassLoader
toRemove
- Collectionpublic Reader getSource(IClass klass)
getSource
in interface IClassLoader
public SSAInstructionFactory getInstructionFactory()
getInstructionFactory
in interface IClassLoader
public Reader getSource(IMethod method, int offset)
getSource
in interface IClassLoader
method
- The method for which information is desiredoffset
- an offset into the bytecode of the given method.public String getSourceFileName(IMethod method, int offset)
getSourceFileName
in interface IClassLoader
method
- The method for which information is desiredoffset
- an offset into the bytecode of the given method.