polyglot.visit
Class FlowGraph.Peer

java.lang.Object
  extended by polyglot.visit.FlowGraph.Peer
Enclosing class:
FlowGraph

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

A Peer is an occurance of an AST node in a flow graph. For most AST nodes, there will be only one Peer for each AST node. However, if the AST node occurs in a finally block, then there will be multiple Peers for that AST node, one for each possible path to the finally block. This is becuase flow graphs for finally blocks are copied, one copy for each possible path to the finally block.


Field Summary
protected  DataFlow.Item inItem
           
protected  Term node
           
protected  java.util.Map outItems
           
protected  java.util.List path_to_finally
           
protected  java.util.List preds
           
protected  java.util.List succs
           
 
Constructor Summary
FlowGraph.Peer(Term node, java.util.List path_to_finally)
           
 
Method Summary
 DataFlow.Item inItem()
          The input data flow item.
 Term node()
          The node for which this is a peer.
 DataFlow.Item outItem(FlowGraph.EdgeKey key)
          The output item for a particular EdgeKey.
 java.util.List preds()
          The predecessor Edges.
 java.util.Set succEdgeKeys()
           
 java.util.List succs()
          The successor Edges.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

inItem

protected DataFlow.Item inItem

outItems

protected java.util.Map outItems

node

protected Term node

succs

protected java.util.List succs

preds

protected java.util.List preds

path_to_finally

protected java.util.List path_to_finally
Constructor Detail

FlowGraph.Peer

public FlowGraph.Peer(Term node,
                      java.util.List path_to_finally)
Method Detail

succs

public java.util.List succs()
The successor Edges.


preds

public java.util.List preds()
The predecessor Edges.


node

public Term node()
The node for which this is a peer.


inItem

public DataFlow.Item inItem()
The input data flow item. Should only be called after data flow analysis is performed.


outItem

public DataFlow.Item outItem(FlowGraph.EdgeKey key)
The output item for a particular EdgeKey. Should only be called after data flow analysis is performed.


toString

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

succEdgeKeys

public java.util.Set succEdgeKeys()