Always pass an explicit language down to c_type_print
The next patch will want to do language->print_type(type, ...), to print a type in a given language, avoiding a dependency on the current language. That doesn't work correctly currently, however, because most language implementations of language_defn::print_type call c_print_type without passing down the language. There are two overloads of c_print_type, one that takes a language, and one that does not. The one that does not uses the current language, defeating the point of calling language->print_type()... This commit removes the c_print_type overload that does not take a language, and adjusts the codebase throughout to always pass down a language. In most places, there's already an enum language handy. language_defn::print_type implementations naturally pass down this->la_language. In a couple spots, like in ada-typeprint.c and rust-lang.c there's no enum language handy, but the code is written for a specific language, so we just hardcode the language. In gnuv3_print_method_ptr, I wasn't sure whether we could hardcode C++ here, and we don't have an enum language handy, so I made it use the current language, just like today. Can always be improved later. Change-Id: Ib54fab4cf0fd307bfd55bf1dd5056830096a653b
This commit is contained in:
parent
cb2cd8cba8
commit
1c6fbf42e5
11 changed files with 29 additions and 40 deletions
|
@ -820,7 +820,7 @@ public:
|
|||
struct ui_file *stream, int show, int level,
|
||||
const struct type_print_options *flags) const override
|
||||
{
|
||||
c_print_type (type, varstring, stream, show, level, flags);
|
||||
c_print_type (type, varstring, stream, show, level, la_language, flags);
|
||||
}
|
||||
|
||||
/* See language.h. */
|
||||
|
@ -966,7 +966,7 @@ public:
|
|||
struct ui_file *stream, int show, int level,
|
||||
const struct type_print_options *flags) const override
|
||||
{
|
||||
c_print_type (type, varstring, stream, show, level, flags);
|
||||
c_print_type (type, varstring, stream, show, level, la_language, flags);
|
||||
}
|
||||
|
||||
/* See language.h. */
|
||||
|
@ -1066,7 +1066,7 @@ public:
|
|||
struct ui_file *stream, int show, int level,
|
||||
const struct type_print_options *flags) const override
|
||||
{
|
||||
c_print_type (type, varstring, stream, show, level, flags);
|
||||
c_print_type (type, varstring, stream, show, level, la_language, flags);
|
||||
}
|
||||
|
||||
/* See language.h. */
|
||||
|
@ -1118,7 +1118,7 @@ public:
|
|||
struct ui_file *stream, int show, int level,
|
||||
const struct type_print_options *flags) const override
|
||||
{
|
||||
c_print_type (type, varstring, stream, show, level, flags);
|
||||
c_print_type (type, varstring, stream, show, level, la_language, flags);
|
||||
}
|
||||
|
||||
/* See language.h. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue