00001 // This file is automatically generated, do not edit. 00002 00003 /*! 00004 \file 00005 \brief CV qualification. 00006 Visitor adding CV qualifiers to ss_type. 00007 */ 00008 00009 #include <lestes/lang/cplus/sem/as_decl.g.hh> 00010 #include <lestes/lang/cplus/sem/ss_type.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/as_cv_qualifier2ss_type.g.hh> 00017 00018 package(lestes); 00019 package(lang); 00020 package(cplus); 00021 package(sem); 00022 00023 00024 // ------------- Class as_cv_qualifier2ss_type follows. ------------- 00025 00026 /*! 00027 \returns The value of as_cv_qualifier2ss_type::type. 00028 \author lsg 00029 */ 00030 ptr< ::lestes::lang::cplus::sem::ss_type > as_cv_qualifier2ss_type::type_get() const 00031 { 00032 return type; 00033 } 00034 00035 /*! 00036 This factory method for class as_cv_qualifier2ss_type takes values of all fields as arguments. 00037 \author lsg 00038 */ 00039 ptr< as_cv_qualifier2ss_type > as_cv_qualifier2ss_type::create(ptr< ::lestes::lang::cplus::sem::ss_type > a__as_cv_qualifier2ss_type__type) 00040 { 00041 return ptr< as_cv_qualifier2ss_type > ( new as_cv_qualifier2ss_type(a__as_cv_qualifier2ss_type__type) ); 00042 } 00043 00044 /*! 00045 Generated constructor for class as_cv_qualifier2ss_type. 00046 \author lsg 00047 */ 00048 as_cv_qualifier2ss_type::as_cv_qualifier2ss_type (ptr< ::lestes::lang::cplus::sem::ss_type > a__as_cv_qualifier2ss_type__type) 00049 : as_cv_qualifier_visitor(), type(checked(a__as_cv_qualifier2ss_type__type)) 00050 {} 00051 00052 ptr< object::reflection_list > as_cv_qualifier2ss_type::reflection_get() const 00053 { 00054 if (!reflection) { 00055 typedef class_reflection::field_metadata md; 00056 typedef class_reflection::field_metadata_list mdlist; 00057 ptr<mdlist> mdl = mdlist::create(); 00058 mdl->push_back( md::create( "type", "ss_type" ) ); 00059 reflection = reflection_list::create( as_cv_qualifier_visitor::reflection_get() ); 00060 reflection->push_back( class_reflection::create( "as_cv_qualifier2ss_type", mdl ) ); 00061 } 00062 return reflection; 00063 } 00064 00065 ptr< object::field_list_list > as_cv_qualifier2ss_type::field_values_get() const 00066 { 00067 ptr < field_list_list > result = as_cv_qualifier_visitor::field_values_get(); 00068 result->push_back( value_list::create() ); 00069 result->back()->push_back( this->type ); 00070 return result; 00071 } 00072 00073 00074 /*! 00075 Marking routine is used for garbage collection. 00076 \author lsg 00077 */ 00078 void as_cv_qualifier2ss_type::gc_mark() 00079 { 00080 as_cv_qualifier_visitor::gc_mark(); 00081 } 00082 00083 // End of class as_cv_qualifier2ss_type. 00084 00085 00086 // static data members follow 00087 ptr<object::reflection_list> as_cv_qualifier2ss_type::reflection = reflection; 00088 00089 end_package(sem); 00090 end_package(cplus); 00091 end_package(lang); 00092 end_package(lestes); 00093
1.5.1-20070107