public class SimpleDemandPointerFlowGraph extends com.ibm.wala.util.graph.impl.SlowSparseNumberedGraph<Object>
| Modifier and Type | Class and Description |
|---|---|
protected class |
SimpleDemandPointerFlowGraph.StatementVisitor
A visitor that generates graph nodes and edges for an IR.
|
| Constructor and Description |
|---|
SimpleDemandPointerFlowGraph(CallGraph cg,
HeapModel heapModel,
MemoryAccessMap fam,
IClassHierarchy cha) |
copyInto, duplicate, getEdgeManager, getNodeManager, makegetMaxNumber, getNode, getNumber, iterateNodesaddEdge, addNode, containsNode, getNumberOfNodes, hasEdge, iterator, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeNode, removeNodeAndEdges, removeOutgoingEdges, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitpublic SimpleDemandPointerFlowGraph(CallGraph cg, HeapModel heapModel, MemoryAccessMap fam, IClassHierarchy cha)
public void addSubgraphForNode(CGNode node)
protected HeapModel getHeapModel()
public com.ibm.wala.util.intset.IntSet getPredNodeNumbers(Object node) throws com.ibm.wala.util.debug.UnimplementedError
public com.ibm.wala.util.intset.IntSet getSuccNodeNumbers(Object node) throws IllegalArgumentException
getSuccNodeNumbers in interface com.ibm.wala.util.graph.NumberedEdgeManager<Object>getSuccNodeNumbers in class com.ibm.wala.util.graph.AbstractNumberedGraph<Object>IllegalArgumentExceptionpublic int getPredNodeCount(Object N) throws com.ibm.wala.util.debug.UnimplementedError
public Iterator<Object> getPredNodes(Object N) throws IllegalArgumentException
getPredNodes in interface com.ibm.wala.util.graph.EdgeManager<Object>getPredNodes in class com.ibm.wala.util.graph.AbstractGraph<Object>IllegalArgumentExceptionpublic int getSuccNodeCount(Object N) throws com.ibm.wala.util.debug.UnimplementedError
public boolean hasEdge(PointerKey src, PointerKey dst)
protected void unconditionallyAddConstraintsFromNode(CGNode node)
protected void addNodePassthruExceptionConstraints(CGNode node, IR ir)
protected void addNodeInstructionConstraints(CGNode node, IR ir, DefUse du)
protected void addBlockInstructionConstraints(CGNode node, ControlFlowGraph<SSAInstruction,ISSABasicBlock> cfg, ISSABasicBlock b, SimpleDemandPointerFlowGraph.StatementVisitor v)
protected SimpleDemandPointerFlowGraph.StatementVisitor makeVisitor(ExplicitCallGraph.ExplicitNode node, IR ir, DefUse du)
Copyright © 2015. All rights reserved.