edu.umd.cs.findbugs.ba
Class Edge

java.lang.Object
  extended by edu.umd.cs.findbugs.graph.AbstractEdge<Edge,BasicBlock>
      extended by edu.umd.cs.findbugs.ba.Edge
All Implemented Interfaces:
Debug, EdgeTypes, GraphEdge<Edge,BasicBlock>, java.lang.Comparable<Edge>

public class Edge
extends AbstractEdge<Edge,BasicBlock>
implements EdgeTypes, Debug

An edge of a control flow graph.

Author:
David Hovemeyer
See Also:
BasicBlock, CFG

Field Summary
 
Fields inherited from interface edu.umd.cs.findbugs.ba.EdgeTypes
BACKEDGE_SOURCE_EDGE, BACKEDGE_TARGET_EDGE, CHECKED_EXCEPTIONS_FLAG, EXIT_EDGE, EXPLICIT_EXCEPTIONS_FLAG, FALL_THROUGH_EDGE, GOTO_EDGE, HANDLED_EXCEPTION_EDGE, IFCMP_EDGE, JSR_EDGE, RET_EDGE, RETURN_EDGE, START_EDGE, SWITCH_DEFAULT_EDGE, SWITCH_EDGE, UNHANDLED_EXCEPTION_EDGE, UNKNOWN_EDGE
 
Fields inherited from interface edu.umd.cs.findbugs.ba.Debug
CHECK_ASSERTIONS, VERIFY_INTEGRITY
 
Constructor Summary
Edge(BasicBlock source, BasicBlock dest)
          Constructor.
 
Method Summary
 int compareTo(Edge other)
          Compare with other edge.
static java.lang.String edgeTypeToString(int edgeType)
          Get string representing given edge type.
 boolean equals(java.lang.Object o)
           
 java.lang.String formatAsString(boolean reverse)
          Return a string representation of the edge.
 int getFlags()
          Get the edge flags.
 int getId()
           
 int getType()
          Get the type of edge.
 int hashCode()
           
 boolean isExceptionEdge()
          Is the edge an exception edge?
 boolean isFlagSet(int flag)
          Return if given edge flag is set.
 void setFlags(int flags)
          Set the edge flags.
 void setType(int type)
          Set the type of edge.
static int stringToEdgeType(java.lang.String s)
          Get numeric edge type from string representation.
 java.lang.String toString()
           
 
Methods inherited from class edu.umd.cs.findbugs.graph.AbstractEdge
getLabel, getSource, getTarget, setLabel
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Edge

public Edge(BasicBlock source,
            BasicBlock dest)
Constructor.

Parameters:
source - source basic block
dest - destination basic block
Method Detail

getId

public int getId()

getType

public int getType()
Get the type of edge.


setType

public void setType(int type)
Set the type of edge.


getFlags

public int getFlags()
Get the edge flags.


setFlags

public void setFlags(int flags)
Set the edge flags.


isFlagSet

public boolean isFlagSet(int flag)
Return if given edge flag is set.

Parameters:
flag - the edge flag
Returns:
true if the flag is set, false otherwise

isExceptionEdge

public boolean isExceptionEdge()
Is the edge an exception edge?


equals

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

hashCode

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

compareTo

public int compareTo(Edge other)
Compare with other edge.

Specified by:
compareTo in interface java.lang.Comparable<Edge>
Overrides:
compareTo in class AbstractEdge<Edge,BasicBlock>

toString

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

formatAsString

public java.lang.String formatAsString(boolean reverse)
Return a string representation of the edge.


edgeTypeToString

public static java.lang.String edgeTypeToString(int edgeType)
Get string representing given edge type.


stringToEdgeType

public static int stringToEdgeType(java.lang.String s)
Get numeric edge type from string representation.