summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/tests/scripts/analyzer/features/virtual_method_implemented.gd
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-09-19 09:03:42 +0200
committerRémi Verschelde <rverschelde@gmail.com>2023-09-19 09:03:42 +0200
commit3d3a9ee827893d9c3e0930ac71896262fbc4dff9 (patch)
treec53ab6116c670add3696e0bdf2cdc3810293d06f /modules/gdscript/tests/scripts/analyzer/features/virtual_method_implemented.gd
parent9a1b4f338b3ea4bf7c3e9746669a43fd1e5560d7 (diff)
parent729c9b4d4b82c88de6adde34fc060fdb8727d116 (diff)
downloadredot-engine-3d3a9ee827893d9c3e0930ac71896262fbc4dff9.tar.gz
Merge pull request #81808 from anvilfolk/super-virtual
GDScript: Add check for `super()` methods not being implemented
Diffstat (limited to 'modules/gdscript/tests/scripts/analyzer/features/virtual_method_implemented.gd')
-rw-r--r--modules/gdscript/tests/scripts/analyzer/features/virtual_method_implemented.gd21
1 files changed, 21 insertions, 0 deletions
diff --git a/modules/gdscript/tests/scripts/analyzer/features/virtual_method_implemented.gd b/modules/gdscript/tests/scripts/analyzer/features/virtual_method_implemented.gd
new file mode 100644
index 0000000000..a8641e4f3b
--- /dev/null
+++ b/modules/gdscript/tests/scripts/analyzer/features/virtual_method_implemented.gd
@@ -0,0 +1,21 @@
+class BaseClass:
+ func _get_property_list():
+ return {"property" : "definition"}
+
+class SuperClassMethodsRecognized extends BaseClass:
+ func _init():
+ # Recognizes super class methods.
+ var _x = _get_property_list()
+
+class SuperMethodsRecognized extends BaseClass:
+ func _get_property_list():
+ # Recognizes super method.
+ var result = super()
+ result["new"] = "new"
+ return result
+
+func test():
+ var test1 = SuperClassMethodsRecognized.new()
+ print(test1._get_property_list()) # Calls base class's method.
+ var test2 = SuperMethodsRecognized.new()
+ print(test2._get_property_list())