summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/gdscript_byte_codegen.h
diff options
context:
space:
mode:
authorGeorge Marques <george@gmarqu.es>2020-11-26 14:41:55 -0300
committerGeorge Marques <george@gmarqu.es>2020-11-26 14:41:55 -0300
commit0cb185927c1021f07c8c2111fc73b7f712ea393f (patch)
tree6753bda3f1ba16fd781a125899bc74521a700b00 /modules/gdscript/gdscript_byte_codegen.h
parent613b76cfd5b57d6fb13f856ad149f2b47ca5dcb3 (diff)
downloadredot-engine-0cb185927c1021f07c8c2111fc73b7f712ea393f.tar.gz
GDScript: Improve handling of operators
- Use the new functions in Variant to determine the validity and resulting type of operators. - Split the operator function in codegen between binary and unary, since the unary ones have now a special requirement of having the second argument to be the NIL type when requesting info.
Diffstat (limited to 'modules/gdscript/gdscript_byte_codegen.h')
-rw-r--r--modules/gdscript/gdscript_byte_codegen.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/modules/gdscript/gdscript_byte_codegen.h b/modules/gdscript/gdscript_byte_codegen.h
index 0173b7f820..34d2bb6098 100644
--- a/modules/gdscript/gdscript_byte_codegen.h
+++ b/modules/gdscript/gdscript_byte_codegen.h
@@ -377,7 +377,8 @@ public:
#endif
virtual void set_initial_line(int p_line) override;
- virtual void write_operator(const Address &p_target, Variant::Operator p_operator, const Address &p_left_operand, const Address &p_right_operand) override;
+ virtual void write_unary_operator(const Address &p_target, Variant::Operator p_operator, const Address &p_left_operand) override;
+ virtual void write_binary_operator(const Address &p_target, Variant::Operator p_operator, const Address &p_left_operand, const Address &p_right_operand) override;
virtual void write_type_test(const Address &p_target, const Address &p_source, const Address &p_type) override;
virtual void write_type_test_builtin(const Address &p_target, const Address &p_source, Variant::Type p_type) override;
virtual void write_and_left_operand(const Address &p_left_operand) override;