member_info.gd 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. class_name TestMemberInfo
  2. class MyClass:
  3. pass
  4. enum MyEnum {}
  5. const Utils = preload("../../utils.notest.gd")
  6. static var test_static_var_untyped
  7. static var test_static_var_weak_null = null
  8. static var test_static_var_weak_int = 1
  9. static var test_static_var_hard_int: int
  10. var test_var_untyped
  11. var test_var_weak_null = null
  12. var test_var_weak_int = 1
  13. @export var test_var_weak_int_exported = 1
  14. var test_var_weak_variant_type = TYPE_NIL
  15. @export var test_var_weak_variant_type_exported = TYPE_NIL
  16. var test_var_hard_variant: Variant
  17. var test_var_hard_int: int
  18. var test_var_hard_variant_type: Variant.Type
  19. @export var test_var_hard_variant_type_exported: Variant.Type
  20. var test_var_hard_node_process_mode: Node.ProcessMode
  21. @warning_ignore("enum_variable_without_default")
  22. var test_var_hard_my_enum: MyEnum
  23. var test_var_hard_array: Array
  24. var test_var_hard_array_int: Array[int]
  25. var test_var_hard_array_variant_type: Array[Variant.Type]
  26. var test_var_hard_array_node_process_mode: Array[Node.ProcessMode]
  27. var test_var_hard_array_my_enum: Array[MyEnum]
  28. var test_var_hard_array_resource: Array[Resource]
  29. var test_var_hard_array_this: Array[TestMemberInfo]
  30. var test_var_hard_array_my_class: Array[MyClass]
  31. var test_var_hard_resource: Resource
  32. var test_var_hard_this: TestMemberInfo
  33. var test_var_hard_my_class: MyClass
  34. static func test_static_func(): pass
  35. func test_func_implicit_void(): pass
  36. func test_func_explicit_void() -> void: pass
  37. func test_func_weak_null(): return null
  38. func test_func_weak_int(): return 1
  39. func test_func_hard_variant() -> Variant: return null
  40. func test_func_hard_int() -> int: return 1
  41. func test_func_args_1(_a: int, _b: Array[int], _c: int = 1, _d = 2): pass
  42. func test_func_args_2(_a = 1, _b = _a, _c = [2], _d = 3): pass
  43. signal test_signal_1()
  44. signal test_signal_2(a: Variant, b)
  45. signal test_signal_3(a: int, b: Array[int])
  46. signal test_signal_4(a: Variant.Type, b: Array[Variant.Type])
  47. signal test_signal_5(a: MyEnum, b: Array[MyEnum])
  48. signal test_signal_6(a: Resource, b: Array[Resource])
  49. signal test_signal_7(a: TestMemberInfo, b: Array[TestMemberInfo])
  50. signal test_signal_8(a: MyClass, b: Array[MyClass])
  51. func no_exec():
  52. test_signal_1.emit()
  53. test_signal_2.emit()
  54. test_signal_3.emit()
  55. test_signal_4.emit()
  56. test_signal_5.emit()
  57. test_signal_6.emit()
  58. test_signal_7.emit()
  59. test_signal_8.emit()
  60. func test():
  61. var script: Script = get_script()
  62. for property in script.get_property_list():
  63. if str(property.name).begins_with("test_"):
  64. print(Utils.get_property_signature(property, null, true))
  65. for property in get_property_list():
  66. if str(property.name).begins_with("test_"):
  67. print(Utils.get_property_signature(property))
  68. for method in get_method_list():
  69. if str(method.name).begins_with("test_"):
  70. print(Utils.get_method_signature(method))
  71. for method in get_signal_list():
  72. if str(method.name).begins_with("test_"):
  73. print(Utils.get_method_signature(method, true))