diff options
author | ZuBsPaCe <kurt.rudin@gmx.net> | 2021-09-06 07:04:43 +0200 |
---|---|---|
committer | ZuBsPaCe <kurt.rudin@gmx.net> | 2021-10-08 22:06:15 +0200 |
commit | 551ceb590bef2a521341fe9006a97a0138578f05 (patch) | |
tree | 6e36d1db771720170c2d2f66cba226f5f3541b19 /modules/gdscript/tests/scripts/analyzer/features/property_inline.gd | |
parent | 58aa020a19162becc9a00fed8a240eb12b0ab964 (diff) |
GDScript: Report property type errors
Inline getters & setters are now FunctionNodes.
Their names are set in the parser, not in the compiler.
GDScript-Analyzer will now run through getter and setter.
Also report wrong type or signature errors regarding getset properties.
Added GDScript tests for getters and setters.
#53102
Diffstat (limited to 'modules/gdscript/tests/scripts/analyzer/features/property_inline.gd')
-rw-r--r-- | modules/gdscript/tests/scripts/analyzer/features/property_inline.gd | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/modules/gdscript/tests/scripts/analyzer/features/property_inline.gd b/modules/gdscript/tests/scripts/analyzer/features/property_inline.gd new file mode 100644 index 0000000000..23eb011b23 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/features/property_inline.gd @@ -0,0 +1,46 @@ +# Untyped inline property +var prop1: + get: + return prop1 + set(value): + prop1 = value + +# Typed inline property +var prop2 : int: + get: + return prop2 + set(value): + prop2 = value + +# Typed inline property with default value +var prop3 : int = 1: + get: + return prop3 + set(value): + prop3 = value + +# Typed inline property with backing variable +var _prop4 : int = 2 +var prop4: int: + get: + return _prop4 + set(value): + _prop4 = value + +func test(): + print(prop1) + print(prop2) + print(prop3) + print(prop4) + + print() + + prop1 = 1 + prop2 = 2 + prop3 = 3 + prop4 = 4 + + print(prop1) + print(prop2) + print(prop3) + print(prop4) |