76 return current_function (
true);
80 int current_line ()
const;
83 int current_column ()
const;
87 std::size_t
size ()
const {
return m_cs.size (); }
91 return m_cs[m_curr_frame];
96 return m_cs[0]->get_scope ();
102 return (m_curr_frame < m_cs.size ()
108 return current_scope () == top_scope ();
117 if (m_cs.size () > n)
118 retval = m_cs[n]->function ();
129 int current_user_code_line ()
const;
132 int current_user_code_column ()
const;
138 int debug_user_code_line ()
const;
141 int debug_user_code_column ()
const;
143 std::string get_dispatch_class ()
const;
145 void set_dispatch_class (
const std::string& class_name);
147 bool is_class_method_executing (std::string& dispatch_class)
const;
149 bool is_class_constructor_executing (std::string& dispatch_class)
const;
152 bool all_scripts ()
const;
157 const std::shared_ptr<stack_frame>& closure_frames = std::shared_ptr<stack_frame> ());
161 const std::shared_ptr<stack_frame>& closure_frames = std::shared_ptr<stack_frame> ());
171 std::shared_ptr<stack_frame> elt = m_cs.back ();
182 std::shared_ptr<stack_frame> elt = m_cs.back ();
192 std::shared_ptr<stack_frame> elt = m_cs.back ();
198 bool goto_frame (std::size_t n = 0,
bool verbose =
false);
205 std::size_t find_current_user_frame ()
const;
207 std::shared_ptr<stack_frame> current_user_frame ()
const;
209 std::size_t dbupdown (std::size_t start,
int n,
bool verbose);
210 std::size_t dbupdown (
int n = -1,
bool verbose =
false);
212 void goto_caller_frame ();
214 void goto_base_frame ();
216 std::list<std::shared_ptr<stack_frame>>
221 std::list<std::shared_ptr<stack_frame>> backtrace_frames ()
const;
226 std::list<frame_info> backtrace_info (
octave_idx_type& curr_user_frame,
227 bool print_subfn =
true)
const;
229 std::list<frame_info> backtrace_info ()
const;
235 bool print_subfn =
true)
const;
243 std::shared_ptr<stack_frame> pop_return ();
249 std::list<std::string> global_variable_names ()
const;
251 std::list<std::string> top_level_variable_names ()
const;
253 std::list<std::string> variable_names ()
const;
255 void clear_global_variable (
const std::string& name);
257 void clear_global_variable_pattern (
const std::string& pattern);
259 void clear_global_variable_regexp(
const std::string& pattern);
261 void clear_global_variables ();
277 octave_value global_varval (
const std::string& name)
const;
281 octave_value get_top_level_value (
const std::string& name)
const;
283 void set_top_level_value (
const std::string& name,
287 bool return_list,
bool verbose =
false);
290 bool return_list,
bool verbose,
291 const std::string& msg =
"");
294 bool have_regexp,
bool return_list,
295 bool verbose,
const std::string& msg =
"");
297 void display ()
const;
302 void set_nargin (
int nargin);
303 void set_nargout (
int nargout);
309 void get_new_frame_index_and_links
310 (std::size_t& new_frame_idx, std::shared_ptr<stack_frame>& parent_link,
311 std::shared_ptr<stack_frame>& static_link)
const;
325 std::size_t m_curr_frame;
327 int m_max_stack_depth;
329 std::map<std::string, octave_value> m_global_values;