[Method Bind] Add support for default argument values and static method binding. Sync headers.
This commit is contained in:
@@ -2,32 +2,49 @@ extends Node
|
||||
|
||||
func _ready():
|
||||
# Bind signals
|
||||
prints("Signal bind")
|
||||
$Button.button_up.connect($Example.emit_custom_signal.bind("Button", 42))
|
||||
|
||||
prints("")
|
||||
|
||||
# Call static methods.
|
||||
prints("Static method calls")
|
||||
prints(" static (109)", Example.test_static(9, 100));
|
||||
Example.test_static2();
|
||||
|
||||
# Call methods.
|
||||
prints("Instance method calls")
|
||||
$Example.simple_func()
|
||||
($Example as Example).simple_const_func() # Force use of ptrcall
|
||||
prints("returned", $Example.return_something("some string"))
|
||||
prints("returned const", $Example.return_something_const())
|
||||
prints("returned ref", $Example.return_extended_ref())
|
||||
prints(" returned", $Example.return_something("some string"))
|
||||
prints(" returned const", $Example.return_something_const())
|
||||
prints(" returned ref", $Example.return_extended_ref())
|
||||
|
||||
prints("VarArg method calls")
|
||||
var ref = ExampleRef.new()
|
||||
prints("sending ref: ", ref.get_instance_id(), "returned ref: ", $Example.extended_ref_checks(ref).get_instance_id())
|
||||
prints("vararg args", $Example.varargs_func("some", "arguments", "to", "test"))
|
||||
prints("vararg_nv ret", $Example.varargs_func_nv("some", "arguments", "to", "test"))
|
||||
prints(" sending ref: ", ref.get_instance_id(), "returned ref: ", $Example.extended_ref_checks(ref).get_instance_id())
|
||||
prints(" vararg args", $Example.varargs_func("some", "arguments", "to", "test"))
|
||||
prints(" vararg_nv ret", $Example.varargs_func_nv("some", "arguments", "to", "test"))
|
||||
$Example.varargs_func_void("some", "arguments", "to", "test")
|
||||
|
||||
prints("test array", $Example.test_array())
|
||||
prints("test dictionary", $Example.test_dictionary())
|
||||
prints("Method calls with default values")
|
||||
prints(" defval (300)", $Example.def_args())
|
||||
prints(" defval (250)", $Example.def_args(50))
|
||||
prints(" defval (150)", $Example.def_args(50, 100))
|
||||
|
||||
# Use properties.
|
||||
prints("custom position is", $Example.group_subgroup_custom_position)
|
||||
prints("Array and Dictionary")
|
||||
prints(" test array", $Example.test_array())
|
||||
prints(" test dictionary", $Example.test_dictionary())
|
||||
|
||||
prints("Properties")
|
||||
prints(" custom position is", $Example.group_subgroup_custom_position)
|
||||
$Example.group_subgroup_custom_position = Vector2(50, 50)
|
||||
prints("custom position now is", $Example.group_subgroup_custom_position)
|
||||
prints(" custom position now is", $Example.group_subgroup_custom_position)
|
||||
|
||||
# Get constants
|
||||
prints("FIRST", $Example.FIRST)
|
||||
prints("ANSWER_TO_EVERYTHING", $Example.ANSWER_TO_EVERYTHING)
|
||||
prints("CONSTANT_WITHOUT_ENUM", $Example.CONSTANT_WITHOUT_ENUM)
|
||||
prints("Constnts")
|
||||
prints(" FIRST", $Example.FIRST)
|
||||
prints(" ANSWER_TO_EVERYTHING", $Example.ANSWER_TO_EVERYTHING)
|
||||
prints(" CONSTANT_WITHOUT_ENUM", $Example.CONSTANT_WITHOUT_ENUM)
|
||||
|
||||
func _on_Example_custom_signal(name, value):
|
||||
prints("Example emitted:", name, value)
|
||||
|
||||
Reference in New Issue
Block a user