Make interfaces of C++ correction types more uniform #215
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.
Before this commit, most correction types implemented an
evaluate
method while some implemented achild
method. When walking a correction's compute graph, thenode_evaluate
visitor had to know which ones required recursive visiting and which did not.With this patch, all correction types implement
evaluate
. This simplifies the implementation of thenode_evaluate
visitor considerably and keeps the logic related to the handling of each type of correction local to the corrections themselves.@nsmith- just an idea, feel free to close if you don't like the direction.