Class JSCallGraphUtil
- java.lang.Object
-
- com.ibm.wala.cast.ipa.callgraph.CAstCallGraphUtil
-
- com.ibm.wala.cast.js.ipa.callgraph.JSCallGraphUtil
-
- Direct Known Subclasses:
JSCallGraphBuilderUtil
public class JSCallGraphUtil extends com.ibm.wala.cast.ipa.callgraph.CAstCallGraphUtil
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classJSCallGraphUtil.Bootstrap
-
Field Summary
Fields Modifier and Type Field Description static JavaScriptTranslatorFactorytranslatorFactorythe translator factory to be used for analysis TODO: pass the factory where needed instead of using a global?
-
Constructor Summary
Constructors Constructor Description JSCallGraphUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static com.ibm.wala.types.MethodReferencegetMethodReference(java.lang.String funName)static java.util.Collection<com.ibm.wala.ipa.callgraph.CGNode>getNodes(com.ibm.wala.ipa.callgraph.CallGraph CG, java.lang.String funName)Get all the nodes in CG with name funName.static com.ibm.wala.classLoader.ModulegetPrologueFile(java.lang.String name)static JavaScriptTranslatorFactorygetTranslatorFactory()static java.util.Set<java.lang.String>loadAdditionalFile(com.ibm.wala.ipa.cha.IClassHierarchy cha, JavaScriptLoader cl, com.ibm.wala.classLoader.ModuleEntry M)static java.util.Set<java.lang.String>loadAdditionalFile(com.ibm.wala.ipa.cha.IClassHierarchy cha, JavaScriptLoader cl, java.net.URL url)static com.ibm.wala.ipa.cha.IClassHierarchymakeHierarchy(com.ibm.wala.ipa.callgraph.AnalysisScope scope, com.ibm.wala.classLoader.ClassLoaderFactory loaders)static com.ibm.wala.ipa.cha.IClassHierarchymakeHierarchyForScripts(java.lang.String... scriptFiles)static JavaScriptLoaderFactorymakeLoaders()static JavaScriptLoaderFactorymakeLoaders(com.ibm.wala.cast.tree.rewrite.CAstRewriterFactory<?,?> preprocessor)static JSAnalysisOptionsmakeOptions(com.ibm.wala.ipa.callgraph.AnalysisScope scope, com.ibm.wala.ipa.cha.IClassHierarchy cha, java.lang.Iterable<com.ibm.wala.ipa.callgraph.Entrypoint> roots)static JavaScriptEntryPointsmakeScriptRoots(com.ibm.wala.ipa.cha.IClassHierarchy cha)static voidsetTranslatorFactory(JavaScriptTranslatorFactory translatorFactory)Set up the translator factory.static java.lang.StringsimulateToStringForPropertyNames(java.lang.Object v)
-
-
-
Field Detail
-
translatorFactory
public static JavaScriptTranslatorFactory translatorFactory
the translator factory to be used for analysis TODO: pass the factory where needed instead of using a global?
-
-
Method Detail
-
setTranslatorFactory
public static void setTranslatorFactory(JavaScriptTranslatorFactory translatorFactory)
Set up the translator factory. This method should be called before invokingmakeLoaders().
-
getTranslatorFactory
public static JavaScriptTranslatorFactory getTranslatorFactory()
-
makeOptions
public static JSAnalysisOptions makeOptions(com.ibm.wala.ipa.callgraph.AnalysisScope scope, com.ibm.wala.ipa.cha.IClassHierarchy cha, java.lang.Iterable<com.ibm.wala.ipa.callgraph.Entrypoint> roots)
-
makeLoaders
public static JavaScriptLoaderFactory makeLoaders(com.ibm.wala.cast.tree.rewrite.CAstRewriterFactory<?,?> preprocessor)
- Parameters:
preprocessor- CAst rewriter to use for preprocessing JavaScript source files; may be null
-
makeLoaders
public static JavaScriptLoaderFactory makeLoaders()
-
makeHierarchyForScripts
public static com.ibm.wala.ipa.cha.IClassHierarchy makeHierarchyForScripts(java.lang.String... scriptFiles) throws com.ibm.wala.ipa.cha.ClassHierarchyException- Throws:
com.ibm.wala.ipa.cha.ClassHierarchyException
-
makeHierarchy
public static com.ibm.wala.ipa.cha.IClassHierarchy makeHierarchy(com.ibm.wala.ipa.callgraph.AnalysisScope scope, com.ibm.wala.classLoader.ClassLoaderFactory loaders) throws com.ibm.wala.ipa.cha.ClassHierarchyException- Throws:
com.ibm.wala.ipa.cha.ClassHierarchyException
-
makeScriptRoots
public static JavaScriptEntryPoints makeScriptRoots(com.ibm.wala.ipa.cha.IClassHierarchy cha)
-
getNodes
public static java.util.Collection<com.ibm.wala.ipa.callgraph.CGNode> getNodes(com.ibm.wala.ipa.callgraph.CallGraph CG, java.lang.String funName)Get all the nodes in CG with name funName. If funName is of the form"ctor:nm", return nodes corresponding to constructor function fornm. If funName is of the form"suffix:nm", return nodes corresponding to functions whose names end withnm. Otherwise, return nodes for functions whose name matches funName exactly.
-
getMethodReference
public static com.ibm.wala.types.MethodReference getMethodReference(java.lang.String funName)
-
loadAdditionalFile
public static java.util.Set<java.lang.String> loadAdditionalFile(com.ibm.wala.ipa.cha.IClassHierarchy cha, JavaScriptLoader cl, java.net.URL url) throws java.io.IOException- Returns:
- The set of class names that where defined in the CHA as a result loading process.
- Throws:
java.io.IOException
-
loadAdditionalFile
public static java.util.Set<java.lang.String> loadAdditionalFile(com.ibm.wala.ipa.cha.IClassHierarchy cha, JavaScriptLoader cl, com.ibm.wala.classLoader.ModuleEntry M) throws java.io.IOException- Throws:
java.io.IOException
-
simulateToStringForPropertyNames
public static java.lang.String simulateToStringForPropertyNames(java.lang.Object v)
-
getPrologueFile
public static com.ibm.wala.classLoader.Module getPrologueFile(java.lang.String name)
-
-