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

Public Member Functions

 symbol_cleaner (bool clear_all_names=true, bool clear_objects=false)
 
 symbol_cleaner (const std::string &pattern, bool have_regexp=false)
 
 symbol_cleaner (const string_vector &patterns, bool have_regexp=false)
 
 symbol_cleaner (const symbol_cleaner &)=delete
 
 ~symbol_cleaner (void)=default
 
symbol_cleaneroperator= (const symbol_cleaner &)=delete
 
void visit_compiled_fcn_stack_frame (compiled_fcn_stack_frame &frame)
 
void visit_scope_stack_frame (scope_stack_frame &frame)
 
void visit_script_stack_frame (script_stack_frame &frame)
 
void visit_user_fcn_stack_frame (user_fcn_stack_frame &frame)
 

Private Member Functions

void clean_frame (stack_frame &frame)
 
void clear_symbols (stack_frame &frame, const std::list< symbol_record > &symbols)
 
void maybe_clear_symbol (stack_frame &frame, const symbol_record &sym)
 

Private Attributes

bool m_clear_all_names
 
bool m_clear_objects
 
std::set< std::string > m_cleared_names
 
bool m_have_regexp
 
string_vector m_patterns
 

Detailed Description

Definition at line 610 of file stack-frame.cc.

Constructor & Destructor Documentation

◆ symbol_cleaner() [1/4]

octave::symbol_cleaner::symbol_cleaner ( const std::string &  pattern,
bool  have_regexp = false 
)
inline

Definition at line 614 of file stack-frame.cc.

◆ symbol_cleaner() [2/4]

octave::symbol_cleaner::symbol_cleaner ( const string_vector patterns,
bool  have_regexp = false 
)
inline

Definition at line 620 of file stack-frame.cc.

◆ symbol_cleaner() [3/4]

octave::symbol_cleaner::symbol_cleaner ( bool  clear_all_names = true,
bool  clear_objects = false 
)
inline

Definition at line 626 of file stack-frame.cc.

◆ symbol_cleaner() [4/4]

octave::symbol_cleaner::symbol_cleaner ( const symbol_cleaner )
delete

◆ ~symbol_cleaner()

octave::symbol_cleaner::~symbol_cleaner ( void  )
default

Member Function Documentation

◆ clean_frame()

void octave::symbol_cleaner::clean_frame ( stack_frame frame)
inlineprivate

◆ clear_symbols()

void octave::symbol_cleaner::clear_symbols ( stack_frame frame,
const std::list< symbol_record > &  symbols 
)
inlineprivate

◆ maybe_clear_symbol()

void octave::symbol_cleaner::maybe_clear_symbol ( stack_frame frame,
const symbol_record sym 
)
inlineprivate

◆ operator=()

symbol_cleaner& octave::symbol_cleaner::operator= ( const symbol_cleaner )
delete

◆ visit_compiled_fcn_stack_frame()

void octave::symbol_cleaner::visit_compiled_fcn_stack_frame ( compiled_fcn_stack_frame frame)
inlinevirtual

Implements octave::stack_frame_walker.

Definition at line 638 of file stack-frame.cc.

References octave::stack_frame::static_link().

◆ visit_scope_stack_frame()

void octave::symbol_cleaner::visit_scope_stack_frame ( scope_stack_frame frame)
inlinevirtual

Implements octave::stack_frame_walker.

Definition at line 668 of file stack-frame.cc.

References octave::stack_frame::access_link(), and clean_frame().

◆ visit_script_stack_frame()

void octave::symbol_cleaner::visit_script_stack_frame ( script_stack_frame frame)
inlinevirtual

Implements octave::stack_frame_walker.

Definition at line 650 of file stack-frame.cc.

References octave::stack_frame::access_link().

◆ visit_user_fcn_stack_frame()

void octave::symbol_cleaner::visit_user_fcn_stack_frame ( user_fcn_stack_frame frame)
inlinevirtual

Implements octave::stack_frame_walker.

Definition at line 658 of file stack-frame.cc.

References octave::stack_frame::access_link(), and clean_frame().

Member Data Documentation

◆ m_clear_all_names

bool octave::symbol_cleaner::m_clear_all_names
private

Definition at line 762 of file stack-frame.cc.

Referenced by clean_frame(), and clear_symbols().

◆ m_clear_objects

bool octave::symbol_cleaner::m_clear_objects
private

Definition at line 763 of file stack-frame.cc.

Referenced by maybe_clear_symbol().

◆ m_cleared_names

std::set<std::string> octave::symbol_cleaner::m_cleared_names
private

Definition at line 766 of file stack-frame.cc.

Referenced by maybe_clear_symbol().

◆ m_have_regexp

bool octave::symbol_cleaner::m_have_regexp
private

Definition at line 764 of file stack-frame.cc.

Referenced by clear_symbols().

◆ m_patterns

string_vector octave::symbol_cleaner::m_patterns
private

Definition at line 760 of file stack-frame.cc.

Referenced by clean_frame(), and clear_symbols().


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