Interface EdgeTypes

All Known Implementing Classes:
BetterCFGBuilder2, Edge, IfNull, IsNullValueAnalysis, PruneInfeasibleExceptionEdges, PruneUnconditionalExceptionThrowerEdges, ResourceValueAnalysis, ReturnPathAnalysis, SimplePathEnumerator, TargetEnumeratingVisitor, TypeAnalysis

public interface EdgeTypes
Constants defining the type of control flow edges, as well as flags defining additional information about the edges.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Special (synthetic) edge for path profiling; backedge source to CFG exit.
    static final int
    Special (synthetic) edge for path profiling; CFG entry to backedge target.
    static final int
    Checked exceptions can be thrown on edge.
    static final int
    System.exit() edge.
    static final int
    Explicit exceptions can be thrown on the edge.
    static final int
    Edge type for fall-through to next instruction.
    static final int
    Edge type for GOTO instructions.
    static final int
    Edge representing control flow from an exception-raising basic block to an explicit handler for the exception.
    static final int
    Edge type for IFCMP instructions when condition is true.
    static final int
    Edge type for JSR instructions.
    static final int
    Edge type for RET instructions.
    static final int
    Edge type for RETURN instructions.
    static final int
    Edge from entry node to real start node.
    static final int
    Edge type for switch instructions (default case).
    static final int
    Edge type for switch instructions (explicit case).
    static final int
    Edge representing the possibility that an exception might propagate out of the current method.
    static final int
    Unknown edge type.
  • Field Details

    • UNKNOWN_EDGE

      @Type static final int UNKNOWN_EDGE
      Unknown edge type.
      See Also:
    • FALL_THROUGH_EDGE

      @Type static final int FALL_THROUGH_EDGE
      Edge type for fall-through to next instruction.
      See Also:
    • IFCMP_EDGE

      @Type static final int IFCMP_EDGE
      Edge type for IFCMP instructions when condition is true.
      See Also:
    • SWITCH_EDGE

      @Type static final int SWITCH_EDGE
      Edge type for switch instructions (explicit case).
      See Also:
    • SWITCH_DEFAULT_EDGE

      @Type static final int SWITCH_DEFAULT_EDGE
      Edge type for switch instructions (default case).
      See Also:
    • JSR_EDGE

      @Type static final int JSR_EDGE
      Edge type for JSR instructions.
      See Also:
    • RET_EDGE

      @Type static final int RET_EDGE
      Edge type for RET instructions.
      See Also:
    • GOTO_EDGE

      @Type static final int GOTO_EDGE
      Edge type for GOTO instructions.
      See Also:
    • RETURN_EDGE

      @Type static final int RETURN_EDGE
      Edge type for RETURN instructions. (These must go to the exit node of the CFG).
      See Also:
    • UNHANDLED_EXCEPTION_EDGE

      @Type static final int UNHANDLED_EXCEPTION_EDGE
      Edge representing the possibility that an exception might propagate out of the current method. Such edges always go to the exit node in the CFG.
      See Also:
    • HANDLED_EXCEPTION_EDGE

      @Type static final int HANDLED_EXCEPTION_EDGE
      Edge representing control flow from an exception-raising basic block to an explicit handler for the exception.
      See Also:
    • START_EDGE

      @Type static final int START_EDGE
      Edge from entry node to real start node.
      See Also:
    • BACKEDGE_TARGET_EDGE

      @Type static final int BACKEDGE_TARGET_EDGE
      Special (synthetic) edge for path profiling; CFG entry to backedge target.
      See Also:
    • BACKEDGE_SOURCE_EDGE

      @Type static final int BACKEDGE_SOURCE_EDGE
      Special (synthetic) edge for path profiling; backedge source to CFG exit.
      See Also:
    • EXIT_EDGE

      @Type static final int EXIT_EDGE
      System.exit() edge.
      See Also:
    • CHECKED_EXCEPTIONS_FLAG

      static final int CHECKED_EXCEPTIONS_FLAG
      Checked exceptions can be thrown on edge.
      See Also:
    • EXPLICIT_EXCEPTIONS_FLAG

      static final int EXPLICIT_EXCEPTIONS_FLAG
      Explicit exceptions can be thrown on the edge.
      See Also: