aboutsummaryrefslogtreecommitdiff
path: root/gdb/ui.h
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2023-04-28 14:27:13 -0400
committerSimon Marchi <simon.marchi@efficios.com>2023-05-01 15:40:54 -0400
commit970c6b7e156107e961dd7b3ac0ad33d9fccb6bff (patch)
treebd3310356655d56314f16e09986ee1f8dcfb502d /gdb/ui.h
parent4a91f820ef4d1301ea1a85c8de313a39457b266e (diff)
downloadgdb-970c6b7e156107e961dd7b3ac0ad33d9fccb6bff.zip
gdb-970c6b7e156107e961dd7b3ac0ad33d9fccb6bff.tar.gz
gdb-970c6b7e156107e961dd7b3ac0ad33d9fccb6bff.tar.bz2
gdb: remove ui_interp_info
I don't think that having struct ui_interp_info separated from struct ui is very useful. As of today, it looks like an unnecessary indirection layer. Move the contents of ui_interp_info directly into struct ui, and update all users. Change-Id: I817ba6e047dbcc4ba15b666af184b40bfed7e521
Diffstat (limited to 'gdb/ui.h')
-rw-r--r--gdb/ui.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/gdb/ui.h b/gdb/ui.h
index 8da4b2d..ed75e04 100644
--- a/gdb/ui.h
+++ b/gdb/ui.h
@@ -19,8 +19,11 @@
#define UI_H
#include "gdbsupport/event-loop.h"
+#include "gdbsupport/intrusive_list.h"
#include "gdbsupport/next-iterator.h"
+struct interp;
+
/* Prompt state. */
enum prompt_state
@@ -84,7 +87,13 @@ struct ui
int command_editing = 0;
/* Each UI has its own independent set of interpreters. */
- struct ui_interp_info *interp_info = nullptr;
+ intrusive_list<interp> interp_list;
+ interp *current_interpreter = nullptr;
+ interp *top_level_interpreter = nullptr;
+
+ /* The interpreter that is active while `interp_exec' is active, NULL
+ at all other times. */
+ interp *command_interpreter = nullptr;
/* True if the UI is in async mode, false if in sync mode. If in
sync mode, a synchronous execution command (e.g, "next") does not