GDScript: Improve evaluation of constant expressions with arrays/dictionaries

This commit is contained in:
Danil Alexeev 2025-11-27 13:36:52 +03:00
parent e9bb99a3bb
commit 6d06b3a7d6
No known key found for this signature in database
GPG key ID: 5A52F75A8679EC57
9 changed files with 446 additions and 115 deletions

View file

@ -0,0 +1,29 @@
GDTEST_OK
const TEST_STRING_INDEX = "d"
const TEST_VECTOR2_ATTR = 1.0
const TEST_ARRAY_INDEX = 100
const TEST_DICT_ATTR = 1
const TEST_CALL_ARRAY = []
const TEST_CALL_DICT = {}
const TEST_BINARY_OP = [1, 2]
const TEST_TERNARY_OP = [123]
const TEST_CAST_UNTYPED_ARRAY = [11]
const TEST_CAST_TYPED_ARRAY = Array[int]([22])
const TEST_CAST_UNTYPED_DICT = {11: 111}
const TEST_CAST_TYPED_DICT = Dictionary[int, int]({22: 222})
const TEST_TYPE_TEST_LITERAL_UNTYPED_ARRAY = true
const TEST_TYPE_TEST_LITERAL_TYPED_ARRAY = false
const TEST_TYPE_TEST_LITERAL_UNTYPED_DICT = true
const TEST_TYPE_TEST_LITERAL_TYPED_DICT = false
const TEST_TYPE_TEST_UNTYPED_UNTYPED_ARRAY = true
const TEST_TYPE_TEST_UNTYPED_TYPED_ARRAY = false
const TEST_TYPE_TEST_UNTYPED_UNTYPED_DICT = true
const TEST_TYPE_TEST_UNTYPED_TYPED_DICT = false
const TEST_TYPE_TEST_TYPED_UNTYPED_ARRAY = true
const TEST_TYPE_TEST_TYPED_TYPED_ARRAY = true
const TEST_TYPE_TEST_TYPED_UNTYPED_DICT = true
const TEST_TYPE_TEST_TYPED_TYPED_DICT = true
var test_export_custom: Array = []
hint=TYPE_STRING hint_string="<int>/<ENUM>:Zero,One,Two" usage=DEFAULT|SCRIPT_VARIABLE class_name=&""
[42, 42] true
[42, 42] false