Class DemandValueFlowGraph
java.lang.Object
com.ibm.wala.util.graph.AbstractGraph<Object>
com.ibm.wala.util.graph.AbstractNumberedGraph<Object>
com.ibm.wala.util.graph.labeled.AbstractNumberedLabeledGraph<Object,IFlowLabel>
com.ibm.wala.util.graph.labeled.SlowSparseNumberedLabeledGraph<Object,IFlowLabel>
com.ibm.wala.demandpa.flowgraph.AbstractFlowGraph
com.ibm.wala.demandpa.flowgraph.AbstractDemandFlowGraph
com.ibm.wala.demandpa.flowgraph.DemandValueFlowGraph
- All Implemented Interfaces:
IFlowGraph
,EdgeManager<Object>
,Graph<Object>
,LabeledEdgeManager<Object,
,IFlowLabel> LabeledGraph<Object,
,IFlowLabel> NumberedLabeledEdgeManager<Object,
,IFlowLabel> NumberedLabeledGraph<Object,
,IFlowLabel> NodeManager<Object>
,NumberedEdgeManager<Object>
,NumberedGraph<Object>
,NumberedNodeManager<Object>
,Serializable
,Iterable<Object>
A flow graph including both pointer and primitive values.
TODO share more code with DemandPointerFlowGraph
- Author:
- Manu Sridharan
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.ibm.wala.demandpa.flowgraph.AbstractDemandFlowGraph
AbstractDemandFlowGraph.FlowStatementVisitor
-
Field Summary
Fields inherited from class com.ibm.wala.demandpa.flowgraph.AbstractFlowGraph
callDefs, callParams, cg, cha, heapModel, mam, params, returns
-
Constructor Summary
ConstructorDescriptionDemandValueFlowGraph
(CallGraph cg, HeapModel heapModel, MemoryAccessMap mam, ClassHierarchy cha) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addNodesForParameters
(CGNode node, IR ir) makeVisitor
(CGNode node) Methods inherited from class com.ibm.wala.demandpa.flowgraph.AbstractDemandFlowGraph
addBlockInstructionConstraints, addNodeInstructionConstraints, addSubgraphForNode, getParamPreds, getParamSuccs, getPossibleTargets, getPotentialCallers, getReturnPreds, getReturnSuccs, hasSubgraphForNode, unconditionallyAddConstraintsFromNode
Methods inherited from class com.ibm.wala.demandpa.flowgraph.AbstractFlowGraph
addExceptionDefConstraints, addNodeConstantConstraints, addNodePassthruExceptionConstraints, addNodesForInvocations, convertPointerKeyToHeapModel, getArrayReads, getInstrReturningTo, getInstrsPassingParam, getReadsOfInstanceField, getReadsOfStaticField, getWritesToInstanceField, getWritesToStaticField, isParam, visitPreds, visitSuccs
Methods inherited from class com.ibm.wala.util.graph.labeled.SlowSparseNumberedLabeledGraph
copyInto, duplicate, getEdgeManager, getNodeManager
Methods inherited from class com.ibm.wala.util.graph.labeled.AbstractNumberedLabeledGraph
addEdge, edgeString, getDefaultLabel, getEdgeLabels, getPredLabels, getPredNodeCount, getPredNodeNumbers, getPredNodes, getSuccLabels, getSuccNodeCount, getSuccNodeNumbers, getSuccNodes, hasEdge, removeEdge
Methods inherited from class com.ibm.wala.util.graph.AbstractNumberedGraph
getMaxNumber, getNode, getNumber, getPredNodeNumbers, getSuccNodeNumbers, iterateNodes
Methods inherited from class com.ibm.wala.util.graph.AbstractGraph
addEdge, addNode, containsNode, getNumberOfNodes, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, iterator, nodeString, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeNode, removeNodeAndEdges, removeOutgoingEdges, stream, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.ibm.wala.util.graph.EdgeManager
addEdge, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeOutgoingEdges
Methods inherited from interface com.ibm.wala.util.graph.Graph
removeNodeAndEdges
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface com.ibm.wala.util.graph.labeled.LabeledEdgeManager
addEdge, getDefaultLabel, getEdgeLabels, getPredLabels, getPredNodeCount, getPredNodes, getPredNodes, getSuccLabels, getSuccNodeCount, getSuccNodes, hasEdge, removeEdge
Methods inherited from interface com.ibm.wala.util.graph.NodeManager
addNode, containsNode, getNumberOfNodes, iterator, removeNode, stream
Methods inherited from interface com.ibm.wala.util.graph.NumberedEdgeManager
getPredNodeNumbers, getSuccNodeNumbers
Methods inherited from interface com.ibm.wala.util.graph.NumberedNodeManager
getMaxNumber, getNode, getNumber, iterateNodes
-
Constructor Details
-
DemandValueFlowGraph
public DemandValueFlowGraph(CallGraph cg, HeapModel heapModel, MemoryAccessMap mam, ClassHierarchy cha)
-
-
Method Details
-
addNodesForParameters
- Specified by:
addNodesForParameters
in classAbstractDemandFlowGraph
-
makeVisitor
- Specified by:
makeVisitor
in classAbstractDemandFlowGraph
-