GNU Octave  3.8.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Classes | Public Types | Static Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
octave_call_stack Class Reference

#include "toplev.h"

Collaboration diagram for octave_call_stack:
Collaboration graph
[legend]

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 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 (octave_function *f, symbol_table::scope_id scope=symbol_table::current_scope(), symbol_table::context_id context=symbol_table::current_context())
static void push (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_column (int c)
static void set_line (int l)
static void set_location (int l, int c)
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
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_column (int c)
void do_set_line (int l)
void do_set_location (int l, int c)
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 75 of file toplev.h.

Member Typedef Documentation

Definition at line 108 of file toplev.h.

Definition at line 113 of file toplev.h.

Definition at line 107 of file toplev.h.

Definition at line 111 of file toplev.h.

Constructor & Destructor Documentation

octave_call_stack::octave_call_stack ( void  )
inlineprotected

Definition at line 103 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 
)
inlinestatic

Definition at line 272 of file toplev.h.

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

static void octave_call_stack::backtrace_error_message ( void  )
inlinestatic
static octave_function* octave_call_stack::caller ( void  )
inlinestatic

Definition at line 165 of file toplev.h.

Referenced by called_from_builtin(), DEFUN(), do_who(), Fmislocked(), Fmlock(), and Fmunlock().

static octave_user_code* octave_call_stack::caller_user_code ( size_t  nskip = 0)
inlinestatic
static int octave_call_stack::caller_user_code_column ( void  )
inlinestatic

Definition at line 159 of file toplev.h.

static int octave_call_stack::caller_user_code_line ( void  )
inlinestatic

Definition at line 153 of file toplev.h.

Referenced by Fdblist(), and Fdbwhere().

static void octave_call_stack::cleanup_instance ( void  )
inlinestaticprivate

Definition at line 307 of file toplev.h.

Referenced by create_instance().

static void octave_call_stack::clear ( void  )
inlinestatic

Definition at line 286 of file toplev.h.

void octave_call_stack::create_instance ( void  )
static
static octave_function* octave_call_stack::current ( void  )
inlinestatic
static int octave_call_stack::current_column ( void  )
inlinestatic

Definition at line 147 of file toplev.h.

Referenced by tree_evaluator::do_unwind_protect_cleanup_code().

static symbol_table::context_id octave_call_stack::current_context ( void  )
inlinestatic

Definition at line 191 of file toplev.h.

Referenced by Fwarning().

static size_t octave_call_stack::current_frame ( void  )
inlinestatic
static int octave_call_stack::current_line ( void  )
inlinestatic

Definition at line 141 of file toplev.h.

Referenced by tree_evaluator::do_unwind_protect_cleanup_code(), and get_debug_input().

static symbol_table::scope_id octave_call_stack::current_scope ( void  )
inlinestatic

Definition at line 186 of file toplev.h.

Referenced by Fwarning().

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
inlineprivate

Definition at line 317 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  )
inlineprivate

Definition at line 431 of file toplev.h.

octave_function* octave_call_stack::do_current ( void  ) const
inlineprivate

Definition at line 364 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 135 of file toplev.cc.

References octave_call_stack::call_stack_elt::column, cs, and curr_frame.

symbol_table::context_id octave_call_stack::do_current_context ( void  ) const
inlineprivate

Definition at line 334 of file toplev.h.

size_t octave_call_stack::do_current_frame ( void  )
inlineprivate

Definition at line 322 of file toplev.h.

int octave_call_stack::do_current_line ( void  ) const
private

Definition at line 121 of file toplev.cc.

References cs, curr_frame, and octave_call_stack::call_stack_elt::line.

symbol_table::scope_id octave_call_stack::do_current_scope ( void  ) const
inlineprivate

Definition at line 328 of file toplev.h.

octave_function* octave_call_stack::do_element ( size_t  n)
inlineprivate

Definition at line 340 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 202 of file toplev.cc.

References f, and octave_base_value::is_user_code().

Referenced by do_backtrace().

void octave_call_stack::do_pop ( void  )
inlineprivate
void octave_call_stack::do_push ( octave_function f,
symbol_table::scope_id  scope,
symbol_table::context_id  context 
)
inlineprivate

Definition at line 355 of file toplev.h.

References symbol_table::set_scope_and_context().

Referenced by create_instance().

void octave_call_stack::do_set_column ( int  c)
inlineprivate

Definition at line 398 of file toplev.h.

References octave_call_stack::call_stack_elt::column.

void octave_call_stack::do_set_line ( int  l)
inlineprivate

Definition at line 388 of file toplev.h.

References octave_call_stack::call_stack_elt::line.

void octave_call_stack::do_set_location ( int  l,
int  c 
)
inlineprivate
size_t octave_call_stack::do_size ( void  )
inlineprivate

Definition at line 324 of file toplev.h.

static octave_function* octave_call_stack::element ( size_t  n)
inlinestatic

Definition at line 198 of file toplev.h.

octave_map octave_call_stack::empty_backtrace ( void  )
static

Definition at line 274 of file toplev.cc.

References bt_fields.

Referenced by initialize_last_error_stack().

static void octave_call_stack::goto_base_frame ( void  )
inlinestatic

Definition at line 266 of file toplev.h.

Referenced by mexGetVariable(), and mexPutVariable().

static void octave_call_stack::goto_caller_frame ( void  )
inlinestatic

Definition at line 260 of file toplev.h.

static bool octave_call_stack::goto_frame ( size_t  n = 0,
bool  verbose = false 
)
inlinestatic

Definition at line 244 of file toplev.h.

static bool octave_call_stack::goto_frame_relative ( int  n,
bool  verbose = false 
)
inlinestatic

Definition at line 254 of file toplev.h.

Referenced by do_dbupdown(), and Fkeyboard().

static bool octave_call_stack::instance_ok ( void  )
inlinestatic

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)
inlinestatic

Definition at line 180 of file toplev.h.

static void octave_call_stack::pop ( void  )
inlinestatic
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 () 
)
inlinestatic
static void octave_call_stack::push ( symbol_table::scope_id  scope = symbol_table::current_scope (),
symbol_table::context_id  context = symbol_table::current_context () 
)
inlinestatic

Definition at line 219 of file toplev.h.

References context.

static void octave_call_stack::restore_frame ( size_t  n)
inlinestatic

Definition at line 249 of file toplev.h.

Referenced by do_keyboard(), and Fkeyboard().

static void octave_call_stack::set_column ( int  c)
inlinestatic

Definition at line 238 of file toplev.h.

Referenced by tree_evaluator::do_unwind_protect_cleanup_code().

static void octave_call_stack::set_line ( int  l)
inlinestatic

Definition at line 232 of file toplev.h.

Referenced by tree_evaluator::do_unwind_protect_cleanup_code().

static void octave_call_stack::set_location ( int  l,
int  c 
)
inlinestatic
static size_t octave_call_stack::size ( void  )
inlinestatic

Definition at line 175 of file toplev.h.

Member Data Documentation

std::deque<call_stack_elt> octave_call_stack::cs
private
size_t octave_call_stack::curr_frame
private
octave_call_stack * octave_call_stack::instance = 0
staticprivate

Definition at line 305 of file toplev.h.

Referenced by create_instance().


The documentation for this class was generated from the following files: