summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/gdscript_codegen.h
diff options
context:
space:
mode:
authorGeorge Marques <george@gmarqu.es>2021-05-26 14:05:31 -0300
committerGeorge Marques <george@gmarqu.es>2021-05-26 14:09:00 -0300
commitc7459e3855c07b63fb6235b86ef459f19641fb0f (patch)
treeee068bcb8a5ebb3debabfc27300b7077e37bc92a /modules/gdscript/gdscript_codegen.h
parent313e1f62bb4ed85041bcd9290ec76660878fcd6b (diff)
downloadredot-engine-c7459e3855c07b63fb6235b86ef459f19641fb0f.tar.gz
GDScript: Use analyzer data to decide assignment conversion
Since there might be tricky cases in the analyzer (in the case of unsafe lines) which would need to be properly checked again. Instead, this splits the code generator in two functions and use information set by the analyzer to tell which function to use, without a need to re-check.
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 399c9d6de7..cac6544f03 100644
--- a/modules/gdscript/gdscript_codegen.h
+++ b/modules/gdscript/gdscript_codegen.h
@@ -111,6 +111,7 @@ public:
virtual void write_set_member(const Address &p_value, const StringName &p_name) = 0;
virtual void write_get_member(const Address &p_target, const StringName &p_name) = 0;
virtual void write_assign(const Address &p_target, const Address &p_source) = 0;
+ virtual void write_assign_with_conversion(const Address &p_target, const Address &p_source) = 0;
virtual void write_assign_true(const Address &p_target) = 0;
virtual void write_assign_false(const Address &p_target) = 0;
virtual void write_assign_default_parameter(const Address &dst, const Address &src) = 0;