public class InterproceduralCFG extends AbstractInterproceduralCFG<ISSABasicBlock>
TODO: think about a better implementation; perhaps a lazy view of the constituent CFGs Lots of ways this can be optimized?
| Constructor and Description |
|---|
InterproceduralCFG(CallGraph CG) |
InterproceduralCFG(CallGraph cg,
com.ibm.wala.util.collections.Filtersection<CGNode> filtersection) |
| Modifier and Type | Method and Description |
|---|---|
ControlFlowGraph<SSAInstruction,ISSABasicBlock> |
getCFG(CGNode n) |
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, stream, toStringpublic InterproceduralCFG(CallGraph CG)
public ControlFlowGraph<SSAInstruction,ISSABasicBlock> getCFG(CGNode n) throws java.lang.IllegalArgumentException
getCFG in class AbstractInterproceduralCFG<ISSABasicBlock>java.lang.IllegalArgumentException - if n == null