1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-26 15:46:23 +00:00

Always use String as StringName backing internally.

This commit is contained in:
Lukas Tenbrink
2025-04-03 22:09:35 +02:00
parent 1696ab0cb6
commit 91fe434a86
16 changed files with 245 additions and 383 deletions

View File

@@ -2251,13 +2251,13 @@ void GDScriptLanguage::init() {
//populate global constants
int gcc = CoreConstants::get_global_constant_count();
for (int i = 0; i < gcc; i++) {
_add_global(StaticCString::create(CoreConstants::get_global_constant_name(i)), CoreConstants::get_global_constant_value(i));
_add_global(StringName(CoreConstants::get_global_constant_name(i)), CoreConstants::get_global_constant_value(i));
}
_add_global(StaticCString::create("PI"), Math::PI);
_add_global(StaticCString::create("TAU"), Math::TAU);
_add_global(StaticCString::create("INF"), Math::INF);
_add_global(StaticCString::create("NAN"), Math::NaN);
_add_global(StringName("PI"), Math::PI);
_add_global(StringName("TAU"), Math::TAU);
_add_global(StringName("INF"), Math::INF);
_add_global(StringName("NAN"), Math::NaN);
//populate native classes
@@ -2930,16 +2930,16 @@ thread_local GDScriptLanguage::CallStack GDScriptLanguage::_call_stack;
GDScriptLanguage::GDScriptLanguage() {
ERR_FAIL_COND(singleton);
singleton = this;
strings._init = StaticCString::create("_init");
strings._static_init = StaticCString::create("_static_init");
strings._notification = StaticCString::create("_notification");
strings._set = StaticCString::create("_set");
strings._get = StaticCString::create("_get");
strings._get_property_list = StaticCString::create("_get_property_list");
strings._validate_property = StaticCString::create("_validate_property");
strings._property_can_revert = StaticCString::create("_property_can_revert");
strings._property_get_revert = StaticCString::create("_property_get_revert");
strings._script_source = StaticCString::create("script/source");
strings._init = StringName("_init");
strings._static_init = StringName("_static_init");
strings._notification = StringName("_notification");
strings._set = StringName("_set");
strings._get = StringName("_get");
strings._get_property_list = StringName("_get_property_list");
strings._validate_property = StringName("_validate_property");
strings._property_can_revert = StringName("_property_can_revert");
strings._property_get_revert = StringName("_property_get_revert");
strings._script_source = StringName("script/source");
_debug_parse_err_line = -1;
_debug_parse_err_file = "";

View File

@@ -132,7 +132,7 @@ void finish_language() {
StringName GDScriptTestRunner::test_function_name;
GDScriptTestRunner::GDScriptTestRunner(const String &p_source_dir, bool p_init_language, bool p_print_filenames, bool p_use_binary_tokens) {
test_function_name = StaticCString::create("test");
test_function_name = StringName("test");
do_init_languages = p_init_language;
print_filenames = p_print_filenames;
binary_tokens = p_use_binary_tokens;

View File

@@ -668,41 +668,41 @@ class BindingsGenerator {
void _initialize_compat_singletons();
struct NameCache {
StringName type_void = StaticCString::create("void");
StringName type_Variant = StaticCString::create("Variant");
StringName type_VarArg = StaticCString::create("VarArg");
StringName type_Object = StaticCString::create("Object");
StringName type_RefCounted = StaticCString::create("RefCounted");
StringName type_RID = StaticCString::create("RID");
StringName type_Callable = StaticCString::create("Callable");
StringName type_Signal = StaticCString::create("Signal");
StringName type_String = StaticCString::create("String");
StringName type_StringName = StaticCString::create("StringName");
StringName type_NodePath = StaticCString::create("NodePath");
StringName type_Array_generic = StaticCString::create("Array_@generic");
StringName type_Dictionary_generic = StaticCString::create("Dictionary_@generic");
StringName type_at_GlobalScope = StaticCString::create("@GlobalScope");
StringName enum_Error = StaticCString::create("Error");
StringName type_void = "void";
StringName type_Variant = "Variant";
StringName type_VarArg = "VarArg";
StringName type_Object = "Object";
StringName type_RefCounted = "RefCounted";
StringName type_RID = "RID";
StringName type_Callable = "Callable";
StringName type_Signal = "Signal";
StringName type_String = "String";
StringName type_StringName = "StringName";
StringName type_NodePath = "NodePath";
StringName type_Array_generic = "Array_@generic";
StringName type_Dictionary_generic = "Dictionary_@generic";
StringName type_at_GlobalScope = "@GlobalScope";
StringName enum_Error = "Error";
StringName type_sbyte = StaticCString::create("sbyte");
StringName type_short = StaticCString::create("short");
StringName type_int = StaticCString::create("int");
StringName type_byte = StaticCString::create("byte");
StringName type_ushort = StaticCString::create("ushort");
StringName type_uint = StaticCString::create("uint");
StringName type_long = StaticCString::create("long");
StringName type_ulong = StaticCString::create("ulong");
StringName type_sbyte = "sbyte";
StringName type_short = "short";
StringName type_int = "int";
StringName type_byte = "byte";
StringName type_ushort = "ushort";
StringName type_uint = "uint";
StringName type_long = "long";
StringName type_ulong = "ulong";
StringName type_bool = StaticCString::create("bool");
StringName type_float = StaticCString::create("float");
StringName type_double = StaticCString::create("double");
StringName type_bool = "bool";
StringName type_float = "float";
StringName type_double = "double";
StringName type_Vector2 = StaticCString::create("Vector2");
StringName type_Rect2 = StaticCString::create("Rect2");
StringName type_Vector3 = StaticCString::create("Vector3");
StringName type_Vector3i = StaticCString::create("Vector3i");
StringName type_Vector4 = StaticCString::create("Vector4");
StringName type_Vector4i = StaticCString::create("Vector4i");
StringName type_Vector2 = "Vector2";
StringName type_Rect2 = "Rect2";
StringName type_Vector3 = "Vector3";
StringName type_Vector3i = "Vector3i";
StringName type_Vector4 = "Vector4";
StringName type_Vector4i = "Vector4i";
// Object not included as it must be checked for all derived classes
static constexpr int nullable_types_count = 19;
@@ -713,21 +713,21 @@ class BindingsGenerator {
type_Array_generic,
type_Dictionary_generic,
StaticCString::create(_STR(Array)),
StaticCString::create(_STR(Dictionary)),
StaticCString::create(_STR(Callable)),
StaticCString::create(_STR(Signal)),
StringName(_STR(Array)),
StringName(_STR(Dictionary)),
StringName(_STR(Callable)),
StringName(_STR(Signal)),
StaticCString::create(_STR(PackedByteArray)),
StaticCString::create(_STR(PackedInt32Array)),
StaticCString::create(_STR(PackedInt64Array)),
StaticCString::create(_STR(PackedFloat32Array)),
StaticCString::create(_STR(PackedFloat64Array)),
StaticCString::create(_STR(PackedStringArray)),
StaticCString::create(_STR(PackedVector2Array)),
StaticCString::create(_STR(PackedVector3Array)),
StaticCString::create(_STR(PackedColorArray)),
StaticCString::create(_STR(PackedVector4Array)),
StringName(_STR(PackedByteArray)),
StringName(_STR(PackedInt32Array)),
StringName(_STR(PackedInt64Array)),
StringName(_STR(PackedFloat32Array)),
StringName(_STR(PackedFloat64Array)),
StringName(_STR(PackedStringArray)),
StringName(_STR(PackedVector2Array)),
StringName(_STR(PackedVector3Array)),
StringName(_STR(PackedColorArray)),
StringName(_STR(PackedVector4Array)),
};
bool is_nullable_type(const StringName &p_type) const {