00001 // This file is automatically generated, do not edit. 00002 00003 /*! 00004 \file 00005 \brief Declaration convertor. 00006 Vistior recognizing ss_structure_declaration. 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_declaration2ss_structure_declaration.g.hh> 00016 00017 package(lestes); 00018 package(lang); 00019 package(cplus); 00020 package(sem); 00021 00022 00023 // ------------- Class ss_declaration2ss_structure_declaration follows. ------------- 00024 00025 /*! 00026 \returns The value of ss_declaration2ss_structure_declaration::result. 00027 \author lsg 00028 */ 00029 ptr< ::lestes::lang::cplus::sem::ss_structure_declaration > ss_declaration2ss_structure_declaration::result_get() const 00030 { 00031 return result; 00032 } 00033 00034 /*! 00035 \param[in] x The new value to set ss_declaration2ss_structure_declaration::result to. 00036 \author lsg 00037 */ 00038 void ss_declaration2ss_structure_declaration::result_set(const ptr< ::lestes::lang::cplus::sem::ss_structure_declaration > & x) 00039 { 00040 ss_declaration2ss_structure_declaration::result = x; 00041 } 00042 00043 /*! 00044 Static field ss_declaration2ss_structure_declaration::the_instance. 00045 \author lsg 00046 */ 00047 ptr< ss_declaration2ss_structure_declaration > ss_declaration2ss_structure_declaration::the_instance = the_instance; 00048 00049 /*! 00050 Generated instance() method for singleton class ss_declaration2ss_structure_declaration. 00051 \author lsg 00052 */ 00053 ptr< ss_declaration2ss_structure_declaration > ss_declaration2ss_structure_declaration::instance() 00054 { 00055 return the_instance ? the_instance : the_instance = new ss_declaration2ss_structure_declaration(NULL); 00056 } 00057 00058 /*! 00059 Generated constructor for class ss_declaration2ss_structure_declaration. 00060 \author lsg 00061 */ 00062 ss_declaration2ss_structure_declaration::ss_declaration2ss_structure_declaration (ptr< ::lestes::lang::cplus::sem::ss_structure_declaration > a__ss_declaration2ss_structure_declaration__result) 00063 : ss_declaration_default_visitor(), result(a__ss_declaration2ss_structure_declaration__result) 00064 {} 00065 00066 ptr< object::reflection_list > ss_declaration2ss_structure_declaration::reflection_get() const 00067 { 00068 if (!reflection) { 00069 typedef class_reflection::field_metadata md; 00070 typedef class_reflection::field_metadata_list mdlist; 00071 ptr<mdlist> mdl = mdlist::create(); 00072 mdl->push_back( md::create( "result", "ss_structure_declaration" ) ); 00073 reflection = reflection_list::create( ss_declaration_default_visitor::reflection_get() ); 00074 reflection->push_back( class_reflection::create( "ss_declaration2ss_structure_declaration", mdl ) ); 00075 } 00076 return reflection; 00077 } 00078 00079 ptr< object::field_list_list > ss_declaration2ss_structure_declaration::field_values_get() const 00080 { 00081 ptr < field_list_list > result = ss_declaration_default_visitor::field_values_get(); 00082 result->push_back( value_list::create() ); 00083 result->back()->push_back( this->result ); 00084 return result; 00085 } 00086 00087 ptr< ::lestes::lang::cplus::sem::ss_structure_declaration > ss_declaration2ss_structure_declaration::process( const ptr< ::lestes::lang::cplus::sem::ss_declaration > & o ) 00088 { 00089 lassert2( o, "Cannot visit NULL object." ); 00090 o->accept_ss_declaration_visitor( ptr< ss_declaration_visitor >(this) ); 00091 return result_get(); 00092 } 00093 00094 00095 /*! 00096 Marking routine is used for garbage collection. 00097 \author lsg 00098 */ 00099 void ss_declaration2ss_structure_declaration::gc_mark() 00100 { 00101 ss_declaration_default_visitor::gc_mark(); 00102 } 00103 00104 // End of class ss_declaration2ss_structure_declaration. 00105 00106 00107 // static data members follow 00108 ptr<object::reflection_list> ss_declaration2ss_structure_declaration::reflection = reflection; 00109 00110 end_package(sem); 00111 end_package(cplus); 00112 end_package(lang); 00113 end_package(lestes); 00114
1.5.1-20070107