lumitrace

Supported Syntax

Lumitrace instruments Ruby source by wrapping selected expression nodes with Lumitrace::R(id, (expr)). It does not rewrite the entire AST, so coverage is best described as “expressions that are safe to wrap in parentheses and call-position contexts.”

This document lists what is supported today, and what is intentionally skipped to avoid breaking valid Ruby syntax.

Supported (Instrumented)

The following node kinds are instrumented when they appear in normal expression positions:

Notes:

Not Supported (Skipped)

These are intentionally skipped to keep output valid Ruby:

Rationale

All skips above correspond to syntactic positions where wrapping the token with expr_record(...) would change the Ruby grammar (e.g., alias operands, method name positions, or implicit keyword arguments).

If you want additional coverage, we can add more targeted rewrites, but they must preserve valid syntax in those special contexts.