Class CAstAbstractModuleLoader

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

public abstract class CAstAbstractModuleLoader extends CAstAbstractLoader
abstract class loader that performs CAst and IR generation for relevant entities in a list of Modules. Subclasses provide the CAst / IR translators appropriate for the language.
  • Constructor Details Link icon

  • Method Details Link icon

    • getTranslatorToCAst Link icon

      protected abstract TranslatorToCAst getTranslatorToCAst(CAst ast, ModuleEntry M, List<Module> modules) throws IOException
      create the appropriate CAst translator for the language and source module
      Parameters:
      modules - all modules in the analysis
      Throws:
      IOException
    • shouldTranslate Link icon

      protected abstract boolean shouldTranslate(CAstEntity entity)
      should IR be generated for entity?
    • initTranslator Link icon

      protected abstract TranslatorToIR initTranslator(Set<Pair<CAstEntity,ModuleEntry>> topLevelEntities)
      create the appropriate IR translator for the language
      Parameters:
      topLevelEntities - the set of all modules being translated
    • getLocalFile Link icon

      protected File getLocalFile(SourceModule M) throws IOException
      Throws:
      IOException
    • finishTranslation Link icon

      protected void finishTranslation()
      subclasses should override to perform actions after CAst and IR have been generated. by default, do nothing
    • init Link icon

      public void init(List<Module> modules)
      Description copied from interface: IClassLoader
      Initialize internal data structures.