1 /* Disassembly display.
3 Copyright (C) 1998-2024 Free Software Foundation, Inc.
5 Contributed by Hewlett-Packard Company.
7 This file is part of GDB.
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
22 #ifndef TUI_TUI_DISASM_H
23 #define TUI_TUI_DISASM_H
25 #include "gdbsupport/gdb-checked-static-cast.h"
27 #include "tui/tui-data.h"
28 #include "tui-winsource.h"
30 /* A TUI disassembly window. */
32 struct tui_disasm_window
: public tui_source_window_base
34 tui_disasm_window () = default;
36 DISABLE_COPY_AND_ASSIGN (tui_disasm_window
);
38 const char *name () const override
43 bool location_matches_p (struct bp_location
*loc
, int line_no
) override
;
45 void maybe_update (const frame_info_ptr
&fi
, symtab_and_line sal
) override
;
47 void erase_source_content () override
49 do_erase_source_content (_("[ No Assembly Available ]"));
52 void display_start_addr (struct gdbarch
**gdbarch_p
,
53 CORE_ADDR
*addr_p
) override
;
57 void do_scroll_vertical (int num_to_scroll
) override
;
59 bool set_contents (struct gdbarch
*gdbarch
,
60 const struct symtab_and_line
&sal
) override
;
63 /* Answer whether a particular line number or address is displayed
64 in the current source window. */
65 bool addr_is_displayed (CORE_ADDR addr
) const;
68 /* Return the instance of the disassembly windows. */
70 inline tui_disasm_window
*
73 return gdb::checked_static_cast
<tui_disasm_window
*>
74 (tui_win_list
[DISASSEM_WIN
]);
77 extern void tui_get_begin_asm_address (struct gdbarch
**, CORE_ADDR
*);
79 #endif /* TUI_TUI_DISASM_H */