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

  • Method Details

    • getTranslatorToCAst

      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

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

      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

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

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

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