ss_decl2lstring_base.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Visitors returning lstring for ss_declaration.
00006         \author jaz
00007 */
00008 
00009 #include <lestes/lang/cplus/sem/ss_declaration.g.hh>
00010 
00011 #include <lestes/std/list.hh>
00012 #include <lestes/std/pair.hh>
00013 #include <lestes/std/reflect.hh>
00014 
00015 #include <lestes/lang/cplus/sem/ss_decl2lstring_base.g.hh>
00016 
00017 package(lestes);
00018 package(lang);
00019 package(cplus);
00020 package(sem);
00021 
00022 
00023 // ------------- Class ss_decl2mangled_name follows. -------------
00024 
00025 /*!
00026    \returns The value of ss_decl2mangled_name::singleton_instance.
00027    \author lsg
00028  */
00029 ptr< ss_decl2mangled_name > ss_decl2mangled_name::singleton_instance_get()
00030 {
00031         return singleton_instance;
00032 }
00033 
00034 /*!
00035    \param[in] x The new value to set ss_decl2mangled_name::singleton_instance to.
00036    \author lsg
00037  */
00038 void ss_decl2mangled_name::singleton_instance_set(const ptr< ss_decl2mangled_name > & x)
00039 {
00040         ss_decl2mangled_name::singleton_instance = x;
00041 }
00042 
00043 /*!
00044    \returns The value of ss_decl2mangled_name::level.
00045    \author lsg
00046  */
00047 ulint ss_decl2mangled_name::level_get() const
00048 {
00049         return level;
00050 }
00051 
00052 /*!
00053    \param[in] x The new value to set ss_decl2mangled_name::level to.
00054    \author lsg
00055  */
00056 void ss_decl2mangled_name::level_set(ulint x)
00057 {
00058         ss_decl2mangled_name::level = x;
00059 }
00060 
00061 /*!
00062    \returns The value of ss_decl2mangled_name::result.
00063    \author lsg
00064  */
00065 lstring ss_decl2mangled_name::result_get() const
00066 {
00067         return result;
00068 }
00069 
00070 /*!
00071    \param[in] x The new value to set ss_decl2mangled_name::result to.
00072    \author lsg
00073  */
00074 void ss_decl2mangled_name::result_set(lstring x)
00075 {
00076         ss_decl2mangled_name::result = x;
00077 }
00078 
00079 /*!
00080    \returns The value of ss_decl2mangled_name::substitutions.
00081    \author lsg
00082  */
00083 ptr< ::lestes::std::map< lstring, lstring > > ss_decl2mangled_name::substitutions_get() const
00084 {
00085         return substitutions;
00086 }
00087 
00088 /*!
00089    \param[in] x The new value to set ss_decl2mangled_name::substitutions to.
00090    \author lsg
00091  */
00092 void ss_decl2mangled_name::substitutions_set(const ptr< ::lestes::std::map< lstring, lstring > > & x)
00093 {
00094         ss_decl2mangled_name::substitutions = x;
00095 }
00096 
00097 /*!
00098    This factory method for class ss_decl2mangled_name takes values of all fields as arguments.
00099    \author lsg
00100  */
00101 ptr< ss_decl2mangled_name > ss_decl2mangled_name::create(ulint a__ss_decl2mangled_name__level,
00102                 lstring a__ss_decl2mangled_name__result,
00103                 ptr< ::lestes::std::map< lstring, lstring > > a__ss_decl2mangled_name__substitutions)
00104 {
00105         return ptr< ss_decl2mangled_name > ( new ss_decl2mangled_name(a__ss_decl2mangled_name__level,
00106                 a__ss_decl2mangled_name__result,
00107                 a__ss_decl2mangled_name__substitutions) );
00108 }
00109 
00110 /*!
00111    This factory method for class ss_decl2mangled_name uses initializers.
00112    \author lsg
00113  */
00114 ptr< ss_decl2mangled_name > ss_decl2mangled_name::create()
00115 {
00116         return ptr< ss_decl2mangled_name > ( new ss_decl2mangled_name(0, "", ::lestes::std::map< lstring, lstring > ::create()) );
00117 }
00118 
00119 /*!
00120    Generated constructor for class ss_decl2mangled_name.
00121    \author lsg
00122  */
00123 ss_decl2mangled_name::ss_decl2mangled_name (ulint a__ss_decl2mangled_name__level,
00124                 lstring a__ss_decl2mangled_name__result,
00125                 ptr< ::lestes::std::map< lstring, lstring > > a__ss_decl2mangled_name__substitutions)
00126         : ss_declaration_visitor(), level(a__ss_decl2mangled_name__level), result(a__ss_decl2mangled_name__result), substitutions(checked(a__ss_decl2mangled_name__substitutions))
00127 {}
00128 
00129 ptr< object::reflection_list > ss_decl2mangled_name::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", "ss_decl2mangled_name" ) );
00136                 mdl->push_back( md::create( "level", "ulint" ) );
00137                 mdl->push_back( md::create( "result", "lstring" ) );
00138                 mdl->push_back( md::create( "substitutions", "map&lt; lstring, lstring &gt;" ) );
00139                 reflection = reflection_list::create( ss_declaration_visitor::reflection_get() );
00140                 reflection->push_back( class_reflection::create( "ss_decl2mangled_name", mdl ) );
00141         }
00142         return reflection;
00143 }
00144 
00145 ptr< object::field_list_list > ss_decl2mangled_name::field_values_get() const
00146 {
00147         ptr < field_list_list > result = ss_declaration_visitor::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( objectize< ulint > ::create( this->level ) );
00152         result->push_back( value_list::create() );
00153         result->back()->push_back( objectize< lstring > ::create( this->result ) );
00154         result->push_back( value_list::create() );
00155         result->back()->push_back( this->substitutions );
00156         return result;
00157 }
00158 
00159 lstring ss_decl2mangled_name::process( const ptr< ::lestes::lang::cplus::sem::ss_declaration > & o )
00160 {
00161         lassert2( o, "Cannot visit NULL object." );
00162         o->accept_ss_declaration_visitor( ptr< ss_declaration_visitor >(this) );
00163         return result_get();
00164 }
00165 
00166 
00167 /*!
00168    Marking routine is used for garbage collection.
00169    \author lsg
00170  */
00171 void ss_decl2mangled_name::gc_mark()
00172 {
00173         ss_declaration_visitor::gc_mark();
00174 }
00175 
00176 // End of class ss_decl2mangled_name.
00177 
00178 
00179 // static data members follow 
00180 ptr< ss_decl2mangled_name > ss_decl2mangled_name::singleton_instance = singleton_instance;
00181 ptr<object::reflection_list> ss_decl2mangled_name::reflection = reflection;
00182 
00183 end_package(sem);
00184 end_package(cplus);
00185 end_package(lang);
00186 end_package(lestes);
00187 

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