sa_declaration_specifiers.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Analysed declaration specifiers.
00006         
00007                         Class containing properties of an analysed declaration specifier sequence.
00008                 
00009 */
00010 
00011 #include <lestes/lang/cplus/sem/ss_type.g.hh>
00012 
00013 #include <lestes/std/list.hh>
00014 #include <lestes/std/pair.hh>
00015 #include <lestes/std/reflect.hh>
00016 
00017 #include <lestes/lang/cplus/sem/sa_declaration_specifiers.g.hh>
00018 
00019 package(lestes);
00020 package(lang);
00021 package(cplus);
00022 package(sem);
00023 
00024 
00025 // ------------- Class sa_declaration_specifiers follows. -------------
00026 
00027 /*!
00028    \returns The value of sa_declaration_specifiers::type.
00029    \author lsg
00030  */
00031 ptr< ::lestes::lang::cplus::sem::ss_type > sa_declaration_specifiers::type_get() const
00032 {
00033         return type;
00034 }
00035 
00036 /*!
00037    \returns The value of sa_declaration_specifiers::storage_class.
00038    \author lsg
00039  */
00040 ss_storage_class::type sa_declaration_specifiers::storage_class_get() const
00041 {
00042         return storage_class;
00043 }
00044 
00045 /*!
00046    \returns The value of sa_declaration_specifiers::explicit_flag.
00047    \author lsg
00048  */
00049 bool sa_declaration_specifiers::explicit_flag_get() const
00050 {
00051         return explicit_flag;
00052 }
00053 
00054 /*!
00055    \returns The value of sa_declaration_specifiers::inline_flag.
00056    \author lsg
00057  */
00058 bool sa_declaration_specifiers::inline_flag_get() const
00059 {
00060         return inline_flag;
00061 }
00062 
00063 /*!
00064    \returns The value of sa_declaration_specifiers::virtual_flag.
00065    \author lsg
00066  */
00067 bool sa_declaration_specifiers::virtual_flag_get() const
00068 {
00069         return virtual_flag;
00070 }
00071 
00072 /*!
00073    \returns The value of sa_declaration_specifiers::friend_flag.
00074    \author lsg
00075  */
00076 bool sa_declaration_specifiers::friend_flag_get() const
00077 {
00078         return friend_flag;
00079 }
00080 
00081 /*!
00082    This factory method for class sa_declaration_specifiers takes values of all fields as arguments.
00083    \author lsg
00084  */
00085 ptr< sa_declaration_specifiers > sa_declaration_specifiers::create(ptr< ::lestes::lang::cplus::sem::ss_type > a__sa_declaration_specifiers__type,
00086                 ss_storage_class::type a__sa_declaration_specifiers__storage_class,
00087                 bool a__sa_declaration_specifiers__explicit_flag,
00088                 bool a__sa_declaration_specifiers__inline_flag,
00089                 bool a__sa_declaration_specifiers__virtual_flag,
00090                 bool a__sa_declaration_specifiers__friend_flag)
00091 {
00092         return ptr< sa_declaration_specifiers > ( new sa_declaration_specifiers(a__sa_declaration_specifiers__type,
00093                 a__sa_declaration_specifiers__storage_class,
00094                 a__sa_declaration_specifiers__explicit_flag,
00095                 a__sa_declaration_specifiers__inline_flag,
00096                 a__sa_declaration_specifiers__virtual_flag,
00097                 a__sa_declaration_specifiers__friend_flag) );
00098 }
00099 
00100 /*!
00101    Generated constructor for class sa_declaration_specifiers.
00102    \author lsg
00103  */
00104 sa_declaration_specifiers::sa_declaration_specifiers (ptr< ::lestes::lang::cplus::sem::ss_type > a__sa_declaration_specifiers__type,
00105                 ss_storage_class::type a__sa_declaration_specifiers__storage_class,
00106                 bool a__sa_declaration_specifiers__explicit_flag,
00107                 bool a__sa_declaration_specifiers__inline_flag,
00108                 bool a__sa_declaration_specifiers__virtual_flag,
00109                 bool a__sa_declaration_specifiers__friend_flag)
00110         : object(), type(checked(a__sa_declaration_specifiers__type)), storage_class(a__sa_declaration_specifiers__storage_class), explicit_flag(a__sa_declaration_specifiers__explicit_flag), inline_flag(a__sa_declaration_specifiers__inline_flag), virtual_flag(a__sa_declaration_specifiers__virtual_flag), friend_flag(a__sa_declaration_specifiers__friend_flag)
00111 {}
00112 
00113 ptr< object::reflection_list > sa_declaration_specifiers::reflection_get() const
00114 {
00115         if (!reflection) {
00116                 typedef class_reflection::field_metadata md;
00117                 typedef class_reflection::field_metadata_list mdlist;
00118                 ptr<mdlist> mdl = mdlist::create();
00119                 mdl->push_back( md::create( "type", "ss_type" ) );
00120                 mdl->push_back( md::create( "storage_class", "ss_storage_class::type" ) );
00121                 mdl->push_back( md::create( "explicit_flag", "bool" ) );
00122                 mdl->push_back( md::create( "inline_flag", "bool" ) );
00123                 mdl->push_back( md::create( "virtual_flag", "bool" ) );
00124                 mdl->push_back( md::create( "friend_flag", "bool" ) );
00125                 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00126                 reflection->push_back( class_reflection::create( "sa_declaration_specifiers", mdl ) );
00127         }
00128         return reflection;
00129 }
00130 
00131 ptr< object::field_list_list > sa_declaration_specifiers::field_values_get() const
00132 {
00133         ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00134         result->push_back( value_list::create() );
00135         result->back()->push_back( this->type );
00136         result->push_back( value_list::create() );
00137         result->back()->push_back( objectize< ss_storage_class::type > ::create( this->storage_class ) );
00138         result->push_back( value_list::create() );
00139         result->back()->push_back( objectize< bool > ::create( this->explicit_flag ) );
00140         result->push_back( value_list::create() );
00141         result->back()->push_back( objectize< bool > ::create( this->inline_flag ) );
00142         result->push_back( value_list::create() );
00143         result->back()->push_back( objectize< bool > ::create( this->virtual_flag ) );
00144         result->push_back( value_list::create() );
00145         result->back()->push_back( objectize< bool > ::create( this->friend_flag ) );
00146         return result;
00147 }
00148 
00149 
00150 /*!
00151    Marking routine is used for garbage collection.
00152    \author lsg
00153  */
00154 void sa_declaration_specifiers::gc_mark()
00155 {
00156 	::lestes::std::object::gc_mark();
00157 }
00158 
00159 // End of class sa_declaration_specifiers.
00160 
00161 
00162 // static data members follow 
00163 ptr<object::reflection_list> sa_declaration_specifiers::reflection = reflection;
00164 
00165 end_package(sem);
00166 end_package(cplus);
00167 end_package(lang);
00168 end_package(lestes);
00169 

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