GNU Octave  8.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
bp_table Class Reference

#include "bp-table.h"

Collaboration diagram for bp_table:

Public Types

typedef std::set< int > bp_lines
 
typedef bp_lines::iterator bp_lines_iterator
 
typedef bp_lines::const_iterator const_bp_lines_iterator
 
typedef fname_bp_map::const_iterator const_fname_bp_map_iterator
 
typedef fname_line_map::const_iterator const_fname_line_map_iterator
 
typedef std::map< std::string, std::list< bp_type > > fname_bp_map
 
typedef fname_bp_map::iterator fname_bp_map_iterator
 
typedef std::map< std::string, bp_linesfname_line_map
 
typedef fname_line_map::iterator fname_line_map_iterator
 

Public Member Functions

 bp_table (tree_evaluator &tw)
 
 ~bp_table (void)=default
 
int add_breakpoint_in_file (const std::string &file="", int line=1, const std::string &condition="")
 
int add_breakpoint_in_function (const std::string &fname="", const std::string &class_name="", int line=1, const std::string &condition="")
 
bp_lines add_breakpoints_in_file (const std::string &file="", const bp_lines &lines=bp_lines(), const std::string &condition="")
 
bp_lines add_breakpoints_in_function (const std::string &fname="", const std::string &class_name="", const bp_lines &lines=bp_lines(), const std::string &condition="")
 
bool condition_valid (const std::string &cond)
 
void dbclear_all_signals (void)
 
void dbstop_process_map_args (const octave_map &mv)
 
bool debug_on_caught (const std::string &id)
 
bool debug_on_err (const std::string &id)
 
bool debug_on_warn (const std::string &id)
 
fname_bp_map get_breakpoint_list (const octave_value_list &fname_list)
 
bool have_breakpoints (void)
 
void parse_dbfunction_params (const char *who, const octave_value_list &args, std::string &fcn_name, std::string &class_name, bp_table::bp_lines &lines, std::string &cond)
 
void remove_all_breakpoints (void)
 
bp_lines remove_all_breakpoints_from_file (const std::string &file, bool silent=false)
 
bp_lines remove_all_breakpoints_from_function (const std::string &fname, bool silent=false)
 
int remove_breakpoint_from_file (const std::string &file="", int line=1)
 
int remove_breakpoint_from_function (const std::string &fname="", int line=1)
 
int remove_breakpoints_from_file (const std::string &file="", const bp_lines &lines=bp_lines())
 
int remove_breakpoints_from_function (const std::string &fname="", const bp_lines &lines=bp_lines())
 
octave_map stop_on_err_warn_status (bool to_screen)
 

Private Types

typedef std::set< std::string >::iterator bp_set_iterator
 
typedef std::set< std::string >::const_iterator const_bp_set_iterator
 

Private Member Functions

bool add_breakpoint_1 (octave_user_code *fcn, const std::string &fname, const bp_lines &line, const std::string &condition, bp_lines &retval)
 
void process_id_list (const char *who, const std::string &condition, const octave_value_list &args, int nargin, int &pos, bool on_off, std::set< std::string > &id_list)
 
bp_lines remove_all_breakpoints_in_file_1 (octave_user_code *fcn, const std::string &fname)
 
int remove_breakpoint_1 (octave_user_code *fcn, const std::string &, const bp_lines &lines)
 
void set_stop_flag (const char *who, const std::string &condition, bool on_off)
 

Private Attributes

std::set< std::string > m_bp_set
 
std::set< std::string > m_caught_that_stop
 
std::set< std::string > m_errors_that_stop
 
tree_evaluatorm_evaluator
 
std::set< std::string > m_warnings_that_stop
 

Detailed Description

Definition at line 56 of file bp-table.h.

Member Typedef Documentation

◆ bp_lines

typedef std::set<int> bp_table::bp_lines

Definition at line 68 of file bp-table.h.

◆ bp_lines_iterator

typedef bp_lines::iterator bp_table::bp_lines_iterator

Definition at line 71 of file bp-table.h.

◆ bp_set_iterator

typedef std::set<std::string>::iterator bp_table::bp_set_iterator
private

Definition at line 221 of file bp-table.h.

◆ const_bp_lines_iterator

typedef bp_lines::const_iterator bp_table::const_bp_lines_iterator

Definition at line 70 of file bp-table.h.

◆ const_bp_set_iterator

typedef std::set<std::string>::const_iterator bp_table::const_bp_set_iterator
private

Definition at line 220 of file bp-table.h.

◆ const_fname_bp_map_iterator

typedef fname_bp_map::const_iterator bp_table::const_fname_bp_map_iterator

Definition at line 79 of file bp-table.h.

◆ const_fname_line_map_iterator

typedef fname_line_map::const_iterator bp_table::const_fname_line_map_iterator

Definition at line 75 of file bp-table.h.

◆ fname_bp_map

typedef std::map<std::string, std::list<bp_type> > bp_table::fname_bp_map

Definition at line 78 of file bp-table.h.

◆ fname_bp_map_iterator

typedef fname_bp_map::iterator bp_table::fname_bp_map_iterator

Definition at line 80 of file bp-table.h.

◆ fname_line_map

typedef std::map<std::string, bp_lines> bp_table::fname_line_map

Definition at line 73 of file bp-table.h.

◆ fname_line_map_iterator

typedef fname_line_map::iterator bp_table::fname_line_map_iterator

Definition at line 76 of file bp-table.h.

Constructor & Destructor Documentation

◆ bp_table()

bp_table::bp_table ( tree_evaluator tw)
inline

Definition at line 60 of file bp-table.h.

◆ ~bp_table()

bp_table::~bp_table ( void  )
default

Member Function Documentation

◆ add_breakpoint_1()

bool bp_table::add_breakpoint_1 ( octave_user_code fcn,
const std::string &  fname,
const bp_lines line,
const std::string &  condition,
bp_table::bp_lines retval 
)
private

◆ add_breakpoint_in_file()

int bp_table::add_breakpoint_in_file ( const std::string &  file = "",
int  line = 1,
const std::string &  condition = "" 
)

◆ add_breakpoint_in_function()

int bp_table::add_breakpoint_in_function ( const std::string &  fname = "",
const std::string &  class_name = "",
int  line = 1,
const std::string &  condition = "" 
)

Definition at line 671 of file bp-table.cc.

References add_breakpoints_in_function().

Referenced by add_breakpoint_in_file().

◆ add_breakpoints_in_file()

bp_table::bp_lines bp_table::add_breakpoints_in_file ( const std::string &  file = "",
const bp_lines lines = bp_lines (),
const std::string &  condition = "" 
)

◆ add_breakpoints_in_function()

bp_table::bp_lines bp_table::add_breakpoints_in_function ( const std::string &  fname = "",
const std::string &  class_name = "",
const bp_lines lines = bp_lines (),
const std::string &  condition = "" 
)

◆ condition_valid()

◆ dbclear_all_signals()

◆ dbstop_process_map_args()

◆ debug_on_caught()

bool bp_table::debug_on_caught ( const std::string &  id)
inline

Definition at line 192 of file bp-table.h.

Referenced by tree_evaluator::visit_statement().

◆ debug_on_err()

bool bp_table::debug_on_err ( const std::string &  id)
inline

Definition at line 186 of file bp-table.h.

Referenced by tree_evaluator::visit_statement().

◆ debug_on_warn()

bool bp_table::debug_on_warn ( const std::string &  id)
inline

Definition at line 198 of file bp-table.h.

Referenced by error_system::vwarning().

◆ get_breakpoint_list()

◆ have_breakpoints()

bool bp_table::have_breakpoints ( void  )
inline

Definition at line 183 of file bp-table.h.

Referenced by tree_evaluator::reset_debug_state().

◆ parse_dbfunction_params()

◆ process_id_list()

void bp_table::process_id_list ( const char *  who,
const std::string &  condition,
const octave_value_list args,
int  nargin,
int &  pos,
bool  on_off,
std::set< std::string > &  id_list 
)
private

Definition at line 568 of file bp-table.cc.

References error(), set_stop_flag(), and Vdebug_on_interrupt.

Referenced by parse_dbfunction_params().

◆ remove_all_breakpoints()

void bp_table::remove_all_breakpoints ( void  )

◆ remove_all_breakpoints_from_file()

bp_table::bp_lines bp_table::remove_all_breakpoints_from_file ( const std::string &  file,
bool  silent = false 
)

◆ remove_all_breakpoints_from_function()

◆ remove_all_breakpoints_in_file_1()

bp_lines bp_table::remove_all_breakpoints_in_file_1 ( octave_user_code fcn,
const std::string &  fname 
)
private

◆ remove_breakpoint_1()

◆ remove_breakpoint_from_file()

int bp_table::remove_breakpoint_from_file ( const std::string &  file = "",
int  line = 1 
)

◆ remove_breakpoint_from_function()

int bp_table::remove_breakpoint_from_function ( const std::string &  fname = "",
int  line = 1 
)

Definition at line 807 of file bp-table.cc.

References remove_breakpoints_from_function().

Referenced by remove_breakpoint_from_file().

◆ remove_breakpoints_from_file()

int bp_table::remove_breakpoints_from_file ( const std::string &  file = "",
const bp_lines lines = bp_lines () 
)

◆ remove_breakpoints_from_function()

◆ set_stop_flag()

void bp_table::set_stop_flag ( const char *  who,
const std::string &  condition,
bool  on_off 
)
private

◆ stop_on_err_warn_status()

Member Data Documentation

◆ m_bp_set

std::set<std::string> bp_table::m_bp_set
private

◆ m_caught_that_stop

std::set<std::string> bp_table::m_caught_that_stop
private

◆ m_errors_that_stop

std::set<std::string> bp_table::m_errors_that_stop
private

◆ m_evaluator

◆ m_warnings_that_stop

std::set<std::string> bp_table::m_warnings_that_stop
private

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