Abstract Trace

Prints a value using the AVM1 Trace action.

The OpTrace statement ensures that the Trace action is used and does not depend on the current binding of the trace variable.

Example

@trace("Hello, World!");
@trace(42);
var obj = {foo: "bar"};
@trace(obj);

Syntax

Compared to a CallExpression on the trace variable, the OpTrace syntax has more constraints: it requires exactly one argument and must be its own statement.

Syntax
AbstractTrace :
   @trace TRIVIA?
   ( TRIVIA?
   Expression TRIVIA?
   )

Abstract type

TODO

{
  type: "OpTrace";
  value: Expression;
}