godot/modules/gdscript/tests/scripts/analyzer/warnings/unsafe_call_argument.gd

55 lines
1.2 KiB
GDScript

func variant_func(x: Variant) -> void:
print(x)
func int_func(x: int) -> void:
print(x)
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
var variant_string: Variant = "abc"
var typed_int: int = 42
variant_func(untyped_int) # No warning.
variant_func(untyped_string) # No warning.
variant_func(variant_int) # No warning.
variant_func(variant_string) # No warning.
variant_func(typed_int) # No warning.
int_func(untyped_int)
int_func(untyped_string)
int_func(variant_int)
int_func(variant_string)
int_func(typed_int) # No warning.
float_func(untyped_int)
float_func(untyped_string)
float_func(variant_int)
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