Classes | Public Types | Static Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes

octave_call_stack Class Reference

#include "toplev.h"

Collaboration diagram for octave_call_stack:
Collaboration graph
[legend]

List of all members.

Classes

struct  call_stack_elt

Public Types

typedef std::deque
< call_stack_elt >
::const_iterator 
const_iterator
typedef std::deque
< call_stack_elt >
::const_reverse_iterator 
const_reverse_iterator
typedef std::deque
< call_stack_elt >::iterator 
iterator
typedef std::deque
< call_stack_elt >
::reverse_iterator 
reverse_iterator

Static Public Member Functions

static octave_map backtrace (size_t nskip, octave_idx_type &curr_user_frame)
static void backtrace_error_message (void)
static octave_functioncaller (void)
static octave_user_codecaller_user_code (size_t nskip=0)
static int caller_user_code_column (void)
static int caller_user_code_line (void)
static void clear (void)
static void create_instance (void)
static octave_functioncurrent (void)
static int current_column (void)
static symbol_table::context_id current_context (void)
static size_t current_frame (void)
static int current_line (void)
static symbol_table::scope_id current_scope (void)
static tree_statementcurrent_statement (void)
static octave_functionelement (size_t n)
static octave_map empty_backtrace (void)
static void goto_base_frame (void)
static void goto_caller_frame (void)
static bool goto_frame (size_t n=0, bool verbose=false)
static bool goto_frame_relative (int n, bool verbose=false)
static bool instance_ok (void)
static size_t num_user_code_frames (octave_idx_type &curr_user_frame)
static void pop (void)
static void push (symbol_table::scope_id scope=symbol_table::current_scope(), symbol_table::context_id context=symbol_table::current_context())
static void push (octave_function *f, symbol_table::scope_id scope=symbol_table::current_scope(), symbol_table::context_id context=symbol_table::current_context())
static void restore_frame (size_t n)
static void set_statement (tree_statement *s)
static size_t size (void)

Protected Member Functions

 octave_call_stack (void)

Private Member Functions

octave_map do_backtrace (size_t nskip, octave_idx_type &curr_user_frame) const
void do_backtrace_error_message (void) const
octave_functiondo_caller (void) const
octave_user_codedo_caller_user_code (size_t nskip) const
int do_caller_user_code_column (void) const
int do_caller_user_code_line (void) const
void do_clear (void)
octave_functiondo_current (void) const
int do_current_column (void) const
symbol_table::context_id do_current_context (void) const
size_t do_current_frame (void)
int do_current_line (void) const
symbol_table::scope_id do_current_scope (void) const
tree_statementdo_current_statement (void) const
octave_functiondo_element (size_t n)
void do_goto_base_frame (void)
void do_goto_caller_frame (void)
bool do_goto_frame (size_t n, bool verbose)
bool do_goto_frame_relative (int n, bool verbose)
size_t do_num_user_code_frames (octave_idx_type &curr_user_frame) const
void do_pop (void)
void do_push (octave_function *f, symbol_table::scope_id scope, symbol_table::context_id context)
void do_set_statement (tree_statement *s)
size_t do_size (void)

Static Private Member Functions

static void cleanup_instance (void)

Private Attributes

std::deque< call_stack_eltcs
size_t curr_frame

Static Private Attributes

static octave_call_stackinstance = 0

Detailed Description

Definition at line 80 of file toplev.h.


Member Typedef Documentation

Definition at line 110 of file toplev.h.

Definition at line 113 of file toplev.h.

Definition at line 109 of file toplev.h.

Definition at line 112 of file toplev.h.


Constructor & Destructor Documentation

octave_call_stack::octave_call_stack ( void   )  [inline, protected]

Definition at line 105 of file toplev.h.

Referenced by create_instance().


Member Function Documentation

static octave_map octave_call_stack::backtrace ( size_t  nskip,
octave_idx_type curr_user_frame 
) [inline, static]

Definition at line 266 of file toplev.h.

Referenced by DEFUN(), do_dbstack(), pr_where(), and verror().

static void octave_call_stack::backtrace_error_message ( void   )  [inline, static]
static octave_function* octave_call_stack::caller ( void   )  [inline, static]

Definition at line 171 of file toplev.h.

Referenced by called_from_builtin(), DEFUN(), and do_who().

static octave_user_code* octave_call_stack::caller_user_code ( size_t  nskip = 0  )  [inline, static]
static int octave_call_stack::caller_user_code_column ( void   )  [inline, static]

Definition at line 165 of file toplev.h.

static int octave_call_stack::caller_user_code_line ( void   )  [inline, static]

Definition at line 159 of file toplev.h.

Referenced by DEFUN().

static void octave_call_stack::cleanup_instance ( void   )  [inline, static, private]

Definition at line 301 of file toplev.h.

Referenced by create_instance().

static void octave_call_stack::clear ( void   )  [inline, static]

Definition at line 280 of file toplev.h.

void octave_call_stack::create_instance ( void   )  [static]
static octave_function* octave_call_stack::current ( void   )  [inline, static]
static int octave_call_stack::current_column ( void   )  [inline, static]

Definition at line 153 of file toplev.h.

static symbol_table::context_id octave_call_stack::current_context ( void   )  [inline, static]

Definition at line 197 of file toplev.h.

static size_t octave_call_stack::current_frame ( void   )  [inline, static]
static int octave_call_stack::current_line ( void   )  [inline, static]

Definition at line 147 of file toplev.h.

Referenced by get_debug_input().

static symbol_table::scope_id octave_call_stack::current_scope ( void   )  [inline, static]

Definition at line 192 of file toplev.h.

static tree_statement* octave_call_stack::current_statement ( void   )  [inline, static]

Definition at line 141 of file toplev.h.

Referenced by tree_evaluator::do_unwind_protect_cleanup_code().

octave_map octave_call_stack::do_backtrace ( size_t  nskip,
octave_idx_type curr_user_frame 
) const [private]
void octave_call_stack::do_backtrace_error_message ( void   )  const [private]
octave_function* octave_call_stack::do_caller ( void   )  const [inline, private]

Definition at line 311 of file toplev.h.

octave_user_code * octave_call_stack::do_caller_user_code ( size_t  nskip  )  const [private]
int octave_call_stack::do_caller_user_code_column ( void   )  const [private]
int octave_call_stack::do_caller_user_code_line ( void   )  const [private]
void octave_call_stack::do_clear ( void   )  [inline, private]

Definition at line 416 of file toplev.h.

octave_function* octave_call_stack::do_current ( void   )  const [inline, private]

Definition at line 358 of file toplev.h.

References octave_call_stack::call_stack_elt::fcn.

int octave_call_stack::do_current_column ( void   )  const [private]

Definition at line 124 of file toplev.cc.

References tree_statement::column(), and do_current_statement().

symbol_table::context_id octave_call_stack::do_current_context ( void   )  const [inline, private]

Definition at line 328 of file toplev.h.

size_t octave_call_stack::do_current_frame ( void   )  [inline, private]

Definition at line 316 of file toplev.h.

int octave_call_stack::do_current_line ( void   )  const [private]

Definition at line 116 of file toplev.cc.

References do_current_statement(), and tree_statement::line().

symbol_table::scope_id octave_call_stack::do_current_scope ( void   )  const [inline, private]

Definition at line 322 of file toplev.h.

tree_statement* octave_call_stack::do_current_statement ( void   )  const [inline, private]

Definition at line 371 of file toplev.h.

References octave_call_stack::call_stack_elt::stmt.

Referenced by do_current_column(), and do_current_line().

octave_function* octave_call_stack::do_element ( size_t  n  )  [inline, private]

Definition at line 334 of file toplev.h.

References octave_call_stack::call_stack_elt::fcn.

void octave_call_stack::do_goto_base_frame ( void   )  [private]
void octave_call_stack::do_goto_caller_frame ( void   )  [private]
bool octave_call_stack::do_goto_frame ( size_t  n,
bool  verbose 
) [private]
bool octave_call_stack::do_goto_frame_relative ( int  n,
bool  verbose 
) [private]
size_t octave_call_stack::do_num_user_code_frames ( octave_idx_type curr_user_frame  )  const [private]

Definition at line 188 of file toplev.cc.

References cs, curr_frame, f, and octave_base_value::is_user_code().

Referenced by do_backtrace().

void octave_call_stack::do_pop ( void   )  [inline, private]
void octave_call_stack::do_push ( octave_function f,
symbol_table::scope_id  scope,
symbol_table::context_id  context 
) [inline, private]

Definition at line 349 of file toplev.h.

References symbol_table::set_scope_and_context().

Referenced by create_instance().

void octave_call_stack::do_set_statement ( tree_statement s  )  [inline, private]

Definition at line 384 of file toplev.h.

References octave_call_stack::call_stack_elt::stmt.

size_t octave_call_stack::do_size ( void   )  [inline, private]

Definition at line 318 of file toplev.h.

static octave_function* octave_call_stack::element ( size_t  n  )  [inline, static]

Definition at line 204 of file toplev.h.

octave_map octave_call_stack::empty_backtrace ( void   )  [static]

Definition at line 259 of file toplev.cc.

References bt_fields.

Referenced by initialize_last_error_stack().

static void octave_call_stack::goto_base_frame ( void   )  [inline, static]

Definition at line 260 of file toplev.h.

Referenced by mexGetVariable(), and mexPutVariable().

static void octave_call_stack::goto_caller_frame ( void   )  [inline, static]

Definition at line 254 of file toplev.h.

Referenced by mexGetVariable(), and mexPutVariable().

static bool octave_call_stack::goto_frame ( size_t  n = 0,
bool  verbose = false 
) [inline, static]

Definition at line 238 of file toplev.h.

static bool octave_call_stack::goto_frame_relative ( int  n,
bool  verbose = false 
) [inline, static]

Definition at line 248 of file toplev.h.

Referenced by DEFUN(), and do_dbupdown().

static bool octave_call_stack::instance_ok ( void   )  [inline, static]

Definition at line 117 of file toplev.h.

References error().

static size_t octave_call_stack::num_user_code_frames ( octave_idx_type curr_user_frame  )  [inline, static]

Definition at line 186 of file toplev.h.

static void octave_call_stack::pop ( void   )  [inline, static]
static void octave_call_stack::push ( octave_function f,
symbol_table::scope_id  scope = symbol_table::current_scope (),
symbol_table::context_id  context = symbol_table::current_context () 
) [inline, static]
static void octave_call_stack::push ( symbol_table::scope_id  scope = symbol_table::current_scope (),
symbol_table::context_id  context = symbol_table::current_context () 
) [inline, static]

Definition at line 225 of file toplev.h.

static void octave_call_stack::restore_frame ( size_t  n  )  [inline, static]

Definition at line 243 of file toplev.h.

Referenced by DEFUN(), and do_keyboard().

static void octave_call_stack::set_statement ( tree_statement s  )  [inline, static]
static size_t octave_call_stack::size ( void   )  [inline, static]

Definition at line 181 of file toplev.h.


Member Data Documentation

std::deque<call_stack_elt> octave_call_stack::cs [private]

Definition at line 299 of file toplev.h.

Referenced by create_instance().


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines