From bc739a46878d06bd77fcb924a8bd079071057be0 Mon Sep 17 00:00:00 2001 From: George Marques Date: Fri, 30 Dec 2022 11:57:25 -0300 Subject: GDScript: Make using return of void function an error Remove the `VOID_ASSIGNMENT` warning since those cases will be errors now. --- .../analyzer/errors/use_value_of_void_function_builtin_method.gd | 3 +++ .../analyzer/errors/use_value_of_void_function_builtin_method.out | 2 ++ .../analyzer/errors/use_value_of_void_function_custom_method.gd | 5 +++++ .../analyzer/errors/use_value_of_void_function_custom_method.out | 2 ++ .../scripts/analyzer/errors/use_value_of_void_function_gd_utility.gd | 2 ++ .../analyzer/errors/use_value_of_void_function_gd_utility.out | 2 ++ .../analyzer/errors/use_value_of_void_function_native_method.gd | 3 +++ .../analyzer/errors/use_value_of_void_function_native_method.out | 2 ++ .../scripts/analyzer/errors/use_value_of_void_function_utility.gd | 2 ++ .../scripts/analyzer/errors/use_value_of_void_function_utility.out | 2 ++ 10 files changed, 25 insertions(+) create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_builtin_method.gd create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_builtin_method.out create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_custom_method.gd create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_custom_method.out create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_gd_utility.gd create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_gd_utility.out create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_native_method.gd create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_native_method.out create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_utility.gd create mode 100644 modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_utility.out (limited to 'modules/gdscript/tests/scripts/analyzer/errors') diff --git a/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_builtin_method.gd b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_builtin_method.gd new file mode 100644 index 0000000000..a3450966cc --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_builtin_method.gd @@ -0,0 +1,3 @@ +func test(): + var builtin := [] + print(builtin.reverse()) # Built-in type method. diff --git a/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_builtin_method.out b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_builtin_method.out new file mode 100644 index 0000000000..225c85e9c7 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_builtin_method.out @@ -0,0 +1,2 @@ +GDTEST_ANALYZER_ERROR +Cannot get return value of call to "reverse()" because it returns "void". diff --git a/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_custom_method.gd b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_custom_method.gd new file mode 100644 index 0000000000..2162a181ac --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_custom_method.gd @@ -0,0 +1,5 @@ +func foo() -> void: + pass + +func test(): + print(foo()) # Custom method. diff --git a/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_custom_method.out b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_custom_method.out new file mode 100644 index 0000000000..2b1a607883 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_custom_method.out @@ -0,0 +1,2 @@ +GDTEST_ANALYZER_ERROR +Cannot get return value of call to "foo()" because it returns "void". diff --git a/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_gd_utility.gd b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_gd_utility.gd new file mode 100644 index 0000000000..f3443d985e --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_gd_utility.gd @@ -0,0 +1,2 @@ +func test(): + print(print_debug()) # GDScript utility function. diff --git a/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_gd_utility.out b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_gd_utility.out new file mode 100644 index 0000000000..502c18ab9d --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_gd_utility.out @@ -0,0 +1,2 @@ +GDTEST_ANALYZER_ERROR +Cannot get return value of call to "print_debug()" because it returns "void". diff --git a/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_native_method.gd b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_native_method.gd new file mode 100644 index 0000000000..b8e81b160a --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_native_method.gd @@ -0,0 +1,3 @@ +func test(): + var obj := Node.new() + print(obj.free()) # Native type method. diff --git a/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_native_method.out b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_native_method.out new file mode 100644 index 0000000000..88be39345b --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_native_method.out @@ -0,0 +1,2 @@ +GDTEST_ANALYZER_ERROR +Cannot get return value of call to "free()" because it returns "void". diff --git a/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_utility.gd b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_utility.gd new file mode 100644 index 0000000000..8eabed4271 --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_utility.gd @@ -0,0 +1,2 @@ +func test(): + print(print()) # Built-in utility function. diff --git a/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_utility.out b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_utility.out new file mode 100644 index 0000000000..ebf43186be --- /dev/null +++ b/modules/gdscript/tests/scripts/analyzer/errors/use_value_of_void_function_utility.out @@ -0,0 +1,2 @@ +GDTEST_ANALYZER_ERROR +Cannot get return value of call to "print()" because it returns "void". -- cgit v1.2.3