The document's tokens.
The index of the first token.
The index after the last token.
The subqueries inside the range, in order.
Whether the range is a window specification.
Whether the expression has no tokens.
The expression's text as written, comments included.
Every function call, outside nested queries; calls nested in arguments are included.
Every identifier path that can be a column, outside nested queries.
Every * that stands for columns, outside nested queries.
The nested queries directly inside the expression, in order.
The significant tokens the expression covers.
An expression, kept as the range of tokens it covers. Its helpers look into it for the parts structure-level work needs: identifier paths, function calls and stars. A nested
(SELECT …)is parsed as a child query, returned by Subqueries; the helpers do not look inside it (its own expressions report its names).