tm_data_type_base.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 /*!
00004         \file
00005         \brief Target-machine data types.
00006         \author jaz
00007 */
00008 
00009 #include <lestes/md/registers/tm_register_base.g.hh>
00010 #include <lestes/lang/cplus/sem/ss_declaration.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/md/types/tm_data_type_base.g.hh>
00017 
00018 package(lestes);
00019 package(md);
00020 package(types);
00021 
00022 
00023 // ------------- Class tm_data_type_base follows. -------------
00024 
00025 /*!
00026    \returns The value of tm_data_type_base::id.
00027    \author lsg
00028  */
00029 tm_data_type_base::id_type tm_data_type_base::id_get() const
00030 {
00031         return id;
00032 }
00033 
00034 /*!
00035    \param[in] x The new value to set tm_data_type_base::id to.
00036    \author lsg
00037  */
00038 void tm_data_type_base::id_set(tm_data_type_base::id_type x)
00039 {
00040         tm_data_type_base::id = x;
00041 }
00042 
00043 /*!
00044    \returns The value of tm_data_type_base::format.
00045    \author lsg
00046  */
00047 tm_data_type_base::format_type tm_data_type_base::format_get() const
00048 {
00049         return format;
00050 }
00051 
00052 /*!
00053    \param[in] x The new value to set tm_data_type_base::format to.
00054    \author lsg
00055  */
00056 void tm_data_type_base::format_set(format_type x)
00057 {
00058         tm_data_type_base::format = x;
00059 }
00060 
00061 /*!
00062    \returns The value of tm_data_type_base::bitwidth.
00063    \author lsg
00064  */
00065 ulint tm_data_type_base::bitwidth_get() const
00066 {
00067         return bitwidth;
00068 }
00069 
00070 /*!
00071    \param[in] x The new value to set tm_data_type_base::bitwidth to.
00072    \author lsg
00073  */
00074 void tm_data_type_base::bitwidth_set(ulint x)
00075 {
00076         tm_data_type_base::bitwidth = x;
00077 }
00078 
00079 /*!
00080    \returns The value of tm_data_type_base::alignment.
00081    \author lsg
00082  */
00083 ulint tm_data_type_base::alignment_get() const
00084 {
00085         return alignment;
00086 }
00087 
00088 /*!
00089    \param[in] x The new value to set tm_data_type_base::alignment to.
00090    \author lsg
00091  */
00092 void tm_data_type_base::alignment_set(ulint x)
00093 {
00094         tm_data_type_base::alignment = x;
00095 }
00096 
00097 /*!
00098    \returns The value of tm_data_type_base::return_reg.
00099    \author lsg
00100  */
00101 ptr< ::lestes::md::registers::tm_register_base > tm_data_type_base::return_reg_get() const
00102 {
00103         return return_reg;
00104 }
00105 
00106 /*!
00107    \param[in] x The new value to set tm_data_type_base::return_reg to.
00108    \author lsg
00109  */
00110 void tm_data_type_base::return_reg_set(const ptr< ::lestes::md::registers::tm_register_base > & x)
00111 {
00112         tm_data_type_base::return_reg = x;
00113 }
00114 
00115 /*!
00116    \returns The value of tm_data_type_base::asm_output.
00117    \author lsg
00118  */
00119 lstring tm_data_type_base::asm_output_get() const
00120 {
00121         return asm_output;
00122 }
00123 
00124 /*!
00125    \param[in] x The new value to set tm_data_type_base::asm_output to.
00126    \author lsg
00127  */
00128 void tm_data_type_base::asm_output_set(lstring x)
00129 {
00130         tm_data_type_base::asm_output = x;
00131 }
00132 
00133 /*!
00134    \returns The value of tm_data_type_base::asm_decl.
00135    \author lsg
00136  */
00137 lstring tm_data_type_base::asm_decl_get() const
00138 {
00139         return asm_decl;
00140 }
00141 
00142 /*!
00143    \param[in] x The new value to set tm_data_type_base::asm_decl to.
00144    \author lsg
00145  */
00146 void tm_data_type_base::asm_decl_set(lstring x)
00147 {
00148         tm_data_type_base::asm_decl = x;
00149 }
00150 
00151 /*!
00152    Generated constructor for class tm_data_type_base.
00153    \author lsg
00154  */
00155 tm_data_type_base::tm_data_type_base (tm_data_type_base::id_type a__tm_data_type_base__id,
00156                 format_type a__tm_data_type_base__format,
00157                 ulint a__tm_data_type_base__bitwidth,
00158                 ulint a__tm_data_type_base__alignment,
00159                 ptr< ::lestes::md::registers::tm_register_base > a__tm_data_type_base__return_reg,
00160                 lstring a__tm_data_type_base__asm_output,
00161                 lstring a__tm_data_type_base__asm_decl)
00162         : ::lestes::std::object(), id(a__tm_data_type_base__id), format(a__tm_data_type_base__format), bitwidth(a__tm_data_type_base__bitwidth), alignment(a__tm_data_type_base__alignment), return_reg(a__tm_data_type_base__return_reg), asm_output(a__tm_data_type_base__asm_output), asm_decl(a__tm_data_type_base__asm_decl)
00163 {}
00164 
00165 ptr< object::reflection_list > tm_data_type_base::reflection_get() const
00166 {
00167         if (!reflection) {
00168                 typedef class_reflection::field_metadata md;
00169                 typedef class_reflection::field_metadata_list mdlist;
00170                 ptr<mdlist> mdl = mdlist::create();
00171                 mdl->push_back( md::create( "id", "tm_data_type_base::id_type" ) );
00172                 mdl->push_back( md::create( "format", "format_type" ) );
00173                 mdl->push_back( md::create( "bitwidth", "ulint" ) );
00174                 mdl->push_back( md::create( "alignment", "ulint" ) );
00175                 mdl->push_back( md::create( "return_reg", "tm_register_base" ) );
00176                 mdl->push_back( md::create( "asm_output", "lstring" ) );
00177                 mdl->push_back( md::create( "asm_decl", "lstring" ) );
00178                 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00179                 reflection->push_back( class_reflection::create( "tm_data_type_base", mdl ) );
00180         }
00181         return reflection;
00182 }
00183 
00184 ptr< object::field_list_list > tm_data_type_base::field_values_get() const
00185 {
00186         ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00187         result->push_back( value_list::create() );
00188         result->back()->push_back( objectize< tm_data_type_base::id_type > ::create( this->id ) );
00189         result->push_back( value_list::create() );
00190         result->back()->push_back( objectize< format_type > ::create( this->format ) );
00191         result->push_back( value_list::create() );
00192         result->back()->push_back( objectize< ulint > ::create( this->bitwidth ) );
00193         result->push_back( value_list::create() );
00194         result->back()->push_back( objectize< ulint > ::create( this->alignment ) );
00195         result->push_back( value_list::create() );
00196         result->back()->push_back( this->return_reg );
00197         result->push_back( value_list::create() );
00198         result->back()->push_back( objectize< lstring > ::create( this->asm_output ) );
00199         result->push_back( value_list::create() );
00200         result->back()->push_back( objectize< lstring > ::create( this->asm_decl ) );
00201         return result;
00202 }
00203 
00204 
00205 /*!
00206    Marking routine is used for garbage collection.
00207    \author lsg
00208  */
00209 void tm_data_type_base::gc_mark()
00210 {
00211 	::lestes::std::object::gc_mark();
00212 }
00213 
00214 // End of class tm_data_type_base.
00215 
00216 // ------------- Class tm_dt_simple_base follows. -------------
00217 
00218 /*!
00219    Generated constructor for class tm_dt_simple_base.
00220    \author lsg
00221  */
00222 tm_dt_simple_base::tm_dt_simple_base (tm_data_type_base::id_type a__tm_data_type_base__id,
00223                 format_type a__tm_data_type_base__format,
00224                 ulint a__tm_data_type_base__bitwidth,
00225                 ulint a__tm_data_type_base__alignment,
00226                 ptr< ::lestes::md::registers::tm_register_base > a__tm_data_type_base__return_reg,
00227                 lstring a__tm_data_type_base__asm_output,
00228                 lstring a__tm_data_type_base__asm_decl)
00229         : tm_data_type_base(a__tm_data_type_base__id,
00230                 a__tm_data_type_base__format,
00231                 a__tm_data_type_base__bitwidth,
00232                 a__tm_data_type_base__alignment,
00233                 a__tm_data_type_base__return_reg,
00234                 a__tm_data_type_base__asm_output,
00235                 a__tm_data_type_base__asm_decl)
00236 {}
00237 
00238 ptr< object::reflection_list > tm_dt_simple_base::reflection_get() const
00239 {
00240         if (!reflection) {
00241                 typedef class_reflection::field_metadata md;
00242                 typedef class_reflection::field_metadata_list mdlist;
00243                 ptr<mdlist> mdl = mdlist::create();
00244                 reflection = reflection_list::create( tm_data_type_base::reflection_get() );
00245                 reflection->push_back( class_reflection::create( "tm_dt_simple_base", mdl ) );
00246         }
00247         return reflection;
00248 }
00249 
00250 ptr< object::field_list_list > tm_dt_simple_base::field_values_get() const
00251 {
00252         ptr < field_list_list > result = tm_data_type_base::field_values_get();
00253         return result;
00254 }
00255 
00256 
00257 /*!
00258    Marking routine is used for garbage collection.
00259    \author lsg
00260  */
00261 void tm_dt_simple_base::gc_mark()
00262 {
00263         tm_data_type_base::gc_mark();
00264 }
00265 
00266 // End of class tm_dt_simple_base.
00267 
00268 // ------------- Class tm_dt_bitfield_base follows. -------------
00269 
00270 /*!
00271    \returns The value of tm_dt_bitfield_base::bitfield_width.
00272    \author lsg
00273  */
00274 ulint tm_dt_bitfield_base::bitfield_width_get() const
00275 {
00276         return bitfield_width;
00277 }
00278 
00279 /*!
00280    \param[in] x The new value to set tm_dt_bitfield_base::bitfield_width to.
00281    \author lsg
00282  */
00283 void tm_dt_bitfield_base::bitfield_width_set(ulint x)
00284 {
00285         tm_dt_bitfield_base::bitfield_width = x;
00286 }
00287 
00288 /*!
00289    Generated constructor for class tm_dt_bitfield_base.
00290    \author lsg
00291  */
00292 tm_dt_bitfield_base::tm_dt_bitfield_base (tm_data_type_base::id_type a__tm_data_type_base__id,
00293                 format_type a__tm_data_type_base__format,
00294                 ulint a__tm_data_type_base__bitwidth,
00295                 ulint a__tm_data_type_base__alignment,
00296                 ptr< ::lestes::md::registers::tm_register_base > a__tm_data_type_base__return_reg,
00297                 lstring a__tm_data_type_base__asm_output,
00298                 lstring a__tm_data_type_base__asm_decl,
00299                 ulint a__tm_dt_bitfield_base__bitfield_width)
00300         : tm_dt_simple_base(a__tm_data_type_base__id,
00301                 a__tm_data_type_base__format,
00302                 a__tm_data_type_base__bitwidth,
00303                 a__tm_data_type_base__alignment,
00304                 a__tm_data_type_base__return_reg,
00305                 a__tm_data_type_base__asm_output,
00306                 a__tm_data_type_base__asm_decl), bitfield_width(a__tm_dt_bitfield_base__bitfield_width)
00307 {}
00308 
00309 ptr< object::reflection_list > tm_dt_bitfield_base::reflection_get() const
00310 {
00311         if (!reflection) {
00312                 typedef class_reflection::field_metadata md;
00313                 typedef class_reflection::field_metadata_list mdlist;
00314                 ptr<mdlist> mdl = mdlist::create();
00315                 mdl->push_back( md::create( "bitfield_width", "ulint" ) );
00316                 reflection = reflection_list::create( tm_dt_simple_base::reflection_get() );
00317                 reflection->push_back( class_reflection::create( "tm_dt_bitfield_base", mdl ) );
00318         }
00319         return reflection;
00320 }
00321 
00322 ptr< object::field_list_list > tm_dt_bitfield_base::field_values_get() const
00323 {
00324         ptr < field_list_list > result = tm_dt_simple_base::field_values_get();
00325         result->push_back( value_list::create() );
00326         result->back()->push_back( objectize< ulint > ::create( this->bitfield_width ) );
00327         return result;
00328 }
00329 
00330 
00331 /*!
00332    Marking routine is used for garbage collection.
00333    \author lsg
00334  */
00335 void tm_dt_bitfield_base::gc_mark()
00336 {
00337         tm_dt_simple_base::gc_mark();
00338 }
00339 
00340 // End of class tm_dt_bitfield_base.
00341 
00342 // ------------- Class tm_dt_array_base follows. -------------
00343 
00344 /*!
00345    \returns The value of tm_dt_array_base::bound.
00346    \author lsg
00347  */
00348 t_size tm_dt_array_base::bound_get() const
00349 {
00350         return bound;
00351 }
00352 
00353 /*!
00354    \param[in] x The new value to set tm_dt_array_base::bound to.
00355    \author lsg
00356  */
00357 void tm_dt_array_base::bound_set(t_size x)
00358 {
00359         tm_dt_array_base::bound = x;
00360 }
00361 
00362 /*!
00363    Generated constructor for class tm_dt_array_base.
00364    \author lsg
00365  */
00366 tm_dt_array_base::tm_dt_array_base (tm_data_type_base::id_type a__tm_data_type_base__id,
00367                 format_type a__tm_data_type_base__format,
00368                 ulint a__tm_data_type_base__bitwidth,
00369                 ulint a__tm_data_type_base__alignment,
00370                 ptr< ::lestes::md::registers::tm_register_base > a__tm_data_type_base__return_reg,
00371                 lstring a__tm_data_type_base__asm_output,
00372                 lstring a__tm_data_type_base__asm_decl,
00373                 t_size a__tm_dt_array_base__bound)
00374         : tm_data_type_base(a__tm_data_type_base__id,
00375                 a__tm_data_type_base__format,
00376                 a__tm_data_type_base__bitwidth,
00377                 a__tm_data_type_base__alignment,
00378                 a__tm_data_type_base__return_reg,
00379                 a__tm_data_type_base__asm_output,
00380                 a__tm_data_type_base__asm_decl), bound(a__tm_dt_array_base__bound)
00381 {}
00382 
00383 ptr< object::reflection_list > tm_dt_array_base::reflection_get() const
00384 {
00385         if (!reflection) {
00386                 typedef class_reflection::field_metadata md;
00387                 typedef class_reflection::field_metadata_list mdlist;
00388                 ptr<mdlist> mdl = mdlist::create();
00389                 mdl->push_back( md::create( "bound", "t_size" ) );
00390                 reflection = reflection_list::create( tm_data_type_base::reflection_get() );
00391                 reflection->push_back( class_reflection::create( "tm_dt_array_base", mdl ) );
00392         }
00393         return reflection;
00394 }
00395 
00396 ptr< object::field_list_list > tm_dt_array_base::field_values_get() const
00397 {
00398         ptr < field_list_list > result = tm_data_type_base::field_values_get();
00399         result->push_back( value_list::create() );
00400         result->back()->push_back( objectize< t_size > ::create( this->bound ) );
00401         return result;
00402 }
00403 
00404 
00405 /*!
00406    Marking routine is used for garbage collection.
00407    \author lsg
00408  */
00409 void tm_dt_array_base::gc_mark()
00410 {
00411         tm_data_type_base::gc_mark();
00412 }
00413 
00414 // End of class tm_dt_array_base.
00415 
00416 // ------------- Class tm_dt_union_base follows. -------------
00417 
00418 /*!
00419    \returns The value of tm_dt_union_base::types.
00420    \author lsg
00421  */
00422 ptr< ::lestes::std::list< srp< tm_data_type_base > > > tm_dt_union_base::types_get() const
00423 {
00424         return types;
00425 }
00426 
00427 /*!
00428    \param[in] x The new value to set tm_dt_union_base::types to.
00429    \author lsg
00430  */
00431 void tm_dt_union_base::types_set(const ptr< ::lestes::std::list< srp< tm_data_type_base > > > & x)
00432 {
00433         tm_dt_union_base::types = x;
00434 }
00435 
00436 /*!
00437    Generated constructor for class tm_dt_union_base.
00438    \author lsg
00439  */
00440 tm_dt_union_base::tm_dt_union_base (tm_data_type_base::id_type a__tm_data_type_base__id,
00441                 format_type a__tm_data_type_base__format,
00442                 ulint a__tm_data_type_base__bitwidth,
00443                 ulint a__tm_data_type_base__alignment,
00444                 ptr< ::lestes::md::registers::tm_register_base > a__tm_data_type_base__return_reg,
00445                 lstring a__tm_data_type_base__asm_output,
00446                 lstring a__tm_data_type_base__asm_decl,
00447                 ptr< ::lestes::std::list< srp< tm_data_type_base > > > a__tm_dt_union_base__types)
00448         : tm_data_type_base(a__tm_data_type_base__id,
00449                 a__tm_data_type_base__format,
00450                 a__tm_data_type_base__bitwidth,
00451                 a__tm_data_type_base__alignment,
00452                 a__tm_data_type_base__return_reg,
00453                 a__tm_data_type_base__asm_output,
00454                 a__tm_data_type_base__asm_decl), types(checked(a__tm_dt_union_base__types))
00455 {}
00456 
00457 ptr< object::reflection_list > tm_dt_union_base::reflection_get() const
00458 {
00459         if (!reflection) {
00460                 typedef class_reflection::field_metadata md;
00461                 typedef class_reflection::field_metadata_list mdlist;
00462                 ptr<mdlist> mdl = mdlist::create();
00463                 mdl->push_back( md::create( "types", "list&lt; srp&lt; tm_data_type_base &gt; &gt;" ) );
00464                 reflection = reflection_list::create( tm_data_type_base::reflection_get() );
00465                 reflection->push_back( class_reflection::create( "tm_dt_union_base", mdl ) );
00466         }
00467         return reflection;
00468 }
00469 
00470 ptr< object::field_list_list > tm_dt_union_base::field_values_get() const
00471 {
00472         ptr < field_list_list > result = tm_data_type_base::field_values_get();
00473         result->push_back( value_list::create() );
00474         result->back()->push_back( this->types );
00475         return result;
00476 }
00477 
00478 
00479 /*!
00480    Marking routine is used for garbage collection.
00481    \author lsg
00482  */
00483 void tm_dt_union_base::gc_mark()
00484 {
00485         tm_data_type_base::gc_mark();
00486 }
00487 
00488 // End of class tm_dt_union_base.
00489 
00490 // ------------- Class tm_dt_struct_base follows. -------------
00491 
00492 /*!
00493    \returns The value of tm_dt_struct_base::members.
00494    \author lsg
00495  */
00496 ptr< ::lestes::std::list< srp< tm_dt_struct_member_base > > > tm_dt_struct_base::members_get() const
00497 {
00498         return members;
00499 }
00500 
00501 /*!
00502    \param[in] x The new value to set tm_dt_struct_base::members to.
00503    \author lsg
00504  */
00505 void tm_dt_struct_base::members_set(const ptr< ::lestes::std::list< srp< tm_dt_struct_member_base > > > & x)
00506 {
00507         tm_dt_struct_base::members = x;
00508 }
00509 
00510 /*!
00511    Generated constructor for class tm_dt_struct_base.
00512    \author lsg
00513  */
00514 tm_dt_struct_base::tm_dt_struct_base (tm_data_type_base::id_type a__tm_data_type_base__id,
00515                 format_type a__tm_data_type_base__format,
00516                 ulint a__tm_data_type_base__bitwidth,
00517                 ulint a__tm_data_type_base__alignment,
00518                 ptr< ::lestes::md::registers::tm_register_base > a__tm_data_type_base__return_reg,
00519                 lstring a__tm_data_type_base__asm_output,
00520                 lstring a__tm_data_type_base__asm_decl,
00521                 ptr< ::lestes::std::list< srp< tm_dt_struct_member_base > > > a__tm_dt_struct_base__members)
00522         : tm_data_type_base(a__tm_data_type_base__id,
00523                 a__tm_data_type_base__format,
00524                 a__tm_data_type_base__bitwidth,
00525                 a__tm_data_type_base__alignment,
00526                 a__tm_data_type_base__return_reg,
00527                 a__tm_data_type_base__asm_output,
00528                 a__tm_data_type_base__asm_decl), members(checked(a__tm_dt_struct_base__members))
00529 {}
00530 
00531 ptr< object::reflection_list > tm_dt_struct_base::reflection_get() const
00532 {
00533         if (!reflection) {
00534                 typedef class_reflection::field_metadata md;
00535                 typedef class_reflection::field_metadata_list mdlist;
00536                 ptr<mdlist> mdl = mdlist::create();
00537                 mdl->push_back( md::create( "members", "list&lt; srp&lt; tm_dt_struct_member_base &gt; &gt;" ) );
00538                 reflection = reflection_list::create( tm_data_type_base::reflection_get() );
00539                 reflection->push_back( class_reflection::create( "tm_dt_struct_base", mdl ) );
00540         }
00541         return reflection;
00542 }
00543 
00544 ptr< object::field_list_list > tm_dt_struct_base::field_values_get() const
00545 {
00546         ptr < field_list_list > result = tm_data_type_base::field_values_get();
00547         result->push_back( value_list::create() );
00548         result->back()->push_back( this->members );
00549         return result;
00550 }
00551 
00552 
00553 /*!
00554    Marking routine is used for garbage collection.
00555    \author lsg
00556  */
00557 void tm_dt_struct_base::gc_mark()
00558 {
00559         tm_data_type_base::gc_mark();
00560 }
00561 
00562 // End of class tm_dt_struct_base.
00563 
00564 // ------------- Class tm_dt_struct_member_base follows. -------------
00565 
00566 /*!
00567    \returns The value of tm_dt_struct_member_base::offset.
00568    \author lsg
00569  */
00570 ulint tm_dt_struct_member_base::offset_get() const
00571 {
00572         return offset;
00573 }
00574 
00575 /*!
00576    \param[in] x The new value to set tm_dt_struct_member_base::offset to.
00577    \author lsg
00578  */
00579 void tm_dt_struct_member_base::offset_set(ulint x)
00580 {
00581         tm_dt_struct_member_base::offset = x;
00582 }
00583 
00584 /*!
00585    \returns The value of tm_dt_struct_member_base::bitwidth.
00586    \author lsg
00587  */
00588 ulint tm_dt_struct_member_base::bitwidth_get() const
00589 {
00590         return bitwidth;
00591 }
00592 
00593 /*!
00594    \param[in] x The new value to set tm_dt_struct_member_base::bitwidth to.
00595    \author lsg
00596  */
00597 void tm_dt_struct_member_base::bitwidth_set(ulint x)
00598 {
00599         tm_dt_struct_member_base::bitwidth = x;
00600 }
00601 
00602 /*!
00603    \returns The value of tm_dt_struct_member_base::type.
00604    \author lsg
00605  */
00606 ptr< tm_data_type_base > tm_dt_struct_member_base::type_get() const
00607 {
00608         return type;
00609 }
00610 
00611 /*!
00612    \param[in] x The new value to set tm_dt_struct_member_base::type to.
00613    \author lsg
00614  */
00615 void tm_dt_struct_member_base::type_set(const ptr< tm_data_type_base > & x)
00616 {
00617         tm_dt_struct_member_base::type = x;
00618 }
00619 
00620 /*!
00621    \returns The value of tm_dt_struct_member_base::ss_decl.
00622    \author lsg
00623  */
00624 ptr< ::lestes::lang::cplus::sem::ss_declaration > tm_dt_struct_member_base::ss_decl_get() const
00625 {
00626         return ss_decl;
00627 }
00628 
00629 /*!
00630    \param[in] x The new value to set tm_dt_struct_member_base::ss_decl to.
00631    \author lsg
00632  */
00633 void tm_dt_struct_member_base::ss_decl_set(const ptr< ::lestes::lang::cplus::sem::ss_declaration > & x)
00634 {
00635         tm_dt_struct_member_base::ss_decl = x;
00636 }
00637 
00638 /*!
00639    Generated constructor for class tm_dt_struct_member_base.
00640    \author lsg
00641  */
00642 tm_dt_struct_member_base::tm_dt_struct_member_base (ulint a__tm_dt_struct_member_base__offset,
00643                 ulint a__tm_dt_struct_member_base__bitwidth,
00644                 ptr< tm_data_type_base > a__tm_dt_struct_member_base__type,
00645                 ptr< ::lestes::lang::cplus::sem::ss_declaration > a__tm_dt_struct_member_base__ss_decl)
00646         : object(), offset(a__tm_dt_struct_member_base__offset), bitwidth(a__tm_dt_struct_member_base__bitwidth), type(checked(a__tm_dt_struct_member_base__type)), ss_decl(checked(a__tm_dt_struct_member_base__ss_decl))
00647 {}
00648 
00649 ptr< object::reflection_list > tm_dt_struct_member_base::reflection_get() const
00650 {
00651         if (!reflection) {
00652                 typedef class_reflection::field_metadata md;
00653                 typedef class_reflection::field_metadata_list mdlist;
00654                 ptr<mdlist> mdl = mdlist::create();
00655                 mdl->push_back( md::create( "offset", "ulint" ) );
00656                 mdl->push_back( md::create( "bitwidth", "ulint" ) );
00657                 mdl->push_back( md::create( "type", "tm_data_type_base" ) );
00658                 mdl->push_back( md::create( "ss_decl", "ss_declaration" ) );
00659                 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00660                 reflection->push_back( class_reflection::create( "tm_dt_struct_member_base", mdl ) );
00661         }
00662         return reflection;
00663 }
00664 
00665 ptr< object::field_list_list > tm_dt_struct_member_base::field_values_get() const
00666 {
00667         ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00668         result->push_back( value_list::create() );
00669         result->back()->push_back( objectize< ulint > ::create( this->offset ) );
00670         result->push_back( value_list::create() );
00671         result->back()->push_back( objectize< ulint > ::create( this->bitwidth ) );
00672         result->push_back( value_list::create() );
00673         result->back()->push_back( this->type );
00674         result->push_back( value_list::create() );
00675         result->back()->push_back( this->ss_decl );
00676         return result;
00677 }
00678 
00679 
00680 /*!
00681    Marking routine is used for garbage collection.
00682    \author lsg
00683  */
00684 void tm_dt_struct_member_base::gc_mark()
00685 {
00686 	::lestes::std::object::gc_mark();
00687 }
00688 
00689 // End of class tm_dt_struct_member_base.
00690 
00691 
00692 // static data members follow 
00693 ptr<object::reflection_list> tm_data_type_base::reflection = reflection;
00694 ptr<object::reflection_list> tm_dt_simple_base::reflection = reflection;
00695 ptr<object::reflection_list> tm_dt_bitfield_base::reflection = reflection;
00696 ptr<object::reflection_list> tm_dt_array_base::reflection = reflection;
00697 ptr<object::reflection_list> tm_dt_union_base::reflection = reflection;
00698 ptr<object::reflection_list> tm_dt_struct_base::reflection = reflection;
00699 ptr<object::reflection_list> tm_dt_struct_member_base::reflection = reflection;
00700 
00701 end_package(types);
00702 end_package(md);
00703 end_package(lestes);
00704 

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