view .dir-locals.el @ 31394:7781b1e77406

use separate class for braindead shortcircuit evaluation Change adapted from patch #10238 by Petter Tomner <tomner@kth.se>. * parse.h, oct-parse.yy (base_parser::maybe_convert_to_braindead_shortcircuit): New function. (if_cmd_list1, elseif_clause, loop_command): Use it to convert expressions that could be evaluated using Matlab-style short-circuit rules to be tree_braindead_shortcircuit_binary_expression objects instead of simple tree_binary_expression objects. * pt-exp.h (tree_expression::mark_braindead_shortcircuit): Delete. * pt-binop.h (tree_binary_expression::mark_braindead_shortcircuit): Delete. * pt-binop.h, pt-binop.cc (tree_braindead_shortcircuit_binary_expression): New class to evaluate Matlab-style short-circuit expressions. * pt-binop.h, pt-binop.cc (tree_binary_expression::preserve_operands): New function. (tree_binary_expression::m_preserve_operands): New private data member. (tree_binary_expression::m_eligible_for_braindead_shortcircuit): Delete data member. (tree_binary_expression::is_eligible_for_braindead_shortcircuit): Delete function. (tree_binary_expression::mark_braindead_shortcircuit): Delete function. (tree_binary_expression::~tree_binary_expression): Don't delete m_lhs or m_rhs if m_preserve_operands is true. (tree_binary_expression::evaluate): Don't check for or process Matlab-style short-circuit expressions here.
author John W. Eaton <jwe@octave.org>
date Thu, 03 Nov 2022 17:50:24 -0400
parents df203b20cfc6
children
line wrap: on
line source

((nil .
      ((c-file-style . "gnu")
       (indent-tabs-mode . nil)
       (fill-column . 72)))
 (change-log-mode . ((indent-tabs-mode . t)))
 (makefile-mode . ((indent-tabs-mode . t))))