ss_type2lstring_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_type.
00006         \author jaz
00007 */
00008 
00009 #include <lestes/lang/cplus/sem/ss_type.g.hh>
00010 #include <lestes/lang/cplus/sem/ss_type_builtin.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/lang/cplus/sem/ss_type2lstring_base.g.hh>
00017 
00018 package(lestes);
00019 package(lang);
00020 package(cplus);
00021 package(sem);
00022 
00023 
00024 // ------------- Class ss_type2mangled_id follows. -------------
00025 
00026 /*!
00027    \returns The value of ss_type2mangled_id::singleton_instance.
00028    \author lsg
00029  */
00030 ptr< ss_type2mangled_id > ss_type2mangled_id::singleton_instance_get()
00031 {
00032         return singleton_instance;
00033 }
00034 
00035 /*!
00036    \param[in] x The new value to set ss_type2mangled_id::singleton_instance to.
00037    \author lsg
00038  */
00039 void ss_type2mangled_id::singleton_instance_set(const ptr< ss_type2mangled_id > & x)
00040 {
00041         ss_type2mangled_id::singleton_instance = x;
00042 }
00043 
00044 /*!
00045    \returns The value of ss_type2mangled_id::result.
00046    \author lsg
00047  */
00048 lstring ss_type2mangled_id::result_get() const
00049 {
00050         return result;
00051 }
00052 
00053 /*!
00054    \param[in] x The new value to set ss_type2mangled_id::result to.
00055    \author lsg
00056  */
00057 void ss_type2mangled_id::result_set(lstring x)
00058 {
00059         ss_type2mangled_id::result = x;
00060 }
00061 
00062 /*!
00063    This factory method for class ss_type2mangled_id takes values of all fields as arguments.
00064    \author lsg
00065  */
00066 ptr< ss_type2mangled_id > ss_type2mangled_id::create(lstring a__ss_type2mangled_id__result)
00067 {
00068         return ptr< ss_type2mangled_id > ( new ss_type2mangled_id(a__ss_type2mangled_id__result) );
00069 }
00070 
00071 /*!
00072    This factory method for class ss_type2mangled_id uses initializers.
00073    \author lsg
00074  */
00075 ptr< ss_type2mangled_id > ss_type2mangled_id::create()
00076 {
00077         return ptr< ss_type2mangled_id > ( new ss_type2mangled_id("") );
00078 }
00079 
00080 /*!
00081    Generated constructor for class ss_type2mangled_id.
00082    \author lsg
00083  */
00084 ss_type2mangled_id::ss_type2mangled_id (lstring a__ss_type2mangled_id__result)
00085         : ss_type_visitor(), result(a__ss_type2mangled_id__result)
00086 {}
00087 
00088 ptr< object::reflection_list > ss_type2mangled_id::reflection_get() const
00089 {
00090         if (!reflection) {
00091                 typedef class_reflection::field_metadata md;
00092                 typedef class_reflection::field_metadata_list mdlist;
00093                 ptr<mdlist> mdl = mdlist::create();
00094                 mdl->push_back( md::create( "singleton_instance", "ss_type2mangled_id" ) );
00095                 mdl->push_back( md::create( "result", "lstring" ) );
00096                 reflection = reflection_list::create( ss_type_visitor::reflection_get() );
00097                 reflection->push_back( class_reflection::create( "ss_type2mangled_id", mdl ) );
00098         }
00099         return reflection;
00100 }
00101 
00102 ptr< object::field_list_list > ss_type2mangled_id::field_values_get() const
00103 {
00104         ptr < field_list_list > result = ss_type_visitor::field_values_get();
00105         result->push_back( value_list::create() );
00106         result->back()->push_back( this->singleton_instance );
00107         result->push_back( value_list::create() );
00108         result->back()->push_back( objectize< lstring > ::create( this->result ) );
00109         return result;
00110 }
00111 
00112 lstring ss_type2mangled_id::process( const ptr< ::lestes::lang::cplus::sem::ss_type > & o )
00113 {
00114         lassert2( o, "Cannot visit NULL object." );
00115         o->accept_ss_type_visitor( ptr< ss_type_visitor >(this) );
00116         return result_get();
00117 }
00118 
00119 
00120 /*!
00121    Marking routine is used for garbage collection.
00122    \author lsg
00123  */
00124 void ss_type2mangled_id::gc_mark()
00125 {
00126         ss_type_visitor::gc_mark();
00127 }
00128 
00129 // End of class ss_type2mangled_id.
00130 
00131 
00132 // static data members follow 
00133 ptr< ss_type2mangled_id > ss_type2mangled_id::singleton_instance = singleton_instance;
00134 ptr<object::reflection_list> ss_type2mangled_id::reflection = reflection;
00135 
00136 end_package(sem);
00137 end_package(cplus);
00138 end_package(lang);
00139 end_package(lestes);
00140 

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