Class SequentialEdge

  • All Implemented Interfaces:
    CodeEdge<CFG,​Statement,​Edge>, Edge<CFG,​Statement,​Edge>, java.lang.Comparable<Edge>

    public class SequentialEdge
    extends Edge
    A sequential edge connecting two statement. The abstract analysis state does not get modified when traversing this edge.
    • Constructor Detail

      • SequentialEdge

        public SequentialEdge()
        Builds an "empty" edge, meaning that it does not have endpoints.
      • SequentialEdge

        public SequentialEdge​(Statement source,
                              Statement destination)
        Builds the edge.
        Parameters:
        source - the source statement
        destination - the destination statement
    • Method Detail

      • toString

        public java.lang.String toString()
        Specified by:
        toString in class Edge
      • isUnconditional

        public boolean isUnconditional()
        Description copied from interface: CodeEdge
        Yields true if and only if this edge represent unconditional execution flow between its bounds. This means that (i) it could be simplified if one of the nodes connected to it is simplified (i.e., removed from the graph), and (ii) the graph containing it can avoid storing the edge if its bounds are subsequent.
        Returns:
        whether or not this edge can be simplified
      • newInstance

        public SequentialEdge newInstance​(Statement source,
                                          Statement destination)
        Description copied from interface: CodeEdge
        Builds a new instance of this edge, connecting the given nodes.
        Parameters:
        source - the source node
        destination - the destination node
        Returns:
        a new instance of this edge, connecting the given nodes