ss_type2cv_unqualified.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief CV qualifiers remover.
00006         Visitor removing CV qualifiers from SS types.
00007 */
00008 
00009 #include <lestes/lang/cplus/sem/ss_type.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_type2cv_unqualified.g.hh>
00016 
00017 package(lestes);
00018 package(lang);
00019 package(cplus);
00020 package(sem);
00021 
00022 
00023 // ------------- Class ss_type2cv_unqualified follows. -------------
00024 
00025 /*!
00026    \returns The value of ss_type2cv_unqualified::unqualified.
00027    \author lsg
00028  */
00029 ptr< ::lestes::lang::cplus::sem::ss_type > ss_type2cv_unqualified::unqualified_get() const
00030 {
00031         return unqualified;
00032 }
00033 
00034 /*!
00035    This factory method for class ss_type2cv_unqualified takes values of all fields as arguments.
00036    \author lsg
00037  */
00038 ptr< ss_type2cv_unqualified > ss_type2cv_unqualified::create(ptr< ::lestes::lang::cplus::sem::ss_type > a__ss_type2cv_unqualified__unqualified)
00039 {
00040         return ptr< ss_type2cv_unqualified > ( new ss_type2cv_unqualified(a__ss_type2cv_unqualified__unqualified) );
00041 }
00042 
00043 /*!
00044    This factory method for class ss_type2cv_unqualified uses initializers.
00045    \author lsg
00046  */
00047 ptr< ss_type2cv_unqualified > ss_type2cv_unqualified::create()
00048 {
00049         return ptr< ss_type2cv_unqualified > ( new ss_type2cv_unqualified(NULL) );
00050 }
00051 
00052 /*!
00053    Generated constructor for class ss_type2cv_unqualified.
00054    \author lsg
00055  */
00056 ss_type2cv_unqualified::ss_type2cv_unqualified (ptr< ::lestes::lang::cplus::sem::ss_type > a__ss_type2cv_unqualified__unqualified)
00057         : ss_type2cv_unqualified_base(), unqualified(a__ss_type2cv_unqualified__unqualified)
00058 {}
00059 
00060 ptr< object::reflection_list > ss_type2cv_unqualified::reflection_get() const
00061 {
00062         if (!reflection) {
00063                 typedef class_reflection::field_metadata md;
00064                 typedef class_reflection::field_metadata_list mdlist;
00065                 ptr<mdlist> mdl = mdlist::create();
00066                 mdl->push_back( md::create( "unqualified", "ss_type" ) );
00067                 reflection = reflection_list::create( ss_type2cv_unqualified_base::reflection_get() );
00068                 reflection->push_back( class_reflection::create( "ss_type2cv_unqualified", mdl ) );
00069         }
00070         return reflection;
00071 }
00072 
00073 ptr< object::field_list_list > ss_type2cv_unqualified::field_values_get() const
00074 {
00075         ptr < field_list_list > result = ss_type2cv_unqualified_base::field_values_get();
00076         result->push_back( value_list::create() );
00077         result->back()->push_back( this->unqualified );
00078         return result;
00079 }
00080 
00081 ptr< ::lestes::lang::cplus::sem::ss_type > ss_type2cv_unqualified::process( const ptr< ::lestes::lang::cplus::sem::ss_type > & o )
00082 {
00083         lassert2( o, "Cannot visit NULL object." );
00084         o->accept_ss_type_visitor( ptr< ss_type_visitor >(this) );
00085         return unqualified_get();
00086 }
00087 
00088 
00089 /*!
00090    Marking routine is used for garbage collection.
00091    \author lsg
00092  */
00093 void ss_type2cv_unqualified::gc_mark()
00094 {
00095         ss_type2cv_unqualified_base::gc_mark();
00096 }
00097 
00098 // End of class ss_type2cv_unqualified.
00099 
00100 
00101 // static data members follow 
00102 ptr<object::reflection_list> ss_type2cv_unqualified::reflection = reflection;
00103 
00104 end_package(sem);
00105 end_package(cplus);
00106 end_package(lang);
00107 end_package(lestes);
00108 

Generated on Mon Feb 12 18:23:33 2007 for lestes by doxygen 1.5.1-20070107