From 5d31ce4b161553e85bbd8397f2ce62cbd213095f Mon Sep 17 00:00:00 2001 From: George Marques Date: Wed, 15 Sep 2021 09:56:24 -0300 Subject: GDScript: Allow string keys on Lua-style dictionaries Which is useful when the key isn't a valid identifier, such as keys with spaces or numeric keys. --- .../tests/scripts/analyzer/errors/dictionary_duplicate_key_lua.gd | 6 ++++++ .../tests/scripts/analyzer/errors/dictionary_duplicate_key_lua.out | 2 ++ .../analyzer/errors/dictionary_duplicate_key_lua_with_string.gd | 6 ++++++ .../analyzer/errors/dictionary_duplicate_key_lua_with_string.out | 2 ++ .../scripts/analyzer/errors/dictionary_duplicate_key_python.gd | 6 ++++++ .../scripts/analyzer/errors/dictionary_duplicate_key_python.out | 2 ++ 6 files changed, 24 insertions(+) create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_lua.gd create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_lua.out create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_lua_with_string.gd create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_lua_with_string.out create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_python.gd create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_python.out (limited to 'modules/gdscript/tests/scripts/analyzer/errors') diff --git a/modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_lua.gd b/modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_lua.gd new file mode 100644 index 0000000000..7a922cd73e --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_lua.gd @@ -0,0 +1,6 @@ +func test(): + var lua_dict = { + a = 1, + b = 2, + a = 3, # Duplicate isn't allowed. + } diff --git a/modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_lua.out b/modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_lua.out new file mode 100644 index 0000000000..ffdfa56645 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_lua.out @@ -0,0 +1,2 @@ +GDTEST_ANALYZER_ERROR +Key "a" was already used in this dictionary (at line 3). diff --git a/modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_lua_with_string.gd b/modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_lua_with_string.gd new file mode 100644 index 0000000000..933e737ac7 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_lua_with_string.gd @@ -0,0 +1,6 @@ +func test(): + var lua_dict_with_string = { + a = 1, + b = 2, + "a" = 3, # Duplicate isn't allowed. + } diff --git a/modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_lua_with_string.out b/modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_lua_with_string.out new file mode 100644 index 0000000000..ffdfa56645 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_lua_with_string.out @@ -0,0 +1,2 @@ +GDTEST_ANALYZER_ERROR +Key "a" was already used in this dictionary (at line 3). diff --git a/modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_python.gd b/modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_python.gd new file mode 100644 index 0000000000..3b8c83e9cb --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_python.gd @@ -0,0 +1,6 @@ +func test(): + var python_dict = { + "a": 1, + "b": 2, + "a": 3, # Duplicate isn't allowed. + } diff --git a/modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_python.out b/modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_python.out new file mode 100644 index 0000000000..ffdfa56645 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/dictionary_duplicate_key_python.out @@ -0,0 +1,2 @@ +GDTEST_ANALYZER_ERROR +Key "a" was already used in this dictionary (at line 3). -- cgit v1.2.3