gdb: unify two dis_asm_read_memory functions in disasm.c
authorAndrew Burgess <aburgess@redhat.com>
Mon, 4 Apr 2022 21:52:58 +0000 (22:52 +0100)
committerAndrew Burgess <aburgess@redhat.com>
Wed, 15 Jun 2022 08:44:55 +0000 (09:44 +0100)
commit75033d08412577fb8ffcf76971e8d0393d14a8aa
tree763dc80209f58c0cb6044eb6494cd7e1108a60ce
parent8b39b1e7ab20609ced6a224cae440f19e6ae02c1
gdb: unify two dis_asm_read_memory functions in disasm.c

After the recent restructuring of the disassembler code, GDB has ended
up with two identical class static functions, both called
dis_asm_read_memory, with identical implementations.

My first thought was to move these out of their respective classes,
and just make them global functions, then I'd only need a single
copy.

And maybe that's the right way to go.  But I disliked that by doing
that I loose the encapsulation of the method with the corresponding
disassembler class.

So, instead, I placed the static method into its own class, and had
both the gdb_non_printing_memory_disassembler and gdb_disassembler
classes inherit from this new class as an additional base-class.

In terms of code generated, I don't think there's any significant
difference with this approach, but I think this better reflects how
the function is closely tied to the disassembler.

There should be no user visible changes after this commit.
gdb/disasm.c
gdb/disasm.h