diff options
author | Tom Tromey <tromey@adacore.com> | 2022-03-08 09:47:39 -0700 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2022-03-16 09:28:12 -0600 |
commit | 16b6c361546c74aa10287fb88cf0c47c536f9eb3 (patch) | |
tree | 76b56fa8a4d045e9d6c9040148c377ad7c4e1b42 | |
parent | 879f2aae39e07aac6df72d8c6e25e2b6183fb0e6 (diff) | |
download | gdb-16b6c361546c74aa10287fb88cf0c47c536f9eb3.zip gdb-16b6c361546c74aa10287fb88cf0c47c536f9eb3.tar.gz gdb-16b6c361546c74aa10287fb88cf0c47c536f9eb3.tar.bz2 |
Remove eval_op_string
eval_op_string is only used in a single place -- the implementation of
string_operation. This patch turns it into the
string_operation::evaluate method, removing a bit of extraneous code.
-rw-r--r-- | gdb/eval.c | 15 | ||||
-rw-r--r-- | gdb/expop.h | 11 |
2 files changed, 11 insertions, 15 deletions
@@ -1078,17 +1078,22 @@ eval_op_register (struct type *expect_type, struct expression *exp, return val; } -/* Helper function that implements the body of OP_STRING. */ +namespace expr +{ -struct value * -eval_op_string (struct type *expect_type, struct expression *exp, - enum noside noside, int len, const char *string) +value * +string_operation::evaluate (struct type *expect_type, + struct expression *exp, + enum noside noside) { + const std::string &str = std::get<0> (m_storage); struct type *type = language_string_char_type (exp->language_defn, exp->gdbarch); - return value_string (string, len, type); + return value_string (str.c_str (), str.size (), type); } +} /* namespace expr */ + /* Helper function that implements the body of OP_OBJC_SELECTOR. */ struct value * diff --git a/gdb/expop.h b/gdb/expop.h index 58863b8..1592568 100644 --- a/gdb/expop.h +++ b/gdb/expop.h @@ -64,10 +64,6 @@ extern struct value *eval_op_func_static_var (struct type *expect_type, extern struct value *eval_op_register (struct type *expect_type, struct expression *exp, enum noside noside, const char *name); -extern struct value *eval_op_string (struct type *expect_type, - struct expression *exp, - enum noside noside, int len, - const char *string); extern struct value *eval_op_ternop (struct type *expect_type, struct expression *exp, enum noside noside, @@ -912,12 +908,7 @@ public: value *evaluate (struct type *expect_type, struct expression *exp, - enum noside noside) override - { - const std::string &str = std::get<0> (m_storage); - return eval_op_string (expect_type, exp, noside, - str.size (), str.c_str ()); - } + enum noside noside) override; enum exp_opcode opcode () const override { return OP_STRING; } |