Merge pull request #64577 from Calinou/improve-dictionary-printing

Improve dictionary printing to avoid confusion with arrays
This commit is contained in:
Rémi Verschelde 2022-10-05 08:30:55 +02:00
commit c3e929cce6
7 changed files with 17 additions and 15 deletions

View File

@ -1835,11 +1835,13 @@ String Variant::stringify(int recursion_count) const {
case DICTIONARY: {
const Dictionary &d = *reinterpret_cast<const Dictionary *>(_data._mem);
if (recursion_count > MAX_RECURSION) {
ERR_PRINT("Max recursion reached");
return "{...}";
ERR_PRINT("Maximum dictionary recursion reached!");
return "{ ... }";
}
String str("{");
// Add leading and trailing space to Dictionary printing. This distinguishes it
// from array printing on fonts that have similar-looking {} and [] characters.
String str("{ ");
List<Variant> keys;
d.get_key_list(&keys);
@ -1858,9 +1860,9 @@ String Variant::stringify(int recursion_count) const {
if (i > 0) {
str += ", ";
}
str += pairs[i].key + ":" + pairs[i].value;
str += pairs[i].key + ": " + pairs[i].value;
}
str += "}";
str += " }";
return str;
} break;
@ -1894,7 +1896,7 @@ String Variant::stringify(int recursion_count) const {
case ARRAY: {
Array arr = operator Array();
if (recursion_count > MAX_RECURSION) {
ERR_PRINT("Max recursion reached");
ERR_PRINT("Maximum array recursion reached!");
return "[...]";
}

View File

@ -7,8 +7,8 @@ null
false
empty array
zero Vector2i
{22:{4:["nesting", "arrays"]}}
{4:["nesting", "arrays"]}
{ 22: { 4: ["nesting", "arrays"] } }
{ 4: ["nesting", "arrays"] }
["nesting", "arrays"]
nesting
arrays

View File

@ -1,2 +1,2 @@
GDTEST_OK
{"a":1, "b":2, "with spaces":3, "2":4}
{ "a": 1, "b": 2, "with spaces": 3, "2": 4 }

View File

@ -1,2 +1,2 @@
GDTEST_OK
{"hello":{"world":{"is":"beautiful"}}}
{ "hello": { "world": { "is": "beautiful" } } }

View File

@ -1,5 +1,5 @@
GDTEST_OK
{8:{"key":"value"}}
{"key":"value"}
{ 8: { "key": "value" } }
{ "key": "value" }
value
value

View File

@ -1,6 +1,6 @@
GDTEST_OK
{1:(2, 0)}
{3:(4, 0)}
{ 1: (2, 0) }
{ 3: (4, 0) }
[[(5, 0)]]
[[(6, 0)]]
[[(7, 0)]]

View File

@ -21,7 +21,7 @@ hello/world
RID(0)
Node::get_name
Node::[signal]property_list_changed
{"hello":123}
{ "hello": 123 }
["hello", 123]
[255, 0, 1]
[-1, 0, 1]