polyglot.visit
Class FlowGraph.EdgeKey

java.lang.Object
  extended by polyglot.visit.FlowGraph.EdgeKey
Direct Known Subclasses:
FlowGraph.ExceptionEdgeKey
Enclosing class:
FlowGraph

public static class FlowGraph.EdgeKey
extends java.lang.Object

This class provides an identifying label for edges in the flow graph. Thus, the condition of an if statement will have at least two edges leaving it (in a forward flow graph): one will have the EdgeKey FlowGraph.EDGE_KEY_TRUE, and is the flow that is taken when the condition evaluates to true, and one will have the EdgeKey FlowGraph.EDGE_KEY_FALSE, and is the flow that is taken when the condition evaluates to false. The differentiation of the flow graph edges allows for a finer grain data flow analysis, as the dataflow equations can incorporate the knowledge that a condition is true or false on certain flow paths.


Field Summary
protected  java.lang.Object o
           
 
Constructor Summary
protected FlowGraph.EdgeKey(java.lang.Object o)
           
 
Method Summary
 boolean equals(java.lang.Object other)
           
 int hashCode()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

o

protected java.lang.Object o
Constructor Detail

FlowGraph.EdgeKey

protected FlowGraph.EdgeKey(java.lang.Object o)
Method Detail

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object other)
Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object