Update ModuleParserUtil to fix infinite loop #730
Merged
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.
Fixes sqldelight/sqldelight#6064
➿ Prevent infinite loop when
tokenTypeis nullModuleParserUtil.custom_module_argumentis a special hand written parser rule that creates a single token from multiple arguments and takes tokens until the next COMMA tokenType is reached.This causes the Idea plugin to hang Ide process if tokenType is null.
jstackwas used to identify 🌶️ hot thread inModuleParserUtilwhile loopTested with local plugin build as hang only occurs with live IDE usage.
e.g
CREATE VIRTUAL TABLE dictionary_fts USING fts5( text, <--- type anything here and the IDE hangs content='', tokenize="unicode61 remove_diacritics 2" );CHANGELOG.md's "Unreleased" section has been updated, if applicable.