Package com.ibm.wala.ipa.cfg
Class ExplodedInterproceduralCFG
- java.lang.Object
-
- com.ibm.wala.ipa.cfg.AbstractInterproceduralCFG<IExplodedBasicBlock>
-
- com.ibm.wala.ipa.cfg.ExplodedInterproceduralCFG
-
- All Implemented Interfaces:
EdgeManager<BasicBlockInContext<IExplodedBasicBlock>>
,Graph<BasicBlockInContext<IExplodedBasicBlock>>
,NodeManager<BasicBlockInContext<IExplodedBasicBlock>>
,NumberedEdgeManager<BasicBlockInContext<IExplodedBasicBlock>>
,NumberedGraph<BasicBlockInContext<IExplodedBasicBlock>>
,NumberedNodeManager<BasicBlockInContext<IExplodedBasicBlock>>
,Iterable<BasicBlockInContext<IExplodedBasicBlock>>
public class ExplodedInterproceduralCFG extends AbstractInterproceduralCFG<IExplodedBasicBlock>
Exploded interprocedural control-flow graph, constructed lazily.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ExplodedInterproceduralCFG(CallGraph cg)
ExplodedInterproceduralCFG(CallGraph cg, Predicate<CGNode> filter)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ControlFlowGraph<SSAInstruction,IExplodedBasicBlock>
getCFG(CGNode n)
static ExplodedInterproceduralCFG
make(CallGraph cg)
-
Methods inherited from class com.ibm.wala.ipa.cfg.AbstractInterproceduralCFG
addEdge, addEdgesToNonEntryBlock, addNode, callGraphUpdated, containsNode, getCallGraph, getCallSiteForCallBlock, getCallSites, getCallTargets, getCFG, getCGNode, getEntry, getExit, getLastInstructionForBlock, getMaxNumber, getNode, getNumber, getNumberOfNodes, getPredNodeCount, getPredNodeNumbers, getPredNodes, getReturnSites, getSuccNodeCount, getSuccNodeNumbers, getSuccNodes, hasCall, hasCall, hasEdge, isReturn, iterateNodes, iterator, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeNode, removeNodeAndEdges, removeOutgoingEdges, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
make
public static ExplodedInterproceduralCFG make(CallGraph cg)
-
getCFG
public ControlFlowGraph<SSAInstruction,IExplodedBasicBlock> getCFG(CGNode n) throws IllegalArgumentException
- Specified by:
getCFG
in classAbstractInterproceduralCFG<IExplodedBasicBlock>
- Returns:
- the cfg for n, or null if none found
- Throws:
IllegalArgumentException
- if n == null
-
-