factor out the creation of error nodes and terminal nodes in the parser #1665
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.
The new methods act like a built-in factory during parse tree construction. In the end it is a fairly minor change, but since I moved some methods around in Parser, it looks bigger than it is. All I did was to convert
new TerminalNodeImpl
andnew ErrorNodeImpl
code to calls to the factory methods. I also cleaned up ParserRuleContext add child stuff.@antlr/antlr-targets should consider updating their targets as it adds flexibility that will be handy in a future PR where I support tree construction that contains hidden text before/after nodes.