#include <symbol_register.g.hh>
Inheritance diagram for lestes::md::symbols::symbol_register:

Public Member Functions | |
| ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > | externals_get () const |
| The method externals_get returns the value of the field symbol_register::externals. | |
| void | externals_set (const ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > &) |
| The method externals_set sets the field symbol_register::externals to the given value. | |
| ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > | globals_get () const |
| The method globals_get returns the value of the field symbol_register::globals. | |
| void | globals_set (const ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > &) |
| The method globals_set sets the field symbol_register::globals to the given value. | |
| ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > | internals_get () const |
| The method internals_get returns the value of the field symbol_register::internals. | |
| void | internals_set (const ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > &) |
| The method internals_set sets the field symbol_register::internals to the given value. | |
| void | register_external (ptr< ::lestes::lang::cplus::sem::ss_declaration > symbol) |
| Registers an external symbol. | |
| void | register_global (ptr< ::lestes::lang::cplus::sem::ss_declaration > symbol) |
| Registers a global symbol. | |
| void | register_internal (ptr< ::lestes::lang::cplus::sem::ss_declaration > symbol) |
| Registers an internal symbol. | |
| virtual void | register_symbol (ptr< ::lestes::lang::cplus::sem::ss_declaration > symbol) |
| Registers a symbol. | |
| void | emit_global_declarations (::std::ostream &output) |
| Emits global delarations for registered symbols. | |
| virtual ptr< reflection_list > | reflection_get () const |
| for purposes of dumping | |
| virtual ptr< field_list_list > | field_values_get () const |
| for purposes of dumping | |
Static Public Member Functions | |
| static ptr< symbol_register > | singleton_instance_get () |
| The method singleton_instance_get returns the value of the field symbol_register::singleton_instance. | |
| static void | singleton_instance_set (const ptr< symbol_register > &) |
| The method singleton_instance_set sets the field symbol_register::singleton_instance to the given value. | |
| static ptr< symbol_register > | instance () |
| static ptr< symbol_register > | create (ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > a__symbol_register__externals, ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > a__symbol_register__globals, ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > a__symbol_register__internals) |
| First generated factory method for class symbol_register. | |
| static ptr< symbol_register > | create () |
| Second generated factory method for class symbol_register. | |
Protected Member Functions | |
| symbol_register (ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > a__symbol_register__externals, ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > a__symbol_register__globals, ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > a__symbol_register__internals) | |
| Generated constructor for class symbol_register. | |
| virtual void | gc_mark () |
| Marking routine for class symbol_register. | |
Private Attributes | |
| srp< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > | externals |
| Registered external symbols. | |
| srp< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > | globals |
| Registered global symbols. | |
| srp< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > | internals |
| Registered internal symbols. | |
Static Private Attributes | |
| static ptr< symbol_register > | singleton_instance = NULL |
| static ptr< reflection_list > | reflection = reflection |
Holds list of global symbols (functions, variables) defined within translation unit. Global asm symbol declarations are generated from it during asm code generation phase.
Definition at line 41 of file symbol_register.g.hh.
| lestes::md::symbols::symbol_register::symbol_register | ( | ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > | a__symbol_register__externals, | |
| ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > | a__symbol_register__globals, | |||
| ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > | a__symbol_register__internals | |||
| ) | [protected] |
Generated constructor for class symbol_register.
Generated constructor for class symbol_register.
Definition at line 123 of file symbol_register.g.cc.
Referenced by create().
00126 : symbol_register_base(), externals(checked(a__symbol_register__externals)), globals(checked(a__symbol_register__globals)), internals(checked(a__symbol_register__internals)) 00127 {}
| ptr< symbol_register > lestes::md::symbols::symbol_register::singleton_instance_get | ( | ) | [static] |
The method singleton_instance_get returns the value of the field symbol_register::singleton_instance.
Definition at line 29 of file symbol_register.g.cc.
References singleton_instance.
Referenced by instance().
00030 { 00031 return singleton_instance; 00032 }
| void lestes::md::symbols::symbol_register::singleton_instance_set | ( | const ptr< symbol_register > & | x | ) | [static] |
The method singleton_instance_set sets the field symbol_register::singleton_instance to the given value.
| [in] | x | The new value to set symbol_register::singleton_instance to. |
Definition at line 38 of file symbol_register.g.cc.
References singleton_instance.
Referenced by instance().
00039 { 00040 symbol_register::singleton_instance = x; 00041 }
| ptr<::lestes::std::set< srp<::lestes::lang::cplus::sem::ss_declaration > > > lestes::md::symbols::symbol_register::externals_get | ( | ) | const |
The method externals_get returns the value of the field symbol_register::externals.
Definition at line 47 of file symbol_register.g.cc.
References externals.
00048 { 00049 return externals; 00050 }
| void lestes::md::symbols::symbol_register::externals_set | ( | const ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > & | x | ) |
The method externals_set sets the field symbol_register::externals to the given value.
| [in] | x | The new value to set symbol_register::externals to. |
Definition at line 56 of file symbol_register.g.cc.
References externals.
00057 { 00058 symbol_register::externals = x; 00059 }
| ptr<::lestes::std::set< srp<::lestes::lang::cplus::sem::ss_declaration > > > lestes::md::symbols::symbol_register::globals_get | ( | ) | const |
The method globals_get returns the value of the field symbol_register::globals.
Definition at line 65 of file symbol_register.g.cc.
References globals.
00066 { 00067 return globals; 00068 }
| void lestes::md::symbols::symbol_register::globals_set | ( | const ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > & | x | ) |
The method globals_set sets the field symbol_register::globals to the given value.
| [in] | x | The new value to set symbol_register::globals to. |
Definition at line 74 of file symbol_register.g.cc.
References globals.
00075 { 00076 symbol_register::globals = x; 00077 }
| ptr<::lestes::std::set< srp<::lestes::lang::cplus::sem::ss_declaration > > > lestes::md::symbols::symbol_register::internals_get | ( | ) | const |
The method internals_get returns the value of the field symbol_register::internals.
Definition at line 83 of file symbol_register.g.cc.
References internals.
00084 { 00085 return internals; 00086 }
| void lestes::md::symbols::symbol_register::internals_set | ( | const ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > & | x | ) |
The method internals_set sets the field symbol_register::internals to the given value.
| [in] | x | The new value to set symbol_register::internals to. |
Definition at line 92 of file symbol_register.g.cc.
References internals.
00093 { 00094 symbol_register::internals = x; 00095 }
| ptr< symbol_register > lestes::md::symbols::symbol_register::instance | ( | ) | [static] |
Definition at line 26 of file symbol_register.cc.
References create(), singleton_instance_get(), and singleton_instance_set().
00026 { 00027 if ( !singleton_instance_get() ) { 00028 singleton_instance_set(symbol_register::create()); 00029 } 00030 return singleton_instance_get(); 00031 }
| void lestes::md::symbols::symbol_register::register_external | ( | ptr< ::lestes::lang::cplus::sem::ss_declaration > | symbol | ) |
Registers an external symbol.
| void lestes::md::symbols::symbol_register::register_global | ( | ptr< ::lestes::lang::cplus::sem::ss_declaration > | symbol | ) |
Registers a global symbol.
| void lestes::md::symbols::symbol_register::register_internal | ( | ptr< ::lestes::lang::cplus::sem::ss_declaration > | symbol | ) |
Registers an internal symbol.
| virtual void lestes::md::symbols::symbol_register::register_symbol | ( | ptr< ::lestes::lang::cplus::sem::ss_declaration > | symbol | ) | [virtual] |
| void lestes::md::symbols::symbol_register::emit_global_declarations | ( | ::std::ostream & | output | ) |
Emits global delarations for registered symbols.
| output | Output. |
Definition at line 104 of file symbol_register.cc.
References externals, globals, lestes::md::symbols::name_mangler::instance(), internals, and lestes::md::string_replace().
00104 { 00105 decl_set_type::iterator it; 00106 00107 for(it=externals->begin(); it!=externals->end(); it++) { 00108 output << string_replace(tm_asm::ent_extern_symbol_decl_get(),"$name",name_mangler::instance()->mangle(*it)); 00109 } 00110 00111 for(it=globals->begin(); it!=globals->end(); it++) { 00112 output << string_replace(tm_asm::ent_global_symbol_decl_get(),"$name",name_mangler::instance()->mangle(*it)); 00113 } 00114 00115 for(it=internals->begin(); it!=internals->end(); it++) { 00116 output << string_replace(tm_asm::ent_internal_symbol_decl_get(),"$name",name_mangler::instance()->mangle(*it)); 00117 } 00118 }
| ptr< symbol_register > lestes::md::symbols::symbol_register::create | ( | ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > | a__symbol_register__externals, | |
| ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > | a__symbol_register__globals, | |||
| ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > | a__symbol_register__internals | |||
| ) | [static] |
First generated factory method for class symbol_register.
This factory method for class symbol_register takes values of all fields as arguments.
Definition at line 101 of file symbol_register.g.cc.
References symbol_register().
00104 { 00105 return ptr< symbol_register > ( new symbol_register(a__symbol_register__externals, 00106 a__symbol_register__globals, 00107 a__symbol_register__internals) ); 00108 }
| ptr< symbol_register > lestes::md::symbols::symbol_register::create | ( | void | ) | [static] |
Second generated factory method for class symbol_register.
This factory method for class symbol_register uses initializers.
Definition at line 114 of file symbol_register.g.cc.
References symbol_register().
Referenced by instance().
00115 { 00116 return ptr< symbol_register > ( new symbol_register(::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > ::create(), ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > ::create(), ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > ::create()) ); 00117 }
| ptr< object::reflection_list > lestes::md::symbols::symbol_register::reflection_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::md::symbols::symbol_register_base.
Definition at line 129 of file symbol_register.g.cc.
References lestes::std::list< T >::create(), reflection, and lestes::md::symbols::symbol_register_base::reflection_get().
00130 { 00131 if (!reflection) { 00132 typedef class_reflection::field_metadata md; 00133 typedef class_reflection::field_metadata_list mdlist; 00134 ptr<mdlist> mdl = mdlist::create(); 00135 mdl->push_back( md::create( "singleton_instance", "symbol_register" ) ); 00136 mdl->push_back( md::create( "externals", "set< srp< ::lestes::lang::cplus::sem::ss_declaration > >" ) ); 00137 mdl->push_back( md::create( "globals", "set< srp< ::lestes::lang::cplus::sem::ss_declaration > >" ) ); 00138 mdl->push_back( md::create( "internals", "set< srp< ::lestes::lang::cplus::sem::ss_declaration > >" ) ); 00139 reflection = reflection_list::create( symbol_register_base::reflection_get() ); 00140 reflection->push_back( class_reflection::create( "symbol_register", mdl ) ); 00141 } 00142 return reflection; 00143 }
| ptr< object::field_list_list > lestes::md::symbols::symbol_register::field_values_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::md::symbols::symbol_register_base.
Definition at line 145 of file symbol_register.g.cc.
References lestes::std::list< T >::create(), and lestes::md::symbols::symbol_register_base::field_values_get().
00146 { 00147 ptr < field_list_list > result = symbol_register_base::field_values_get(); 00148 result->push_back( value_list::create() ); 00149 result->back()->push_back( this->singleton_instance ); 00150 result->push_back( value_list::create() ); 00151 result->back()->push_back( this->externals ); 00152 result->push_back( value_list::create() ); 00153 result->back()->push_back( this->globals ); 00154 result->push_back( value_list::create() ); 00155 result->back()->push_back( this->internals ); 00156 return result; 00157 }
| void lestes::md::symbols::symbol_register::gc_mark | ( | void | ) | [protected, virtual] |
Marking routine for class symbol_register.
Marking routine is used for garbage collection.
Reimplemented from lestes::md::symbols::symbol_register_base.
Definition at line 164 of file symbol_register.g.cc.
References lestes::md::symbols::symbol_register_base::gc_mark().
00165 { 00166 symbol_register_base::gc_mark(); 00167 }
ptr< symbol_register > lestes::md::symbols::symbol_register::singleton_instance = NULL [static, private] |
Definition at line 113 of file symbol_register.g.hh.
Referenced by singleton_instance_get(), and singleton_instance_set().
srp< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > lestes::md::symbols::symbol_register::externals [private] |
Registered external symbols.
Definition at line 115 of file symbol_register.g.hh.
Referenced by emit_global_declarations(), externals_get(), and externals_set().
srp< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > lestes::md::symbols::symbol_register::globals [private] |
Registered global symbols.
Definition at line 117 of file symbol_register.g.hh.
Referenced by emit_global_declarations(), globals_get(), and globals_set().
srp< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > lestes::md::symbols::symbol_register::internals [private] |
Registered internal symbols.
Definition at line 119 of file symbol_register.g.hh.
Referenced by emit_global_declarations(), internals_get(), and internals_set().
ptr< object::reflection_list > lestes::md::symbols::symbol_register::reflection = reflection [static, private] |
Reimplemented from lestes::md::symbols::symbol_register_base.
Definition at line 120 of file symbol_register.g.hh.
Referenced by reflection_get().
1.5.1-20070107