Mercurial > octave
diff libinterp/operators/op-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 | 796f54d4ddbf |
children | e88a07dec498 |
line wrap: on
line diff
--- a/libinterp/operators/op-class.cc Tue Jun 21 15:44:03 2022 +0200 +++ b/libinterp/operators/op-class.cc Wed Jun 22 12:48:59 2022 -0400 @@ -55,9 +55,9 @@ { std::string class_name = a.class_name (); - octave_value meth - = octave::__get_symbol_table__ ("oct_unop_" + opname) - .find_method (opname, class_name); + octave::symbol_table& symtab = octave::__get_symbol_table__ (); + + octave_value meth = symtab.find_method (opname, class_name); if (meth.is_defined ()) { @@ -140,8 +140,7 @@ oct_binop_default (const octave_value& a1, const octave_value& a2, const std::string& opname) { - octave::symbol_table& symtab - = octave::__get_symbol_table__ ("oct_binop_" + opname); + octave::symbol_table& symtab = octave::__get_symbol_table__ (); // Dispatch to first (leftmost) operand by default. std::string dispatch_type = a1.class_name ();