Mercurial > octave
comparison 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 |
comparison
equal
deleted
inserted
replaced
31104:90549b20fb28 | 31105:670a0d878af1 |
---|---|
53 static octave_value | 53 static octave_value |
54 oct_unop_default (const octave_value& a, const std::string& opname) | 54 oct_unop_default (const octave_value& a, const std::string& opname) |
55 { | 55 { |
56 std::string class_name = a.class_name (); | 56 std::string class_name = a.class_name (); |
57 | 57 |
58 octave_value meth | 58 octave::symbol_table& symtab = octave::__get_symbol_table__ (); |
59 = octave::__get_symbol_table__ ("oct_unop_" + opname) | 59 |
60 .find_method (opname, class_name); | 60 octave_value meth = symtab.find_method (opname, class_name); |
61 | 61 |
62 if (meth.is_defined ()) | 62 if (meth.is_defined ()) |
63 { | 63 { |
64 // Call overloaded unary class operator. | 64 // Call overloaded unary class operator. |
65 octave_value_list tmp = octave::feval (meth.function_value (), | 65 octave_value_list tmp = octave::feval (meth.function_value (), |
138 | 138 |
139 static octave_value | 139 static octave_value |
140 oct_binop_default (const octave_value& a1, const octave_value& a2, | 140 oct_binop_default (const octave_value& a1, const octave_value& a2, |
141 const std::string& opname) | 141 const std::string& opname) |
142 { | 142 { |
143 octave::symbol_table& symtab | 143 octave::symbol_table& symtab = octave::__get_symbol_table__ (); |
144 = octave::__get_symbol_table__ ("oct_binop_" + opname); | |
145 | 144 |
146 // Dispatch to first (leftmost) operand by default. | 145 // Dispatch to first (leftmost) operand by default. |
147 std::string dispatch_type = a1.class_name (); | 146 std::string dispatch_type = a1.class_name (); |
148 | 147 |
149 // Determine, if second operand takes precedence (see rules above). | 148 // Determine, if second operand takes precedence (see rules above). |