unsafe_call_argument.gd 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. func variant_func(x: Variant) -> void:
  2. print(x)
  3. func int_func(x: int) -> void:
  4. print(x)
  5. func float_func(x: float) -> void:
  6. print(x)
  7. func node_func(x: Node) -> void:
  8. print(x)
  9. # We don't want to execute it because of errors, just analyze.
  10. func no_exec_test():
  11. var variant: Variant = null
  12. var untyped_int = 42
  13. var untyped_string = "abc"
  14. var variant_int: Variant = 42
  15. var variant_string: Variant = "abc"
  16. var typed_int: int = 42
  17. variant_func(untyped_int) # No warning.
  18. variant_func(untyped_string) # No warning.
  19. variant_func(variant_int) # No warning.
  20. variant_func(variant_string) # No warning.
  21. variant_func(typed_int) # No warning.
  22. int_func(untyped_int)
  23. int_func(untyped_string)
  24. int_func(variant_int)
  25. int_func(variant_string)
  26. int_func(typed_int) # No warning.
  27. float_func(untyped_int)
  28. float_func(untyped_string)
  29. float_func(variant_int)
  30. float_func(variant_string)
  31. float_func(typed_int) # No warning.
  32. node_func(variant)
  33. node_func(Object.new())
  34. node_func(Node.new()) # No warning.
  35. node_func(Node2D.new()) # No warning.
  36. # GH-82529
  37. print(Callable(self, "test")) # No warning.
  38. print(Callable(variant, "test"))
  39. print(Dictionary(variant))
  40. print(Vector2(variant))
  41. print(int(variant))
  42. func test():
  43. pass