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

#include "symrec.h"

Collaboration diagram for octave::symbol_record:

Classes

class  symbol_record_rep
 

Public Types

typedef size_t context_id
 

Public Member Functions

 symbol_record (const std::string &nm="", const octave_value &v=octave_value(), unsigned int sc=local)
 
 symbol_record (const symbol_record &)=default
 
 ~symbol_record (void)=default
 
void assign (const octave_value &value, context_id context)
 
void assign (octave_value::assign_op op, const std::string &type, const std::list< octave_value_list > &idx, const octave_value &value, context_id context)
 
void assign (octave_value::assign_op op, const octave_value &value, context_id context)
 
void bind_fwd_rep (const std::shared_ptr< symbol_scope_rep > &fwd_scope, const symbol_record &sr)
 
void clear (context_id context)
 
void do_non_const_unary_op (octave_value::unary_op op, context_id context)
 
void do_non_const_unary_op (octave_value::unary_op op, const std::string &type, const std::list< octave_value_list > &idx, context_id context)
 
octave_value dump (context_id context) const
 
symbol_record dup (const std::shared_ptr< symbol_scope_rep > &sid) const
 
octave_value find (context_id context, const octave_value_list &args=octave_value_list()) const
 
void init_persistent (void)
 
bool is_added_static (void) const
 
bool is_automatic (void) const
 
bool is_defined (context_id context) const
 
bool is_formal (void) const
 
bool is_forwarded (void) const
 
bool is_global (void) const
 
bool is_hidden (void) const
 
bool is_inherited (void) const
 
bool is_local (void) const
 
bool is_marked_global (void) const
 
bool is_persistent (void) const
 
bool is_undefined (context_id context) const
 
bool is_variable (context_id context) const
 
void mark_added_static (void)
 
void mark_automatic (void)
 
void mark_formal (void)
 
void mark_global (void)
 
void mark_hidden (void)
 
void mark_inherited (void)
 
void mark_local (void)
 
void mark_persistent (void)
 
std::string name (void) const
 
symbol_recordoperator= (const symbol_record &)=default
 
context_id pop_context (void)
 
void push_context (void)
 
void rename (const std::string &new_name)
 
unsigned int storage_class (void) const
 
void unbind_fwd_rep (void)
 
void unbind_global_rep (void)
 
void unmark_added_static (void)
 
void unmark_automatic (void)
 
void unmark_formal (void)
 
void unmark_hidden (void)
 
void unmark_inherited (void)
 
void unmark_local (void)
 
void unmark_persistent (void)
 
octave_value varval (context_id context) const
 

Static Public Attributes

static const unsigned int added_static = 128
 
static const unsigned int automatic = 2
 
static const unsigned int formal = 4
 
static const unsigned int global = 32
 
static const unsigned int hidden = 8
 
static const unsigned int inherited = 16
 
static const unsigned int local = 1
 
static const unsigned int persistent = 64
 

Private Member Functions

 symbol_record (const std::shared_ptr< symbol_record_rep > &new_rep)
 
octave_value find_function (const std::string &name, const octave_value_list &args) const
 

Private Attributes

std::shared_ptr< symbol_record_repm_rep
 

Static Private Attributes

static octave_value dummy_octave_value
 

Detailed Description

Definition at line 43 of file symrec.h.

Member Typedef Documentation

◆ context_id

Definition at line 47 of file symrec.h.

Constructor & Destructor Documentation

◆ symbol_record() [1/3]

octave::symbol_record::symbol_record ( const std::string nm = "",
const octave_value v = octave_value (),
unsigned int  sc = local 
)
inline

Definition at line 559 of file symrec.h.

Referenced by dup().

◆ symbol_record() [2/3]

octave::symbol_record::symbol_record ( const symbol_record )
default

◆ ~symbol_record()

octave::symbol_record::~symbol_record ( void  )
default

◆ symbol_record() [3/3]

octave::symbol_record::symbol_record ( const std::shared_ptr< symbol_record_rep > &  new_rep)
inlineprivate

Definition at line 703 of file symrec.h.

Member Function Documentation

◆ assign() [1/3]

◆ assign() [2/3]

void octave::symbol_record::assign ( octave_value::assign_op  op,
const std::string type,
const std::list< octave_value_list > &  idx,
const octave_value value,
context_id  context 
)
inline

Definition at line 597 of file symrec.h.

References octave::context, m_rep, type, and value.

◆ assign() [3/3]

void octave::symbol_record::assign ( octave_value::assign_op  op,
const octave_value value,
context_id  context 
)
inline

Definition at line 605 of file symrec.h.

References octave::context, m_rep, and value.

◆ bind_fwd_rep()

void octave::symbol_record::bind_fwd_rep ( const std::shared_ptr< symbol_scope_rep > &  fwd_scope,
const symbol_record sr 
)
inline

Definition at line 683 of file symrec.h.

References m_rep.

Referenced by install_loaded_variable(), and octave::tree_identifier::link_to_global().

◆ clear()

void octave::symbol_record::clear ( context_id  context)
inline

◆ do_non_const_unary_op() [1/2]

void octave::symbol_record::do_non_const_unary_op ( octave_value::unary_op  op,
context_id  context 
)
inline

Definition at line 611 of file symrec.h.

References octave::context, and m_rep.

Referenced by octave::octave_lvalue::do_unary_op().

◆ do_non_const_unary_op() [2/2]

void octave::symbol_record::do_non_const_unary_op ( octave_value::unary_op  op,
const std::string type,
const std::list< octave_value_list > &  idx,
context_id  context 
)
inline

Definition at line 616 of file symrec.h.

References octave::context, m_rep, and type.

◆ dump()

octave_value octave::symbol_record::dump ( context_id  context) const
inline

Definition at line 693 of file symrec.h.

References octave::context, and m_rep.

Referenced by octave::symbol_scope_rep::dump_symbols_map().

◆ dup()

symbol_record octave::symbol_record::dup ( const std::shared_ptr< symbol_scope_rep > &  sid) const
inline

Definition at line 571 of file symrec.h.

References m_rep, and symbol_record().

◆ find()

octave_value octave::symbol_record::find ( context_id  context,
const octave_value_list args = octave_value_list () 
) const
inline

◆ find_function()

octave_value octave::symbol_record::find_function ( const std::string name,
const octave_value_list args 
) const
private

Definition at line 107 of file symrec.cc.

References octave::__get_symbol_table__(), octave::symbol_table::find_function(), and name().

Referenced by find().

◆ init_persistent()

void octave::symbol_record::init_persistent ( void  )
inline

Definition at line 679 of file symrec.h.

References m_rep.

Referenced by octave::tree_identifier::mark_persistent().

◆ is_added_static()

bool octave::symbol_record::is_added_static ( void  ) const
inline

Definition at line 658 of file symrec.h.

References m_rep.

Referenced by octave::tree_identifier::lvalue(), and octave::tree_evaluator::visit_identifier().

◆ is_automatic()

bool octave::symbol_record::is_automatic ( void  ) const
inline

◆ is_defined()

◆ is_formal()

bool octave::symbol_record::is_formal ( void  ) const
inline

◆ is_forwarded()

bool octave::symbol_record::is_forwarded ( void  ) const
inline

Definition at line 656 of file symrec.h.

References m_rep.

Referenced by octave::symbol_scope_rep::refresh().

◆ is_global()

◆ is_hidden()

bool octave::symbol_record::is_hidden ( void  ) const
inline

Definition at line 654 of file symrec.h.

References m_rep.

Referenced by octave::symbol_record::symbol_record_rep::dump().

◆ is_inherited()

bool octave::symbol_record::is_inherited ( void  ) const
inline

Definition at line 655 of file symrec.h.

References m_rep.

Referenced by octave::symbol_record::symbol_record_rep::dump().

◆ is_local()

bool octave::symbol_record::is_local ( void  ) const
inline

Definition at line 650 of file symrec.h.

References m_rep.

Referenced by octave::symbol_record::symbol_record_rep::dump().

◆ is_marked_global()

bool octave::symbol_record::is_marked_global ( void  ) const
inline

Definition at line 676 of file symrec.h.

References m_rep.

◆ is_persistent()

bool octave::symbol_record::is_persistent ( void  ) const
inline

◆ is_undefined()

bool octave::symbol_record::is_undefined ( context_id  context) const
inline

Definition at line 640 of file symrec.h.

References octave::context, and m_rep.

Referenced by octave::octave_lvalue::is_undefined().

◆ is_variable()

bool octave::symbol_record::is_variable ( context_id  context) const
inline

◆ mark_added_static()

void octave::symbol_record::mark_added_static ( void  )
inline

Definition at line 666 of file symrec.h.

References m_rep.

Referenced by octave::symbol_scope_rep::insert().

◆ mark_automatic()

void octave::symbol_record::mark_automatic ( void  )
inline

Definition at line 661 of file symrec.h.

References m_rep.

Referenced by octave::symbol_scope_rep::mark_automatic().

◆ mark_formal()

void octave::symbol_record::mark_formal ( void  )
inline

Definition at line 662 of file symrec.h.

References m_rep.

Referenced by octave::tree_identifier::mark_as_formal_parameter().

◆ mark_global()

void octave::symbol_record::mark_global ( void  )
inline

◆ mark_hidden()

void octave::symbol_record::mark_hidden ( void  )
inline

Definition at line 663 of file symrec.h.

References m_rep.

Referenced by octave::symbol_scope_rep::mark_hidden().

◆ mark_inherited()

void octave::symbol_record::mark_inherited ( void  )
inline

Definition at line 664 of file symrec.h.

References m_rep.

Referenced by octave::symbol_scope_rep::inherit_internal().

◆ mark_local()

void octave::symbol_record::mark_local ( void  )
inline

Definition at line 660 of file symrec.h.

References m_rep.

◆ mark_persistent()

void octave::symbol_record::mark_persistent ( void  )
inline

Definition at line 665 of file symrec.h.

References m_rep.

Referenced by octave::symbol_record::symbol_record_rep::init_persistent().

◆ name()

◆ operator=()

symbol_record& octave::symbol_record::operator= ( const symbol_record )
default

◆ pop_context()

context_id octave::symbol_record::pop_context ( void  )
inline

Definition at line 631 of file symrec.h.

References m_rep.

◆ push_context()

void octave::symbol_record::push_context ( void  )
inline

Definition at line 629 of file symrec.h.

References m_rep.

◆ rename()

void octave::symbol_record::rename ( const std::string new_name)
inline

Definition at line 578 of file symrec.h.

References m_rep.

Referenced by octave::symbol_scope_rep::rename().

◆ storage_class()

unsigned int octave::symbol_record::storage_class ( void  ) const
inline

Definition at line 681 of file symrec.h.

References m_rep.

Referenced by octave::symbol_scope_rep::all_variables().

◆ unbind_fwd_rep()

void octave::symbol_record::unbind_fwd_rep ( void  )
inline

Definition at line 691 of file symrec.h.

References m_rep.

◆ unbind_global_rep()

void octave::symbol_record::unbind_global_rep ( void  )
inline

Definition at line 689 of file symrec.h.

References m_rep.

Referenced by octave::symbol_scope_rep::refresh().

◆ unmark_added_static()

void octave::symbol_record::unmark_added_static ( void  )
inline

Definition at line 674 of file symrec.h.

References m_rep.

◆ unmark_automatic()

void octave::symbol_record::unmark_automatic ( void  )
inline

Definition at line 669 of file symrec.h.

References m_rep.

◆ unmark_formal()

void octave::symbol_record::unmark_formal ( void  )
inline

Definition at line 670 of file symrec.h.

References m_rep.

◆ unmark_hidden()

void octave::symbol_record::unmark_hidden ( void  )
inline

Definition at line 671 of file symrec.h.

References m_rep.

◆ unmark_inherited()

void octave::symbol_record::unmark_inherited ( void  )
inline

Definition at line 672 of file symrec.h.

References m_rep.

◆ unmark_local()

void octave::symbol_record::unmark_local ( void  )
inline

Definition at line 668 of file symrec.h.

References m_rep.

◆ unmark_persistent()

void octave::symbol_record::unmark_persistent ( void  )
inline

Definition at line 673 of file symrec.h.

References m_rep.

◆ varval()

Member Data Documentation

◆ added_static

◆ automatic

◆ dummy_octave_value

octave_value octave::symbol_record::dummy_octave_value
staticprivate

Definition at line 710 of file symrec.h.

◆ formal

◆ global

const unsigned int octave::symbol_record::global = 32
static

◆ hidden

◆ inherited

◆ local

◆ m_rep

◆ persistent


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