Class CAstAbstractLoader
java.lang.Object
com.ibm.wala.cast.loader.CAstAbstractLoader
- All Implemented Interfaces:
IClassLoader
- Direct Known Subclasses:
CAstAbstractModuleLoader
basic abstract class loader implementation
-
Field Summary
Modifier and TypeFieldDescriptionprotected final IClassHierarchy
protected final IClassLoader
types loaded by this -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addMessage
(ModuleEntry module, Warning message) void
addMessages
(ModuleEntry module, Set<Warning> message) void
getName()
int
int
getSourceFileName
(IClass klass) getSourceFileName
(IMethod method, int bcOffset) lookupClass
(TypeName className) Find and return the IClass defined by this class loader that corresponds to the given class name.lookupClass
(String className, IClassHierarchy cha) void
removeAll
(Collection<IClass> toRemove) blow away references to any classes in the setMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.ibm.wala.classLoader.IClassLoader
getInstructionFactory, getLanguage, getReference, init
-
Field Details
-
types
-
cha
-
parent
-
-
Constructor Details
-
CAstAbstractLoader
-
CAstAbstractLoader
-
-
Method Details
-
addMessages
-
addMessage
-
getModulesWithParseErrors
-
getModulesWithWarnings
-
getMessages
-
clearMessages
public void clearMessages() -
lookupClass
-
lookupClass
Description copied from interface:IClassLoader
Find and return the IClass defined by this class loader that corresponds to the given class name.- Specified by:
lookupClass
in interfaceIClassLoader
- Parameters:
className
- name of the class- Returns:
- the IClass defined by this class loader that corresponds to the given class name, or null if not found.
-
iterateAllClasses
- Specified by:
iterateAllClasses
in interfaceIClassLoader
- Returns:
- an Iterator of all classes loaded by this loader
-
getNumberOfClasses
public int getNumberOfClasses()- Specified by:
getNumberOfClasses
in interfaceIClassLoader
- Returns:
- the number of classes in scope to be loaded by this loader
-
getName
- Specified by:
getName
in interfaceIClassLoader
- Returns:
- the unique name that identifies this class loader.
-
getNumberOfMethods
public int getNumberOfMethods()- Specified by:
getNumberOfMethods
in interfaceIClassLoader
-
getSourceFileName
- Specified by:
getSourceFileName
in interfaceIClassLoader
- Parameters:
method
- The method for which information is desiredbcOffset
- an offset into the bytecode of the given method.- Returns:
- name of the source file corresponding to the given offset in the given method. Note that this api allows a single method to arise from multiple source files, which is deliberate as it can happen in some languages.
-
getSourceFileName
- Specified by:
getSourceFileName
in interfaceIClassLoader
- Parameters:
klass
- the class for which information is desired.- Returns:
- name of source file corresponding to the class, or null if not available
-
getSource
- Specified by:
getSource
in interfaceIClassLoader
- Returns:
- input stream representing the source file for a class, or null if not available
-
getSource
- Specified by:
getSource
in interfaceIClassLoader
- Parameters:
method
- The method for which information is desiredbcOffset
- an offset into the bytecode of the given method.- Returns:
- input stream representing the source file for a given bytecode index of a given method, or null if not available
-
getParent
- Specified by:
getParent
in interfaceIClassLoader
- Returns:
- the parent IClassLoader, if any, or null
-
removeAll
Description copied from interface:IClassLoader
blow away references to any classes in the set- Specified by:
removeAll
in interfaceIClassLoader
- Parameters:
toRemove
- Collection<IClass>
-