You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 4702549
Browse filesBrowse the repository at this point in the historyBrowse files
fix: give every parsed object a node spanning its source
Objects no grammar rule opens a node for, such as a column's table
qualifier, a WHEN clause, nested AND/OR, IS NULL, BETWEEN, parameter
lists, data types, ORDER BY elements and statements, are linked to a
RangeNode: a node outside the parse tree that records the object's first
and last token. getASTRoot() returns the same tree, and no tree node
gains or changes its value.
Ranges that missed text their object prints now cover it: a statement's
WITH, Oracle PRIOR and (+), LIMIT ... BY, sequence options, IF ... ELSE
and merged adjacent literals. A string literal no longer takes the node
of the primary expression around it. Comments get positions, so an
Oracle hint has a range too. getParent() returns null instead of
throwing once it runs out of tree.
ASTNodeCoverageTest parses the test resources' SQL and requires every
ASTNodeAccess object to have a node of at least one character, inside
its holder's range, never partly overlapping another, holding no
parser, and, for expressions and statements, covering text that parses
back to the same object.
0 commit comments