diff options
author | George Marques <george@gmarqu.es> | 2024-01-17 11:27:40 -0300 |
---|---|---|
committer | George Marques <george@gmarqu.es> | 2024-01-18 09:33:44 -0300 |
commit | b4e08eb752cca0135208ed0729479e1d9c87773d (patch) | |
tree | ca64814ba09a6ef6b4ca9904d2902c65b3faec4d /modules/gdscript/tests | |
parent | 107f2961ccfac179af7682eb5f6e7ea91e80040c (diff) | |
download | redot-engine-b4e08eb752cca0135208ed0729479e1d9c87773d.tar.gz |
Allow `free()` to be used as Callable
This method is registered in a special way so ClassDB doesn't naturally
know about its existence. Here it is hardcoded if any other option fail
to check if it is about the `free()` method and, if so, say it exists
and return a Callable.
Diffstat (limited to 'modules/gdscript/tests')
-rw-r--r-- | modules/gdscript/tests/scripts/runtime/features/free_is_callable.gd | 10 | ||||
-rw-r--r-- | modules/gdscript/tests/scripts/runtime/features/free_is_callable.out | 3 |
2 files changed, 13 insertions, 0 deletions
diff --git a/modules/gdscript/tests/scripts/runtime/features/free_is_callable.gd b/modules/gdscript/tests/scripts/runtime/features/free_is_callable.gd new file mode 100644 index 0000000000..b9746a8207 --- /dev/null +++ b/modules/gdscript/tests/scripts/runtime/features/free_is_callable.gd @@ -0,0 +1,10 @@ +func test(): + var node := Node.new() + var callable: Callable = node.free + callable.call() + print(node) + + node = Node.new() + callable = node["free"] + callable.call() + print(node) diff --git a/modules/gdscript/tests/scripts/runtime/features/free_is_callable.out b/modules/gdscript/tests/scripts/runtime/features/free_is_callable.out new file mode 100644 index 0000000000..97bfc46d96 --- /dev/null +++ b/modules/gdscript/tests/scripts/runtime/features/free_is_callable.out @@ -0,0 +1,3 @@ +GDTEST_OK +<Freed Object> +<Freed Object> |