Enum Class ControlFlowGraph.Branch

java.lang.Object
java.lang.Enum<ControlFlowGraph.Branch>
com.google.javascript.jscomp.ControlFlowGraph.Branch
All Implemented Interfaces:
Serializable, Comparable<ControlFlowGraph.Branch>, Constable
Enclosing class:
ControlFlowGraph<N>

public static enum ControlFlowGraph.Branch extends Enum<ControlFlowGraph.Branch>
The edge object for the control flow graph.
  • Enum Constant Details

    • ON_TRUE

      public static final ControlFlowGraph.Branch ON_TRUE
      Edge is taken if the condition is true.
    • ON_FALSE

      public static final ControlFlowGraph.Branch ON_FALSE
      Edge is taken if the condition is false.
    • UNCOND

      public static final ControlFlowGraph.Branch UNCOND
      Unconditional branch.
    • ON_EX

      public static final ControlFlowGraph.Branch ON_EX
      Exception-handling code paths. Conflates two kind of control flow passing: - An exception is thrown, and falls into a catch or finally block - During exception handling, a finally block finishes and control passes to the next finally block. In theory, we need 2 different edge types. In practice, we can just treat them as "the edges we can't really optimize".
    • SYN_BLOCK

      public static final ControlFlowGraph.Branch SYN_BLOCK
      Possible folded-away template
  • Method Details

    • values

      public static ControlFlowGraph.Branch[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static ControlFlowGraph.Branch valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • isConditional

      public boolean isConditional()