harpoon.Analysis.PointerAnalysis
Interface PAEdgeSet

All Known Implementing Classes:
AbstrPAEdgeSet, LightPAEdgeSet

public interface PAEdgeSet

PAEdgeSet

Version:
$Id: PAEdgeSet.java,v 1.5 2005/08/17 23:34:01 salcianu Exp $
Author:
Alexandru SALCIANU <salcianu@retezat.lcs.mit.edu>

Method Summary
 boolean addEdge(PANode node1, String f, PANode node2)
           
 void addEdge(Temp v, PANode node)
           
 void addEdges(Collection node1s, String f, Collection node2s)
           
 void addEdges(Collection node1s, String f, PANode node2)
           
 boolean addEdges(PANode node1, String f, Collection node2s)
           
 void addEdges(Temp v, Collection nodes)
           
 Set allFlagsForNode(PANode node)
           
 Set allSourceNodes()
           
 Set allVariables()
           
 Object clone()
           
 void copyEdges(PANode node, PAEdgeSet es2)
           
 void forAllEdges(harpoon.Analysis.PointerAnalysis.PAEdgeVisitor visitor)
           
 void forAllEdges(PANode node, harpoon.Analysis.PointerAnalysis.PAEdgeVisitor visitor)
           
 void forAllEdges(Temp v, harpoon.Analysis.PointerAnalysis.PAEdgeVisitor visitor)
           
 void forAllNodes(PANodeVisitor visitor)
           
 void forAllPointedNodes(PANode node, PANodeVisitor visitor)
           
 void forAllPointedNodes(PANode node, String f, PANodeVisitor visitor)
           
 void forAllPointedNodes(Temp v, PANodeVisitor visitor)
           
 Set getEdgesFrom(PANode node, String f)
           
 Relation getPrecedenceRelation()
          Returns a relation that contains all the pairs <n2,n1> such that there was an edge from n1 to n2 (through some field f).
 Set pointedNodes(Collection node1s, String f)
           
 Set pointedNodes(PANode node)
           
 Set pointedNodes(PANode node1, String f)
           
 Set pointedNodes(Temp v)
           
 void remove(Set set)
           
 void removeEdge(PANode node1, String f, PANode node2)
           
 void removeEdge(Temp v, PANode node)
           
 void removeEdges(PANode node1)
           
 void removeEdges(PANode node1, String f)
           
 void removeEdges(Temp v)
           
 PAEdgeSet specialize(Map map)
           
 void union(PAEdgeSet edges2)
          Convenient version of union, equivalent to union(edges2, null).
 void union(PAEdgeSet edges2, Set ppgRoots)
          Add all the edges from edges2 to this PAEdgeSet.
 

Method Detail

addEdge

void addEdge(Temp v,
             PANode node)

addEdges

void addEdges(Temp v,
              Collection nodes)

removeEdge

void removeEdge(Temp v,
                PANode node)

removeEdges

void removeEdges(Temp v)

pointedNodes

Set pointedNodes(Temp v)

allVariables

Set allVariables()

addEdge

boolean addEdge(PANode node1,
                String f,
                PANode node2)

addEdges

boolean addEdges(PANode node1,
                 String f,
                 Collection node2s)

addEdges

void addEdges(Collection node1s,
              String f,
              PANode node2)

addEdges

void addEdges(Collection node1s,
              String f,
              Collection node2s)

removeEdge

void removeEdge(PANode node1,
                String f,
                PANode node2)

removeEdges

void removeEdges(PANode node1,
                 String f)

removeEdges

void removeEdges(PANode node1)

pointedNodes

Set pointedNodes(PANode node1,
                 String f)

pointedNodes

Set pointedNodes(Collection node1s,
                 String f)

pointedNodes

Set pointedNodes(PANode node)

allFlagsForNode

Set allFlagsForNode(PANode node)

allSourceNodes

Set allSourceNodes()

getEdgesFrom

Set getEdgesFrom(PANode node,
                 String f)

forAllPointedNodes

void forAllPointedNodes(Temp v,
                        PANodeVisitor visitor)

forAllPointedNodes

void forAllPointedNodes(PANode node,
                        String f,
                        PANodeVisitor visitor)

forAllPointedNodes

void forAllPointedNodes(PANode node,
                        PANodeVisitor visitor)

forAllNodes

void forAllNodes(PANodeVisitor visitor)

forAllEdges

void forAllEdges(Temp v,
                 harpoon.Analysis.PointerAnalysis.PAEdgeVisitor visitor)

forAllEdges

void forAllEdges(PANode node,
                 harpoon.Analysis.PointerAnalysis.PAEdgeVisitor visitor)

forAllEdges

void forAllEdges(harpoon.Analysis.PointerAnalysis.PAEdgeVisitor visitor)

copyEdges

void copyEdges(PANode node,
               PAEdgeSet es2)

specialize

PAEdgeSet specialize(Map map)

remove

void remove(Set set)

union

void union(PAEdgeSet edges2,
           Set ppgRoots)
Add all the edges from edges2 to this PAEdgeSet.

Parameters:
ppgRoots - If non-null, the starting points of all new edges will be added to this set (this is useful for doing efficient escape info propagation after points-to graph updates).

union

void union(PAEdgeSet edges2)
Convenient version of union, equivalent to union(edges2, null).


getPrecedenceRelation

Relation getPrecedenceRelation()
Returns a relation that contains all the pairs <n2,n1> such that there was an edge from n1 to n2 (through some field f).


clone

Object clone()