mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-24 04:00:07 +08:00
gdb: Convert language la_read_var_value field to a method
This commit changes the language_data::la_read_var_value function pointer member variable into a member function of language_defn. An interesting aspect of this change is that the implementation of language_defn::read_var_value is actually in findvar.c. This is partly historical, the new language_defn::read_var_value is a rename of default_read_var_value, which was already in that file, but also, that is the file that contains the helper functions needed by the read_var_value method, so it makes sens that the method implementation should continue to live there (I think). There should be no user visible changes after this commit. gdb/ChangeLog: * ada-lang.c (ada_read_var_value): Delete function, move implementation to... (ada_language::read_var_value): ...here. (ada_language_data): Delete la_read_var_value initializer. * c-lang.c (c_language_data): Likewise. (cplus_language_data): Likewise. (minimal_language_data): Likewise. * d-lang.c (d_language_data): Likewise. * f-lang.c (f_language_data): Likewise. * findvar.c (default_read_var_value): Rename to... (language_defn::read_var_value): ...this. * findvar.c (read_var_value): Update header comment, and change to call member function instead of function pointer. * go-lang.c (go_language_data): Likewise. * language.c (unknown_language_data): Delete la_read_var_value initializer. (auto_language_data): Likewise. * language.h (struct language_data): Delete la_read_var_value field. (language_defn::read_var_value): New member function. (default_read_var_value): Delete declaration. * m2-lang.c (m2_language_data): Delete la_read_var_value initializer. * objc-lang.c (objc_language_data): Likewise. * opencl-lang.c (opencl_language_data): Likewise. * p-lang.c (pascal_language_data): Likewise. * rust-lang.c (rust_language_data): Likewise. * value.h (default_read_var_value): Delete declaration.
This commit is contained in:
@ -578,12 +578,12 @@ get_hosting_frame (struct symbol *var, const struct block *var_block,
|
||||
return frame;
|
||||
}
|
||||
|
||||
/* A default implementation for the "la_read_var_value" hook in
|
||||
the language vector which should work in most situations. */
|
||||
/* See language.h. */
|
||||
|
||||
struct value *
|
||||
default_read_var_value (struct symbol *var, const struct block *var_block,
|
||||
struct frame_info *frame)
|
||||
language_defn::read_var_value (struct symbol *var,
|
||||
const struct block *var_block,
|
||||
struct frame_info *frame) const
|
||||
{
|
||||
struct value *v;
|
||||
struct type *type = SYMBOL_TYPE (var);
|
||||
@ -801,7 +801,7 @@ default_read_var_value (struct symbol *var, const struct block *var_block,
|
||||
return v;
|
||||
}
|
||||
|
||||
/* Calls VAR's language la_read_var_value hook with the given arguments. */
|
||||
/* Calls VAR's language read_var_value hook with the given arguments. */
|
||||
|
||||
struct value *
|
||||
read_var_value (struct symbol *var, const struct block *var_block,
|
||||
@ -810,9 +810,8 @@ read_var_value (struct symbol *var, const struct block *var_block,
|
||||
const struct language_defn *lang = language_def (var->language ());
|
||||
|
||||
gdb_assert (lang != NULL);
|
||||
gdb_assert (lang->la_read_var_value != NULL);
|
||||
|
||||
return lang->la_read_var_value (var, var_block, frame);
|
||||
return lang->read_var_value (var, var_block, frame);
|
||||
}
|
||||
|
||||
/* Install default attributes for register values. */
|
||||
|
Reference in New Issue
Block a user