diff options
| author | Rémi Verschelde <rverschelde@gmail.com> | 2024-05-30 22:38:36 +0200 |
|---|---|---|
| committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-05-30 22:38:36 +0200 |
| commit | ce82984b5ca77d6339606f232e794f15618b349e (patch) | |
| tree | 902541c71175aa497d686ef3a4816f045aec4b54 /modules/gdscript/tests/scripts/runtime/features | |
| parent | 8adf9e4d97539f6970f0cee6298d2a296aa4cdd6 (diff) | |
| parent | 18d8838051f1b544078913219dbd8aa9d7baa6e6 (diff) | |
| download | redot-engine-ce82984b5ca77d6339606f232e794f15618b349e.tar.gz | |
Merge pull request #92544 from dalexeev/gds-fix-const-non-metatype-subscript
GDScript: Fix subscript resolution on constant non-metatype GDScript base
Diffstat (limited to 'modules/gdscript/tests/scripts/runtime/features')
| -rw-r--r-- | modules/gdscript/tests/scripts/runtime/features/metatypes.gd | 12 | ||||
| -rw-r--r-- | modules/gdscript/tests/scripts/runtime/features/metatypes.out | 5 |
2 files changed, 17 insertions, 0 deletions
diff --git a/modules/gdscript/tests/scripts/runtime/features/metatypes.gd b/modules/gdscript/tests/scripts/runtime/features/metatypes.gd index 6c5df32ffe..fd23ea0db5 100644 --- a/modules/gdscript/tests/scripts/runtime/features/metatypes.gd +++ b/modules/gdscript/tests/scripts/runtime/features/metatypes.gd @@ -25,12 +25,24 @@ func test(): if str(property.name).begins_with("test_"): print(Utils.get_property_signature(property)) + print("---") check_gdscript_native_class(test_native) check_gdscript(test_script) check_gdscript(test_class) check_enum(test_enum) + print("---") print(test_native.stringify([])) print(test_script.TEST) print(test_class.TEST) print(test_enum.keys()) + + print("---") + # Some users add unnecessary type hints to `const`-`preload`, which removes metatypes. + # For **constant** `GDScript` we still check the class members, despite the wider type. + const ScriptNoMeta: GDScript = Other + const ClassNoMeta: GDScript = MyClass + var a := ScriptNoMeta.TEST + var b := ClassNoMeta.TEST + print(a) + print(b) diff --git a/modules/gdscript/tests/scripts/runtime/features/metatypes.out b/modules/gdscript/tests/scripts/runtime/features/metatypes.out index 352d1caa59..c42287438c 100644 --- a/modules/gdscript/tests/scripts/runtime/features/metatypes.out +++ b/modules/gdscript/tests/scripts/runtime/features/metatypes.out @@ -3,11 +3,16 @@ var test_native: GDScriptNativeClass var test_script: GDScript var test_class: GDScript var test_enum: Dictionary +--- GDScriptNativeClass GDScript GDScript { "A": 0, "B": 1, "C": 2 } +--- [] 100 10 ["A", "B", "C"] +--- +100 +10 |
