Interface CfaNode<CfaEdgeT extends CfaEdge,SignatureT extends Signature>

All Known Implementing Classes:
JvmCatchCfaNode, JvmCfaNode, JvmUnknownCfaNode

public interface CfaNode<CfaEdgeT extends CfaEdge,SignatureT extends Signature>
A node for Cfa parametrized by its edges CfaEdgeT. A CFA node corresponds to a program point before the instruction at a specific offset.
  • Field Details

    • RETURN_EXIT_NODE_OFFSET

      static final int RETURN_EXIT_NODE_OFFSET
      See Also:
    • EXCEPTION_EXIT_NODE_OFFSET

      static final int EXCEPTION_EXIT_NODE_OFFSET
      See Also:
    • EXIT_NODES_OFFSET

      static final List<Integer> EXIT_NODES_OFFSET
  • Method Details

    • getLeavingEdges

      List<CfaEdgeT> getLeavingEdges()
      Returns a list of leaving edges.
    • getEnteringEdges

      List<CfaEdgeT> getEnteringEdges()
      Returns a list of entering edges.
    • isEntryNode

      boolean isEntryNode()
      Checks whether the node is a function entry.
    • isExitNode

      boolean isExitNode()
      Checks whether the node is a function exit.
    • getSignature

      SignatureT getSignature()
      Returns the function signature it belongs to.
    • getOffset

      int getOffset()
      Returns the instruction offset.
    • isReturnExitNode

      default boolean isReturnExitNode()
      Returns true if the node is the return location of the function (offset == RETURN_EXIT_NODE_OFFSET).
    • isExceptionExitNode

      default boolean isExceptionExitNode()
      Returns true if the node is the return location of the function (offset == EXCEPTION_EXIT_NODE_OFFSET).
    • isUnknownNode

      default boolean isUnknownNode()
      Returns true if the location of the node is unknown.