summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/gdscript_codegen.h
diff options
context:
space:
mode:
authorGeorge Marques <george@gmarqu.es>2021-03-28 11:03:13 -0300
committerGeorge Marques <george@gmarqu.es>2021-04-28 11:09:38 -0300
commitc201b212c7d188c15de78c4d4150e9d7337b6983 (patch)
treea66e15980bebbe5322e458c10457889ff4d515e8 /modules/gdscript/gdscript_codegen.h
parent3155368093875e644b1adbfa29bb584134c52a89 (diff)
downloadredot-engine-c201b212c7d188c15de78c4d4150e9d7337b6983.tar.gz
GDScript: Implement lambdas compilation and runtime
Diffstat (limited to 'modules/gdscript/gdscript_codegen.h')
-rw-r--r--modules/gdscript/gdscript_codegen.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/modules/gdscript/gdscript_codegen.h b/modules/gdscript/gdscript_codegen.h
index b377beefdb..ae9a8ede5e 100644
--- a/modules/gdscript/gdscript_codegen.h
+++ b/modules/gdscript/gdscript_codegen.h
@@ -127,6 +127,7 @@ public:
virtual void write_call_self(const Address &p_target, const StringName &p_function_name, const Vector<Address> &p_arguments) = 0;
virtual void write_call_self_async(const Address &p_target, const StringName &p_function_name, const Vector<Address> &p_arguments) = 0;
virtual void write_call_script_function(const Address &p_target, const Address &p_base, const StringName &p_function_name, const Vector<Address> &p_arguments) = 0;
+ virtual void write_lambda(const Address &p_target, GDScriptFunction *p_function, const Vector<Address> &p_captures) = 0;
virtual void write_construct(const Address &p_target, Variant::Type p_type, const Vector<Address> &p_arguments) = 0;
virtual void write_construct_array(const Address &p_target, const Vector<Address> &p_arguments) = 0;
virtual void write_construct_typed_array(const Address &p_target, const GDScriptDataType &p_element_type, const Vector<Address> &p_arguments) = 0;