diff libinterp/octave-value/ov-class.cc @ 31105:670a0d878af1

eliminate WHO arguments from interpreter-private functions * interpreter-private.h, inpterpreter-private.cc (__get_interpreter__, __get_dynamic_loader__, __get_error_system__, __get_gh_manager__, __get_help_system__, __get_input_system__, __get_load_path__, __get_load_save_system__, __get_event_manager__, __get_output_system__, __get_type_info__, __get_symbol_table__, __get_current_scope__, __require_current_scope__, __get_evaluator__, __get_bp_table__, __get_child_list__, __get_cdef_manager__, __get_display_info__, __get_gtk_manager__): Eliminate WHO argument. Previously, it was never displayed by __get_interpreter__. And, as pointed out by Petter Tomner in patch #10216, passing a std::string object could have performance issues. (__get_interpreter__): Eliminate useless call to error. Display message to std::cerr then abort.
author John W. Eaton <jwe@octave.org>
date Wed, 22 Jun 2022 12:48:59 -0400
parents 32d2b6604a9f
children a3d8915b9f87
line wrap: on
line diff
--- a/libinterp/octave-value/ov-class.cc	Tue Jun 21 15:44:03 2022 +0200
+++ b/libinterp/octave-value/ov-class.cc	Wed Jun 22 12:48:59 2022 -0400
@@ -200,7 +200,7 @@
         }
     }
 
-  octave::symbol_table& symtab = octave::__get_symbol_table__ ("octave_class");
+  octave::symbol_table& symtab = octave::__get_symbol_table__ ();
 
   symtab.add_to_parent_map (id, m_parent_list);
 }
@@ -231,8 +231,7 @@
 
   if (nparents () > 0)
     {
-      octave::tree_evaluator& tw
-        = octave::__get_evaluator__ ("octave_class::get_current_method_class");
+      octave::tree_evaluator& tw = octave::__get_evaluator__ ();
 
       octave_function *fcn = tw.current_function ();
 
@@ -313,8 +312,7 @@
 
   Matrix retval (1, 2, 1.0);
 
-  octave::symbol_table& symtab
-    = octave::__get_symbol_table__ ("octave_class::size");
+  octave::symbol_table& symtab = octave::__get_symbol_table__ ();
 
   octave_value meth = symtab.find_method ("size", class_name ());
 
@@ -354,8 +352,7 @@
   octave_idx_type retval = -1;
   const std::string cn = class_name ();
 
-  octave::symbol_table& symtab
-    = octave::__get_symbol_table__ ("octave_class::numel");
+  octave::symbol_table& symtab = octave::__get_symbol_table__ ();
 
   octave_value meth = symtab.find_method ("numel", cn);
 
@@ -450,8 +447,7 @@
     }
   else
     {
-      octave::symbol_table& symtab
-        = octave::__get_symbol_table__ ("octave_class::subsref");
+      octave::symbol_table& symtab = octave::__get_symbol_table__ ();
 
       octave_value meth = symtab.find_method ("subsref", class_name ());
 
@@ -551,8 +547,7 @@
 
   if (! (in_class_method () || called_from_builtin ()))
     {
-      octave::symbol_table& symtab
-        = octave::__get_symbol_table__ ("octave_class::subsasgn_common");
+      octave::symbol_table& symtab = octave::__get_symbol_table__ ();
 
       octave_value meth = symtab.find_method ("subsasgn", class_name ());
 
@@ -828,8 +823,7 @@
 octave::idx_vector
 octave_class::index_vector (bool require_integers) const
 {
-  octave::symbol_table& symtab
-    = octave::__get_symbol_table__ ("octave_class::index_vector");
+  octave::symbol_table& symtab = octave::__get_symbol_table__ ();
 
   octave_value meth = symtab.find_method ("subsindex", class_name ());
 
@@ -877,8 +871,7 @@
 {
   bool retval = false;
 
-  octave::symbol_table& symtab
-    = octave::__get_symbol_table__ ("octave_class::is_true");
+  octave::symbol_table& symtab = octave::__get_symbol_table__ ();
 
   octave_value meth = symtab.find_method ("logical", class_name ());
 
@@ -996,8 +989,7 @@
 {
   string_vector retval;
 
-  octave::symbol_table& symtab
-    = octave::__get_symbol_table__ ("octave_class::string_vector_value");
+  octave::symbol_table& symtab = octave::__get_symbol_table__ ();
 
   octave_value meth = symtab.find_method ("char", class_name ());
 
@@ -1049,8 +1041,7 @@
     retval = true;
   else
     {
-      octave::interpreter& interp
-        = octave::__get_interpreter__  ("octave_class::reconstruct_exemplar");
+      octave::interpreter& interp = octave::__get_interpreter__ ();
 
       octave::symbol_table& symtab = interp.get_symbol_table ();
 
@@ -1174,7 +1165,7 @@
   os << "# classname: " << class_name () << "\n";
   octave_map m;
 
-  octave::load_path& lp = octave::__get_load_path__ ("octave_class::save_ascii");
+  octave::load_path& lp = octave::__get_load_path__ ();
 
   if (lp.find_method (class_name (), "saveobj") != "")
     {
@@ -1248,7 +1239,7 @@
       if (! reconstruct_parents ())
         warning ("load: unable to reconstruct object inheritance");
 
-      octave::load_path& lp = octave::__get_load_path__ ("octave_class::load_ascii");
+      octave::load_path& lp = octave::__get_load_path__ ();
 
       if (lp.find_method (classname, "loadobj") != "")
         {
@@ -1279,7 +1270,7 @@
 
   octave_map m;
 
-  octave::load_path& lp = octave::__get_load_path__ ("octave_class::save_binary");
+  octave::load_path& lp = octave::__get_load_path__ ();
 
   if (lp.find_method (class_name (), "saveobj") != "")
     {
@@ -1368,7 +1359,7 @@
           if (! reconstruct_parents ())
             warning ("load: unable to reconstruct object inheritance");
 
-          octave::load_path& lp = octave::__get_load_path__ ("octave_class::load_binary");
+          octave::load_path& lp = octave::__get_load_path__ ();
 
           if (lp.find_method (c_name, "loadobj") != "")
             {
@@ -1407,7 +1398,7 @@
   octave_map m;
   octave_map::iterator i;
 
-  octave::load_path& lp = octave::__get_load_path__ ("octave_class::save_hdf5");
+  octave::load_path& lp = octave::__get_load_path__ ();
 
 #if defined (HAVE_HDF5_18)
   group_hid = H5Gcreate (loc_id, name, octave_H5P_DEFAULT, octave_H5P_DEFAULT,
@@ -1617,7 +1608,7 @@
       if (! reconstruct_parents ())
         warning ("load: unable to reconstruct object inheritance");
 
-      octave::load_path& lp = octave::__get_load_path__ ("octave_class::load_hdf5");
+      octave::load_path& lp = octave::__get_load_path__ ();
 
       if (lp.find_method (c_name, "loadobj") != "")
         {
@@ -1655,8 +1646,7 @@
 bool
 octave_class::in_class_method (void)
 {
-  octave::tree_evaluator& tw
-    = octave::__get_evaluator__ ("octave_class::in_class_method");
+  octave::tree_evaluator& tw = octave::__get_evaluator__ ();
 
   octave_function *fcn = tw.current_function ();