as_declaration_specifier2properties.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Declaration specifier visitor.
00006         
00007                           Visitor transforming declaration specifiers into properties for SS.
00008                   
00009 */
00010 
00011 #include <lestes/lang/cplus/sem/ss_type.g.hh>
00012 #include <lestes/lang/cplus/sem/as_decl.g.hh>
00013 
00014 #include <lestes/std/list.hh>
00015 #include <lestes/std/pair.hh>
00016 #include <lestes/std/reflect.hh>
00017 
00018 #include <lestes/lang/cplus/sem/as_declaration_specifier2properties.g.hh>
00019 
00020 package(lestes);
00021 package(lang);
00022 package(cplus);
00023 package(sem);
00024 
00025 
00026 // ------------- Class as_declaration_specifier2properties follows. -------------
00027 
00028 /*!
00029    \returns The value of as_declaration_specifier2properties::other_type.
00030    \author lsg
00031  */
00032 ptr< ::lestes::lang::cplus::sem::ss_type > as_declaration_specifier2properties::other_type_get() const
00033 {
00034         return other_type;
00035 }
00036 
00037 /*!
00038    \returns The value of as_declaration_specifier2properties::type_specifier.
00039    \author lsg
00040  */
00041 as_declaration_specifier2properties::type_specifier_type as_declaration_specifier2properties::type_specifier_get() const
00042 {
00043         return type_specifier;
00044 }
00045 
00046 /*!
00047    \returns The value of as_declaration_specifier2properties::storage_class.
00048    \author lsg
00049  */
00050 ss_storage_class::type as_declaration_specifier2properties::storage_class_get() const
00051 {
00052         return storage_class;
00053 }
00054 
00055 /*!
00056    \returns The value of as_declaration_specifier2properties::explicit_flag.
00057    \author lsg
00058  */
00059 bool as_declaration_specifier2properties::explicit_flag_get() const
00060 {
00061         return explicit_flag;
00062 }
00063 
00064 /*!
00065    \returns The value of as_declaration_specifier2properties::inline_flag.
00066    \author lsg
00067  */
00068 bool as_declaration_specifier2properties::inline_flag_get() const
00069 {
00070         return inline_flag;
00071 }
00072 
00073 /*!
00074    \returns The value of as_declaration_specifier2properties::virtual_flag.
00075    \author lsg
00076  */
00077 bool as_declaration_specifier2properties::virtual_flag_get() const
00078 {
00079         return virtual_flag;
00080 }
00081 
00082 /*!
00083    \returns The value of as_declaration_specifier2properties::friend_flag.
00084    \author lsg
00085  */
00086 bool as_declaration_specifier2properties::friend_flag_get() const
00087 {
00088         return friend_flag;
00089 }
00090 
00091 /*!
00092    \returns The value of as_declaration_specifier2properties::const_flag.
00093    \author lsg
00094  */
00095 bool as_declaration_specifier2properties::const_flag_get() const
00096 {
00097         return const_flag;
00098 }
00099 
00100 /*!
00101    \returns The value of as_declaration_specifier2properties::volatile_flag.
00102    \author lsg
00103  */
00104 bool as_declaration_specifier2properties::volatile_flag_get() const
00105 {
00106         return volatile_flag;
00107 }
00108 
00109 /*!
00110    \returns The value of as_declaration_specifier2properties::signed_flag.
00111    \author lsg
00112  */
00113 bool as_declaration_specifier2properties::signed_flag_get() const
00114 {
00115         return signed_flag;
00116 }
00117 
00118 /*!
00119    \returns The value of as_declaration_specifier2properties::unsigned_flag.
00120    \author lsg
00121  */
00122 bool as_declaration_specifier2properties::unsigned_flag_get() const
00123 {
00124         return unsigned_flag;
00125 }
00126 
00127 /*!
00128    \returns The value of as_declaration_specifier2properties::short_flag.
00129    \author lsg
00130  */
00131 bool as_declaration_specifier2properties::short_flag_get() const
00132 {
00133         return short_flag;
00134 }
00135 
00136 /*!
00137    \returns The value of as_declaration_specifier2properties::long_flag.
00138    \author lsg
00139  */
00140 bool as_declaration_specifier2properties::long_flag_get() const
00141 {
00142         return long_flag;
00143 }
00144 
00145 /*!
00146    This factory method for class as_declaration_specifier2properties takes values of all fields as arguments.
00147    \author lsg
00148  */
00149 ptr< as_declaration_specifier2properties > as_declaration_specifier2properties::create(ptr< ::lestes::lang::cplus::sem::ss_type > a__as_declaration_specifier2properties__other_type,
00150                 type_specifier_type a__as_declaration_specifier2properties__type_specifier,
00151                 ss_storage_class::type a__as_declaration_specifier2properties__storage_class,
00152                 bool a__as_declaration_specifier2properties__explicit_flag,
00153                 bool a__as_declaration_specifier2properties__inline_flag,
00154                 bool a__as_declaration_specifier2properties__virtual_flag,
00155                 bool a__as_declaration_specifier2properties__friend_flag,
00156                 bool a__as_declaration_specifier2properties__const_flag,
00157                 bool a__as_declaration_specifier2properties__volatile_flag,
00158                 bool a__as_declaration_specifier2properties__signed_flag,
00159                 bool a__as_declaration_specifier2properties__unsigned_flag,
00160                 bool a__as_declaration_specifier2properties__short_flag,
00161                 bool a__as_declaration_specifier2properties__long_flag)
00162 {
00163         return ptr< as_declaration_specifier2properties > ( new as_declaration_specifier2properties(a__as_declaration_specifier2properties__other_type,
00164                 a__as_declaration_specifier2properties__type_specifier,
00165                 a__as_declaration_specifier2properties__storage_class,
00166                 a__as_declaration_specifier2properties__explicit_flag,
00167                 a__as_declaration_specifier2properties__inline_flag,
00168                 a__as_declaration_specifier2properties__virtual_flag,
00169                 a__as_declaration_specifier2properties__friend_flag,
00170                 a__as_declaration_specifier2properties__const_flag,
00171                 a__as_declaration_specifier2properties__volatile_flag,
00172                 a__as_declaration_specifier2properties__signed_flag,
00173                 a__as_declaration_specifier2properties__unsigned_flag,
00174                 a__as_declaration_specifier2properties__short_flag,
00175                 a__as_declaration_specifier2properties__long_flag) );
00176 }
00177 
00178 /*!
00179    This factory method for class as_declaration_specifier2properties uses initializers.
00180    \author lsg
00181  */
00182 ptr< as_declaration_specifier2properties > as_declaration_specifier2properties::create()
00183 {
00184         return ptr< as_declaration_specifier2properties > ( new as_declaration_specifier2properties(NULL, TS_NONE, ss_storage_class::ST_NONE, false, false, false, false, false, false, false, false, false, false) );
00185 }
00186 
00187 /*!
00188    Generated constructor for class as_declaration_specifier2properties.
00189    \author lsg
00190  */
00191 as_declaration_specifier2properties::as_declaration_specifier2properties (ptr< ::lestes::lang::cplus::sem::ss_type > a__as_declaration_specifier2properties__other_type,
00192                 type_specifier_type a__as_declaration_specifier2properties__type_specifier,
00193                 ss_storage_class::type a__as_declaration_specifier2properties__storage_class,
00194                 bool a__as_declaration_specifier2properties__explicit_flag,
00195                 bool a__as_declaration_specifier2properties__inline_flag,
00196                 bool a__as_declaration_specifier2properties__virtual_flag,
00197                 bool a__as_declaration_specifier2properties__friend_flag,
00198                 bool a__as_declaration_specifier2properties__const_flag,
00199                 bool a__as_declaration_specifier2properties__volatile_flag,
00200                 bool a__as_declaration_specifier2properties__signed_flag,
00201                 bool a__as_declaration_specifier2properties__unsigned_flag,
00202                 bool a__as_declaration_specifier2properties__short_flag,
00203                 bool a__as_declaration_specifier2properties__long_flag)
00204         : as_declaration_specifier_visitor(), other_type(a__as_declaration_specifier2properties__other_type), type_specifier(a__as_declaration_specifier2properties__type_specifier), storage_class(a__as_declaration_specifier2properties__storage_class), explicit_flag(a__as_declaration_specifier2properties__explicit_flag), inline_flag(a__as_declaration_specifier2properties__inline_flag), virtual_flag(a__as_declaration_specifier2properties__virtual_flag), friend_flag(a__as_declaration_specifier2properties__friend_flag), const_flag(a__as_declaration_specifier2properties__const_flag), volatile_flag(a__as_declaration_specifier2properties__volatile_flag), signed_flag(a__as_declaration_specifier2properties__signed_flag), unsigned_flag(a__as_declaration_specifier2properties__unsigned_flag), short_flag(a__as_declaration_specifier2properties__short_flag), long_flag(a__as_declaration_specifier2properties__long_flag)
00205 {}
00206 
00207 ptr< object::reflection_list > as_declaration_specifier2properties::reflection_get() const
00208 {
00209         if (!reflection) {
00210                 typedef class_reflection::field_metadata md;
00211                 typedef class_reflection::field_metadata_list mdlist;
00212                 ptr<mdlist> mdl = mdlist::create();
00213                 mdl->push_back( md::create( "other_type", "ss_type" ) );
00214                 mdl->push_back( md::create( "type_specifier", "type_specifier_type" ) );
00215                 mdl->push_back( md::create( "storage_class", "ss_storage_class::type" ) );
00216                 mdl->push_back( md::create( "explicit_flag", "bool" ) );
00217                 mdl->push_back( md::create( "inline_flag", "bool" ) );
00218                 mdl->push_back( md::create( "virtual_flag", "bool" ) );
00219                 mdl->push_back( md::create( "friend_flag", "bool" ) );
00220                 mdl->push_back( md::create( "const_flag", "bool" ) );
00221                 mdl->push_back( md::create( "volatile_flag", "bool" ) );
00222                 mdl->push_back( md::create( "signed_flag", "bool" ) );
00223                 mdl->push_back( md::create( "unsigned_flag", "bool" ) );
00224                 mdl->push_back( md::create( "short_flag", "bool" ) );
00225                 mdl->push_back( md::create( "long_flag", "bool" ) );
00226                 reflection = reflection_list::create( as_declaration_specifier_visitor::reflection_get() );
00227                 reflection->push_back( class_reflection::create( "as_declaration_specifier2properties", mdl ) );
00228         }
00229         return reflection;
00230 }
00231 
00232 ptr< object::field_list_list > as_declaration_specifier2properties::field_values_get() const
00233 {
00234         ptr < field_list_list > result = as_declaration_specifier_visitor::field_values_get();
00235         result->push_back( value_list::create() );
00236         result->back()->push_back( this->other_type );
00237         result->push_back( value_list::create() );
00238         result->back()->push_back( objectize< type_specifier_type > ::create( this->type_specifier ) );
00239         result->push_back( value_list::create() );
00240         result->back()->push_back( objectize< ss_storage_class::type > ::create( this->storage_class ) );
00241         result->push_back( value_list::create() );
00242         result->back()->push_back( objectize< bool > ::create( this->explicit_flag ) );
00243         result->push_back( value_list::create() );
00244         result->back()->push_back( objectize< bool > ::create( this->inline_flag ) );
00245         result->push_back( value_list::create() );
00246         result->back()->push_back( objectize< bool > ::create( this->virtual_flag ) );
00247         result->push_back( value_list::create() );
00248         result->back()->push_back( objectize< bool > ::create( this->friend_flag ) );
00249         result->push_back( value_list::create() );
00250         result->back()->push_back( objectize< bool > ::create( this->const_flag ) );
00251         result->push_back( value_list::create() );
00252         result->back()->push_back( objectize< bool > ::create( this->volatile_flag ) );
00253         result->push_back( value_list::create() );
00254         result->back()->push_back( objectize< bool > ::create( this->signed_flag ) );
00255         result->push_back( value_list::create() );
00256         result->back()->push_back( objectize< bool > ::create( this->unsigned_flag ) );
00257         result->push_back( value_list::create() );
00258         result->back()->push_back( objectize< bool > ::create( this->short_flag ) );
00259         result->push_back( value_list::create() );
00260         result->back()->push_back( objectize< bool > ::create( this->long_flag ) );
00261         return result;
00262 }
00263 
00264 
00265 /*!
00266    Marking routine is used for garbage collection.
00267    \author lsg
00268  */
00269 void as_declaration_specifier2properties::gc_mark()
00270 {
00271         as_declaration_specifier_visitor::gc_mark();
00272 }
00273 
00274 // End of class as_declaration_specifier2properties.
00275 
00276 
00277 // static data members follow 
00278 ptr<object::reflection_list> as_declaration_specifier2properties::reflection = reflection;
00279 
00280 end_package(sem);
00281 end_package(cplus);
00282 end_package(lang);
00283 end_package(lestes);
00284 

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