public class PurityInterproceduralAnalysis extends AbstractInterproceduralAnalysis
cg, data, dg, doCheck, order, unanalysed| Modifier and Type | Method and Description |
|---|---|
protected void |
analyseMethod(SootMethod method,
java.lang.Object dst)
Compute the summary for a method by analysing its body.
|
protected void |
applySummary(java.lang.Object src,
Stmt stmt,
java.lang.Object summary,
java.lang.Object dst)
Interprocedural analysis will call applySummary repeatidly as a
consequence to analyseCall.
|
protected void |
copy(java.lang.Object source,
java.lang.Object dest)
Copy src into dst.
|
protected void |
fillDotGraph(java.lang.String prefix,
java.lang.Object o,
DotGraph out)
Called by drawAsOneDot to fill dot subgraph out with the contents
of summary o.
|
protected void |
merge(java.lang.Object in1,
java.lang.Object in2,
java.lang.Object out)
Merge in1 and in2 into out.
|
protected java.lang.Object |
newInitialSummary()
Initial summary value for analysed funtions.
|
protected java.lang.Object |
summaryOfUnanalysedMethod(SootMethod method)
Whenever the analyse requires the summary of a method you filtered-out,
this function is called instead of analyseMethod.
|
analyseCall, doAnalysis, drawAsManyDot, drawAsOneDot, getAnalysedMethods, getSummaryForprotected java.lang.Object newInitialSummary()
AbstractInterproceduralAnalysisnewInitialSummary in class AbstractInterproceduralAnalysisprotected void merge(java.lang.Object in1,
java.lang.Object in2,
java.lang.Object out)
AbstractInterproceduralAnalysisNote: in1 or in2 can be aliased to out (e.g., analyseCall).
merge in class AbstractInterproceduralAnalysisprotected void copy(java.lang.Object source,
java.lang.Object dest)
AbstractInterproceduralAnalysiscopy in class AbstractInterproceduralAnalysisprotected void analyseMethod(SootMethod method, java.lang.Object dst)
AbstractInterproceduralAnalysisanalyseMethod in class AbstractInterproceduralAnalysismethod - is the method to be analyseddst - is where to put the computed method summaryprotected java.lang.Object summaryOfUnanalysedMethod(SootMethod method)
AbstractInterproceduralAnalysisNote: This function is called at most once per filtered-out method. It is the equivalent of entryInitialFlow!
summaryOfUnanalysedMethod in class AbstractInterproceduralAnalysisPurityGraph.conservativeGraph,
PurityGraph.freshGraphprotected void applySummary(java.lang.Object src,
Stmt stmt,
java.lang.Object summary,
java.lang.Object dst)
AbstractInterproceduralAnalysisapplySummary in class AbstractInterproceduralAnalysisstmt - any statement containing an InvokeExprsrc - summary valid before the call statementsummary - summary of the possible target of callStmt considered
heredst - where to put the resultPurityGraph.methodCallprotected void fillDotGraph(java.lang.String prefix,
java.lang.Object o,
DotGraph out)
AbstractInterproceduralAnalysisfillDotGraph in class AbstractInterproceduralAnalysisprefix - gives you a unique string to prefix your node names
and avoid name-clashCopyright © 2012-2019 RoboVM AB. All Rights Reserved.