public abstract class FieldBasedCallGraphBuilder extends Object
| Modifier and Type | Field and Description |
|---|---|
protected com.ibm.wala.ipa.callgraph.IAnalysisCacheView |
cache |
protected com.ibm.wala.ipa.cha.IClassHierarchy |
cha |
protected JavaScriptConstructorFunctions |
constructors |
protected com.ibm.wala.ipa.callgraph.AnalysisOptions |
options |
protected boolean |
supportFullPointerAnalysis |
com.ibm.wala.ipa.callgraph.MethodTargetSelector |
targetSelector |
| Constructor and Description |
|---|
FieldBasedCallGraphBuilder(com.ibm.wala.ipa.cha.IClassHierarchy cha,
com.ibm.wala.ipa.callgraph.AnalysisOptions options,
com.ibm.wala.ipa.callgraph.IAnalysisCacheView iAnalysisCacheView,
boolean supportFullPointerAnalysis) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
addEdgeToJSCallGraph(JSCallGraph cg,
com.ibm.wala.classLoader.CallSiteReference site,
com.ibm.wala.classLoader.IMethod target,
com.ibm.wala.ipa.callgraph.CGNode caller) |
com.ibm.wala.util.collections.Pair<JSCallGraph,com.ibm.wala.ipa.callgraph.propagation.PointerAnalysis<ObjectVertex>> |
buildCallGraph(Iterable<? extends com.ibm.wala.ipa.callgraph.Entrypoint> eps,
com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor)
Main entry point: builds a flow graph, then extracts a call graph and returns it.
|
abstract FlowGraph |
buildFlowGraph(com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor)
Build a flow graph for the program to be analysed.
|
JSCallGraph |
extract(FlowGraph flowgraph,
Iterable<? extends com.ibm.wala.ipa.callgraph.Entrypoint> eps,
com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor)
Extract a call graph from a given flow graph.
|
JSCallGraph |
extract(com.ibm.wala.ipa.callgraph.propagation.SSAContextInterpreter interpreter,
FlowGraph flowgraph,
Iterable<? extends com.ibm.wala.ipa.callgraph.Entrypoint> eps,
com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor) |
Set<com.ibm.wala.util.collections.Pair<CallVertex,FuncVertex>> |
extractCallGraphEdges(FlowGraph flowgraph,
com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor)
Extract call edges from the flow graph into high-level representation.
|
protected FlowGraph |
flowGraphFactory() |
boolean |
handleFunctionCallOrApplyInvocation(FlowGraph flowgraph,
com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor,
JSCallGraph cg,
CallVertex callVertex,
com.ibm.wala.ipa.callgraph.CGNode caller,
com.ibm.wala.classLoader.CallSiteReference site,
com.ibm.wala.classLoader.IMethod target) |
protected final com.ibm.wala.ipa.cha.IClassHierarchy cha
protected final com.ibm.wala.ipa.callgraph.AnalysisOptions options
protected final com.ibm.wala.ipa.callgraph.IAnalysisCacheView cache
protected final JavaScriptConstructorFunctions constructors
public final com.ibm.wala.ipa.callgraph.MethodTargetSelector targetSelector
protected final boolean supportFullPointerAnalysis
public FieldBasedCallGraphBuilder(com.ibm.wala.ipa.cha.IClassHierarchy cha,
com.ibm.wala.ipa.callgraph.AnalysisOptions options,
com.ibm.wala.ipa.callgraph.IAnalysisCacheView iAnalysisCacheView,
boolean supportFullPointerAnalysis)
protected FlowGraph flowGraphFactory()
public abstract FlowGraph buildFlowGraph(com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor) throws com.ibm.wala.util.CancelException
com.ibm.wala.util.CancelExceptionpublic com.ibm.wala.util.collections.Pair<JSCallGraph,com.ibm.wala.ipa.callgraph.propagation.PointerAnalysis<ObjectVertex>> buildCallGraph(Iterable<? extends com.ibm.wala.ipa.callgraph.Entrypoint> eps, com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor) throws com.ibm.wala.util.CancelException
com.ibm.wala.util.CancelExceptionpublic JSCallGraph extract(FlowGraph flowgraph, Iterable<? extends com.ibm.wala.ipa.callgraph.Entrypoint> eps, com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor) throws com.ibm.wala.util.CancelException
com.ibm.wala.util.CancelExceptionpublic JSCallGraph extract(com.ibm.wala.ipa.callgraph.propagation.SSAContextInterpreter interpreter, FlowGraph flowgraph, Iterable<? extends com.ibm.wala.ipa.callgraph.Entrypoint> eps, com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor) throws com.ibm.wala.util.CancelException
com.ibm.wala.util.CancelExceptionpublic boolean handleFunctionCallOrApplyInvocation(FlowGraph flowgraph, com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor, JSCallGraph cg, CallVertex callVertex, com.ibm.wala.ipa.callgraph.CGNode caller, com.ibm.wala.classLoader.CallSiteReference site, com.ibm.wala.classLoader.IMethod target) throws com.ibm.wala.util.CancelException
com.ibm.wala.util.CancelExceptionpublic boolean addEdgeToJSCallGraph(JSCallGraph cg, com.ibm.wala.classLoader.CallSiteReference site, com.ibm.wala.classLoader.IMethod target, com.ibm.wala.ipa.callgraph.CGNode caller) throws com.ibm.wala.util.CancelException
com.ibm.wala.util.CancelExceptionpublic Set<com.ibm.wala.util.collections.Pair<CallVertex,FuncVertex>> extractCallGraphEdges(FlowGraph flowgraph, com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor) throws com.ibm.wala.util.CancelException
com.ibm.wala.util.CancelExceptionCopyright © 2017. All rights reserved.