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

Public Member Functions | |
| lstring | mangle (ptr< ::lestes::lang::cplus::sem::ss_declaration > decl) |
| Mangles declaration. | |
| lstring | wchar_escapes_replace (lstring name) |
| Replaces wide character escapes after its uppercase form. | |
| 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< name_mangler > | singleton_instance_get () |
| The method singleton_instance_get returns the value of the field name_mangler::singleton_instance. | |
| static void | singleton_instance_set (const ptr< name_mangler > &) |
| The method singleton_instance_set sets the field name_mangler::singleton_instance to the given value. | |
| static ptr< name_mangler > | instance () |
| Returns a singleton instance. | |
| static ptr< name_mangler > | create () |
| First generated factory method for class name_mangler. | |
Protected Member Functions | |
| name_mangler () | |
| Generated constructor for class name_mangler. | |
| virtual void | gc_mark () |
| Marking routine for class name_mangler. | |
Static Private Attributes | |
| static ptr< name_mangler > | singleton_instance = NULL |
| static ptr< reflection_list > | reflection = reflection |
Definition at line 31 of file name_mangler.g.hh.
| lestes::md::symbols::name_mangler::name_mangler | ( | ) | [protected] |
Generated constructor for class name_mangler.
Generated constructor for class name_mangler.
Definition at line 54 of file name_mangler.g.cc.
Referenced by create().
| ptr< name_mangler > lestes::md::symbols::name_mangler::singleton_instance_get | ( | ) | [static] |
The method singleton_instance_get returns the value of the field name_mangler::singleton_instance.
Definition at line 27 of file name_mangler.g.cc.
References singleton_instance.
Referenced by instance().
00028 { 00029 return singleton_instance; 00030 }
| void lestes::md::symbols::name_mangler::singleton_instance_set | ( | const ptr< name_mangler > & | x | ) | [static] |
The method singleton_instance_set sets the field name_mangler::singleton_instance to the given value.
| [in] | x | The new value to set name_mangler::singleton_instance to. |
Definition at line 36 of file name_mangler.g.cc.
References singleton_instance.
Referenced by instance().
00037 { 00038 name_mangler::singleton_instance = x; 00039 }
| ptr< name_mangler > lestes::md::symbols::name_mangler::instance | ( | ) | [static] |
Returns a singleton instance.
Definition at line 350 of file name_mangler.cc.
References create(), singleton_instance_get(), and singleton_instance_set().
Referenced by lestes::md::symbols::symbol_register::emit_global_declarations().
00350 { 00351 if ( !singleton_instance_get() ) { 00352 singleton_instance_set(name_mangler::create()); 00353 } 00354 return singleton_instance_get(); 00355 }
| lstring lestes::md::symbols::name_mangler::mangle | ( | ptr< ::lestes::lang::cplus::sem::ss_declaration > | decl | ) |
Mangles declaration.
| lstring lestes::md::symbols::name_mangler::wchar_escapes_replace | ( | lstring | name | ) |
Replaces wide character escapes after its uppercase form.
| name | The string. |
Definition at line 364 of file name_mangler.cc.
References lestes::md::string_replace().
00365 { 00366 return ::lestes::md::string_replace(::lestes::md::string_replace( name,"\\u",".u"),"\\U",".U"); 00367 }
| ptr< name_mangler > lestes::md::symbols::name_mangler::create | ( | void | ) | [static] |
First generated factory method for class name_mangler.
This factory method for class name_mangler takes values of all fields as arguments.
Definition at line 45 of file name_mangler.g.cc.
References name_mangler().
Referenced by instance().
00046 { 00047 return ptr< name_mangler > ( new name_mangler() ); 00048 }
| ptr< object::reflection_list > lestes::md::symbols::name_mangler::reflection_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::std::object.
Definition at line 58 of file name_mangler.g.cc.
References lestes::std::list< T >::create(), reflection, and lestes::std::object::reflection_get().
00059 { 00060 if (!reflection) { 00061 typedef class_reflection::field_metadata md; 00062 typedef class_reflection::field_metadata_list mdlist; 00063 ptr<mdlist> mdl = mdlist::create(); 00064 mdl->push_back( md::create( "singleton_instance", "name_mangler" ) ); 00065 reflection = reflection_list::create( ::lestes::std::object::reflection_get() ); 00066 reflection->push_back( class_reflection::create( "name_mangler", mdl ) ); 00067 } 00068 return reflection; 00069 }
| ptr< object::field_list_list > lestes::md::symbols::name_mangler::field_values_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::std::object.
Definition at line 71 of file name_mangler.g.cc.
References lestes::std::list< T >::create(), and lestes::std::object::field_values_get().
00072 { 00073 ptr < field_list_list > result = ::lestes::std::object::field_values_get(); 00074 result->push_back( value_list::create() ); 00075 result->back()->push_back( this->singleton_instance ); 00076 return result; 00077 }
| void lestes::md::symbols::name_mangler::gc_mark | ( | void | ) | [protected, virtual] |
Marking routine for class name_mangler.
Marking routine is used for garbage collection.
Reimplemented from lestes::std::mem::keystone.
Definition at line 84 of file name_mangler.g.cc.
References lestes::std::mem::keystone::gc_mark().
00085 { 00086 ::lestes::std::object::gc_mark(); 00087 }
ptr< name_mangler > lestes::md::symbols::name_mangler::singleton_instance = NULL [static, private] |
Definition at line 68 of file name_mangler.g.hh.
Referenced by singleton_instance_get(), and singleton_instance_set().
ptr< object::reflection_list > lestes::md::symbols::name_mangler::reflection = reflection [static, private] |
Reimplemented from lestes::std::object.
Definition at line 69 of file name_mangler.g.hh.
Referenced by reflection_get().
1.5.1-20070107