mirror of
https://github.com/godotengine/godot-cpp.git
synced 2026-01-06 06:10:06 +03:00
Fix classes without _to_string() always returning "[Wrapped:0]"
This commit is contained in:
@@ -1723,6 +1723,16 @@ def generate_engine_class_header(class_api, used_classes, fully_used_classes, us
|
|||||||
result.append(f"\t~{class_name}();")
|
result.append(f"\t~{class_name}();")
|
||||||
result.append("")
|
result.append("")
|
||||||
|
|
||||||
|
if class_name == "Object":
|
||||||
|
result.append('\tString _to_string() const { return "<" + get_class() + "#" + itos(get_instance_id()) + ">"; }')
|
||||||
|
result.append("")
|
||||||
|
|
||||||
|
if class_name == "Node":
|
||||||
|
result.append(
|
||||||
|
'\tString _to_string() const { return (!get_name().is_empty() ? String(get_name()) + ":" : "") + Object::_to_string(); }'
|
||||||
|
)
|
||||||
|
result.append("")
|
||||||
|
|
||||||
result.append("public:")
|
result.append("public:")
|
||||||
|
|
||||||
# Special cases.
|
# Special cases.
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ protected:
|
|||||||
bool _property_can_revert(const StringName &p_name) const { return false; }
|
bool _property_can_revert(const StringName &p_name) const { return false; }
|
||||||
bool _property_get_revert(const StringName &p_name, Variant &r_property) const { return false; }
|
bool _property_get_revert(const StringName &p_name, Variant &r_property) const { return false; }
|
||||||
void _validate_property(PropertyInfo &p_property) const {}
|
void _validate_property(PropertyInfo &p_property) const {}
|
||||||
String _to_string() const { return "[" + String(get_class_static()) + ":" + itos(get_instance_id()) + "]"; }
|
String _to_string() const { return "<Wrapped#0>"; }
|
||||||
|
|
||||||
static void notification_bind(GDExtensionClassInstancePtr p_instance, int32_t p_what, GDExtensionBool p_reversed) {}
|
static void notification_bind(GDExtensionClassInstancePtr p_instance, int32_t p_what, GDExtensionBool p_reversed) {}
|
||||||
static GDExtensionBool set_bind(GDExtensionClassInstancePtr p_instance, GDExtensionConstStringNamePtr p_name, GDExtensionConstVariantPtr p_value) { return false; }
|
static GDExtensionBool set_bind(GDExtensionClassInstancePtr p_instance, GDExtensionConstStringNamePtr p_name, GDExtensionConstVariantPtr p_value) { return false; }
|
||||||
@@ -121,10 +121,6 @@ public:
|
|||||||
return string_name;
|
return string_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t get_instance_id() const {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Must be public but you should not touch this.
|
// Must be public but you should not touch this.
|
||||||
GodotObject *_owner = nullptr;
|
GodotObject *_owner = nullptr;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -18,8 +18,7 @@ func _ready():
|
|||||||
|
|
||||||
# To string.
|
# To string.
|
||||||
assert_equal(example.to_string(),'[ GDExtension::Example <--> Instance ID:%s ]' % example.get_instance_id())
|
assert_equal(example.to_string(),'[ GDExtension::Example <--> Instance ID:%s ]' % example.get_instance_id())
|
||||||
# It appears there's a bug with instance ids :-(
|
assert_equal($Example/ExampleMin.to_string(), 'ExampleMin:<ExampleMin#%s>' % $Example/ExampleMin.get_instance_id())
|
||||||
#assert_equal($Example/ExampleMin.to_string(), 'ExampleMin:[Wrapped:%s]' % $Example/ExampleMin.get_instance_id())
|
|
||||||
|
|
||||||
# Call static methods.
|
# Call static methods.
|
||||||
assert_equal(Example.test_static(9, 100), 109);
|
assert_equal(Example.test_static(9, 100), 109);
|
||||||
|
|||||||
Reference in New Issue
Block a user