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 adds support for member registration in abstract classes.
Now one can define abstract classes which inherit from a godot type and register default members in it.
Upon registration of inheriting classes, the inheriting class registers the member of the abstract class as well.
To godot, the abstract class does not exist as it's not registered. But on the jvm side, it exists and all calls to the default members are properly propagated through normal inheritance.
Example:
Limitations:
Currently a user must explicitly register any member he overrides even if that member is marked as registered in the abstract class.
This could be changed though in the future, but personally i would opt against it, to force users to be explicit about what is exported and what not.
Note to self: If this PR is accepted, it needs to be cherry picked to the 4.0 branches