aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-07-06 15:06:47 -0600
committerTom Tromey <tom@tromey.com>2019-08-15 12:29:28 -0600
commit088f37dd90eecb647347c1aa53d36b3f5be64b21 (patch)
tree4453f8eb6169fd83c92be094b406903830a87ef8
parenta54700c6c45ea424b668f2201ef14906f2052412 (diff)
downloadgdb-088f37dd90eecb647347c1aa53d36b3f5be64b21.zip
gdb-088f37dd90eecb647347c1aa53d36b3f5be64b21.tar.gz
gdb-088f37dd90eecb647347c1aa53d36b3f5be64b21.tar.bz2
Change tui_addr_is_displayed into a method
This changes tui_addr_is_displayed to be a method on tui_disasm_window, now that it is obvious that it can only be called for this type. gdb/ChangeLog 2019-08-15 Tom Tromey <tom@tromey.com> * tui/tui-winsource.h (tui_addr_is_displayed): Don't declare. * tui/tui-winsource.c (tui_addr_is_displayed): Move to tui-disasm.c. * tui/tui-disasm.h (struct tui_disasm_window) <addr_is_displayed>: Declare. * tui/tui-disasm.c (tui_disasm_window::addr_is_displayed): New method. (tui_disasm_window::maybe_update): Update.
-rw-r--r--gdb/ChangeLog11
-rw-r--r--gdb/tui/tui-disasm.c20
-rw-r--r--gdb/tui/tui-disasm.h5
-rw-r--r--gdb/tui/tui-winsource.c28
-rw-r--r--gdb/tui/tui-winsource.h3
5 files changed, 35 insertions, 32 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b0da5a1..6650f58 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,16 @@
2019-08-15 Tom Tromey <tom@tromey.com>
+ * tui/tui-winsource.h (tui_addr_is_displayed): Don't declare.
+ * tui/tui-winsource.c (tui_addr_is_displayed): Move to
+ tui-disasm.c.
+ * tui/tui-disasm.h (struct tui_disasm_window) <addr_is_displayed>:
+ Declare.
+ * tui/tui-disasm.c (tui_disasm_window::addr_is_displayed): New
+ method.
+ (tui_disasm_window::maybe_update): Update.
+
+2019-08-15 Tom Tromey <tom@tromey.com>
+
* tui/tui-winsource.h (struct tui_source_window_base)
<maybe_update>: Declare.
* tui/tui-stack.c (tui_show_frame_info): Call maybe_update
diff --git a/gdb/tui/tui-disasm.c b/gdb/tui/tui-disasm.c
index fcb33bc..e55f35d 100644
--- a/gdb/tui/tui-disasm.c
+++ b/gdb/tui/tui-disasm.c
@@ -381,6 +381,24 @@ tui_disasm_window::location_matches_p (struct bp_location *loc, int line_no)
&& content[line_no].line_or_addr.u.addr == loc->address);
}
+bool
+tui_disasm_window::addr_is_displayed (CORE_ADDR addr) const
+{
+ bool is_displayed = false;
+ int threshold = SCROLL_THRESHOLD;
+
+ int i = 0;
+ while (i < content.size () - threshold && !is_displayed)
+ {
+ is_displayed
+ = (content[i].line_or_addr.loa == LOA_ADDRESS
+ && content[i].line_or_addr.u.addr == addr);
+ i++;
+ }
+
+ return is_displayed;
+}
+
void
tui_disasm_window::maybe_update (struct frame_info *fi, symtab_and_line sal,
int line_no, CORE_ADDR addr)
@@ -402,7 +420,7 @@ tui_disasm_window::maybe_update (struct frame_info *fi, symtab_and_line sal,
a.loa = LOA_ADDRESS;
a.u.addr = low;
- if (!tui_addr_is_displayed (addr, this, TRUE))
+ if (!addr_is_displayed (addr))
tui_update_source_window (this, get_frame_arch (fi),
sal.symtab, a, TRUE);
else
diff --git a/gdb/tui/tui-disasm.h b/gdb/tui/tui-disasm.h
index 20bc429..1b51e09 100644
--- a/gdb/tui/tui-disasm.h
+++ b/gdb/tui/tui-disasm.h
@@ -51,6 +51,11 @@ struct tui_disasm_window : public tui_source_window_base
protected:
void do_scroll_vertical (int num_to_scroll) override;
+
+private:
+ /* Answer whether a particular line number or address is displayed
+ in the current source window. */
+ bool addr_is_displayed (CORE_ADDR addr) const;
};
extern enum tui_status tui_set_disassem_content (tui_source_window_base *,
diff --git a/gdb/tui/tui-winsource.c b/gdb/tui/tui-winsource.c
index 1b2b439..e8e7061 100644
--- a/gdb/tui/tui-winsource.c
+++ b/gdb/tui/tui-winsource.c
@@ -668,31 +668,3 @@ tui_line_is_displayed (int line,
return is_displayed;
}
-
-
-/* Answer whether a particular line number or address is displayed
- in the current source window. */
-int
-tui_addr_is_displayed (CORE_ADDR addr,
- struct tui_source_window_base *win_info,
- int check_threshold)
-{
- int is_displayed = FALSE;
- int i, threshold;
-
- if (check_threshold)
- threshold = SCROLL_THRESHOLD;
- else
- threshold = 0;
- i = 0;
- while (i < win_info->content.size () - threshold
- && !is_displayed)
- {
- is_displayed
- = win_info->content[i].line_or_addr.loa == LOA_ADDRESS
- && win_info->content[i].line_or_addr.u.addr == addr;
- i++;
- }
-
- return is_displayed;
-}
diff --git a/gdb/tui/tui-winsource.h b/gdb/tui/tui-winsource.h
index f2fd1eb..b03ba2f 100644
--- a/gdb/tui/tui-winsource.h
+++ b/gdb/tui/tui-winsource.h
@@ -177,9 +177,6 @@ extern void tui_alloc_source_buffer (struct tui_source_window_base *);
extern int tui_line_is_displayed (int,
struct tui_source_window_base *,
int);
-extern int tui_addr_is_displayed (CORE_ADDR,
- struct tui_source_window_base *,
- int);
/* Constant definitions. */