本文整理汇总了Java中soot.toolkits.graph.UnitGraph.getBody方法的典型用法代码示例。如果您正苦于以下问题:Java UnitGraph.getBody方法的具体用法?Java UnitGraph.getBody怎么用?Java UnitGraph.getBody使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类soot.toolkits.graph.UnitGraph
的用法示例。
在下文中一共展示了UnitGraph.getBody方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: HashMutablePDG
import soot.toolkits.graph.UnitGraph; //导入方法依赖的package包/类
public HashMutablePDG(UnitGraph cfg)
{
this.m_body = cfg.getBody();
this.m_class = this.m_body.getMethod().getDeclaringClass();
this.m_cfg = cfg;
this.m_regionAnalysis = new RegionAnalysis(this.m_cfg, this.m_body.getMethod(), this.m_class);
/*
* Get the weak regions and save a copy. Note that the strong regions list is
* initially cloned from the weak region to be later modified.
*/
this.m_strongRegions = this.m_regionAnalysis.getRegions();
this.m_weakRegions = this.cloneRegions(this.m_strongRegions);
this.m_blockCFG = this.m_regionAnalysis.getBlockCFG();
//Construct the PDG
this.constructPDG();
this.m_pdgRegions = HashMutablePDG.computePDGRegions(this.m_startNode);
/*This is needed to convert the initially Region-typed inner node of the PDG's head
to a PDGRegion-typed one after the whole graph is computed.
The root PDGRegion is the one with no parent.
*/
IRegion r = this.m_pdgRegions.get(0);
while(r.getParent() != null)
r = r.getParent();
this.m_startNode.setNode(r);
}
示例2: RegionAnalysis
import soot.toolkits.graph.UnitGraph; //导入方法依赖的package包/类
public RegionAnalysis(UnitGraph cfg, SootMethod m, SootClass c)
{
this.m_methodBody = cfg.getBody();
this.m_cfg = cfg;
this.m_method = m;
this.m_class = c;
if(Options.v().verbose())
G.v().out.println("[RegionAnalysis]~~~~~~~~~~~~~~~ Begin Region Analsis for method: " + m.getName() +" ~~~~~~~~~~~~~~~~~~~~");
this.findWeakRegions();
if(Options.v().verbose())
G.v().out.println("[RegionAnalysis]~~~~~~~~~~~~~~~ End:" + m.getName() +" ~~~~~~~~~~~~~~~~~~~~");
}
示例3: LocalMayAliasAnalysisWithFields
import soot.toolkits.graph.UnitGraph; //导入方法依赖的package包/类
public LocalMayAliasAnalysisWithFields(UnitGraph graph) {
super(graph);
body = graph.getBody();
doAnalysis();
}
示例4: LocalMayEquivValueAnalysis
import soot.toolkits.graph.UnitGraph; //导入方法依赖的package包/类
public LocalMayEquivValueAnalysis(UnitGraph graph) {
super(graph);
body = graph.getBody();
doAnalysis();
}
示例5: LocalMayAliasAnalysis
import soot.toolkits.graph.UnitGraph; //导入方法依赖的package包/类
public LocalMayAliasAnalysis(UnitGraph graph) {
super(graph);
body = graph.getBody();
doAnalysis();
}
示例6: LocalMustNotAliasAnalysis
import soot.toolkits.graph.UnitGraph; //导入方法依赖的package包/类
public LocalMustNotAliasAnalysis(UnitGraph g)
{
this(g, g.getBody());
}
示例7: LocalMayAliasAnalysisWithArray
import soot.toolkits.graph.UnitGraph; //导入方法依赖的package包/类
public LocalMayAliasAnalysisWithArray(UnitGraph graph) {
super(graph);
body = graph.getBody();
doAnalysis();
}
示例8: SimpleLocalUses
import soot.toolkits.graph.UnitGraph; //导入方法依赖的package包/类
/**
* Construct the analysis from a UnitGraph representation
* of a method body and a LocalDefs interface. This supposes that
* a LocalDefs analysis must have been computed prior.
*
* <p> Note: If you do not already have a UnitGraph, it may be
* cheaper to use the constructor which only requires a Body.
*/
public SimpleLocalUses(UnitGraph graph, LocalDefs localDefs)
{
this(graph.getBody(), localDefs);
}