Make tui_gen_win_info constructor protected
authorTom Tromey <tom@tromey.com>
Sun, 23 Jun 2019 22:34:39 +0000 (16:34 -0600)
committerTom Tromey <tom@tromey.com>
Tue, 25 Jun 2019 13:48:51 +0000 (07:48 -0600)
Now that all the window types have their own concrete classes, the
tui_gen_win_info constructor can be protected.

gdb/ChangeLog
2019-06-25  Tom Tromey  <tom@tromey.com>

* tui/tui-layout.c (init_and_make_win): Assert on unrecognized
type.
* tui/tui-data.h (struct tui_gen_win_info): Make constructor
protected.

gdb/ChangeLog
gdb/tui/tui-data.h
gdb/tui/tui-layout.c

index 43ed9bc..62e9053 100644 (file)
@@ -1,5 +1,12 @@
 2019-06-25  Tom Tromey  <tom@tromey.com>
 
+       * tui/tui-layout.c (init_and_make_win): Assert on unrecognized
+       type.
+       * tui/tui-data.h (struct tui_gen_win_info): Make constructor
+       protected.
+
+2019-06-25  Tom Tromey  <tom@tromey.com>
+
        * tui/tui-winsource.c
        (tui_source_window_base::set_is_exec_point_at): Add check against
        LOA_ADDRESS.
index b7cf05c..8991a4a 100644 (file)
@@ -34,11 +34,15 @@ struct tui_point
 /* Generic window information.  */
 struct tui_gen_win_info
 {
+protected:
+
   explicit tui_gen_win_info (enum tui_win_type t)
     : type (t)
   {
   }
 
+public:
+
   virtual ~tui_gen_win_info ();
 
   /* Call to refresh this window.  */
index 9dbb599..d9a1f08 100644 (file)
@@ -815,9 +815,7 @@ init_and_make_win (tui_gen_win_info *win_info,
          break;
 
        default:
-         gdb_assert (tui_win_is_auxiliary (win_type));
-         win_info = new tui_gen_win_info (win_type);
-         break;
+         gdb_assert_not_reached (_("unhandled window type"));
        }
     }