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

#include "bp-table.h"

Collaboration diagram for octave::bp_table:

Public Types

typedef fname_bp_map::const_iterator const_fname_bp_map_iterator
 
typedef fname_line_map::const_iterator const_fname_line_map_iterator
 
typedef intmap::const_iterator const_intmap_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, intmapfname_line_map
 
typedef fname_line_map::iterator fname_line_map_iterator
 
typedef std::map< int, int > intmap
 
typedef intmap::iterator intmap_iterator
 

Public Member Functions

 bp_table (tree_evaluator &tw)
 
 ~bp_table (void)=default
 
intmap add_breakpoint (const std::string &fname="", const std::string &class_name="", const intmap &lines=intmap(), 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 &func_name, std::string &class_name, bp_table::intmap &lines, std::string &cond)
 
void remove_all_breakpoints (void)
 
intmap remove_all_breakpoints_in_file (const std::string &fname, bool silent=false)
 
int remove_breakpoint (const std::string &fname="", const intmap &lines=intmap())
 
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 intmap &line, const std::string &condition, intmap &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)
 
intmap 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 intmap &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 53 of file bp-table.h.

Member Typedef Documentation

◆ bp_set_iterator

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

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

◆ const_bp_set_iterator

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

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

◆ const_fname_bp_map_iterator

typedef fname_bp_map::const_iterator octave::bp_table::const_fname_bp_map_iterator

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

◆ const_fname_line_map_iterator

typedef fname_line_map::const_iterator octave::bp_table::const_fname_line_map_iterator

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

◆ const_intmap_iterator

typedef intmap::const_iterator octave::bp_table::const_intmap_iterator

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

◆ fname_bp_map

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

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

◆ fname_bp_map_iterator

typedef fname_bp_map::iterator octave::bp_table::fname_bp_map_iterator

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

◆ fname_line_map

typedef std::map<std::string, intmap> octave::bp_table::fname_line_map

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

◆ fname_line_map_iterator

typedef fname_line_map::iterator octave::bp_table::fname_line_map_iterator

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

◆ intmap

typedef std::map<int, int> octave::bp_table::intmap

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

◆ intmap_iterator

typedef intmap::iterator octave::bp_table::intmap_iterator

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

Constructor & Destructor Documentation

◆ bp_table()

octave::bp_table::bp_table ( tree_evaluator tw)
inline

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

◆ ~bp_table()

octave::bp_table::~bp_table ( void  )
default

Member Function Documentation

◆ add_breakpoint()

bp_table::intmap octave::bp_table::add_breakpoint ( const std::string &  fname = "",
const std::string &  class_name = "",
const intmap lines = intmap (),
const std::string &  condition = "" 
)

◆ add_breakpoint_1()

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

◆ condition_valid()

◆ dbclear_all_signals()

◆ dbstop_process_map_args()

◆ debug_on_caught()

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

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

Referenced by octave::tree_evaluator::visit_statement().

◆ debug_on_err()

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

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

Referenced by octave::tree_evaluator::visit_statement().

◆ debug_on_warn()

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

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

Referenced by octave::error_system::vwarning().

◆ get_breakpoint_list()

◆ have_breakpoints()

bool octave::bp_table::have_breakpoints ( void  )
inline

◆ parse_dbfunction_params()

◆ process_id_list()

void octave::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 512 of file bp-table.cc.

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

Referenced by parse_dbfunction_params().

◆ remove_all_breakpoints()

void octave::bp_table::remove_all_breakpoints ( void  )

◆ remove_all_breakpoints_in_file()

◆ remove_all_breakpoints_in_file_1()

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

◆ remove_breakpoint()

◆ remove_breakpoint_1()

◆ set_stop_flag()

void octave::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> octave::bp_table::m_bp_set
private

◆ m_caught_that_stop

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

◆ m_errors_that_stop

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

◆ m_evaluator

◆ m_warnings_that_stop

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

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