symbol_register.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Symbol register.
00006         \author jaz
00007 */
00008 
00009 #include <lestes/backend_v2/intercode/pi.g.hh>
00010 #include <lestes/lang/cplus/sem/ss_declaration.g.hh>
00011 
00012 #include <lestes/std/list.hh>
00013 #include <lestes/std/pair.hh>
00014 #include <lestes/std/reflect.hh>
00015 
00016 #include <lestes/md/symbols/symbol_register.g.hh>
00017 
00018 package(lestes);
00019 package(md);
00020 package(symbols);
00021 
00022 
00023 // ------------- Class symbol_register follows. -------------
00024 
00025 /*!
00026    \returns The value of symbol_register::singleton_instance.
00027    \author lsg
00028  */
00029 ptr< symbol_register > symbol_register::singleton_instance_get()
00030 {
00031         return singleton_instance;
00032 }
00033 
00034 /*!
00035    \param[in] x The new value to set symbol_register::singleton_instance to.
00036    \author lsg
00037  */
00038 void symbol_register::singleton_instance_set(const ptr< symbol_register > & x)
00039 {
00040         symbol_register::singleton_instance = x;
00041 }
00042 
00043 /*!
00044    \returns The value of symbol_register::externals.
00045    \author lsg
00046  */
00047 ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > symbol_register::externals_get() const
00048 {
00049         return externals;
00050 }
00051 
00052 /*!
00053    \param[in] x The new value to set symbol_register::externals to.
00054    \author lsg
00055  */
00056 void symbol_register::externals_set(const ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > & x)
00057 {
00058         symbol_register::externals = x;
00059 }
00060 
00061 /*!
00062    \returns The value of symbol_register::globals.
00063    \author lsg
00064  */
00065 ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > symbol_register::globals_get() const
00066 {
00067         return globals;
00068 }
00069 
00070 /*!
00071    \param[in] x The new value to set symbol_register::globals to.
00072    \author lsg
00073  */
00074 void symbol_register::globals_set(const ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > & x)
00075 {
00076         symbol_register::globals = x;
00077 }
00078 
00079 /*!
00080    \returns The value of symbol_register::internals.
00081    \author lsg
00082  */
00083 ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > symbol_register::internals_get() const
00084 {
00085         return internals;
00086 }
00087 
00088 /*!
00089    \param[in] x The new value to set symbol_register::internals to.
00090    \author lsg
00091  */
00092 void symbol_register::internals_set(const ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > & x)
00093 {
00094         symbol_register::internals = x;
00095 }
00096 
00097 /*!
00098    This factory method for class symbol_register takes values of all fields as arguments.
00099    \author lsg
00100  */
00101 ptr< symbol_register > symbol_register::create(ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > a__symbol_register__externals,
00102                 ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > a__symbol_register__globals,
00103                 ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > a__symbol_register__internals)
00104 {
00105         return ptr< symbol_register > ( new symbol_register(a__symbol_register__externals,
00106                 a__symbol_register__globals,
00107                 a__symbol_register__internals) );
00108 }
00109 
00110 /*!
00111    This factory method for class symbol_register uses initializers.
00112    \author lsg
00113  */
00114 ptr< symbol_register > symbol_register::create()
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 }
00118 
00119 /*!
00120    Generated constructor for class symbol_register.
00121    \author lsg
00122  */
00123 symbol_register::symbol_register (ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > a__symbol_register__externals,
00124                 ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > a__symbol_register__globals,
00125                 ptr< ::lestes::std::set< srp< ::lestes::lang::cplus::sem::ss_declaration > > > a__symbol_register__internals)
00126         : symbol_register_base(), externals(checked(a__symbol_register__externals)), globals(checked(a__symbol_register__globals)), internals(checked(a__symbol_register__internals))
00127 {}
00128 
00129 ptr< object::reflection_list > symbol_register::reflection_get() const
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&lt; srp&lt; ::lestes::lang::cplus::sem::ss_declaration &gt; &gt;" ) );
00137                 mdl->push_back( md::create( "globals", "set&lt; srp&lt; ::lestes::lang::cplus::sem::ss_declaration &gt; &gt;" ) );
00138                 mdl->push_back( md::create( "internals", "set&lt; srp&lt; ::lestes::lang::cplus::sem::ss_declaration &gt; &gt;" ) );
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 }
00144 
00145 ptr< object::field_list_list > symbol_register::field_values_get() const
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 }
00158 
00159 
00160 /*!
00161    Marking routine is used for garbage collection.
00162    \author lsg
00163  */
00164 void symbol_register::gc_mark()
00165 {
00166         symbol_register_base::gc_mark();
00167 }
00168 
00169 // End of class symbol_register.
00170 
00171 
00172 // static data members follow 
00173 ptr< symbol_register > symbol_register::singleton_instance = NULL;
00174 ptr<object::reflection_list> symbol_register::reflection = reflection;
00175 
00176 end_package(symbols);
00177 end_package(md);
00178 end_package(lestes);
00179 

Generated on Mon Feb 12 18:23:36 2007 for lestes by doxygen 1.5.1-20070107