diff options
author | Danil Alexeev <danil@alexeev.xyz> | 2023-06-20 12:03:54 +0300 |
---|---|---|
committer | Danil Alexeev <danil@alexeev.xyz> | 2023-06-20 12:03:54 +0300 |
commit | a0577eb23b303b2f60a9237c877bd2ca370a6cc2 (patch) | |
tree | eb732401af79edad284e092e7470e366d0fdb598 /modules/gdscript/gdscript.cpp | |
parent | 73ac33342fa8326e533604f43494844483dcca3d (diff) | |
download | redot-engine-a0577eb23b303b2f60a9237c877bd2ca370a6cc2.tar.gz |
GDScript: Fix `_get_script_name()` function collision for SCU build
Diffstat (limited to 'modules/gdscript/gdscript.cpp')
-rw-r--r-- | modules/gdscript/gdscript.cpp | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/modules/gdscript/gdscript.cpp b/modules/gdscript/gdscript.cpp index 7a3b9dc597..8f870368ce 100644 --- a/modules/gdscript/gdscript.cpp +++ b/modules/gdscript/gdscript.cpp @@ -1354,7 +1354,7 @@ GDScript::GDScript() : path = vformat("gdscript://%d.gd", get_instance_id()); } -void GDScript::_save_orphaned_subclasses(GDScript::ClearData *p_clear_data) { +void GDScript::_save_orphaned_subclasses(ClearData *p_clear_data) { struct ClassRefWithName { ObjectID id; String fully_qualified_name; @@ -1411,7 +1411,31 @@ void GDScript::_init_rpc_methods_properties() { } } -void GDScript::clear(GDScript::ClearData *p_clear_data) { +#ifdef DEBUG_ENABLED +String GDScript::debug_get_script_name(const Ref<Script> &p_script) { + if (p_script.is_valid()) { + Ref<GDScript> gdscript = p_script; + if (gdscript.is_valid()) { + if (!gdscript->get_script_class_name().is_empty()) { + return gdscript->get_script_class_name(); + } + return gdscript->get_fully_qualified_name().get_file(); + } + + if (p_script->get_global_name() != StringName()) { + return p_script->get_global_name(); + } else if (!p_script->get_path().is_empty()) { + return p_script->get_path().get_file(); + } else if (!p_script->get_name().is_empty()) { + return p_script->get_name(); // Resource name. + } + } + + return "<unknown script>"; +} +#endif + +void GDScript::clear(ClearData *p_clear_data) { if (clearing) { return; } |