Class FalseEdge

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

    public class FalseEdge
    extends Edge
    An edge connecting two statements, that is traversed when the condition expressed in the source state does not hold. The abstract analysis state gets modified by assuming that the statement where this edge originates does not hold.
    • Constructor Detail

      • FalseEdge

        public FalseEdge​(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 FalseEdge 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