Class JSTags.ControlFlowBranchTag

java.lang.Object
com.oracle.truffle.api.instrumentation.Tag
com.oracle.truffle.js.nodes.instrumentation.JSTags.ControlFlowBranchTag
Enclosing class:
JSTags

public static final class JSTags.ControlFlowBranchTag extends com.oracle.truffle.api.instrumentation.Tag
Control flow branch node. Marks all code locations where a statement or expression that might change the control flow of an application is declared.

Examples are:

  • Condition of if statements.
  • Repeating conditions for iteration statements such as while, for, etc.
  • The case expressions in switch statements.
  • The continue statement.
  • The break statement.
  • The throw statement.
Tagged nodes provide the following metadata:
  • type A String describing the control flow construct type. Possible values are:
    • Condition The control condition of a conditional branch statement (e.g., if or switch statements.
    • Continue The continue statement.
    • Break The break statement.
    • Throw The throw statement.
    • Return The return statement.