Kaynağa Gözat

Merge pull request #64427 from touilleMan/gdextension-skip-undefined-field-in-properties

[GDExtension] Skip unset getter/setter/index fields in class property
Rémi Verschelde 2 yıl önce
ebeveyn
işleme
96796c1518
1 değiştirilmiş dosya ile 12 ekleme ve 3 silme
  1. 12 3
      core/extension/extension_api_dump.cpp

+ 12 - 3
core/extension/extension_api_dump.cpp

@@ -871,9 +871,18 @@ Dictionary NativeExtensionAPIDump::generate_extension_api() {
 					Dictionary d2;
 					d2["type"] = get_property_info_type_name(F);
 					d2["name"] = String(property_name);
-					d2["setter"] = ClassDB::get_property_setter(class_name, F.name);
-					d2["getter"] = ClassDB::get_property_getter(class_name, F.name);
-					d2["index"] = ClassDB::get_property_index(class_name, F.name);
+					StringName setter = ClassDB::get_property_setter(class_name, F.name);
+					if (!(setter == "")) {
+						d2["setter"] = setter;
+					}
+					StringName getter = ClassDB::get_property_getter(class_name, F.name);
+					if (!(getter == "")) {
+						d2["getter"] = getter;
+					}
+					int index = ClassDB::get_property_index(class_name, F.name);
+					if (index != -1) {
+						d2["index"] = index;
+					}
 					properties.push_back(d2);
 				}