comparison libinterp/octave-value/cdef-package.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 796f54d4ddbf
children e88a07dec498
comparison
equal deleted inserted replaced
31104:90549b20fb28 31105:670a0d878af1
112 octave_value 112 octave_value
113 cdef_package::cdef_package_rep::find (const std::string& nm) 113 cdef_package::cdef_package_rep::find (const std::string& nm)
114 { 114 {
115 std::string symbol_name = get_name () + '.' + nm; 115 std::string symbol_name = get_name () + '.' + nm;
116 116
117 interpreter& interp 117 interpreter& interp = __get_interpreter__ ();
118 = __get_interpreter__ ("cdef_package::cdef_package_rep::find");
119 118
120 return interp.find (symbol_name); 119 return interp.find (symbol_name);
121 } 120 }
122 121
123 octave_value_list 122 octave_value_list
192 // could still be referenced by classes or sub-packages? 191 // could still be referenced by classes or sub-packages?
193 // If the package object is recreated later on, it won't 192 // If the package object is recreated later on, it won't
194 // match the one already referenced by those classes or 193 // match the one already referenced by those classes or
195 // sub-packages. 194 // sub-packages.
196 195
197 cdef_manager& cdm 196 cdef_manager& cdm = __get_cdef_manager__ ();
198 = __get_cdef_manager__ ("cdef_package::cdef_package_rep::meta_release");
199 197
200 // Don't delete the "meta" package. 198 // Don't delete the "meta" package.
201 if (this != cdm.meta ().get_rep ()) 199 if (this != cdm.meta ().get_rep ())
202 cdm.unregister_package (wrap ()); 200 cdm.unregister_package (wrap ());
203 } 201 }