avrora.core
Class ControlFlowGraph.Edge

java.lang.Object
  extended byavrora.core.ControlFlowGraph.Edge
Enclosing class:
ControlFlowGraph

public class ControlFlowGraph.Edge
extends java.lang.Object

The Edge represents an edge leaving a basic block and (optionally) arriving at another, known basic block. When the target is not know, for example in the case of an indirect call or branch, then the accessor methods to this field return null. Each edge has a type that is represented as a string.


Method Summary
 ControlFlowGraph.Block getSource()
          The getSource() method returns the basic block that is the source of this edge.
 ControlFlowGraph.Block getTarget()
          The getTarget() method returns the known target of this control flow graph edge, if it is known.
 java.lang.String getType()
          The getType() method returns the string name of the type of this edge.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getType

public java.lang.String getType()
The getType() method returns the string name of the type of this edge. This type denotes whether it is a call, return, or regular edge.

Returns:
the string name of the type of the edge

getSource

public ControlFlowGraph.Block getSource()
The getSource() method returns the basic block that is the source of this edge. The edge is always from the last instruction in the basic block.

Returns:
the basic block that is the source of this edge

getTarget

public ControlFlowGraph.Block getTarget()
The getTarget() method returns the known target of this control flow graph edge, if it is known. In the case of indirect calls, branches, or a return, the target block is not known--in that case, this method returns null.

Returns:
the basic block that is the target of this edge if it is known; null otherwise