Skip to content

Commit 45293d5

Browse files
committed
Core: Implement NotNull template
1 parent 32eafc1 commit 45293d5

File tree

12 files changed

+564
-7
lines changed

12 files changed

+564
-7
lines changed

core/extension/extension_api_dump.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ static String get_property_info_type_name(const PropertyInfo &p_info) {
8888
}
8989

9090
static String get_type_meta_name(const GodotTypeInfo::Metadata metadata) {
91-
static const char *argmeta[13] = { "none", "int8", "int16", "int32", "int64", "uint8", "uint16", "uint32", "uint64", "float", "double", "char16", "char32" };
91+
static const char *argmeta[14] = { "none", "int8", "int16", "int32", "int64", "uint8", "uint16", "uint32", "uint64", "float", "double", "char16", "char32", "not_null" };
9292
return argmeta[metadata];
9393
}
9494

core/extension/gdextension_interface.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1359,7 +1359,7 @@ static void gdextension_object_free_instance_binding(GDExtensionObjectPtr p_obje
13591359

13601360
static void gdextension_object_set_instance(GDExtensionObjectPtr p_object, GDExtensionConstStringNamePtr p_classname, GDExtensionClassInstancePtr p_instance) {
13611361
const StringName classname = *reinterpret_cast<const StringName *>(p_classname);
1362-
Object *o = (Object *)p_object;
1362+
NeverNull<Object *> o = NeverNull<Object *>((Object *)p_object);
13631363
ClassDB::set_object_extension_instance(o, classname, p_instance);
13641364
}
13651365

core/object/class_db.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -730,8 +730,7 @@ ObjectGDExtension *ClassDB::get_placeholder_extension(const StringName &p_class)
730730
}
731731
#endif
732732

733-
void ClassDB::set_object_extension_instance(Object *p_object, const StringName &p_class, GDExtensionClassInstancePtr p_instance) {
734-
ERR_FAIL_NULL(p_object);
733+
void ClassDB::set_object_extension_instance(NeverNull<Object *> p_object, const StringName &p_class, GDExtensionClassInstancePtr p_instance) {
735734
ClassInfo *ti;
736735
{
737736
Locker::Lock lock(Locker::STATE_READ);

core/object/class_db.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ class ClassDB {
325325
static Object *instantiate(const StringName &p_class);
326326
static Object *instantiate_no_placeholders(const StringName &p_class);
327327
static Object *instantiate_without_postinitialization(const StringName &p_class);
328-
static void set_object_extension_instance(Object *p_object, const StringName &p_class, GDExtensionClassInstancePtr p_instance);
328+
static void set_object_extension_instance(NeverNull<Object *> p_object, const StringName &p_class, GDExtensionClassInstancePtr p_instance);
329329

330330
static APIType get_api_type(const StringName &p_class);
331331

0 commit comments

Comments
 (0)