diff --git a/binding_generator.py b/binding_generator.py index e6807846..9c3284df 100644 --- a/binding_generator.py +++ b/binding_generator.py @@ -1556,13 +1556,13 @@ def generate_engine_class_source(class_api, used_classes, fully_used_classes, us f"\t\tGDExtensionObjectPtr singleton_obj = internal::gdextension_interface_global_get_singleton({class_name}::get_class_static()._native_ptr());" ) result.append("#ifdef DEBUG_ENABLED") - result.append("\t\tERR_FAIL_COND_V(singleton_obj == nullptr, nullptr);") + result.append("\t\tERR_FAIL_NULL_V(singleton_obj, nullptr);") result.append("#endif // DEBUG_ENABLED") result.append( f"\t\tsingleton = reinterpret_cast<{class_name} *>(internal::gdextension_interface_object_get_instance_binding(singleton_obj, internal::token, &{class_name}::_gde_binding_callbacks));" ) result.append("#ifdef DEBUG_ENABLED") - result.append("\t\tERR_FAIL_COND_V(singleton == nullptr, nullptr);") + result.append("\t\tERR_FAIL_NULL_V(singleton, nullptr);") result.append("#endif // DEBUG_ENABLED") result.append("\t}") result.append("\treturn singleton;") diff --git a/include/godot_cpp/classes/ref.hpp b/include/godot_cpp/classes/ref.hpp index f30928ac..f3fc3e94 100644 --- a/include/godot_cpp/classes/ref.hpp +++ b/include/godot_cpp/classes/ref.hpp @@ -63,7 +63,7 @@ class Ref { } void ref_pointer(T *p_ref) { - ERR_FAIL_COND(!p_ref); + ERR_FAIL_NULL(p_ref); if (p_ref->init_ref()) { reference = p_ref; diff --git a/include/godot_cpp/core/class_db.hpp b/include/godot_cpp/core/class_db.hpp index f23df067..930caa85 100644 --- a/include/godot_cpp/core/class_db.hpp +++ b/include/godot_cpp/core/class_db.hpp @@ -257,7 +257,7 @@ MethodBind *ClassDB::bind_static_method(StringName p_class, N p_method_name, M p template MethodBind *ClassDB::bind_vararg_method(uint32_t p_flags, StringName p_name, M p_method, const MethodInfo &p_info, const std::vector &p_default_args, bool p_return_nil_is_variant) { MethodBind *bind = create_vararg_method_bind(p_method, p_info, p_return_nil_is_variant); - ERR_FAIL_COND_V(!bind, nullptr); + ERR_FAIL_NULL_V(bind, nullptr); bind->set_name(p_name); bind->set_default_arguments(p_default_args); diff --git a/include/godot_cpp/core/memory.hpp b/include/godot_cpp/core/memory.hpp index dd4a155d..548f3301 100644 --- a/include/godot_cpp/core/memory.hpp +++ b/include/godot_cpp/core/memory.hpp @@ -146,7 +146,7 @@ T *memnew_arr_template(size_t p_elements, const char *p_descr = "") { size_t len = sizeof(T) * p_elements; uint64_t *mem = (uint64_t *)Memory::alloc_static(len, true); T *failptr = nullptr; // Get rid of a warning. - ERR_FAIL_COND_V(!mem, failptr); + ERR_FAIL_NULL_V(mem, failptr); *(mem - 1) = p_elements; if (!std::is_trivially_destructible::value) { diff --git a/include/godot_cpp/templates/cowdata.hpp b/include/godot_cpp/templates/cowdata.hpp index d3ea982b..121351b8 100644 --- a/include/godot_cpp/templates/cowdata.hpp +++ b/include/godot_cpp/templates/cowdata.hpp @@ -294,7 +294,7 @@ Error CowData::resize(int p_size) { if (current_size == 0) { // alloc from scratch uint32_t *ptr = (uint32_t *)Memory::alloc_static(alloc_size, true); - ERR_FAIL_COND_V(!ptr, ERR_OUT_OF_MEMORY); + ERR_FAIL_NULL_V(ptr, ERR_OUT_OF_MEMORY); *(ptr - 1) = 0; // size, currently none new (ptr - 2) SafeNumeric(1); // refcount @@ -302,7 +302,7 @@ Error CowData::resize(int p_size) { } else { uint32_t *_ptrnew = (uint32_t *)Memory::realloc_static(_ptr, alloc_size, true); - ERR_FAIL_COND_V(!_ptrnew, ERR_OUT_OF_MEMORY); + ERR_FAIL_NULL_V(_ptrnew, ERR_OUT_OF_MEMORY); new (_ptrnew - 2) SafeNumeric(rc); // refcount _ptr = (T *)(_ptrnew); @@ -332,7 +332,7 @@ Error CowData::resize(int p_size) { if (alloc_size != current_alloc_size) { uint32_t *_ptrnew = (uint32_t *)Memory::realloc_static(_ptr, alloc_size, true); - ERR_FAIL_COND_V(!_ptrnew, ERR_OUT_OF_MEMORY); + ERR_FAIL_NULL_V(_ptrnew, ERR_OUT_OF_MEMORY); new (_ptrnew - 2) SafeNumeric(rc); // refcount _ptr = (T *)(_ptrnew); diff --git a/include/godot_cpp/templates/list.hpp b/include/godot_cpp/templates/list.hpp index 36285f8b..2c8a7c87 100644 --- a/include/godot_cpp/templates/list.hpp +++ b/include/godot_cpp/templates/list.hpp @@ -221,7 +221,7 @@ private: int size_cache = 0; bool erase(const Element *p_I) { - ERR_FAIL_COND_V(!p_I, false); + ERR_FAIL_NULL_V(p_I, false); ERR_FAIL_COND_V(p_I->data != this, false); if (first == p_I) { diff --git a/include/godot_cpp/templates/rid_owner.hpp b/include/godot_cpp/templates/rid_owner.hpp index 93a83567..005fc876 100644 --- a/include/godot_cpp/templates/rid_owner.hpp +++ b/include/godot_cpp/templates/rid_owner.hpp @@ -186,12 +186,12 @@ public: } void initialize_rid(RID p_rid) { T *mem = get_or_null(p_rid, true); - ERR_FAIL_COND(!mem); + ERR_FAIL_NULL(mem); memnew_placement(mem, T); } void initialize_rid(RID p_rid, const T &p_value) { T *mem = get_or_null(p_rid, true); - ERR_FAIL_COND(!mem); + ERR_FAIL_NULL(mem); memnew_placement(mem, T(p_value)); } @@ -374,7 +374,7 @@ public: _FORCE_INLINE_ void replace(const RID &p_rid, T *p_new_ptr) { T **ptr = alloc.get_or_null(p_rid); - ERR_FAIL_COND(!ptr); + ERR_FAIL_NULL(ptr); *ptr = p_new_ptr; } diff --git a/include/godot_cpp/templates/thread_work_pool.hpp b/include/godot_cpp/templates/thread_work_pool.hpp index 85245b4f..a3efd42e 100644 --- a/include/godot_cpp/templates/thread_work_pool.hpp +++ b/include/godot_cpp/templates/thread_work_pool.hpp @@ -96,7 +96,7 @@ class ThreadWorkPool { public: template void begin_work(uint32_t p_elements, C *p_instance, M p_method, U p_userdata) { - ERR_FAIL_COND(!threads); // never initialized + ERR_FAIL_NULL(threads); // Never initialized. ERR_FAIL_COND(current_work != nullptr); index.store(0, std::memory_order_release); @@ -123,18 +123,18 @@ public: } bool is_done_dispatching() const { - ERR_FAIL_COND_V(current_work == nullptr, true); + ERR_FAIL_NULL_V(current_work, true); return index.load(std::memory_order_acquire) >= current_work->max_elements; } uint32_t get_work_index() const { - ERR_FAIL_COND_V(current_work == nullptr, 0); + ERR_FAIL_NULL_V(current_work, 0); uint32_t idx = index.load(std::memory_order_acquire); return Math::min(idx, current_work->max_elements); } void end_work() { - ERR_FAIL_COND(current_work == nullptr); + ERR_FAIL_NULL(current_work); for (uint32_t i = 0; i < threads_working; i++) { threads[i].completed.wait(); threads[i].work = nullptr; diff --git a/src/core/class_db.cpp b/src/core/class_db.cpp index 159c0314..76abd216 100644 --- a/src/core/class_db.cpp +++ b/src/core/class_db.cpp @@ -77,7 +77,7 @@ void ClassDB::add_property(const StringName &p_class, const PropertyInfo &p_pinf if (p_setter != String("")) { setter = get_method(p_class, p_setter); - ERR_FAIL_COND_MSG(!setter, String("Setter method '{0}::{1}()' not found for property '{2}::{3}'.").format(Array::make(p_class, p_setter, p_class, p_pinfo.name))); + ERR_FAIL_NULL_MSG(setter, String("Setter method '{0}::{1}()' not found for property '{2}::{3}'.").format(Array::make(p_class, p_setter, p_class, p_pinfo.name))); size_t exp_args = 1 + (p_index >= 0 ? 1 : 0); ERR_FAIL_COND_MSG((int)exp_args != setter->get_argument_count(), String("Setter method '{0}::{1}()' must take a single argument.").format(Array::make(p_class, p_setter))); @@ -86,7 +86,7 @@ void ClassDB::add_property(const StringName &p_class, const PropertyInfo &p_pinf ERR_FAIL_COND_MSG(p_getter == String(""), String("Getter method must be specified for '{0}::{1}'.").format(Array::make(p_class, p_pinfo.name))); MethodBind *getter = get_method(p_class, p_getter); - ERR_FAIL_COND_MSG(!getter, String("Getter method '{0}::{1}()' not found for property '{2}::{3}'.").format(Array::make(p_class, p_getter, p_class, p_pinfo.name))); + ERR_FAIL_NULL_MSG(getter, String("Getter method '{0}::{1}()' not found for property '{2}::{3}'.").format(Array::make(p_class, p_getter, p_class, p_pinfo.name))); { size_t exp_args = 0 + (p_index >= 0 ? 1 : 0); ERR_FAIL_COND_MSG((int)exp_args != getter->get_argument_count(), String("Getter method '{0}::{1}()' must not take any argument.").format(Array::make(p_class, p_getter))); diff --git a/src/core/memory.cpp b/src/core/memory.cpp index 17b06964..80e71ec5 100644 --- a/src/core/memory.cpp +++ b/src/core/memory.cpp @@ -42,7 +42,7 @@ void *Memory::alloc_static(size_t p_bytes, bool p_pad_align) { #endif void *mem = internal::gdextension_interface_mem_alloc(p_bytes + (prepad ? PAD_ALIGN : 0)); - ERR_FAIL_COND_V(!mem, nullptr); + ERR_FAIL_NULL_V(mem, nullptr); if (prepad) { uint8_t *s8 = (uint8_t *)mem; @@ -71,7 +71,7 @@ void *Memory::realloc_static(void *p_memory, size_t p_bytes, bool p_pad_align) { if (prepad) { mem -= PAD_ALIGN; mem = (uint8_t *)internal::gdextension_interface_mem_realloc(mem, p_bytes + PAD_ALIGN); - ERR_FAIL_COND_V(!mem, nullptr); + ERR_FAIL_NULL_V(mem, nullptr); return mem + PAD_ALIGN; } else { return (uint8_t *)internal::gdextension_interface_mem_realloc(mem, p_bytes); diff --git a/src/godot.cpp b/src/godot.cpp index 69d471b2..06712213 100644 --- a/src/godot.cpp +++ b/src/godot.cpp @@ -411,7 +411,7 @@ GDExtensionBool GDExtensionBinding::init(GDExtensionInterfaceGetProcAddress p_ge r_initialization->deinitialize = deinitialize_level; r_initialization->minimum_initialization_level = minimum_initialization_level; - ERR_FAIL_COND_V_MSG(init_callback == nullptr, false, "Initialization callback must be defined."); + ERR_FAIL_NULL_V_MSG(init_callback, false, "Initialization callback must be defined."); Variant::init_bindings(); register_engine_classes();