gdb: Convert language la_print_type field to a method
This commit changes the language_data::la_print_type function pointer member variable into a member function of language_defn. There should be no user visible changes after this commit. gdb/ChangeLog: * ada-lang.c (ada_language_data): Delete la_print_type initializer. (ada_language::print_type): New member function. * c-lang.c (c_language_data): Delete la_print_type initializer. (c_language::print_type): New member function. (cplus_language_data): Delete la_print_type initializer. (cplus_language::print_type): New member function. (asm_language_data): Delete la_print_type initializer. (asm_language::print_type): New member function. (minimal_language_data): Delete la_print_type initializer. (minimal_language::print_type): New member function. * d-lang.c (d_language_data): Delete la_print_type initializer. (d_language::print_type): New member function. * f-lang.c (f_language_data): Delete la_print_type initializer. (f_language::print_type): New member function. * go-lang.c (go_language_data): Delete la_print_type initializer. (go_language::print_type): New member function. * language.c (unk_lang_print_type): Delete. (unknown_language_data): Delete la_print_type initializer. (unknown_language::print_type): New member function. (auto_language_data): Delete la_print_type initializer. (auto_language::print_type): New member function. * language.h (language_data): Delete la_print_type field. (language_defn::print_type): New function. (LA_PRINT_TYPE): Update. * m2-lang.c (m2_language_data): Delete la_print_type initializer. (m2_language::print_type): New member function. * objc-lang.c (objc_language_data): Delete la_print_type initializer. (objc_language::print_type): New member function. * opencl-lang.c (opencl_print_type): Delete, implementation moved to opencl_language::print_type. (opencl_language_data): Delete la_print_type initializer. (opencl_language::print_type): New member function, implementation from opencl_print_type. * p-lang.c (pascal_language_data): Delete la_print_type initializer. (pascal_language::print_type): New member function. * rust-lang.c (rust_print_type): Delete, implementation moved to rust_language::print_type. (rust_language_data): Delete la_print_type initializer. (rust_language::print_type): New member function, implementation from rust_print_type.
This commit is contained in:
parent
6f8270197a
commit
fbfb0a463f
13 changed files with 200 additions and 61 deletions
|
@ -727,15 +727,6 @@ unk_lang_printstr (struct ui_file *stream, struct type *type,
|
|||
"function unk_lang_printstr called."));
|
||||
}
|
||||
|
||||
static void
|
||||
unk_lang_print_type (struct type *type, const char *varstring,
|
||||
struct ui_file *stream, int show, int level,
|
||||
const struct type_print_options *flags)
|
||||
{
|
||||
error (_("internal error - unimplemented "
|
||||
"function unk_lang_print_type called."));
|
||||
}
|
||||
|
||||
static void
|
||||
unk_lang_value_print_inner (struct value *val,
|
||||
struct ui_file *stream, int recurse,
|
||||
|
@ -802,7 +793,6 @@ extern const struct language_data unknown_language_data =
|
|||
unk_lang_printchar, /* Print character constant */
|
||||
unk_lang_printstr,
|
||||
unk_lang_emit_char,
|
||||
unk_lang_print_type, /* Print a type using appropriate syntax */
|
||||
default_print_typedef, /* Print a typedef using appropriate syntax */
|
||||
unk_lang_value_print_inner, /* la_value_print_inner */
|
||||
unk_lang_value_print, /* Print a top-level value */
|
||||
|
@ -841,6 +831,15 @@ public:
|
|||
{
|
||||
unknown_language_arch_info (gdbarch, lai);
|
||||
}
|
||||
|
||||
/* See language.h. */
|
||||
|
||||
void print_type (struct type *type, const char *varstring,
|
||||
struct ui_file *stream, int show, int level,
|
||||
const struct type_print_options *flags) const override
|
||||
{
|
||||
error (_("unimplemented unknown_language::print_type called"));
|
||||
}
|
||||
};
|
||||
|
||||
/* Single instance of the unknown language class. */
|
||||
|
@ -865,7 +864,6 @@ extern const struct language_data auto_language_data =
|
|||
unk_lang_printchar, /* Print character constant */
|
||||
unk_lang_printstr,
|
||||
unk_lang_emit_char,
|
||||
unk_lang_print_type, /* Print a type using appropriate syntax */
|
||||
default_print_typedef, /* Print a typedef using appropriate syntax */
|
||||
unk_lang_value_print_inner, /* la_value_print_inner */
|
||||
unk_lang_value_print, /* Print a top-level value */
|
||||
|
@ -904,6 +902,15 @@ public:
|
|||
{
|
||||
unknown_language_arch_info (gdbarch, lai);
|
||||
}
|
||||
|
||||
/* See language.h. */
|
||||
|
||||
void print_type (struct type *type, const char *varstring,
|
||||
struct ui_file *stream, int show, int level,
|
||||
const struct type_print_options *flags) const override
|
||||
{
|
||||
error (_("unimplemented auto_language::print_type called"));
|
||||
}
|
||||
};
|
||||
|
||||
/* Single instance of the fake "auto" language. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue