|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.ibm.wala.util.graph.AbstractGraph<T>
com.ibm.wala.util.graph.AbstractNumberedGraph<T>
com.ibm.wala.util.graph.labeled.AbstractNumberedLabeledGraph<T,U>
com.ibm.wala.util.graph.labeled.SlowSparseNumberedLabeledGraph<java.lang.Object,IFlowLabel>
com.ibm.wala.demandpa.flowgraph.AbstractFlowGraph
com.ibm.wala.demandpa.flowgraph.AbstractDemandFlowGraph
com.ibm.wala.demandpa.flowgraph.DemandPointerFlowGraph
public class DemandPointerFlowGraph
A graph representation of statements flowing pointer values, but not
primitive values. Nodes are variables, and edges are against value
flow; assignment x = y yields edge from x to y with label AssignLabel.noFilter()
| Nested Class Summary | |
|---|---|
static class |
DemandPointerFlowGraph.StatementVisitor
A visitor that generates graph nodes and edges for an IR. |
| 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 | |
|---|---|
DemandPointerFlowGraph(CallGraph cg,
HeapModel heapModel,
MemoryAccessMap mam,
ClassHierarchy cha)
|
|
| Method Summary | |
|---|---|
protected void |
addNodesForParameters(CGNode node)
add nodes for parameters and return values |
protected AbstractDemandFlowGraph.FlowStatementVisitor |
makeVisitor(ExplicitCallGraph.ExplicitNode 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, getArrayReads, getInstrReturningTo, getInstrsPassingParam, getReadsOfInstanceField, getReadsOfStaticField, getWritesToInstanceField, getWritesToStaticField, isParam, visitPreds, visitSuccs |
| Methods inherited from class com.ibm.wala.util.graph.labeled.SlowSparseNumberedLabeledGraph |
|---|
getEdgeManager, getNodeManager |
| Methods inherited from class com.ibm.wala.util.graph.labeled.AbstractNumberedLabeledGraph |
|---|
addEdge, getDefaultLabel, getEdgeLabels, getPredLabels, getPredNodeCount, getPredNodes, getSuccLabels, getSuccNodeCount, 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, 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 com.ibm.wala.demandpa.flowgraph.IFlowGraph |
|---|
addSubgraphForNode, getInstrReturningTo, getInstrsPassingParam, getPossibleTargets, getPotentialCallers, getReadsOfInstanceField, getReadsOfStaticField, getWritesToInstanceField, getWritesToStaticField, hasSubgraphForNode, isParam, visitPreds, visitSuccs |
| Methods inherited from interface com.ibm.wala.util.graph.Graph |
|---|
removeNodeAndEdges |
| Methods inherited from interface com.ibm.wala.util.graph.NodeManager |
|---|
addNode, containsNode, getNumberOfNodes, iterator, removeNode |
| 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.labeled.LabeledEdgeManager |
|---|
addEdge, getDefaultLabel, getEdgeLabels, getPredLabels, getPredNodeCount, getPredNodes, getSuccLabels, getSuccNodeCount, getSuccNodes, hasEdge, removeEdge |
| Methods inherited from interface com.ibm.wala.util.graph.EdgeManager |
|---|
addEdge, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeOutgoingEdges |
| Constructor Detail |
|---|
public DemandPointerFlowGraph(CallGraph cg,
HeapModel heapModel,
MemoryAccessMap mam,
ClassHierarchy cha)
| Method Detail |
|---|
protected void addNodesForParameters(CGNode node)
addNodesForParameters in class AbstractDemandFlowGraphnode - protected AbstractDemandFlowGraph.FlowStatementVisitor makeVisitor(ExplicitCallGraph.ExplicitNode node)
makeVisitor in class AbstractDemandFlowGraph
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||