You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-17 14:11:06 +00:00
Extension header: amend const correctness of p_args parameters
A while ago, argument arrays were passed as const GDNativeTypePtr* (void* const*) This was changed to GDNativeConstTypePtr* (void const**), adding const on the value but removing it on the pointer level. This commit changes argument types to const GDExtensionConstTypePtr* (void const* const*). Besides object pointers, the same change is applied to variant pointers.
This commit is contained in:
@@ -80,7 +80,7 @@ static void gdextension_variant_destroy(GDExtensionVariantPtr p_self) {
|
||||
|
||||
// variant type
|
||||
|
||||
static void gdextension_variant_call(GDExtensionVariantPtr p_self, GDExtensionConstStringNamePtr p_method, GDExtensionConstVariantPtr *p_args, GDExtensionInt p_argcount, GDExtensionVariantPtr r_return, GDExtensionCallError *r_error) {
|
||||
static void gdextension_variant_call(GDExtensionVariantPtr p_self, GDExtensionConstStringNamePtr p_method, const GDExtensionConstVariantPtr *p_args, GDExtensionInt p_argcount, GDExtensionVariantPtr r_return, GDExtensionCallError *r_error) {
|
||||
Variant *self = (Variant *)p_self;
|
||||
const StringName method = *reinterpret_cast<const StringName *>(p_method);
|
||||
const Variant **args = (const Variant **)p_args;
|
||||
@@ -96,7 +96,7 @@ static void gdextension_variant_call(GDExtensionVariantPtr p_self, GDExtensionCo
|
||||
}
|
||||
}
|
||||
|
||||
static void gdextension_variant_call_static(GDExtensionVariantType p_type, GDExtensionConstStringNamePtr p_method, GDExtensionConstVariantPtr *p_args, GDExtensionInt p_argcount, GDExtensionVariantPtr r_return, GDExtensionCallError *r_error) {
|
||||
static void gdextension_variant_call_static(GDExtensionVariantType p_type, GDExtensionConstStringNamePtr p_method, const GDExtensionConstVariantPtr *p_args, GDExtensionInt p_argcount, GDExtensionVariantPtr r_return, GDExtensionCallError *r_error) {
|
||||
Variant::Type type = (Variant::Type)p_type;
|
||||
const StringName method = *reinterpret_cast<const StringName *>(p_method);
|
||||
const Variant **args = (const Variant **)p_args;
|
||||
@@ -486,7 +486,7 @@ static GDExtensionPtrConstructor gdextension_variant_get_ptr_constructor(GDExten
|
||||
static GDExtensionPtrDestructor gdextension_variant_get_ptr_destructor(GDExtensionVariantType p_type) {
|
||||
return (GDExtensionPtrDestructor)Variant::get_ptr_destructor(Variant::Type(p_type));
|
||||
}
|
||||
static void gdextension_variant_construct(GDExtensionVariantType p_type, GDExtensionVariantPtr p_base, GDExtensionConstVariantPtr *p_args, int32_t p_argument_count, GDExtensionCallError *r_error) {
|
||||
static void gdextension_variant_construct(GDExtensionVariantType p_type, GDExtensionVariantPtr p_base, const GDExtensionConstVariantPtr *p_args, int32_t p_argument_count, GDExtensionCallError *r_error) {
|
||||
memnew_placement(p_base, Variant);
|
||||
|
||||
Callable::CallError error;
|
||||
@@ -814,7 +814,7 @@ static GDExtensionVariantPtr gdextension_dictionary_operator_index_const(GDExten
|
||||
|
||||
/* OBJECT API */
|
||||
|
||||
static void gdextension_object_method_bind_call(GDExtensionMethodBindPtr p_method_bind, GDExtensionObjectPtr p_instance, GDExtensionConstVariantPtr *p_args, GDExtensionInt p_arg_count, GDExtensionVariantPtr r_return, GDExtensionCallError *r_error) {
|
||||
static void gdextension_object_method_bind_call(GDExtensionMethodBindPtr p_method_bind, GDExtensionObjectPtr p_instance, const GDExtensionConstVariantPtr *p_args, GDExtensionInt p_arg_count, GDExtensionVariantPtr r_return, GDExtensionCallError *r_error) {
|
||||
const MethodBind *mb = reinterpret_cast<const MethodBind *>(p_method_bind);
|
||||
Object *o = (Object *)p_instance;
|
||||
const Variant **args = (const Variant **)p_args;
|
||||
@@ -830,7 +830,7 @@ static void gdextension_object_method_bind_call(GDExtensionMethodBindPtr p_metho
|
||||
}
|
||||
}
|
||||
|
||||
static void gdextension_object_method_bind_ptrcall(GDExtensionMethodBindPtr p_method_bind, GDExtensionObjectPtr p_instance, GDExtensionConstTypePtr *p_args, GDExtensionTypePtr p_ret) {
|
||||
static void gdextension_object_method_bind_ptrcall(GDExtensionMethodBindPtr p_method_bind, GDExtensionObjectPtr p_instance, const GDExtensionConstTypePtr *p_args, GDExtensionTypePtr p_ret) {
|
||||
const MethodBind *mb = reinterpret_cast<const MethodBind *>(p_method_bind);
|
||||
Object *o = (Object *)p_instance;
|
||||
mb->ptrcall(o, (const void **)p_args, p_ret);
|
||||
|
||||
Reference in New Issue
Block a user