Improve skipping on syntax errors #11636
Merged
+57
−103
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.
Simplify and improve the algorithm used for skipping tokens when a syntax
error is encountered. The new algorithm is based on the region stack maintained
in Scanner instead of maintaining separate counters for open parentheses. This
improves the precision of skipping in general, since there's is no chance that
the two datastructures get out of sync. It seems that way we produce overall
fewer follow-on errors after a syntax error.