Change tui_source_window_base::set_contents to return bool

This changes tui_source_window_base::set_contents to return bool,
rather than tui_status.  It also changes one implementation of
set_contents to use early returns rather than a variable, which IMO
makes it easier to follow.

gdb/ChangeLog
2019-12-20  Tom Tromey  <tom@tromey.com>

	* tui/tui-winsource.h (struct tui_source_window_base)
	<set_contents>: Return bool.
	* tui/tui-winsource.c
	(tui_source_window_base::update_source_window_as_is): Update.
	* tui/tui-source.h (struct tui_source_window) <set_contents>:
	Return bool.
	* tui/tui-source.c (tui_source_window::set_contents): Return
	bool.  Simplify.
	* tui/tui-disasm.h (struct tui_disasm_window) <set_contents>:
	Return bool.
	* tui/tui-disasm.c (tui_disasm_window::set_contents): Return
	bool.

Change-Id: I8c5212400cd7aadf35760c22d5344cd3b9435674
This commit is contained in:
Tom Tromey
2019-11-12 17:26:50 -07:00
parent 469b073133
commit 61c33f105c
7 changed files with 96 additions and 90 deletions

View File

@ -1,3 +1,18 @@
2019-12-20 Tom Tromey <tom@tromey.com>
* tui/tui-winsource.h (struct tui_source_window_base)
<set_contents>: Return bool.
* tui/tui-winsource.c
(tui_source_window_base::update_source_window_as_is): Update.
* tui/tui-source.h (struct tui_source_window) <set_contents>:
Return bool.
* tui/tui-source.c (tui_source_window::set_contents): Return
bool. Simplify.
* tui/tui-disasm.h (struct tui_disasm_window) <set_contents>:
Return bool.
* tui/tui-disasm.c (tui_disasm_window::set_contents): Return
bool.
2019-12-20 Tom Tromey <tom@tromey.com> 2019-12-20 Tom Tromey <tom@tromey.com>
* tui/tui-winsource.c (tui_update_source_windows_with_addr) * tui/tui-winsource.c (tui_update_source_windows_with_addr)

View File

@ -198,7 +198,7 @@ tui_find_disassembly_address (struct gdbarch *gdbarch, CORE_ADDR pc, int from)
} }
/* Function to set the disassembly window's content. */ /* Function to set the disassembly window's content. */
enum tui_status bool
tui_disasm_window::set_contents (struct gdbarch *arch, tui_disasm_window::set_contents (struct gdbarch *arch,
struct symtab *s, struct symtab *s,
struct tui_line_or_address line_or_addr) struct tui_line_or_address line_or_addr)
@ -214,7 +214,7 @@ tui_disasm_window::set_contents (struct gdbarch *arch,
gdb_assert (line_or_addr.loa == LOA_ADDRESS); gdb_assert (line_or_addr.loa == LOA_ADDRESS);
CORE_ADDR pc = line_or_addr.u.addr; CORE_ADDR pc = line_or_addr.u.addr;
if (pc == 0) if (pc == 0)
return TUI_FAILURE; return false;
gdbarch = arch; gdbarch = arch;
start_line_or_addr.loa = LOA_ADDRESS; start_line_or_addr.loa = LOA_ADDRESS;
@ -251,7 +251,7 @@ tui_disasm_window::set_contents (struct gdbarch *arch,
src->line_or_addr.u.addr = asm_lines[i].addr; src->line_or_addr.u.addr = asm_lines[i].addr;
src->is_exec_point = asm_lines[i].addr == cur_pc; src->is_exec_point = asm_lines[i].addr == cur_pc;
} }
return TUI_SUCCESS; return true;
} }

View File

@ -55,8 +55,7 @@ protected:
void do_scroll_vertical (int num_to_scroll) override; void do_scroll_vertical (int num_to_scroll) override;
enum tui_status set_contents bool set_contents (struct gdbarch *gdbarch,
(struct gdbarch *gdbarch,
struct symtab *s, struct symtab *s,
struct tui_line_or_address line_or_addr) override; struct tui_line_or_address line_or_addr) override;

View File

@ -40,7 +40,7 @@
#include "gdb_curses.h" #include "gdb_curses.h"
/* Function to display source in the source window. */ /* Function to display source in the source window. */
enum tui_status bool
tui_source_window::set_contents (struct gdbarch *arch, tui_source_window::set_contents (struct gdbarch *arch,
struct symtab *s, struct symtab *s,
struct tui_line_or_address line_or_addr) struct tui_line_or_address line_or_addr)
@ -48,13 +48,11 @@ tui_source_window::set_contents (struct gdbarch *arch,
gdb_assert (line_or_addr.loa == LOA_LINE); gdb_assert (line_or_addr.loa == LOA_LINE);
int line_no = line_or_addr.u.line_no; int line_no = line_or_addr.u.line_no;
enum tui_status ret = TUI_FAILURE; if (s == NULL)
return false;
if (s != NULL)
{
int line_width, nlines; int line_width, nlines;
ret = TUI_SUCCESS;
line_width = width - TUI_EXECINFO_SIZE - 1; line_width = width - TUI_EXECINFO_SIZE - 1;
/* Take hilite (window border) into account, when /* Take hilite (window border) into account, when
calculating the number of lines. */ calculating the number of lines. */
@ -65,9 +63,8 @@ tui_source_window::set_contents (struct gdbarch *arch,
if (!g_source_cache.get_source_lines (s, line_no, line_no + nlines, if (!g_source_cache.get_source_lines (s, line_no, line_no + nlines,
&srclines) &srclines)
|| !g_source_cache.get_line_charpos (s, &offsets)) || !g_source_cache.get_line_charpos (s, &offsets))
ret = TUI_FAILURE; return false;
else
{
int cur_line_no, cur_line; int cur_line_no, cur_line;
struct tui_locator_window *locator struct tui_locator_window *locator
= tui_locator_win_info_ptr (); = tui_locator_win_info_ptr ();
@ -118,10 +115,8 @@ tui_source_window::set_contents (struct gdbarch *arch,
cur_line++; cur_line++;
cur_line_no++; cur_line_no++;
} }
ret = TUI_SUCCESS;
} return true;
}
return ret;
} }

View File

@ -60,8 +60,7 @@ protected:
void do_scroll_vertical (int num_to_scroll) override; void do_scroll_vertical (int num_to_scroll) override;
enum tui_status set_contents bool set_contents (struct gdbarch *gdbarch,
(struct gdbarch *gdbarch,
struct symtab *s, struct symtab *s,
struct tui_line_or_address line_or_addr) override; struct tui_line_or_address line_or_addr) override;

View File

@ -183,10 +183,9 @@ tui_source_window_base::update_source_window_as_is
struct symtab *s, struct symtab *s,
struct tui_line_or_address line_or_addr) struct tui_line_or_address line_or_addr)
{ {
enum tui_status ret bool ret = set_contents (gdbarch, s, line_or_addr);
= set_contents (gdbarch, s, line_or_addr);
if (ret == TUI_FAILURE) if (!ret)
erase_source_content (); erase_source_content ();
else else
{ {

View File

@ -87,8 +87,7 @@ protected:
void rerender () override; void rerender () override;
virtual enum tui_status set_contents virtual bool set_contents (struct gdbarch *gdbarch,
(struct gdbarch *gdbarch,
struct symtab *s, struct symtab *s,
struct tui_line_or_address line_or_addr) = 0; struct tui_line_or_address line_or_addr) = 0;