00001 // This file is automatically generated, do not edit. 00002 00003 00004 #include <lestes/std/list.hh> 00005 #include <lestes/std/pair.hh> 00006 #include <lestes/std/reflect.hh> 00007 00008 #include <lestes/lang/cplus/sem/ss_decl_name_matcher.g.hh> 00009 00010 package(lestes); 00011 package(lang); 00012 package(cplus); 00013 package(sem); 00014 00015 00016 // ------------- Class ss_decl_name_matcher follows. ------------- 00017 00018 /*! 00019 This factory method for class ss_decl_name_matcher takes values of all fields as arguments. 00020 \author lsg 00021 */ 00022 ptr< ss_decl_name_matcher > ss_decl_name_matcher::create(state_type a__ss_decl_name_matcher__state, 00023 bool a__ss_decl_name_matcher__result) 00024 { 00025 return ptr< ss_decl_name_matcher > ( new ss_decl_name_matcher(a__ss_decl_name_matcher__state, 00026 a__ss_decl_name_matcher__result) ); 00027 } 00028 00029 /*! 00030 This factory method for class ss_decl_name_matcher uses initializers. 00031 \author lsg 00032 */ 00033 ptr< ss_decl_name_matcher > ss_decl_name_matcher::create() 00034 { 00035 return ptr< ss_decl_name_matcher > ( new ss_decl_name_matcher(READY, false) ); 00036 } 00037 00038 /*! 00039 Generated constructor for class ss_decl_name_matcher. 00040 \author lsg 00041 */ 00042 ss_decl_name_matcher::ss_decl_name_matcher (state_type a__ss_decl_name_matcher__state, 00043 bool a__ss_decl_name_matcher__result) 00044 : ss_decl_name_visitor(), state(a__ss_decl_name_matcher__state), result(a__ss_decl_name_matcher__result) 00045 {} 00046 00047 ptr< object::reflection_list > ss_decl_name_matcher::reflection_get() const 00048 { 00049 if (!reflection) { 00050 typedef class_reflection::field_metadata md; 00051 typedef class_reflection::field_metadata_list mdlist; 00052 ptr<mdlist> mdl = mdlist::create(); 00053 mdl->push_back( md::create( "state", "state_type" ) ); 00054 mdl->push_back( md::create( "result", "bool" ) ); 00055 reflection = reflection_list::create( ss_decl_name_visitor::reflection_get() ); 00056 reflection->push_back( class_reflection::create( "ss_decl_name_matcher", mdl ) ); 00057 } 00058 return reflection; 00059 } 00060 00061 ptr< object::field_list_list > ss_decl_name_matcher::field_values_get() const 00062 { 00063 ptr < field_list_list > result = ss_decl_name_visitor::field_values_get(); 00064 result->push_back( value_list::create() ); 00065 result->back()->push_back( objectize< state_type > ::create( this->state ) ); 00066 result->push_back( value_list::create() ); 00067 result->back()->push_back( objectize< bool > ::create( this->result ) ); 00068 return result; 00069 } 00070 00071 00072 /*! 00073 Marking routine is used for garbage collection. 00074 \author lsg 00075 */ 00076 void ss_decl_name_matcher::gc_mark() 00077 { 00078 ss_decl_name_visitor::gc_mark(); 00079 } 00080 00081 // End of class ss_decl_name_matcher. 00082 00083 00084 // static data members follow 00085 ptr<object::reflection_list> ss_decl_name_matcher::reflection = reflection; 00086 00087 end_package(sem); 00088 end_package(cplus); 00089 end_package(lang); 00090 end_package(lestes); 00091
1.5.1-20070107