diff libinterp/corefcn/dasrt.cc @ 23699:b29904962d2d

deprecate some global functions that access the symbol table * variables.h, variables.cc (clear_mex_functions, clear_function, clear_variable, clear_symbol, lookup_function_handle, get_global_value, set_global_value, get_top_level_value, set_top_level_value): Deprecate. Eliminate all uses in Octave.
author John W. Eaton <jwe@octave.org>
date Mon, 26 Jun 2017 14:31:07 -0400
parents c3075ae020e1
children d59fb809595b
line wrap: on
line diff
--- a/libinterp/corefcn/dasrt.cc	Mon Jun 26 13:58:58 2017 -0400
+++ b/libinterp/corefcn/dasrt.cc	Mon Jun 26 14:31:07 2017 -0400
@@ -190,8 +190,8 @@
   return retval;
 }
 
-DEFUN (dasrt, args, nargout,
-       doc: /* -*- texinfo -*-
+DEFMETHOD (dasrt, interp, args, nargout,
+           doc: /* -*- texinfo -*-
 @deftypefn  {} {[@var{x}, @var{xdot}, @var{t_out}, @var{istat}, @var{msg}] =} dasrt (@var{fcn}, [], @var{x_0}, @var{xdot_0}, @var{t})
 @deftypefnx {} {@dots{} =} dasrt (@var{fcn}, @var{g}, @var{x_0}, @var{xdot_0}, @var{t})
 @deftypefnx {} {@dots{} =} dasrt (@var{fcn}, [], @var{x_0}, @var{xdot_0}, @var{t}, @var{t_crit})
@@ -356,6 +356,8 @@
   dasrt_j = 0;
   dasrt_cf = 0;
 
+  octave::symbol_table& symtab = interp.get_symbol_table ();
+
   // Check all the arguments.  Are they the right animals?
 
   // Here's where I take care of f and j in one shot:
@@ -397,7 +399,7 @@
                   if (! dasrt_j)
                     {
                       if (fcn_name.length ())
-                        clear_function (fcn_name);
+                        symtab.clear_function (fcn_name);
                       dasrt_f = 0;
                     }
                 }
@@ -522,9 +524,9 @@
     output = dae.integrate (out_times);
 
   if (fcn_name.length ())
-    clear_function (fcn_name);
+    symtab.clear_function (fcn_name);
   if (jac_name.length ())
-    clear_function (jac_name);
+    symtab.clear_function (jac_name);
 
   std::string msg = dae.error_message ();