Class CAstAbstractLoader

java.lang.Object
com.ibm.wala.cast.loader.CAstAbstractLoader
All Implemented Interfaces:
IClassLoader
Direct Known Subclasses:
CAstAbstractModuleLoader

public abstract class CAstAbstractLoader extends Object implements IClassLoader
basic abstract class loader implementation
  • Field Details

  • Constructor Details

  • Method Details

    • addMessages

      public void addMessages(ModuleEntry module, Set<Warning> message)
    • addMessage

      public void addMessage(ModuleEntry module, Warning message)
    • getModulesWithParseErrors

      public Iterator<ModuleEntry> getModulesWithParseErrors()
    • getModulesWithWarnings

      public Iterator<ModuleEntry> getModulesWithWarnings()
    • getMessages

      public Set<Warning> getMessages(ModuleEntry m)
    • clearMessages

      public void clearMessages()
    • lookupClass

      public IClass lookupClass(String className, IClassHierarchy cha)
    • lookupClass

      public IClass lookupClass(TypeName className)
      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 interface IClassLoader
      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

      public Iterator<IClass> iterateAllClasses()
      Specified by:
      iterateAllClasses in interface IClassLoader
      Returns:
      an Iterator of all classes loaded by this loader
    • getNumberOfClasses

      public int getNumberOfClasses()
      Specified by:
      getNumberOfClasses in interface IClassLoader
      Returns:
      the number of classes in scope to be loaded by this loader
    • getName

      public Atom getName()
      Specified by:
      getName in interface IClassLoader
      Returns:
      the unique name that identifies this class loader.
    • getNumberOfMethods

      public int getNumberOfMethods()
      Specified by:
      getNumberOfMethods in interface IClassLoader
    • getSourceFileName

      public String getSourceFileName(IMethod method, int bcOffset)
      Specified by:
      getSourceFileName in interface IClassLoader
      Parameters:
      method - The method for which information is desired
      bcOffset - 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

      public String getSourceFileName(IClass klass)
      Specified by:
      getSourceFileName in interface IClassLoader
      Parameters:
      klass - the class for which information is desired.
      Returns:
      name of source file corresponding to the class, or null if not available
    • getSource

      public Reader getSource(IClass klass)
      Specified by:
      getSource in interface IClassLoader
      Returns:
      input stream representing the source file for a class, or null if not available
    • getSource

      public Reader getSource(IMethod method, int bcOffset)
      Specified by:
      getSource in interface IClassLoader
      Parameters:
      method - The method for which information is desired
      bcOffset - 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

      public IClassLoader getParent()
      Specified by:
      getParent in interface IClassLoader
      Returns:
      the parent IClassLoader, if any, or null
    • removeAll

      public void removeAll(Collection<IClass> toRemove)
      Description copied from interface: IClassLoader
      blow away references to any classes in the set
      Specified by:
      removeAll in interface IClassLoader
      Parameters:
      toRemove - Collection<IClass>