mirror of
https://github.com/godotengine/godot.git
synced 2026-01-03 18:11:19 +03:00
Core: Always enable ptrcall, remove PTRCALL_ENABLED define
ptrcall is now also used to optimize calls in GDScript, on top of the existing use by the GDNative and Mono modules. It no longer makes sense to make it optional.
This commit is contained in:
@@ -123,10 +123,7 @@ public:
|
||||
_FORCE_INLINE_ int get_argument_count() const { return argument_count; };
|
||||
|
||||
virtual Variant call(Object *p_object, const Variant **p_args, int p_arg_count, Callable::CallError &r_error) = 0;
|
||||
|
||||
#ifdef PTRCALL_ENABLED
|
||||
virtual void ptrcall(Object *p_object, const void **p_args, void *r_ret) = 0;
|
||||
#endif
|
||||
|
||||
StringName get_name() const;
|
||||
void set_name(const StringName &p_name);
|
||||
@@ -205,11 +202,9 @@ public:
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef PTRCALL_ENABLED
|
||||
virtual void ptrcall(Object *p_object, const void **p_args, void *r_ret) {
|
||||
ERR_FAIL(); //can't call
|
||||
} //todo
|
||||
#endif
|
||||
ERR_FAIL(); // Can't call.
|
||||
}
|
||||
|
||||
void set_method(NativeCall p_method) { call_method = p_method; }
|
||||
virtual bool is_const() const { return false; }
|
||||
@@ -289,7 +284,6 @@ public:
|
||||
return Variant();
|
||||
}
|
||||
|
||||
#ifdef PTRCALL_ENABLED
|
||||
virtual void ptrcall(Object *p_object, const void **p_args, void *r_ret) {
|
||||
#ifdef TYPED_METHOD_BIND
|
||||
call_with_ptr_args<T, P...>(static_cast<T *>(p_object), method, p_args);
|
||||
@@ -297,7 +291,6 @@ public:
|
||||
call_with_ptr_args<MB_T, P...>((MB_T *)(p_object), method, p_args);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
MethodBindT(void (MB_T::*p_method)(P...)) {
|
||||
method = p_method;
|
||||
@@ -370,7 +363,6 @@ public:
|
||||
return Variant();
|
||||
}
|
||||
|
||||
#ifdef PTRCALL_ENABLED
|
||||
virtual void ptrcall(Object *p_object, const void **p_args, void *r_ret) {
|
||||
#ifdef TYPED_METHOD_BIND
|
||||
call_with_ptr_argsc<T, P...>(static_cast<T *>(p_object), method, p_args);
|
||||
@@ -378,7 +370,6 @@ public:
|
||||
call_with_ptr_argsc<MB_T, P...>((MB_T *)(p_object), method, p_args);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
MethodBindTC(void (MB_T::*p_method)(P...) const) {
|
||||
method = p_method;
|
||||
@@ -462,7 +453,6 @@ public:
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef PTRCALL_ENABLED
|
||||
virtual void ptrcall(Object *p_object, const void **p_args, void *r_ret) {
|
||||
#ifdef TYPED_METHOD_BIND
|
||||
call_with_ptr_args_ret<T, R, P...>(static_cast<T *>(p_object), method, p_args, r_ret);
|
||||
@@ -470,7 +460,6 @@ public:
|
||||
call_with_ptr_args_ret<MB_T, R, P...>((MB_T *)(p_object), method, p_args, r_ret);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
MethodBindTR(R (MB_T::*p_method)(P...)) {
|
||||
method = p_method;
|
||||
@@ -555,7 +544,6 @@ public:
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef PTRCALL_ENABLED
|
||||
virtual void ptrcall(Object *p_object, const void **p_args, void *r_ret) {
|
||||
#ifdef TYPED_METHOD_BIND
|
||||
call_with_ptr_args_retc<T, R, P...>(static_cast<T *>(p_object), method, p_args, r_ret);
|
||||
@@ -563,7 +551,6 @@ public:
|
||||
call_with_ptr_args_retc<MB_T, R, P...>((MB_T *)(p_object), method, p_args, r_ret);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
MethodBindTRC(R (MB_T::*p_method)(P...) const) {
|
||||
method = p_method;
|
||||
|
||||
Reference in New Issue
Block a user