|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object joeq.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
|
Field Summary | |
---|---|
protected int |
_edgeCount
|
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)
|
protected void |
addNode(SSADefinition def)
|
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 |
Set |
getRoots()
Retrieves all roots of the forest that we are constructing |
Set |
getTerminals()
|
abstract boolean |
isRootNode(SSADefinition def)
|
abstract boolean |
isTerminalNode(SSADefinition def)
|
protected void |
printDot(Iterator iter,
PrintStream out,
boolean direction)
|
void |
printDot(PrintStream out)
Prints the subtree starting at definition def in a dot graph form. |
void |
printReachedToDot(SSADefinition def,
PrintStream out)
|
void |
printReachingToDot(SSADefinition def,
PrintStream out)
|
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected int _edgeCount
Constructor Detail |
---|
public DefinitionGraph()
Method Detail |
---|
protected void addNode(SSADefinition def)
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 Set getRoots()
public 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 String toString()
toString
in class Object
public void printDot(PrintStream out)
public void printReachedToDot(SSADefinition def, PrintStream out)
public void printReachingToDot(SSADefinition def, PrintStream out)
protected void printDot(Iterator iter, PrintStream out, boolean direction)
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 |