Mercurial > octave
changeset 27207:242e66e014d9
eliminate direct access to call stack in ov-usr-fcn.cc
* ov-usr-fcn.cc (octave_user_function::restore_warning_states,
Fnargin, Fnargout, Fisargout): Eliminate direct access to call stack.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 01 Apr 2019 20:28:53 +0000 |
parents | 4e4a9d7b436e |
children | 5b40cf4896f0 |
files | libinterp/octave-value/ov-usr-fcn.cc |
diffstat | 1 files changed, 9 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/octave-value/ov-usr-fcn.cc Mon Apr 01 20:25:34 2019 +0000 +++ b/libinterp/octave-value/ov-usr-fcn.cc Mon Apr 01 20:28:53 2019 +0000 @@ -31,7 +31,6 @@ #include "str-vec.h" #include "builtin-defun-decls.h" -#include "call-stack.h" #include "defaults.h" #include "Cell.h" #include "defun.h" @@ -594,10 +593,10 @@ octave::interpreter& interp = octave::__get_interpreter__ ("octave_user_function::restore_warning_states"); - octave::call_stack& cs = interp.get_call_stack (); + octave::tree_evaluator& tw = interp.get_evaluator (); octave_value val - = cs.get_auto_fcn_var (octave::stack_frame::SAVED_WARNING_STATES); + = tw.get_auto_fcn_var (octave::stack_frame::SAVED_WARNING_STATES); if (val.is_defined ()) { @@ -695,9 +694,9 @@ } else { - octave::call_stack& cs = interp.get_call_stack (); + octave::tree_evaluator& tw = interp.get_evaluator (); - retval = cs.get_auto_fcn_var (octave::stack_frame::NARGIN); + retval = tw.get_auto_fcn_var (octave::stack_frame::NARGIN); if (retval.is_undefined ()) retval = 0; @@ -822,9 +821,9 @@ if (interp.at_top_level ()) error ("nargout: invalid call at top level"); - octave::call_stack& cs = interp.get_call_stack (); + octave::tree_evaluator& tw = interp.get_evaluator (); - retval = cs.get_auto_fcn_var (octave::stack_frame::NARGOUT); + retval = tw.get_auto_fcn_var (octave::stack_frame::NARGOUT); if (retval.is_undefined ()) retval = 0; @@ -894,17 +893,17 @@ if (interp.at_top_level ()) error ("isargout: invalid call at top level"); - octave::call_stack& cs = interp.get_call_stack (); + octave::tree_evaluator& tw = interp.get_evaluator (); octave_value tmp; int nargout1 = 0; - tmp = cs.get_auto_fcn_var (octave::stack_frame::NARGOUT); + tmp = tw.get_auto_fcn_var (octave::stack_frame::NARGOUT); if (tmp.is_defined ()) nargout1 = tmp.int_value (); Matrix ignored; - tmp = cs.get_auto_fcn_var (octave::stack_frame::IGNORED); + tmp = tw.get_auto_fcn_var (octave::stack_frame::IGNORED); if (tmp.is_defined ()) ignored = tmp.matrix_value ();