diff options
Diffstat (limited to 'modules/gdscript/tests')
3 files changed, 49 insertions, 9 deletions
diff --git a/modules/gdscript/tests/scripts/analyzer/warnings/unsafe_call_argument.gd b/modules/gdscript/tests/scripts/analyzer/warnings/unsafe_call_argument.gd index 573060ae0f..c6d9b37485 100644 --- a/modules/gdscript/tests/scripts/analyzer/warnings/unsafe_call_argument.gd +++ b/modules/gdscript/tests/scripts/analyzer/warnings/unsafe_call_argument.gd @@ -7,8 +7,12 @@ func int_func(x: int) -> void: func float_func(x: float) -> void: print(x) +func node_func(x: Node) -> void: + print(x) + # We don't want to execute it because of errors, just analyze. func no_exec_test(): + var variant: Variant = null var untyped_int = 42 var untyped_string = "abc" var variant_int: Variant = 42 @@ -33,5 +37,18 @@ func no_exec_test(): float_func(variant_string) float_func(typed_int) # No warning. + node_func(variant) + node_func(Object.new()) + node_func(Node.new()) # No warning. + node_func(Node2D.new()) # No warning. + + # GH-82529 + print(Callable(self, "test")) # No warning. + print(Callable(variant, "test")) + + print(Dictionary(variant)) + print(Vector2(variant)) + print(int(variant)) + func test(): pass diff --git a/modules/gdscript/tests/scripts/analyzer/warnings/unsafe_call_argument.out b/modules/gdscript/tests/scripts/analyzer/warnings/unsafe_call_argument.out index b8fcb67158..3084515233 100644 --- a/modules/gdscript/tests/scripts/analyzer/warnings/unsafe_call_argument.out +++ b/modules/gdscript/tests/scripts/analyzer/warnings/unsafe_call_argument.out @@ -1,33 +1,57 @@ GDTEST_OK >> WARNING ->> Line: 24 +>> Line: 28 >> UNSAFE_CALL_ARGUMENT >> The argument 1 of the function "int_func()" requires the subtype "int" but the supertype "Variant" was provided. >> WARNING ->> Line: 25 +>> Line: 29 >> UNSAFE_CALL_ARGUMENT >> The argument 1 of the function "int_func()" requires the subtype "int" but the supertype "Variant" was provided. >> WARNING ->> Line: 26 +>> Line: 30 >> UNSAFE_CALL_ARGUMENT >> The argument 1 of the function "int_func()" requires the subtype "int" but the supertype "Variant" was provided. >> WARNING ->> Line: 27 +>> Line: 31 >> UNSAFE_CALL_ARGUMENT >> The argument 1 of the function "int_func()" requires the subtype "int" but the supertype "Variant" was provided. >> WARNING ->> Line: 30 +>> Line: 34 >> UNSAFE_CALL_ARGUMENT >> The argument 1 of the function "float_func()" requires the subtype "float" but the supertype "Variant" was provided. >> WARNING ->> Line: 31 +>> Line: 35 >> UNSAFE_CALL_ARGUMENT >> The argument 1 of the function "float_func()" requires the subtype "float" but the supertype "Variant" was provided. >> WARNING ->> Line: 32 +>> Line: 36 >> UNSAFE_CALL_ARGUMENT >> The argument 1 of the function "float_func()" requires the subtype "float" but the supertype "Variant" was provided. >> WARNING ->> Line: 33 +>> Line: 37 >> UNSAFE_CALL_ARGUMENT >> The argument 1 of the function "float_func()" requires the subtype "float" but the supertype "Variant" was provided. +>> WARNING +>> Line: 40 +>> UNSAFE_CALL_ARGUMENT +>> The argument 1 of the function "node_func()" requires the subtype "Node" but the supertype "Variant" was provided. +>> WARNING +>> Line: 41 +>> UNSAFE_CALL_ARGUMENT +>> The argument 1 of the function "node_func()" requires the subtype "Node" but the supertype "Object" was provided. +>> WARNING +>> Line: 47 +>> UNSAFE_CALL_ARGUMENT +>> The argument 1 of the constructor "Callable()" requires the subtype "Object" but the supertype "Variant" was provided. +>> WARNING +>> Line: 49 +>> UNSAFE_CALL_ARGUMENT +>> The argument 1 of the constructor "Dictionary()" requires the subtype "Dictionary" but the supertype "Variant" was provided. +>> WARNING +>> Line: 50 +>> UNSAFE_CALL_ARGUMENT +>> The argument 1 of the constructor "Vector2()" requires the subtype "Vector2" or "Vector2i" but the supertype "Variant" was provided. +>> WARNING +>> Line: 51 +>> UNSAFE_CALL_ARGUMENT +>> The argument 1 of the constructor "int()" requires the subtype "int", "bool", or "float" but the supertype "Variant" was provided. diff --git a/modules/gdscript/tests/scripts/runtime/features/stringify.gd b/modules/gdscript/tests/scripts/runtime/features/stringify.gd index 1e66d8f34a..0dbb252b0e 100644 --- a/modules/gdscript/tests/scripts/runtime/features/stringify.gd +++ b/modules/gdscript/tests/scripts/runtime/features/stringify.gd @@ -24,7 +24,6 @@ func test(): print(StringName("hello")) print(NodePath("hello/world")) var node := Node.new() - @warning_ignore("unsafe_call_argument") print(RID(node)) # TODO: Why is the constructor (or implicit cast) not documented? print(node.get_name) print(node.property_list_changed) |