From: Tom Tromey Date: Sat, 22 Feb 2020 18:48:26 +0000 (-0700) Subject: TUI windows do not need to store their type X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fdb01f0ce44653180af9d3d4f264c0ddb2d1261d;p=binutils-gdb.git TUI windows do not need to store their type TUI windows no longer need to store their type -- there's only a single spot that uses this information, and it can be changed to use dynamic_cast. (It could be cleaned up even more, by using a virtual method, but I haven't done so.) This patch removes the "type" field from tui_gen_win_info, and this in turn allows removing a couple of enumerator constants. gdb/ChangeLog 2020-02-22 Tom Tromey * tui/tui.h (enum tui_win_type) : Remove constants. * tui/tui-winsource.h (struct tui_source_window_base) : Remove parameter. * tui/tui-winsource.c (tui_source_window_base::tui_source_window_base): Remove parameter. (tui_source_window_base::refill): Update. * tui/tui-stack.h (struct tui_locator_window) : Update. * tui/tui-source.h (struct tui_source_window) : Default the constructor. * tui/tui-regs.h (struct tui_data_item_window) : Default the constructor. (struct tui_data_window) : Likewise. * tui/tui-disasm.h (struct tui_disasm_window) : Default the constructor. * tui/tui-data.h (struct tui_gen_win_info) : Default the constructor. : Remove. (struct tui_win_info) : Default the constructor. * tui/tui-data.c (tui_win_info::tui_win_info): Remove. * tui/tui-command.h (struct tui_cmd_window) : Default the constructor. Change-Id: I594cd07d2e0bba71ad594a6fb263904ce2febcd6 --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 31bfb9f6800..dc54fc40e63 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,30 @@ +2020-02-22 Tom Tromey + + * tui/tui.h (enum tui_win_type) : + Remove constants. + * tui/tui-winsource.h (struct tui_source_window_base) + : Remove parameter. + * tui/tui-winsource.c + (tui_source_window_base::tui_source_window_base): Remove + parameter. + (tui_source_window_base::refill): Update. + * tui/tui-stack.h (struct tui_locator_window) + : Update. + * tui/tui-source.h (struct tui_source_window) : + Default the constructor. + * tui/tui-regs.h (struct tui_data_item_window) + : Default the constructor. + (struct tui_data_window) : Likewise. + * tui/tui-disasm.h (struct tui_disasm_window) : + Default the constructor. + * tui/tui-data.h (struct tui_gen_win_info) : + Default the constructor. + : Remove. + (struct tui_win_info) : Default the constructor. + * tui/tui-data.c (tui_win_info::tui_win_info): Remove. + * tui/tui-command.h (struct tui_cmd_window) : + Default the constructor. + 2020-02-22 Tom Tromey * tui/tui-wingeneral.h (tui_make_all_invisible): Don't declare. diff --git a/gdb/tui/tui-command.h b/gdb/tui/tui-command.h index fca1f545730..211d0c8d8a2 100644 --- a/gdb/tui/tui-command.h +++ b/gdb/tui/tui-command.h @@ -27,10 +27,7 @@ /* The TUI command window. */ struct tui_cmd_window : public tui_win_info { - tui_cmd_window () - : tui_win_info (CMD_WIN) - { - } + tui_cmd_window () = default; DISABLE_COPY_AND_ASSIGN (tui_cmd_window); diff --git a/gdb/tui/tui-data.c b/gdb/tui/tui-data.c index ead8b1043ca..db637d8fbe6 100644 --- a/gdb/tui/tui-data.c +++ b/gdb/tui/tui-data.c @@ -129,11 +129,6 @@ tui_prev_win (struct tui_win_info *cur_win) } -tui_win_info::tui_win_info (enum tui_win_type type) - : tui_gen_win_info (type) -{ -} - void tui_win_info::rerender () { diff --git a/gdb/tui/tui-data.h b/gdb/tui/tui-data.h index cd62b5758e6..51208b1100e 100644 --- a/gdb/tui/tui-data.h +++ b/gdb/tui/tui-data.h @@ -22,7 +22,7 @@ #ifndef TUI_TUI_DATA_H #define TUI_TUI_DATA_H -#include "tui/tui.h" /* For enum tui_win_type. */ +#include "tui/tui.h" #include "gdb_curses.h" /* For WINDOW. */ #include "observable.h" @@ -44,10 +44,7 @@ struct tui_gen_win_info { protected: - explicit tui_gen_win_info (enum tui_win_type t) - : type (t) - { - } + tui_gen_win_info () = default; /* This is called after the window is resized, and should update the window's contents. */ @@ -117,8 +114,6 @@ public: /* Window handle. */ std::unique_ptr handle; - /* Type of window. */ - enum tui_win_type type; /* Window width. */ int width = 0; /* Window height. */ @@ -162,7 +157,7 @@ struct tui_win_info : public tui_gen_win_info { protected: - explicit tui_win_info (enum tui_win_type type); + tui_win_info () = default; DISABLE_COPY_AND_ASSIGN (tui_win_info); /* Scroll the contents vertically. This is only called via diff --git a/gdb/tui/tui-disasm.h b/gdb/tui/tui-disasm.h index 416be95fd8b..dd020310746 100644 --- a/gdb/tui/tui-disasm.h +++ b/gdb/tui/tui-disasm.h @@ -30,10 +30,7 @@ struct tui_disasm_window : public tui_source_window_base { - tui_disasm_window () - : tui_source_window_base (DISASSEM_WIN) - { - } + tui_disasm_window () = default; DISABLE_COPY_AND_ASSIGN (tui_disasm_window); diff --git a/gdb/tui/tui-regs.h b/gdb/tui/tui-regs.h index eee3689aeac..df8c27305cd 100644 --- a/gdb/tui/tui-regs.h +++ b/gdb/tui/tui-regs.h @@ -28,10 +28,7 @@ struct tui_data_item_window : public tui_gen_win_info { - tui_data_item_window () - : tui_gen_win_info (DATA_ITEM_WIN) - { - } + tui_data_item_window () = default; DISABLE_COPY_AND_ASSIGN (tui_data_item_window); @@ -61,10 +58,7 @@ struct tui_data_item_window : public tui_gen_win_info /* The TUI registers window. */ struct tui_data_window : public tui_win_info { - tui_data_window () - : tui_win_info (DATA_WIN) - { - } + tui_data_window () = default; DISABLE_COPY_AND_ASSIGN (tui_data_window); diff --git a/gdb/tui/tui-source.h b/gdb/tui/tui-source.h index 06ca8d52fe4..58dc5e88cf7 100644 --- a/gdb/tui/tui-source.h +++ b/gdb/tui/tui-source.h @@ -31,10 +31,7 @@ struct symtab; struct tui_source_window : public tui_source_window_base { - tui_source_window () - : tui_source_window_base (SRC_WIN) - { - } + tui_source_window () = default; DISABLE_COPY_AND_ASSIGN (tui_source_window); diff --git a/gdb/tui/tui-stack.h b/gdb/tui/tui-stack.h index bea3e79279b..fde7c6dd2c9 100644 --- a/gdb/tui/tui-stack.h +++ b/gdb/tui/tui-stack.h @@ -31,7 +31,6 @@ struct frame_info; struct tui_locator_window : public tui_gen_win_info { tui_locator_window () - : tui_gen_win_info (LOCATOR_WIN) { full_name[0] = 0; proc_name[0] = 0; diff --git a/gdb/tui/tui-winsource.c b/gdb/tui/tui-winsource.c index 3ba2f2b041e..9ec05ae7c3d 100644 --- a/gdb/tui/tui-winsource.c +++ b/gdb/tui/tui-winsource.c @@ -286,10 +286,8 @@ tui_source_window_base::show_source_content () refresh_window (); } -tui_source_window_base::tui_source_window_base (enum tui_win_type type) - : tui_win_info (type) +tui_source_window_base::tui_source_window_base () { - gdb_assert (type == SRC_WIN || type == DISASSEM_WIN); start_line_or_addr.loa = LOA_ADDRESS; start_line_or_addr.u.addr = 0; @@ -334,7 +332,7 @@ tui_source_window_base::rerender () struct gdbarch *gdbarch = get_frame_arch (frame); struct symtab *s = find_pc_line_symtab (get_frame_pc (frame)); - if (type != SRC_WIN) + if (this != TUI_SRC_WIN) find_line_pc (s, cursal.line, &cursal.pc); update_source_window (gdbarch, cursal); } @@ -349,7 +347,7 @@ tui_source_window_base::refill () { symtab_and_line sal {}; - if (type == SRC_WIN) + if (this == TUI_SRC_WIN) { sal = get_current_source_symtab_and_line (); if (sal.symtab == NULL) diff --git a/gdb/tui/tui-winsource.h b/gdb/tui/tui-winsource.h index cae535fab07..4ac20d80502 100644 --- a/gdb/tui/tui-winsource.h +++ b/gdb/tui/tui-winsource.h @@ -75,7 +75,7 @@ struct tui_source_element struct tui_source_window_base : public tui_win_info { protected: - explicit tui_source_window_base (enum tui_win_type type); + tui_source_window_base (); ~tui_source_window_base (); DISABLE_COPY_AND_ASSIGN (tui_source_window_base); diff --git a/gdb/tui/tui.h b/gdb/tui/tui.h index 6605901f21a..816b1e92851 100644 --- a/gdb/tui/tui.h +++ b/gdb/tui/tui.h @@ -40,9 +40,6 @@ enum tui_win_type CMD_WIN, /* This must ALWAYS be AFTER the major windows last. */ MAX_MAJOR_WINDOWS, - /* Auxiliary windows. */ - LOCATOR_WIN, - DATA_ITEM_WIN }; extern CORE_ADDR tui_get_low_disassembly_address (struct gdbarch *,