Joe uwa stack of handlers#414
Merged
Merged
Conversation
added 8 commits
August 31, 2022 16:52
…ants of UWA options are being added
Contributor
Author
|
Further I made the uwa tests being automatically checked in unit testing (results aren't just printed to stdout anymore). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 biggest change is the change the change in the
MisatchHandlerclass hierarchy.What used to be
CompositieMismatchHandleris nowMismatchHandler. No inheritance or subtyping there, because this is the only kind of mismatch handler that is actually being used in client code (i.e. Indexing and Robsubstitution).What used to be the abstract class
MisnmatchHandleris now the abstract classAtomicMismatchHandler(maybe we have a better name for this (?), like AbstractionStrategy, ...).This abstract class is implemeneted by
HOMismatchHandlerandUWAMismatchHandler. it is not being interacted with anywhere in the codebase, except for inMismatchHandler.cpp.These changes fix the issue that some function in the old `MismatchHandler would have to throw an exception before, therefore we get compile-time safety that different handlers cannot be "misused".