Resolve shadowed contextual keyword and data-type token warnings - #2597
Merged
manticore-projects merged 1 commit intoSep 11, 2026
Merged
Conversation
Share contextual keyword consumption for MATCHING and DISTRIBUTED RECOVERY, and remove unreachable dedicated-keyword alternatives from DATA_TYPE. Keep these words usable as identifiers and preserve existing type parsing. Fixes JSQLParser#2403.
Contributor
|
Thank you much for cleaning this up! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
JavaCC reports ten remaining shadowed/unreachable token warnings from #2403. Three also hide real parsing failures:
MATCHINGinUNION ... BY NAME MATCHING (...)andDISTRIBUTED RECOVERYinALTER SYSTEMare lexed as identifiers but the grammar expects unreachable literal tokens.Consume these words with a shared contextual-keyword production, retaining their use as ordinary identifiers elsewhere. Remove seven unreachable dedicated-keyword alternatives from
DATA_TYPE;DataType()already handles those token kinds directly. This keeps the change separate from a broader token redesign.Validation: the three affected statement examples failed on master and pass with this change. Full Gradle
checkand Mavenclean verify, plus regressions for contextual words as identifiers, dedicated data-type tokens/casts, operation identity, round trips, and invalid contextual keywords. All ten warnings reported by this issue that remained on master are removed; the pre-existingWITHlookahead warning remains.Integration validation: all twelve existing PRs plus these three independent fixes pass full Gradle
checktogether (6,495 tests; 0 failures/errors; 25 skipped). Existing dialect-enum, shared-index-helper and documentation conflicts were resolved only in the local validation branch.Fixes #2403.