Fix resolution of dynamic types when only proper supertypes are exposed through GDExtension #493
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.
Originally, using
Object.method_get_class
meant that we tried using an object's dynamic type even if it was not registered with GDExtension, which resulted in falling back to the default case of using the static type from the method signature. This PR fixes this by introducing a call togi.object_get_class_name
, which will return the name of the most specialized subtype that is still registered with GDExtension. If this fails for some reason, we fall back to the previous method.