harpoon.Analysis.PointerAnalysis
Class AbstrPAEdgeSet
java.lang.Object
|
+--harpoon.Analysis.PointerAnalysis.AbstrPAEdgeSet
- All Implemented Interfaces:
- Cloneable, PAEdgeSet
- Direct Known Subclasses:
- LightPAEdgeSet
- public abstract class AbstrPAEdgeSet
- extends Object
- implements PAEdgeSet, Cloneable
AbstrPAEdgeSet
- Version:
- $Id: AbstrPAEdgeSet.java,v 1.2 2002/02/25 20:58:38 cananian Exp $
- Author:
- Alexandru SALCIANU <salcianu@retezat.lcs.mit.edu>
Method Summary |
void |
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)
|
void |
addEdges(PANode node1,
String f,
Collection node2s)
|
void |
addEdges(Temp v,
Collection nodes)
|
Set |
allFlagsForNode(PANode node)
|
Set |
allSourceNodes()
|
Set |
allVariables()
|
Object |
clone()
|
static Set |
difference(PAEdgeSet es1,
PAEdgeSet es2)
Computes the difference between two sets of edges. |
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)
|
protected PAEdgeSet |
getEmptyPAEdgeSet()
|
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 nodes,
String f)
|
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 node1,
String f)
|
void |
removeEdges(Temp v)
|
static void |
show_evolution(PAEdgeSet es_old,
PAEdgeSet es_new)
Display the edges which were removed and the edges which were
added while passing from es_old to
es_new . |
PAEdgeSet |
specialize(Map map)
|
String |
toString()
|
void |
union(PAEdgeSet edges2)
|
AbstrPAEdgeSet
public AbstrPAEdgeSet()
addEdge
public void addEdge(Temp v,
PANode node)
- Specified by:
addEdge
in interface PAEdgeSet
addEdges
public void addEdges(Temp v,
Collection nodes)
- Specified by:
addEdges
in interface PAEdgeSet
removeEdge
public void removeEdge(Temp v,
PANode node)
- Specified by:
removeEdge
in interface PAEdgeSet
removeEdges
public void removeEdges(Temp v)
- Specified by:
removeEdges
in interface PAEdgeSet
pointedNodes
public Set pointedNodes(Temp v)
- Specified by:
pointedNodes
in interface PAEdgeSet
allVariables
public Set allVariables()
- Specified by:
allVariables
in interface PAEdgeSet
addEdge
public void addEdge(PANode node1,
String f,
PANode node2)
- Specified by:
addEdge
in interface PAEdgeSet
addEdges
public void addEdges(PANode node1,
String f,
Collection node2s)
- Specified by:
addEdges
in interface PAEdgeSet
addEdges
public void addEdges(Collection node1s,
String f,
PANode node2)
- Specified by:
addEdges
in interface PAEdgeSet
addEdges
public void addEdges(Collection node1s,
String f,
Collection node2s)
- Specified by:
addEdges
in interface PAEdgeSet
removeEdge
public void removeEdge(PANode node1,
String f,
PANode node2)
- Specified by:
removeEdge
in interface PAEdgeSet
removeEdges
public void removeEdges(PANode node1,
String f)
- Specified by:
removeEdges
in interface PAEdgeSet
removeEdges
public void removeEdges(PANode node1)
- Specified by:
removeEdges
in interface PAEdgeSet
pointedNodes
public Set pointedNodes(PANode node,
String f)
- Specified by:
pointedNodes
in interface PAEdgeSet
pointedNodes
public Set pointedNodes(Collection nodes,
String f)
- Specified by:
pointedNodes
in interface PAEdgeSet
pointedNodes
public Set pointedNodes(PANode node)
- Specified by:
pointedNodes
in interface PAEdgeSet
allFlagsForNode
public Set allFlagsForNode(PANode node)
- Specified by:
allFlagsForNode
in interface PAEdgeSet
allSourceNodes
public Set allSourceNodes()
- Specified by:
allSourceNodes
in interface PAEdgeSet
getEdgesFrom
public Set getEdgesFrom(PANode node,
String f)
- Specified by:
getEdgesFrom
in interface PAEdgeSet
forAllPointedNodes
public void forAllPointedNodes(Temp v,
PANodeVisitor visitor)
- Specified by:
forAllPointedNodes
in interface PAEdgeSet
forAllPointedNodes
public void forAllPointedNodes(PANode node,
String f,
PANodeVisitor visitor)
- Specified by:
forAllPointedNodes
in interface PAEdgeSet
forAllPointedNodes
public void forAllPointedNodes(PANode node,
PANodeVisitor visitor)
- Specified by:
forAllPointedNodes
in interface PAEdgeSet
forAllNodes
public void forAllNodes(PANodeVisitor visitor)
- Specified by:
forAllNodes
in interface PAEdgeSet
forAllEdges
public void forAllEdges(Temp v,
harpoon.Analysis.PointerAnalysis.PAEdgeVisitor visitor)
- Specified by:
forAllEdges
in interface PAEdgeSet
forAllEdges
public void forAllEdges(PANode node,
harpoon.Analysis.PointerAnalysis.PAEdgeVisitor visitor)
- Specified by:
forAllEdges
in interface PAEdgeSet
forAllEdges
public void forAllEdges(harpoon.Analysis.PointerAnalysis.PAEdgeVisitor visitor)
- Specified by:
forAllEdges
in interface PAEdgeSet
getEmptyPAEdgeSet
protected PAEdgeSet getEmptyPAEdgeSet()
specialize
public PAEdgeSet specialize(Map map)
- Specified by:
specialize
in interface PAEdgeSet
remove
public void remove(Set set)
- Specified by:
remove
in interface PAEdgeSet
union
public void union(PAEdgeSet edges2)
- Specified by:
union
in interface PAEdgeSet
getPrecedenceRelation
public Relation getPrecedenceRelation()
- Description copied from interface:
PAEdgeSet
- Returns a relation that contains all the pairs
<n2,n1>
such that there was an edge from n1
to n2
(through some field f
).
- Specified by:
getPrecedenceRelation
in interface PAEdgeSet
toString
public String toString()
- Overrides:
toString
in class Object
clone
public Object clone()
- Specified by:
clone
in interface PAEdgeSet
- Overrides:
clone
in class Object
difference
public static Set difference(PAEdgeSet es1,
PAEdgeSet es2)
- Computes the difference between two sets of edges. Returns the
set of edges that are present in es1 but not in es2. The returned
set contains elements of type
PASimpleEdge
or
PAComplexEdge
. For debug purposes.
show_evolution
public static void show_evolution(PAEdgeSet es_old,
PAEdgeSet es_new)
- Display the edges which were removed and the edges which were
added while passing from
es_old
to
es_new
.