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