comparison libinterp/parse-tree/pt-binop.h @ 31777:e995783d78e7 stable

capture modified operands when rewriting binary expressions in parse tree * pt-binop.h (tree_binary_expression::lhs, tree_binary_expression::rhs): New functions. * oct-parse.yy (base_parser::maybe_convert_to_braindead_shortcircuit): Reset binary expression object operands after recursive call.
author John W. Eaton <jwe@octave.org>
date Wed, 25 Jan 2023 15:28:40 -0500
parents 597f3ee61a48
children 9feb455dd514
comparison
equal deleted inserted replaced
31772:c0df18c13a77 31777:e995783d78e7
88 octave_value::binary_op op_type (void) const { return m_etype; } 88 octave_value::binary_op op_type (void) const { return m_etype; }
89 89
90 tree_expression * lhs (void) { return m_lhs; } 90 tree_expression * lhs (void) { return m_lhs; }
91 tree_expression * rhs (void) { return m_rhs; } 91 tree_expression * rhs (void) { return m_rhs; }
92 92
93 void lhs (tree_expression *expr) { m_lhs = expr; }
94 void rhs (tree_expression *expr) { m_rhs = expr; }
95
93 tree_expression * dup (symbol_scope& scope) const; 96 tree_expression * dup (symbol_scope& scope) const;
94 97
95 octave_value evaluate (tree_evaluator&, int nargout = 1); 98 octave_value evaluate (tree_evaluator&, int nargout = 1);
96 99
97 octave_value_list evaluate_n (tree_evaluator& tw, int nargout = 1) 100 octave_value_list evaluate_n (tree_evaluator& tw, int nargout = 1)