lestes::md::symbols::symbol_register_base Class Reference

Register of symbols. More...

#include <symbol_register_base.g.hh>

Inheritance diagram for lestes::md::symbols::symbol_register_base:

lestes::std::object lestes::std::mem::keystone lestes::md::symbols::symbol_register List of all members.

Public Member Functions

virtual void register_symbol (ptr< ::lestes::lang::cplus::sem::ss_declaration > symbol) override
 Registers a symbol.
virtual ptr< reflection_listreflection_get () const
 for purposes of dumping
virtual ptr< field_list_listfield_values_get () const
 for purposes of dumping

Protected Member Functions

 symbol_register_base ()
 Generated constructor for class symbol_register_base.
virtual void gc_mark ()
 Marking routine for class symbol_register_base.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Register of symbols.

Holds list of global symbols (functions, variables) defined within translation unit. Global asm symbol declarations are generated from it during asm code generation phase.

Note: A concrete implementation is target machine-dependent and it is placed in /target/machine/${TARGET_CPU}/lestes/md/symbols/ directory.

Definition at line 47 of file symbol_register_base.g.hh.


Constructor & Destructor Documentation

lestes::md::symbols::symbol_register_base::symbol_register_base (  )  [protected]

Generated constructor for class symbol_register_base.

Generated constructor for class symbol_register_base.

Author:
lsg

Definition at line 28 of file symbol_register_base.g.cc.

00029         : ::lestes::std::object()
00030 {}


Member Function Documentation

virtual void lestes::md::symbols::symbol_register_base::register_symbol ( ptr< ::lestes::lang::cplus::sem::ss_declaration symbol  )  [pure virtual]

Registers a symbol.

Implemented in lestes::md::symbols::symbol_register.

ptr< object::reflection_list > lestes::md::symbols::symbol_register_base::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::symbols::symbol_register.

Definition at line 32 of file symbol_register_base.g.cc.

References lestes::std::list< T >::create(), reflection, and lestes::std::object::reflection_get().

Referenced by lestes::md::symbols::symbol_register::reflection_get().

00033 {
00034         if (!reflection) {
00035                 typedef class_reflection::field_metadata md;
00036                 typedef class_reflection::field_metadata_list mdlist;
00037                 ptr<mdlist> mdl = mdlist::create();
00038                 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00039                 reflection->push_back( class_reflection::create( "symbol_register_base", mdl ) );
00040         }
00041         return reflection;
00042 }

ptr< object::field_list_list > lestes::md::symbols::symbol_register_base::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::symbols::symbol_register.

Definition at line 44 of file symbol_register_base.g.cc.

References lestes::std::object::field_values_get().

Referenced by lestes::md::symbols::symbol_register::field_values_get().

00045 {
00046         ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00047         return result;
00048 }

void lestes::md::symbols::symbol_register_base::gc_mark ( void   )  [protected, virtual]

Marking routine for class symbol_register_base.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::std::mem::keystone.

Reimplemented in lestes::md::symbols::symbol_register.

Definition at line 55 of file symbol_register_base.g.cc.

References lestes::std::mem::keystone::gc_mark().

Referenced by lestes::md::symbols::symbol_register::gc_mark().

00056 {
00057 	::lestes::std::object::gc_mark();
00058 }


Member Data Documentation

ptr< object::reflection_list > lestes::md::symbols::symbol_register_base::reflection = reflection [static, private]

Reimplemented from lestes::std::object.

Reimplemented in lestes::md::symbols::symbol_register.

Definition at line 68 of file symbol_register_base.g.hh.

Referenced by reflection_get().


The documentation for this class was generated from the following files:
Generated on Mon Feb 12 18:25:50 2007 for lestes by doxygen 1.5.1-20070107