@@ -225,6 +225,9 @@ class MethodBindVarArgT : public MethodBindVarArgBase<MethodBindVarArgT<T>, T, v
225225
226226public:
227227 virtual Variant call (Object *p_object, const Variant **p_args, int p_arg_count, Callable::CallError &r_error) const override {
228+ #ifdef TOOLS_ENABLED
229+ ERR_FAIL_COND_V_MSG (p_object && p_object->is_extension_placeholder (), Variant (), vformat (" Cannot call method bind '%s' on placeholder instance." , MethodBind::get_name ()));
230+ #endif
228231 (static_cast <T *>(p_object)->*MethodBindVarArgBase<MethodBindVarArgT<T>, T, void , false >::method)(p_args, p_arg_count, r_error);
229232 return {};
230233 }
@@ -261,6 +264,9 @@ class MethodBindVarArgTR : public MethodBindVarArgBase<MethodBindVarArgTR<T, R>,
261264#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
262265#endif
263266 virtual Variant call (Object *p_object, const Variant **p_args, int p_arg_count, Callable::CallError &r_error) const override {
267+ #ifdef TOOLS_ENABLED
268+ ERR_FAIL_COND_V_MSG (p_object && p_object->is_extension_placeholder (), Variant (), vformat (" Cannot call method bind '%s' on placeholder instance." , MethodBind::get_name ()));
269+ #endif
264270 return (static_cast <T *>(p_object)->*MethodBindVarArgBase<MethodBindVarArgTR<T, R>, T, R, true >::method)(p_args, p_arg_count, r_error);
265271 }
266272
@@ -329,6 +335,9 @@ class MethodBindT : public MethodBind {
329335
330336#endif
331337 virtual Variant call (Object *p_object, const Variant **p_args, int p_arg_count, Callable::CallError &r_error) const override {
338+ #ifdef TOOLS_ENABLED
339+ ERR_FAIL_COND_V_MSG (p_object && p_object->is_extension_placeholder (), Variant (), vformat (" Cannot call method bind '%s' on placeholder instance." , MethodBind::get_name ()));
340+ #endif
332341#ifdef TYPED_METHOD_BIND
333342 call_with_variant_args_dv (static_cast <T *>(p_object), method, p_args, p_arg_count, r_error, get_default_arguments ());
334343#else
@@ -338,6 +347,9 @@ class MethodBindT : public MethodBind {
338347 }
339348
340349 virtual void validated_call (Object *p_object, const Variant **p_args, Variant *r_ret) const override {
350+ #ifdef TOOLS_ENABLED
351+ ERR_FAIL_COND_MSG (p_object && p_object->is_extension_placeholder (), vformat (" Cannot call method bind '%s' on placeholder instance." , MethodBind::get_name ()));
352+ #endif
341353#ifdef TYPED_METHOD_BIND
342354 call_with_validated_object_instance_args (static_cast <T *>(p_object), method, p_args);
343355#else
@@ -346,6 +358,9 @@ class MethodBindT : public MethodBind {
346358 }
347359
348360 virtual void ptrcall (Object *p_object, const void **p_args, void *r_ret) const override {
361+ #ifdef TOOLS_ENABLED
362+ ERR_FAIL_COND_MSG (p_object && p_object->is_extension_placeholder (), vformat (" Cannot call method bind '%s' on placeholder instance." , MethodBind::get_name ()));
363+ #endif
349364#ifdef TYPED_METHOD_BIND
350365 call_with_ptr_args<T, P...>(static_cast <T *>(p_object), method, p_args);
351366#else
@@ -404,6 +419,9 @@ class MethodBindTC : public MethodBind {
404419
405420#endif
406421 virtual Variant call (Object *p_object, const Variant **p_args, int p_arg_count, Callable::CallError &r_error) const override {
422+ #ifdef TOOLS_ENABLED
423+ ERR_FAIL_COND_V_MSG (p_object && p_object->is_extension_placeholder (), Variant (), vformat (" Cannot call method bind '%s' on placeholder instance." , MethodBind::get_name ()));
424+ #endif
407425#ifdef TYPED_METHOD_BIND
408426 call_with_variant_argsc_dv (static_cast <T *>(p_object), method, p_args, p_arg_count, r_error, get_default_arguments ());
409427#else
@@ -413,6 +431,9 @@ class MethodBindTC : public MethodBind {
413431 }
414432
415433 virtual void validated_call (Object *p_object, const Variant **p_args, Variant *r_ret) const override {
434+ #ifdef TOOLS_ENABLED
435+ ERR_FAIL_COND_MSG (p_object && p_object->is_extension_placeholder (), vformat (" Cannot call method bind '%s' on placeholder instance." , MethodBind::get_name ()));
436+ #endif
416437#ifdef TYPED_METHOD_BIND
417438 call_with_validated_object_instance_argsc (static_cast <T *>(p_object), method, p_args);
418439#else
@@ -421,6 +442,9 @@ class MethodBindTC : public MethodBind {
421442 }
422443
423444 virtual void ptrcall (Object *p_object, const void **p_args, void *r_ret) const override {
445+ #ifdef TOOLS_ENABLED
446+ ERR_FAIL_COND_MSG (p_object && p_object->is_extension_placeholder (), vformat (" Cannot call method bind '%s' on placeholder instance." , MethodBind::get_name ()));
447+ #endif
424448#ifdef TYPED_METHOD_BIND
425449 call_with_ptr_argsc<T, P...>(static_cast <T *>(p_object), method, p_args);
426450#else
@@ -490,6 +514,9 @@ class MethodBindTR : public MethodBind {
490514
491515 virtual Variant call (Object *p_object, const Variant **p_args, int p_arg_count, Callable::CallError &r_error) const override {
492516 Variant ret;
517+ #ifdef TOOLS_ENABLED
518+ ERR_FAIL_COND_V_MSG (p_object && p_object->is_extension_placeholder (), ret, vformat (" Cannot call method bind '%s' on placeholder instance." , MethodBind::get_name ()));
519+ #endif
493520#ifdef TYPED_METHOD_BIND
494521 call_with_variant_args_ret_dv (static_cast <T *>(p_object), method, p_args, p_arg_count, ret, r_error, get_default_arguments ());
495522#else
@@ -499,6 +526,9 @@ class MethodBindTR : public MethodBind {
499526 }
500527
501528 virtual void validated_call (Object *p_object, const Variant **p_args, Variant *r_ret) const override {
529+ #ifdef TOOLS_ENABLED
530+ ERR_FAIL_COND_MSG (p_object && p_object->is_extension_placeholder (), vformat (" Cannot call method bind '%s' on placeholder instance." , MethodBind::get_name ()));
531+ #endif
502532#ifdef TYPED_METHOD_BIND
503533 call_with_validated_object_instance_args_ret (static_cast <T *>(p_object), method, p_args, r_ret);
504534#else
@@ -507,6 +537,9 @@ class MethodBindTR : public MethodBind {
507537 }
508538
509539 virtual void ptrcall (Object *p_object, const void **p_args, void *r_ret) const override {
540+ #ifdef TOOLS_ENABLED
541+ ERR_FAIL_COND_MSG (p_object && p_object->is_extension_placeholder (), vformat (" Cannot call method bind '%s' on placeholder instance." , MethodBind::get_name ()));
542+ #endif
510543#ifdef TYPED_METHOD_BIND
511544 call_with_ptr_args_ret<T, R, P...>(static_cast <T *>(p_object), method, p_args, r_ret);
512545#else
@@ -577,6 +610,9 @@ class MethodBindTRC : public MethodBind {
577610
578611 virtual Variant call (Object *p_object, const Variant **p_args, int p_arg_count, Callable::CallError &r_error) const override {
579612 Variant ret;
613+ #ifdef TOOLS_ENABLED
614+ ERR_FAIL_COND_V_MSG (p_object && p_object->is_extension_placeholder (), ret, vformat (" Cannot call method bind '%s' on placeholder instance." , MethodBind::get_name ()));
615+ #endif
580616#ifdef TYPED_METHOD_BIND
581617 call_with_variant_args_retc_dv (static_cast <T *>(p_object), method, p_args, p_arg_count, ret, r_error, get_default_arguments ());
582618#else
@@ -586,6 +622,9 @@ class MethodBindTRC : public MethodBind {
586622 }
587623
588624 virtual void validated_call (Object *p_object, const Variant **p_args, Variant *r_ret) const override {
625+ #ifdef TOOLS_ENABLED
626+ ERR_FAIL_COND_MSG (p_object && p_object->is_extension_placeholder (), vformat (" Cannot call method bind '%s' on placeholder instance." , MethodBind::get_name ()));
627+ #endif
589628#ifdef TYPED_METHOD_BIND
590629 call_with_validated_object_instance_args_retc (static_cast <T *>(p_object), method, p_args, r_ret);
591630#else
@@ -594,6 +633,9 @@ class MethodBindTRC : public MethodBind {
594633 }
595634
596635 virtual void ptrcall (Object *p_object, const void **p_args, void *r_ret) const override {
636+ #ifdef TOOLS_ENABLED
637+ ERR_FAIL_COND_MSG (p_object && p_object->is_extension_placeholder (), vformat (" Cannot call method bind '%s' on placeholder instance." , MethodBind::get_name ()));
638+ #endif
597639#ifdef TYPED_METHOD_BIND
598640 call_with_ptr_args_retc<T, R, P...>(static_cast <T *>(p_object), method, p_args, r_ret);
599641#else
0 commit comments