Mercurial > octave
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 } |