Class StandardTags.ExpressionTag

java.lang.Object
com.oracle.truffle.api.instrumentation.Tag
com.oracle.truffle.api.instrumentation.StandardTags.ExpressionTag
Enclosing class:
StandardTags

public static final class StandardTags.ExpressionTag extends Tag
Marks program locations as to be considered expressions of the languages. Common examples for expressions are:
  • Literal expressions
  • Arithmetic expressions like addition and multiplication
  • Condition expressions
  • Function calls
  • Array, Object or variable reads and writes
  • Instantiations
Use case descriptions:
  • Coverage: To compute expression coverage.
  • Debugger: Fine grained debugging of expressions. It is optional to implement the expression tag to support debuggers.
The ExpressionTag uses the identifier "EXPRESSION". A node tagged with StandardTags.ExpressionTag must provide a source section, if its root node provides a source section. *

If the a node tagged with expression returns a non null value then it must be an interop value. There are assertions in place verifying this when Java assertions are enabled (-ea).

Since:
0.33