diff libinterp/corefcn/interpreter.h @ 29446:435fc29162c0

maintain a set of watch expressions for possible use in tracing/debugging * pt-eval.h (tree_evaluator::m_debug_watch_expressions): New data member. (tree_evaluator::add_debug_watch_expression, tree_evaluator::remove_debug_watch_expression, tree_evaluator::clear_debug_watch_expression, tree_evaluator::debug_watch_expressions): New functions. * interpreter.h, interpreter.cc (interpreter::add_debug_watch_expression, interpreter::remove_debug_watch_expression, interpreter::clear_debug_watch_expression, interpreter::debug_watch_expressions): New functions.
author John W. Eaton <jwe@octave.org>
date Wed, 17 Mar 2021 00:50:34 -0400
parents 7854d5752dd2
children 3bfec185c9e2
line wrap: on
line diff
--- a/libinterp/corefcn/interpreter.h	Tue Mar 16 18:17:42 2021 +0100
+++ b/libinterp/corefcn/interpreter.h	Wed Mar 17 00:50:34 2021 -0400
@@ -29,6 +29,7 @@
 #include "octave-config.h"
 
 #include <map>
+#include <set>
 #include <stack>
 #include <string>
 
@@ -487,6 +488,22 @@
     // or server loop.
     void stop (void);
 
+    // Add EXPR to the set of expressions that may be evaluated when the
+    // debugger stops at a breakpoint.
+    void add_debug_watch_expression (const std::string& expr);
+
+    // Remove EXPR from the set of expressions that may be evaluated
+    // when the debugger stops at a breakpoint.
+    void remove_debug_watch_expression (const std::string& expr);
+
+    // Clear the set of expressions that may be evaluated when the
+    // debugger stops at a breakpoint.
+    void clear_debug_watch_expressions (void);
+
+    // Return the set of expressions that may be evaluated when the
+    // debugger stops at a breakpoint.
+    std::set<std::string> debug_watch_expressions (void) const;
+
     // Resume interpreter execution if paused.
     void resume (void);