summaryrefslogtreecommitdiff
path: root/modules/gdscript/tests/scripts/analyzer/features/property_inline.gd
diff options
context:
space:
mode:
authorZuBsPaCe <kurt.rudin@gmx.net>2021-09-06 07:04:43 +0200
committerZuBsPaCe <kurt.rudin@gmx.net>2021-10-08 22:06:15 +0200
commit551ceb590bef2a521341fe9006a97a0138578f05 (patch)
tree6e36d1db771720170c2d2f66cba226f5f3541b19 /modules/gdscript/tests/scripts/analyzer/features/property_inline.gd
parent58aa020a19162becc9a00fed8a240eb12b0ab964 (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.gd46
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)