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
1.5.1-20070107