Class TrueEdge

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

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

      • TrueEdge

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