|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjoeq.Compiler.Analysis.IPSSA.DefinitionGraph
public abstract class DefinitionGraph
This is a graph consisting of definitions that uses as much sharing as possible. Provides a dot printer.
| Nested Class Summary | |
|---|---|
static interface |
DefinitionGraph.EdgeInfo
|
| Constructor Summary | |
|---|---|
DefinitionGraph()
|
|
| Method Summary | |
|---|---|
void |
addEdge(SSADefinition def1,
SSADefinition def2)
By default a true predicate edge is added |
abstract void |
addEdge(SSADefinition def1,
SSADefinition def2,
DefinitionGraph.EdgeInfo ei)
|
abstract SSAIterator.DefinitionIterator |
getAllReached(SSADefinition def)
All reaching definitions |
abstract SSAIterator.DefinitionIterator |
getAllReaching(SSADefinition def)
All reaching definitions |
int |
getEdgeCount()
|
abstract DefinitionGraph.EdgeInfo |
getEdgeInfo(SSADefinition def1,
SSADefinition def2)
null returned means that there is no edge |
int |
getNodeCount()
|
abstract SSAIterator.DefinitionIterator |
getReached(SSADefinition def)
|
abstract SSAIterator.DefinitionIterator |
getReaching(SSADefinition def)
One level of pointees |
java.util.Set |
getRoots()
Retrieves all roots of the forest that we are constructing |
java.util.Set |
getTerminals()
|
abstract boolean |
isRootNode(SSADefinition def)
|
abstract boolean |
isTerminalNode(SSADefinition def)
|
void |
printDot(java.io.PrintStream out)
Prints the subtree starting at definition def in a dot graph form. |
void |
printReachedToDot(SSADefinition def,
java.io.PrintStream out)
|
void |
printReachingToDot(SSADefinition def,
java.io.PrintStream out)
|
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public DefinitionGraph()
| Method Detail |
|---|
public int getEdgeCount()
public int getNodeCount()
public abstract void addEdge(SSADefinition def1,
SSADefinition def2,
DefinitionGraph.EdgeInfo ei)
public abstract boolean isRootNode(SSADefinition def)
public abstract boolean isTerminalNode(SSADefinition def)
public java.util.Set getRoots()
public java.util.Set getTerminals()
public abstract SSAIterator.DefinitionIterator getReached(SSADefinition def)
public abstract SSAIterator.DefinitionIterator getAllReached(SSADefinition def)
public abstract SSAIterator.DefinitionIterator getReaching(SSADefinition def)
public abstract SSAIterator.DefinitionIterator getAllReaching(SSADefinition def)
public java.lang.String toString()
toString in class java.lang.Objectpublic void printDot(java.io.PrintStream out)
public void printReachedToDot(SSADefinition def,
java.io.PrintStream out)
public void printReachingToDot(SSADefinition def,
java.io.PrintStream out)
public void addEdge(SSADefinition def1,
SSADefinition def2)
public abstract DefinitionGraph.EdgeInfo getEdgeInfo(SSADefinition def1,
SSADefinition def2)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||