gdb: move go_language class declaration into header file

Move the go_language class into go-lang.h, this allows us to have
member functions implemented directly in the different go-*.c files
instead of having to trampoline out to global functions.

There should be no user visible changes after this commit.

gdb/ChangeLog:

	* go-exp.y (go_parse): Rename to...
	(go_language::parser): ...this.
	* go-lang.c (go_demangle): Rename to...
	(go_language::demangle_symbol): ...this.
	(go_language::expression_ops): Implementation moved here out of
	class declaration.
	(go_op_print_tab): Rename to...
	(go_language::op_print_tab): ...this, update comment.
	(class go_language): Declaration moved to go-lang.h.
	(go_language::language_arch_info): Implementation moved here out
	of class declaration.
	* go-lang.h (go_parse): Delete declaration.
	(go_demangle): Delete declaration.
	(go_print_type): Delete declaration.
	(go_value_print_inner): Delete declaration.
	(class go_language): Declaration moved here from go-lang.c.
	* go-typeprint.c (go_print_type): Rename to...
	(go_language::print_type): ...this.
	* go-valprint.c (go_value_print_inner): Rename to...
	(go_language::value_print_inner): ...this.
	* symtab.c (demangle_for_lookup): Call demangle_symbol method on
	the go_language object.
This commit is contained in:
Andrew Burgess 2020-10-20 14:03:42 +01:00
parent 76ca72bc5b
commit 82fc57fd6b
7 changed files with 159 additions and 138 deletions

View file

@ -42,9 +42,9 @@
LEVEL indicates level of recursion (for nested definitions). */
void
go_print_type (struct type *type, const char *varstring,
struct ui_file *stream, int show, int level,
const struct type_print_options *flags)
go_language::print_type (struct type *type, const char *varstring,
struct ui_file *stream, int show, int level,
const struct type_print_options *flags) const
{
/* Borrowed from c-typeprint.c. */
if (show > 0)