Mercurial > hg > octave-nkf
diff libinterp/parse-tree/pt-colon.cc @ 20797:22618d5fb6ad
eliminate remaining uses of error_state in parse-tree files
* oct-parse.in.yy, pt-arg-list.cc, pt-colon.cc:
Eliminate all uses of error_state.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 09 Oct 2015 15:17:08 -0400 |
parents | f90c8372b7ba |
children |
line wrap: on
line diff
--- a/libinterp/parse-tree/pt-colon.cc +++ b/libinterp/parse-tree/pt-colon.cc @@ -90,64 +90,46 @@ octave_value ov_base = op_base->rvalue1 (); - if (error_state || ov_base.is_undefined ()) - eval_error ("invalid base value in colon expression"); - else - { - octave_value ov_limit = op_limit->rvalue1 (); + octave_value ov_limit = op_limit->rvalue1 (); - if (error_state || ov_limit.is_undefined ()) - eval_error ("invalid limit value in colon expression"); - else if (ov_base.is_object () || ov_limit.is_object ()) - { - octave_value_list tmp1; - - if (op_increment) - { - octave_value ov_increment = op_increment->rvalue1 (); + if (ov_base.is_object () || ov_limit.is_object ()) + { + octave_value_list tmp1; - if (error_state || ov_increment.is_undefined ()) - eval_error ("invalid increment value in colon expression"); - else - { - tmp1(2) = ov_limit; - tmp1(1) = ov_increment; - tmp1(0) = ov_base; - } - } - else - { - tmp1(1) = ov_limit; - tmp1(0) = ov_base; - } + if (op_increment) + { + octave_value ov_increment = op_increment->rvalue1 (); - octave_value fcn = symbol_table::find_function ("colon", tmp1); - - if (fcn.is_defined ()) - { - octave_value_list tmp2 = fcn.do_multi_index_op (1, tmp1); - - if (! error_state) - retval = tmp2 (0); - } - else - error ("can not find overloaded colon function"); + tmp1(2) = ov_limit; + tmp1(1) = ov_increment; + tmp1(0) = ov_base; } else { - octave_value ov_increment = 1.0; + tmp1(1) = ov_limit; + tmp1(0) = ov_base; + } - if (op_increment) - { - ov_increment = op_increment->rvalue1 (); + octave_value fcn = symbol_table::find_function ("colon", tmp1); + + if (fcn.is_defined ()) + { + octave_value_list tmp2 = fcn.do_multi_index_op (1, tmp1); - if (error_state || ov_increment.is_undefined ()) - eval_error ("invalid increment value in colon expression"); - } + retval = tmp2 (0); + } + else + error ("can not find overloaded colon function"); + } + else + { + octave_value ov_increment = 1.0; - retval = do_colon_op (ov_base, ov_increment, ov_limit, - is_for_cmd_expr ()); - } + if (op_increment) + ov_increment = op_increment->rvalue1 (); + + retval = do_colon_op (ov_base, ov_increment, ov_limit, + is_for_cmd_expr ()); } return retval;