Interface CFG<N>

Type Parameters:
N - type of CFG nodes.
All Superinterfaces:
Graph<N>, Iterable<N>, Serializable

public interface CFG<N> extends Graph<N>
Representation of a control-flow graph of a method.
  • Method Details

    • getIR

      IR getIR()
      Returns:
      the IR of the method this CFG represents.
    • getMethod

      JMethod getMethod()
      Returns:
      the method this CFG represents.
    • getEntry

      N getEntry()
      Returns:
      the entry node of this CFG.
    • getExit

      N getExit()
      Returns:
      the exit node of this CFG.
    • isEntry

      boolean isEntry(N node)
      Returns:
      true if the given node is the entry of this CFG, otherwise false.
    • isExit

      boolean isExit(N node)
      Returns:
      true if the given node is the exit of this CFG, otherwise false.
    • getIndex

      int getIndex(N node)
      Returns:
      a unique index for given node in this CFG.
    • getNode

      N getNode(int index)
      Returns:
      the corresponding node specified by the given index.
    • getInEdgesOf

      Set<CFGEdge<N>> getInEdgesOf(N node)
      Specified by:
      getInEdgesOf in interface Graph<N>
      Returns:
      incoming edges of the given node.
    • getOutEdgesOf

      Set<CFGEdge<N>> getOutEdgesOf(N node)
      Specified by:
      getOutEdgesOf in interface Graph<N>
      Returns:
      outgoing edges of the given node.