Introduce tui_data_window::line_from_reg_element_no method
authorTom Tromey <tom@tromey.com>
Wed, 26 Jun 2019 21:46:38 +0000 (15:46 -0600)
committerTom Tromey <tom@tromey.com>
Wed, 17 Jul 2019 18:18:53 +0000 (12:18 -0600)
This changes tui_line_from_reg_element_no to be a method on
tui_data_window, allowing for the removal of some uses of the
TUI_DATA_WIN global.  (Actually, in this particular patch, the number
of uses is not decreased, but rather the uses are moved to spots that
are already using the global, i.e., increasing the clustering.)

gdb/ChangeLog
2019-07-17  Tom Tromey  <tom@tromey.com>

* tui/tui-windata.c (tui_display_data_from)
(tui_data_window::do_scroll_vertical): Update.
* tui/tui-regs.h (tui_line_from_reg_element_no): Don't declare.
* tui/tui-regs.c (tui_data_window::line_from_reg_element_no):
Rename from tui_line_from_reg_element_no.
(tui_display_registers_from_line): Update.
* tui/tui-data.h (struct tui_data_window)
<line_from_reg_element_no>: New method.

gdb/ChangeLog
gdb/tui/tui-data.h
gdb/tui/tui-regs.c
gdb/tui/tui-regs.h
gdb/tui/tui-windata.c

index b63b9e9f694a999809587581c9c35769ffe8fc68..9177dfd425380671ffce509968d8169e4b550ba1 100644 (file)
@@ -1,3 +1,14 @@
+2019-07-17  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-windata.c (tui_display_data_from)
+       (tui_data_window::do_scroll_vertical): Update.
+       * tui/tui-regs.h (tui_line_from_reg_element_no): Don't declare.
+       * tui/tui-regs.c (tui_data_window::line_from_reg_element_no):
+       Rename from tui_line_from_reg_element_no.
+       (tui_display_registers_from_line): Update.
+       * tui/tui-data.h (struct tui_data_window)
+       <line_from_reg_element_no>: New method.
+
 2019-07-17  Tom Tromey  <tom@tromey.com>
 
        * tui/tui-regs.h (tui_last_regs_line_no): Don't declare.
index 9b1e892aefe0f67c972368cadb9df2391d787fd5..081d0dfa449a6b835f20e3377694cd3bd155fa69 100644 (file)
@@ -494,6 +494,11 @@ struct tui_data_window : public tui_win_info
      are no registers (-1) is returned.  */
   int last_regs_line_no () const;
 
+  /* Answer the line number that the register element at element_no is
+     on.  If element_no is greater than the number of register
+     elements there are, -1 is returned.  */
+  int line_from_reg_element_no (int element_no) const;
+
 protected:
 
   void do_scroll_vertical (int num_to_scroll) override;
index e9fbf4b07522fd1bcd5fba43a789b7e3cb7d2009..03e91496b0f0078405849184eb6db2395e503284 100644 (file)
@@ -79,21 +79,19 @@ tui_data_window::last_regs_line_no () const
   return num_lines;
 }
 
+/* See tui-data.h.  */
 
-/* Answer the line number that the register element at element_no is
-   on.  If element_no is greater than the number of register elements
-   there are, -1 is returned.  */
 int
-tui_line_from_reg_element_no (int element_no)
+tui_data_window::line_from_reg_element_no (int element_no) const
 {
-  if (element_no < TUI_DATA_WIN->regs_content.size ())
+  if (element_no < regs_content.size ())
     {
       int i, line = (-1);
 
       i = 1;
       while (line == (-1))
        {
-         if (element_no < TUI_DATA_WIN->regs_column_count * i)
+         if (element_no < regs_column_count * i)
            line = i - 1;
          else
            i++;
@@ -391,7 +389,7 @@ tui_display_registers_from_line (int line_no,
             registers.  */
          if (line_no >= TUI_DATA_WIN->last_regs_line_no ())
            {
-             if ((line = tui_line_from_reg_element_no (
+             if ((line = TUI_DATA_WIN->line_from_reg_element_no (
                 TUI_DATA_WIN->regs_content.size () - 1)) < 0)
                line = 0;
            }
index fcb440dcf1134320d49aab12adf3c1183bbbceb8..f6ed8628f2a8e9fe65e6fbf5b3166472b2105d2c 100644 (file)
@@ -29,7 +29,6 @@ extern void tui_show_registers (struct reggroup *group);
 extern void tui_display_registers_from (int);
 extern int tui_display_registers_from_line (int, int);
 extern int tui_first_reg_element_inline (int);
-extern int tui_line_from_reg_element_no (int);
 extern int tui_first_reg_element_no_inline (int lineno);
 
 #endif /* TUI_TUI_REGS_H */
index 7ff50a0c90567f86aad38c70bd0f31cc23c6b697..ac3e6d6e097d14f30dd20f838bbfdf9f6729d99f 100644 (file)
@@ -134,7 +134,7 @@ tui_display_data_from (int element_no, int reuse_windows)
   int first_line = (-1);
 
   if (element_no < TUI_DATA_WIN->regs_content.size ())
-    first_line = tui_line_from_reg_element_no (element_no);
+    first_line = TUI_DATA_WIN->line_from_reg_element_no (element_no);
   else
     { /* Calculate the first_line from the element number.  */
     }
@@ -173,7 +173,7 @@ tui_data_window::do_scroll_vertical (int num_to_scroll)
 
   first_element_no = first_data_item_displayed ();
   if (first_element_no < regs_content.size ())
-    first_line = tui_line_from_reg_element_no (first_element_no);
+    first_line = line_from_reg_element_no (first_element_no);
   else
     { /* Calculate the first line from the element number which is in
         the general data content.  */