com.ibm.wala.dataflow.IFDS
Class ExplodedSupergraphWithSummaryEdges<T>

java.lang.Object
  extended by com.ibm.wala.dataflow.IFDS.ExplodedSupergraph<T>
      extended by com.ibm.wala.dataflow.IFDS.ExplodedSupergraphWithSummaryEdges<T>
All Implemented Interfaces:
EdgeManager<ExplodedSupergraphNode<T>>, Graph<ExplodedSupergraphNode<T>>, NodeManager<ExplodedSupergraphNode<T>>, java.lang.Iterable<ExplodedSupergraphNode<T>>

public class ExplodedSupergraphWithSummaryEdges<T>
extends ExplodedSupergraph<T>

This version of the exploded supergraph includes summary edges as deduced by the tabulation solver


Constructor Summary
ExplodedSupergraphWithSummaryEdges(ISupergraph<T,?> supergraph, IFlowFunctionMap<T> flowFunctions, TabulationSolver<T,?> solver)
           
 
Method Summary
 int getPredNodeCount(ExplodedSupergraphNode<T> N)
          Return the number of immediate predecessor nodes of this Node in the Graph.
 java.util.Iterator<ExplodedSupergraphNode<T>> getPredNodes(ExplodedSupergraphNode<T> dest)
          Return an Iterator over the immediate predecessor nodes of this Node in the Graph.
 int getSuccNodeCount(ExplodedSupergraphNode<T> N)
          Return the number of immediate successor nodes of this Node in the Graph
 java.util.Iterator<ExplodedSupergraphNode<T>> getSuccNodes(ExplodedSupergraphNode<T> src)
          Return an Iterator over the immediate successor nodes of this Node in the Graph
 
Methods inherited from class com.ibm.wala.dataflow.IFDS.ExplodedSupergraph
addEdge, addNode, containsNode, getFlowFunctions, getNumberOfNodes, getSupergraph, hasEdge, iterator, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeNode, removeNodeAndEdges, removeOutgoingEdges
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExplodedSupergraphWithSummaryEdges

public ExplodedSupergraphWithSummaryEdges(ISupergraph<T,?> supergraph,
                                          IFlowFunctionMap<T> flowFunctions,
                                          TabulationSolver<T,?> solver)
Parameters:
supergraph -
flowFunctions -
solver -
Method Detail

getSuccNodes

public java.util.Iterator<ExplodedSupergraphNode<T>> getSuccNodes(ExplodedSupergraphNode<T> src)
Description copied from interface: EdgeManager
Return an Iterator over the immediate successor nodes of this Node in the Graph

This method never returns null.

Specified by:
getSuccNodes in interface EdgeManager<ExplodedSupergraphNode<T>>
Overrides:
getSuccNodes in class ExplodedSupergraph<T>
Returns:
an Iterator over the immediate successor Nodes of this Node.

getPredNodes

public java.util.Iterator<ExplodedSupergraphNode<T>> getPredNodes(ExplodedSupergraphNode<T> dest)
Description copied from interface: EdgeManager
Return an Iterator over the immediate predecessor nodes of this Node in the Graph. This method never returns null.

Specified by:
getPredNodes in interface EdgeManager<ExplodedSupergraphNode<T>>
Overrides:
getPredNodes in class ExplodedSupergraph<T>
Returns:
an Iterator over the immediate predecessor nodes of this Node.

getPredNodeCount

public int getPredNodeCount(ExplodedSupergraphNode<T> N)
Description copied from interface: EdgeManager
Return the number of immediate predecessor nodes of this Node in the Graph.

Specified by:
getPredNodeCount in interface EdgeManager<ExplodedSupergraphNode<T>>
Overrides:
getPredNodeCount in class ExplodedSupergraph<T>
Returns:
the number of immediate predecessor Nodes of this Node in the Graph.

getSuccNodeCount

public int getSuccNodeCount(ExplodedSupergraphNode<T> N)
Description copied from interface: EdgeManager
Return the number of immediate successor nodes of this Node in the Graph

Specified by:
getSuccNodeCount in interface EdgeManager<ExplodedSupergraphNode<T>>
Overrides:
getSuccNodeCount in class ExplodedSupergraph<T>
Returns:
the number of immediate successor Nodes of this Node in the Graph.