00001
00002
00003
00004
00005
00006
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
00024
00025
00026
00027
00028
00029 tm_data_type_base::id_type tm_data_type_base::id_get() const
00030 {
00031 return id;
00032 }
00033
00034
00035
00036
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
00045
00046
00047 tm_data_type_base::format_type tm_data_type_base::format_get() const
00048 {
00049 return format;
00050 }
00051
00052
00053
00054
00055
00056 void tm_data_type_base::format_set(format_type x)
00057 {
00058 tm_data_type_base::format = x;
00059 }
00060
00061
00062
00063
00064
00065 ulint tm_data_type_base::bitwidth_get() const
00066 {
00067 return bitwidth;
00068 }
00069
00070
00071
00072
00073
00074 void tm_data_type_base::bitwidth_set(ulint x)
00075 {
00076 tm_data_type_base::bitwidth = x;
00077 }
00078
00079
00080
00081
00082
00083 ulint tm_data_type_base::alignment_get() const
00084 {
00085 return alignment;
00086 }
00087
00088
00089
00090
00091
00092 void tm_data_type_base::alignment_set(ulint x)
00093 {
00094 tm_data_type_base::alignment = x;
00095 }
00096
00097
00098
00099
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
00108
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
00117
00118
00119 lstring tm_data_type_base::asm_output_get() const
00120 {
00121 return asm_output;
00122 }
00123
00124
00125
00126
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
00135
00136
00137 lstring tm_data_type_base::asm_decl_get() const
00138 {
00139 return asm_decl;
00140 }
00141
00142
00143
00144
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
00153
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
00207
00208
00209 void tm_data_type_base::gc_mark()
00210 {
00211 ::lestes::std::object::gc_mark();
00212 }
00213
00214
00215
00216
00217
00218
00219
00220
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
00259
00260
00261 void tm_dt_simple_base::gc_mark()
00262 {
00263 tm_data_type_base::gc_mark();
00264 }
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274 ulint tm_dt_bitfield_base::bitfield_width_get() const
00275 {
00276 return bitfield_width;
00277 }
00278
00279
00280
00281
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
00290
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
00333
00334
00335 void tm_dt_bitfield_base::gc_mark()
00336 {
00337 tm_dt_simple_base::gc_mark();
00338 }
00339
00340
00341
00342
00343
00344
00345
00346
00347
00348 t_size tm_dt_array_base::bound_get() const
00349 {
00350 return bound;
00351 }
00352
00353
00354
00355
00356
00357 void tm_dt_array_base::bound_set(t_size x)
00358 {
00359 tm_dt_array_base::bound = x;
00360 }
00361
00362
00363
00364
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
00407
00408
00409 void tm_dt_array_base::gc_mark()
00410 {
00411 tm_data_type_base::gc_mark();
00412 }
00413
00414
00415
00416
00417
00418
00419
00420
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
00429
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
00438
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< srp< tm_data_type_base > >" ) );
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
00481
00482
00483 void tm_dt_union_base::gc_mark()
00484 {
00485 tm_data_type_base::gc_mark();
00486 }
00487
00488
00489
00490
00491
00492
00493
00494
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
00503
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
00512
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< srp< tm_dt_struct_member_base > >" ) );
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
00555
00556
00557 void tm_dt_struct_base::gc_mark()
00558 {
00559 tm_data_type_base::gc_mark();
00560 }
00561
00562
00563
00564
00565
00566
00567
00568
00569
00570 ulint tm_dt_struct_member_base::offset_get() const
00571 {
00572 return offset;
00573 }
00574
00575
00576
00577
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
00586
00587
00588 ulint tm_dt_struct_member_base::bitwidth_get() const
00589 {
00590 return bitwidth;
00591 }
00592
00593
00594
00595
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
00604
00605
00606 ptr< tm_data_type_base > tm_dt_struct_member_base::type_get() const
00607 {
00608 return type;
00609 }
00610
00611
00612
00613
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
00622
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
00631
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
00640
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
00682
00683
00684 void tm_dt_struct_member_base::gc_mark()
00685 {
00686 ::lestes::std::object::gc_mark();
00687 }
00688
00689
00690
00691
00692
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