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.
This PR aims to make sure we don't forget to register any method before accessing the cache or the resolver.
We do so by using getters and setters. I had to change a bit the
__repr__
because listing methods from the resolver now automatically register all methods.It's now nearly impossible to access an outdated cache or resolver.
The function to get the
__doc__
is currently a bit weird and do some direct access to the resolver, but I have stuff in my fork to make it cleaner in future PRsTo give a bit more info about where I am now in my fork, I made a new class
MethodRegistry
in charge of holding the list of methods and destroy/recreate the resolver and cache if a new method is registered. The cache moved to the resolver and the doc generation is the job of the the MethodRegistry. Also theResolver
is "frozen" once created, making it easier to understand the logic around it. The current paradigm about two_pending
and_resolved
is removed