vet, parser: rewrite vet error handling (improve parser performance extend vvet) p1 #21417
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.
Currently, vet errors are validated and filtered in the parser.
The changes will help with to take vet to the next level while also simplifying the parser and improving it's performance. Similar to recent changes, this also fits under the mantra "Parse, don't validate".
This will also resolve TODOS, which should not be TODOs in those modules.
To simplify reviewing things I'll try to submit the changes in a few parts that can hopefully stand on their own without falling appart. The parts should become simpler when things progress.
The first part creates a base for vets evolution and extends it's ability to handle trailing space and indentation errors on it's own. This already takes load of the parser.