[generator] Add 'managedOverride' metadata to allow user to force 'override'/'virtual'. #701
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.
Fixes: #681
There are scenarios where
generator
does not correctly find overridden methods, often due to generic parameters. When these issues happen, the fix is to<remove-node>
the offending method and add a fully hand-bound version of it as anAddition
. This is a very manual fix to simply addoverride
to a method.While we would like to eventually fix all these scenarios to "do the right thing", that will be a complex fix(es), and perhaps we will never be able to handle all cases.
For now, we can at least alleviate the pain by adding a
metadata
attribute that allows the user to override our detection, avoiding the hand-binding.This new attribute is called
managedOverride
and allows the user to specify the valuesvirtual
oroverride
, forcing us to use the requested modifier instead ofgenerator
's usual logic.