Class JSAnalysisOptions
java.lang.Object
com.ibm.wala.ipa.callgraph.AnalysisOptions
com.ibm.wala.cast.js.ipa.callgraph.JSAnalysisOptions
call graph construction options specific to JavaScript.
-
Nested Class Summary
Nested classes/interfaces inherited from class AnalysisOptions
AnalysisOptions.ReflectionOptionsModifier and TypeClassDescriptionstatic enumoptions for handling reflection during call graph construction -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanshould the analysis model the semantics of Function.prototype.call / apply?voidsetHandleCallApply(boolean handleCallApply) voidsetUseLoadFileTargetSelector(boolean useIt) booleanMethods inherited from class AnalysisOptions
getAnalysisScope, getClassTargetSelector, getEntrypoints, getHandleStaticInit, getHandleZeroLengthArray, getMaxEvalBetweenTopo, getMaxNumberOfNodes, getMethodTargetSelector, getMinEquationsForTopSort, getReflectionOptions, getSSAOptions, getTopologicalGrowthFactor, getTraceStringConstants, getUseConstantSpecificKeys, getUseLexicalScopingForGlobals, getUseStacksForLexicalScoping, setAnalysisScope, setEntrypoints, setHandleStaticInit, setHandleZeroLengthArray, setMaxEvalBetweenTopo, setMaxNumberOfNodes, setMinEquationsForTopSort, setReflectionOptions, setSelector, setSelector, setSSAOptions, setTopologicalGrowthFactor, setTraceStringConstants, setUseConstantSpecificKeys, setUseLexicalScopingForGlobals, setUseStacksForLexicalScopingModifier and TypeMethodDescriptionIterable<? extends Entrypoint> TODO: this really should go away.booleanShould call graph construction handle possible invocations of static initializer methods?booleanShould call graph construction handle arrays of zero-length differently?intlongintShould call graph construction attempt to handle reflection via detection of flows to casts, analysis of string constant parameters to reflective methods, etc.?doublebooleanShould analysis try to understand the results of string constants flowing to a + operator? Note that this option does not apply to Java bytecode analysis, since the + operators have been compiled away for that.booleanUse distinct instance keys for distinct string constants?booleanShould global variables be considered lexically-scoped from the root node?booleanShould analysis of lexical scoping consider call stacks?voidsetAnalysisScope(AnalysisScope analysisScope) voidsetEntrypoints(Iterable<? extends Entrypoint> entrypoints) voidsetHandleStaticInit(boolean handleStaticInit) Should call graph construction handle possible invocations of static initializer methods?voidsetHandleZeroLengthArray(boolean handleZeroLengthArray) Should call graph construction handle arrays of zero-length differently?voidsetMaxEvalBetweenTopo(int i) voidsetMaxNumberOfNodes(long maxNumberOfNodes) voidsetMinEquationsForTopSort(int i) voidsetReflectionOptions(AnalysisOptions.ReflectionOptions reflectionOptions) Should call graph construction attempt to handle reflection via detection of flows to casts, analysis of string constant parameters to reflective methods, etc.?voidinstall a class target selectorvoidinstall a method target selectorvoidsetSSAOptions(SSAOptions ssaOptions) voidsetTopologicalGrowthFactor(double d) voidsetTraceStringConstants(boolean v) Should analysis try to understand the results of string constants flowing to a + operator? Note that this option does not apply to Java bytecode analysis, since the + operators have been compiled away for that.voidsetUseConstantSpecificKeys(boolean useConstantSpecificKeys) Use distinct instance keys for distinct string constants?voidsetUseLexicalScopingForGlobals(boolean v) Should global variables be considered lexically-scoped from the root node?voidsetUseStacksForLexicalScoping(boolean v) Should analysis of lexical scoping consider call stacks?
-
Constructor Details
-
JSAnalysisOptions
-
-
Method Details
-
handleCallApply
public boolean handleCallApply()should the analysis model the semantics of Function.prototype.call / apply? -
setHandleCallApply
public void setHandleCallApply(boolean handleCallApply) -
useLoadFileTargetSelector
public boolean useLoadFileTargetSelector() -
setUseLoadFileTargetSelector
public void setUseLoadFileTargetSelector(boolean useIt)
-