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
FieldsModifier and TypeFieldDescriptionprotected final IClassHierarchyprotected final IClassLoadertypes loaded by this -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddMessage(ModuleEntry module, Warning message) voidaddMessages(ModuleEntry module, Set<Warning> message) voidgetName()intintgetSourceFileName(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) voidremoveAll(Collection<IClass> toRemove) blow away references to any classes in the setMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface 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:IClassLoaderFind and return the IClass defined by this class loader that corresponds to the given class name.- Specified by:
lookupClassin 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:
iterateAllClassesin interfaceIClassLoader- Returns:
- an Iterator of all classes loaded by this loader
-
getNumberOfClasses
public int getNumberOfClasses()- Specified by:
getNumberOfClassesin interfaceIClassLoader- Returns:
- the number of classes in scope to be loaded by this loader
-
getName
- Specified by:
getNamein interfaceIClassLoader- Returns:
- the unique name that identifies this class loader.
-
getNumberOfMethods
public int getNumberOfMethods()- Specified by:
getNumberOfMethodsin interfaceIClassLoader
-
getSourceFileName
- Specified by:
getSourceFileNamein 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:
getSourceFileNamein 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:
getSourcein interfaceIClassLoader- Returns:
- input stream representing the source file for a class, or null if not available
-
getSource
- Specified by:
getSourcein 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:
getParentin interfaceIClassLoader- Returns:
- the parent IClassLoader, if any, or null
-
removeAll
Description copied from interface:IClassLoaderblow away references to any classes in the set- Specified by:
removeAllin interfaceIClassLoader- Parameters:
toRemove- Collection<IClass>
-