Class JavaScriptLoader

  • All Implemented Interfaces:
    com.ibm.wala.classLoader.IClassLoader

    public class JavaScriptLoader
    extends com.ibm.wala.cast.loader.CAstAbstractModuleLoader
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.ibm.wala.cast.loader.CAstAbstractModuleLoader

        com.ibm.wala.cast.loader.CAstAbstractModuleLoader.CoreClass, com.ibm.wala.cast.loader.CAstAbstractModuleLoader.DynamicCodeBody, com.ibm.wala.cast.loader.CAstAbstractModuleLoader.DynamicMethodObject
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.util.Set<java.lang.String> bootstrapFileNames
      JavaScript files with code to model various aspects of the language semantics.
      static com.ibm.wala.classLoader.Language JS  
      • Fields inherited from class com.ibm.wala.cast.loader.CAstAbstractLoader

        cha, parent, types
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static void addBootstrapFile​(java.lang.String fileName)  
      com.ibm.wala.classLoader.IMethod defineCodeBodyCode​(java.lang.String clsName, com.ibm.wala.cfg.AbstractCFG<?,​?> cfg, com.ibm.wala.ssa.SymbolTable symtab, boolean hasCatchBlock, java.util.Map<com.ibm.wala.cfg.IBasicBlock<com.ibm.wala.ssa.SSAInstruction>,​com.ibm.wala.types.TypeReference[]> caughtTypes, boolean hasMonitorOp, com.ibm.wala.cast.ir.translator.AstTranslator.AstLexicalInformation lexicalInfo, com.ibm.wala.cast.loader.AstMethod.DebuggingInformation debugInfo)  
      com.ibm.wala.classLoader.IClass defineFunctionType​(java.lang.String name, com.ibm.wala.cast.tree.CAstSourcePositionMap.Position pos, com.ibm.wala.cast.tree.CAstEntity entity, com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context)  
      com.ibm.wala.classLoader.IClass defineScriptType​(java.lang.String name, com.ibm.wala.cast.tree.CAstSourcePositionMap.Position pos, com.ibm.wala.cast.tree.CAstEntity entity, com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context)  
      com.ibm.wala.ssa.SSAInstructionFactory getInstructionFactory()  
      com.ibm.wala.classLoader.Language getLanguage()  
      com.ibm.wala.types.ClassLoaderReference getReference()  
      protected com.ibm.wala.cast.ir.translator.TranslatorToCAst getTranslatorToCAst​(com.ibm.wala.cast.tree.CAst ast, com.ibm.wala.classLoader.ModuleEntry module, java.util.List<com.ibm.wala.classLoader.Module> allModules)  
      protected com.ibm.wala.cast.ir.translator.TranslatorToIR initTranslator​(java.util.Set<com.ibm.wala.util.collections.Pair<com.ibm.wala.cast.tree.CAstEntity,​com.ibm.wala.classLoader.ModuleEntry>> topLevelEntities)  
      com.ibm.wala.cast.loader.CAstAbstractModuleLoader.DynamicMethodObject makeCodeBodyCode​(com.ibm.wala.cfg.AbstractCFG<?,​?> cfg, com.ibm.wala.ssa.SymbolTable symtab, boolean hasCatchBlock, java.util.Map<com.ibm.wala.cfg.IBasicBlock<com.ibm.wala.ssa.SSAInstruction>,​com.ibm.wala.types.TypeReference[]> caughtTypes, boolean hasMonitorOp, com.ibm.wala.cast.ir.translator.AstTranslator.AstLexicalInformation lexicalInfo, com.ibm.wala.cast.loader.AstMethod.DebuggingInformation debugInfo, com.ibm.wala.classLoader.IClass C)  
      com.ibm.wala.classLoader.IClass makeCodeBodyType​(java.lang.String name, com.ibm.wala.types.TypeReference P, com.ibm.wala.cast.tree.CAstSourcePositionMap.Position sourcePosition, com.ibm.wala.cast.tree.CAstEntity entity, com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context)  
      static void resetPrologueFile()  
      static void setPrologueFile​(java.lang.String name)  
      protected boolean shouldTranslate​(com.ibm.wala.cast.tree.CAstEntity entity)  
      • Methods inherited from class com.ibm.wala.cast.loader.CAstAbstractModuleLoader

        finishTranslation, getLocalFile, init
      • Methods inherited from class com.ibm.wala.cast.loader.CAstAbstractLoader

        addMessage, addMessages, clearMessages, getMessages, getModulesWithParseErrors, getModulesWithWarnings, getName, getNumberOfClasses, getNumberOfMethods, getParent, getSource, getSource, getSourceFileName, getSourceFileName, iterateAllClasses, lookupClass, lookupClass, removeAll
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • JS

        public static final com.ibm.wala.classLoader.Language JS
      • bootstrapFileNames

        public static final java.util.Set<java.lang.String> bootstrapFileNames
        JavaScript files with code to model various aspects of the language semantics. See com.ibm.wala.cast.js/dat/prologue.js.
    • Constructor Detail

      • JavaScriptLoader

        public JavaScriptLoader​(com.ibm.wala.ipa.cha.IClassHierarchy cha,
                                JavaScriptTranslatorFactory translatorFactory)
      • JavaScriptLoader

        public JavaScriptLoader​(com.ibm.wala.ipa.cha.IClassHierarchy cha,
                                JavaScriptTranslatorFactory translatorFactory,
                                com.ibm.wala.cast.tree.rewrite.CAstRewriterFactory<?,​?> preprocessor)
    • Method Detail

      • makeCodeBodyType

        public com.ibm.wala.classLoader.IClass makeCodeBodyType​(java.lang.String name,
                                                                com.ibm.wala.types.TypeReference P,
                                                                com.ibm.wala.cast.tree.CAstSourcePositionMap.Position sourcePosition,
                                                                com.ibm.wala.cast.tree.CAstEntity entity,
                                                                com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context)
      • defineFunctionType

        public com.ibm.wala.classLoader.IClass defineFunctionType​(java.lang.String name,
                                                                  com.ibm.wala.cast.tree.CAstSourcePositionMap.Position pos,
                                                                  com.ibm.wala.cast.tree.CAstEntity entity,
                                                                  com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context)
      • defineScriptType

        public com.ibm.wala.classLoader.IClass defineScriptType​(java.lang.String name,
                                                                com.ibm.wala.cast.tree.CAstSourcePositionMap.Position pos,
                                                                com.ibm.wala.cast.tree.CAstEntity entity,
                                                                com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext context)
      • defineCodeBodyCode

        public com.ibm.wala.classLoader.IMethod defineCodeBodyCode​(java.lang.String clsName,
                                                                   com.ibm.wala.cfg.AbstractCFG<?,​?> cfg,
                                                                   com.ibm.wala.ssa.SymbolTable symtab,
                                                                   boolean hasCatchBlock,
                                                                   java.util.Map<com.ibm.wala.cfg.IBasicBlock<com.ibm.wala.ssa.SSAInstruction>,​com.ibm.wala.types.TypeReference[]> caughtTypes,
                                                                   boolean hasMonitorOp,
                                                                   com.ibm.wala.cast.ir.translator.AstTranslator.AstLexicalInformation lexicalInfo,
                                                                   com.ibm.wala.cast.loader.AstMethod.DebuggingInformation debugInfo)
      • makeCodeBodyCode

        public com.ibm.wala.cast.loader.CAstAbstractModuleLoader.DynamicMethodObject makeCodeBodyCode​(com.ibm.wala.cfg.AbstractCFG<?,​?> cfg,
                                                                                                      com.ibm.wala.ssa.SymbolTable symtab,
                                                                                                      boolean hasCatchBlock,
                                                                                                      java.util.Map<com.ibm.wala.cfg.IBasicBlock<com.ibm.wala.ssa.SSAInstruction>,​com.ibm.wala.types.TypeReference[]> caughtTypes,
                                                                                                      boolean hasMonitorOp,
                                                                                                      com.ibm.wala.cast.ir.translator.AstTranslator.AstLexicalInformation lexicalInfo,
                                                                                                      com.ibm.wala.cast.loader.AstMethod.DebuggingInformation debugInfo,
                                                                                                      com.ibm.wala.classLoader.IClass C)
      • getLanguage

        public com.ibm.wala.classLoader.Language getLanguage()
      • getReference

        public com.ibm.wala.types.ClassLoaderReference getReference()
      • getInstructionFactory

        public com.ibm.wala.ssa.SSAInstructionFactory getInstructionFactory()
      • resetPrologueFile

        public static void resetPrologueFile()
      • setPrologueFile

        public static void setPrologueFile​(java.lang.String name)
      • addBootstrapFile

        public static void addBootstrapFile​(java.lang.String fileName)
      • getTranslatorToCAst

        protected com.ibm.wala.cast.ir.translator.TranslatorToCAst getTranslatorToCAst​(com.ibm.wala.cast.tree.CAst ast,
                                                                                       com.ibm.wala.classLoader.ModuleEntry module,
                                                                                       java.util.List<com.ibm.wala.classLoader.Module> allModules)
        Specified by:
        getTranslatorToCAst in class com.ibm.wala.cast.loader.CAstAbstractModuleLoader
      • initTranslator

        protected com.ibm.wala.cast.ir.translator.TranslatorToIR initTranslator​(java.util.Set<com.ibm.wala.util.collections.Pair<com.ibm.wala.cast.tree.CAstEntity,​com.ibm.wala.classLoader.ModuleEntry>> topLevelEntities)
        Specified by:
        initTranslator in class com.ibm.wala.cast.loader.CAstAbstractModuleLoader
      • shouldTranslate

        protected boolean shouldTranslate​(com.ibm.wala.cast.tree.CAstEntity entity)
        Specified by:
        shouldTranslate in class com.ibm.wala.cast.loader.CAstAbstractModuleLoader