harpoon.Analysis.PointerAnalysis
Class LightPAEdgeSet

java.lang.Object
  extended by harpoon.Analysis.PointerAnalysis.AbstrPAEdgeSet
      extended by harpoon.Analysis.PointerAnalysis.LightPAEdgeSet
All Implemented Interfaces:
PAEdgeSet, Serializable, Cloneable

public class LightPAEdgeSet
extends AbstrPAEdgeSet
implements Serializable

LightPAEdgeSet

Version:
$Id: LightPAEdgeSet.java,v 1.9 2005/08/17 23:34:00 salcianu Exp $
Author:
Alexandru SALCIANU <salcianu@retezat.lcs.mit.edu>
See Also:
Serialized Form

Constructor Summary
LightPAEdgeSet()
          Creates a LightPAEdgeSet.
 
Method Summary
 boolean addEdge(PANode node1, String f, PANode node2)
           
 void addEdge(Temp v, PANode node)
           
 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 dest_es)
           
 boolean equals(Object o)
           
 void forAllEdges(PANode node, harpoon.Analysis.PointerAnalysis.PAEdgeVisitor visitor)
           
 void forAllPointedNodes(PANode node, PANodeVisitor visitor)
           
protected  PAEdgeSet getEmptyPAEdgeSet()
           
 int hashCode()
           
 Set pointedNodes(PANode node)
           
 Set pointedNodes(PANode node, 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 node, String f)
           
 void removeEdges(Temp v)
           
 void union(PAEdgeSet edges2, Set ppgRoots)
          Add all the edges from edges2 to this PAEdgeSet.
 
Methods inherited from class harpoon.Analysis.PointerAnalysis.AbstrPAEdgeSet
addEdges, addEdges, difference, forAllEdges, forAllEdges, forAllNodes, forAllPointedNodes, forAllPointedNodes, getEdgesFrom, getPrecedenceRelation, pointedNodes, show_evolution, specialize, toString, union
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LightPAEdgeSet

public LightPAEdgeSet()
Creates a LightPAEdgeSet.

Method Detail

addEdge

public void addEdge(Temp v,
                    PANode node)
Specified by:
addEdge in interface PAEdgeSet
Specified by:
addEdge in class AbstrPAEdgeSet

addEdges

public void addEdges(Temp v,
                     Collection nodes)
Specified by:
addEdges in interface PAEdgeSet
Specified by:
addEdges in class AbstrPAEdgeSet

removeEdge

public void removeEdge(Temp v,
                       PANode node)
Specified by:
removeEdge in interface PAEdgeSet
Specified by:
removeEdge in class AbstrPAEdgeSet

removeEdges

public void removeEdges(Temp v)
Specified by:
removeEdges in interface PAEdgeSet
Specified by:
removeEdges in class AbstrPAEdgeSet

pointedNodes

public Set pointedNodes(Temp v)
Specified by:
pointedNodes in interface PAEdgeSet
Specified by:
pointedNodes in class AbstrPAEdgeSet

allVariables

public Set allVariables()
Specified by:
allVariables in interface PAEdgeSet
Specified by:
allVariables in class AbstrPAEdgeSet

addEdge

public boolean addEdge(PANode node1,
                       String f,
                       PANode node2)
Specified by:
addEdge in interface PAEdgeSet
Specified by:
addEdge in class AbstrPAEdgeSet

addEdges

public boolean addEdges(PANode node1,
                        String f,
                        Collection node2s)
Specified by:
addEdges in interface PAEdgeSet
Specified by:
addEdges in class AbstrPAEdgeSet

removeEdge

public void removeEdge(PANode node1,
                       String f,
                       PANode node2)
Specified by:
removeEdge in interface PAEdgeSet
Specified by:
removeEdge in class AbstrPAEdgeSet

removeEdges

public void removeEdges(PANode node,
                        String f)
Specified by:
removeEdges in interface PAEdgeSet
Specified by:
removeEdges in class AbstrPAEdgeSet

removeEdges

public void removeEdges(PANode node1)
Specified by:
removeEdges in interface PAEdgeSet
Specified by:
removeEdges in class AbstrPAEdgeSet

pointedNodes

public Set pointedNodes(PANode node,
                        String f)
Specified by:
pointedNodes in interface PAEdgeSet
Specified by:
pointedNodes in class AbstrPAEdgeSet

pointedNodes

public Set pointedNodes(PANode node)
Specified by:
pointedNodes in interface PAEdgeSet
Specified by:
pointedNodes in class AbstrPAEdgeSet

allFlagsForNode

public Set allFlagsForNode(PANode node)
Specified by:
allFlagsForNode in interface PAEdgeSet
Specified by:
allFlagsForNode in class AbstrPAEdgeSet

allSourceNodes

public Set allSourceNodes()
Specified by:
allSourceNodes in interface PAEdgeSet
Specified by:
allSourceNodes in class AbstrPAEdgeSet

forAllPointedNodes

public void forAllPointedNodes(PANode node,
                               PANodeVisitor visitor)
Specified by:
forAllPointedNodes in interface PAEdgeSet
Specified by:
forAllPointedNodes in class AbstrPAEdgeSet

forAllEdges

public void forAllEdges(PANode node,
                        harpoon.Analysis.PointerAnalysis.PAEdgeVisitor visitor)
Specified by:
forAllEdges in interface PAEdgeSet
Specified by:
forAllEdges in class AbstrPAEdgeSet

getEmptyPAEdgeSet

protected PAEdgeSet getEmptyPAEdgeSet()
Specified by:
getEmptyPAEdgeSet in class AbstrPAEdgeSet

copyEdges

public void copyEdges(PANode node,
                      PAEdgeSet dest_es)
Specified by:
copyEdges in interface PAEdgeSet

remove

public void remove(Set set)
Specified by:
remove in interface PAEdgeSet
Specified by:
remove in class AbstrPAEdgeSet

union

public void union(PAEdgeSet edges2,
                  Set ppgRoots)
Description copied from interface: PAEdgeSet
Add all the edges from edges2 to this PAEdgeSet.

Specified by:
union in interface PAEdgeSet
Specified by:
union in class AbstrPAEdgeSet
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).

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

clone

public Object clone()
Specified by:
clone in interface PAEdgeSet
Overrides:
clone in class AbstrPAEdgeSet