00001
00002
00003
00004
00005
00006
00007
00008 #include <lestes/backend_v2/intercode/pi.g.hh>
00009 #include <lestes/backend_v2/intercode/ge.g.hh>
00010 #include <lestes/md/types/tm_data_type_base.g.hh>
00011 #include <lestes/md/mem/memory_allocator_bases.g.hh>
00012 #include <lestes/lang/cplus/sem/ss_declaration.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/backend_v2/intercode/pi_mem_factory.g.hh>
00019
00020 package(lestes);
00021 package(backend_v2);
00022 package(intercode);
00023
00024
00025
00026
00027
00028
00029
00030
00031 ptr< ::lestes::md::mem::allocator_base > pi_mem_factory::allocator_get() const
00032 {
00033 return allocator;
00034 }
00035
00036
00037
00038
00039
00040 void pi_mem_factory::allocator_set(const ptr< ::lestes::md::mem::allocator_base > & x)
00041 {
00042 pi_mem_factory::allocator = x;
00043 }
00044
00045
00046
00047
00048
00049 ptr< ::lestes::md::types::tm_data_type_base > pi_mem_factory::type_get() const
00050 {
00051 return type;
00052 }
00053
00054
00055
00056
00057
00058 void pi_mem_factory::type_set(const ptr< ::lestes::md::types::tm_data_type_base > & x)
00059 {
00060 pi_mem_factory::type = x;
00061 }
00062
00063
00064
00065
00066
00067 pi_mem_factory::pi_mem_factory (ptr< ::lestes::md::mem::allocator_base > a__pi_mem_factory__allocator,
00068 ptr< ::lestes::md::types::tm_data_type_base > a__pi_mem_factory__type)
00069 : ::lestes::std::object(), allocator(a__pi_mem_factory__allocator), type(checked(a__pi_mem_factory__type))
00070 {}
00071
00072 ptr< object::reflection_list > pi_mem_factory::reflection_get() const
00073 {
00074 if (!reflection) {
00075 typedef class_reflection::field_metadata md;
00076 typedef class_reflection::field_metadata_list mdlist;
00077 ptr<mdlist> mdl = mdlist::create();
00078 mdl->push_back( md::create( "allocator", "allocator_base" ) );
00079 mdl->push_back( md::create( "type", "tm_data_type_base" ) );
00080 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00081 reflection->push_back( class_reflection::create( "pi_mem_factory", mdl ) );
00082 }
00083 return reflection;
00084 }
00085
00086 ptr< object::field_list_list > pi_mem_factory::field_values_get() const
00087 {
00088 ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00089 result->push_back( value_list::create() );
00090 result->back()->push_back( this->allocator );
00091 result->push_back( value_list::create() );
00092 result->back()->push_back( this->type );
00093 return result;
00094 }
00095
00096
00097
00098
00099
00100
00101 void pi_mem_factory::gc_mark()
00102 {
00103 ::lestes::std::object::gc_mark();
00104 }
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114 t_ssize pi_mf_stack::offset_get() const
00115 {
00116 return offset;
00117 }
00118
00119
00120
00121
00122
00123 void pi_mf_stack::offset_set(t_ssize x)
00124 {
00125 pi_mf_stack::offset = x;
00126 }
00127
00128
00129
00130
00131
00132 ptr< pi_mf_stack > pi_mf_stack::create(ptr< ::lestes::md::mem::allocator_base > a__pi_mem_factory__allocator,
00133 ptr< ::lestes::md::types::tm_data_type_base > a__pi_mem_factory__type,
00134 t_ssize a__pi_mf_stack__offset)
00135 {
00136 return ptr< pi_mf_stack > ( new pi_mf_stack(a__pi_mem_factory__allocator,
00137 a__pi_mem_factory__type,
00138 a__pi_mf_stack__offset) );
00139 }
00140
00141
00142
00143
00144
00145 pi_mf_stack::pi_mf_stack (ptr< ::lestes::md::mem::allocator_base > a__pi_mem_factory__allocator,
00146 ptr< ::lestes::md::types::tm_data_type_base > a__pi_mem_factory__type,
00147 t_ssize a__pi_mf_stack__offset)
00148 : pi_mem_factory(a__pi_mem_factory__allocator,
00149 a__pi_mem_factory__type), offset(a__pi_mf_stack__offset)
00150 {}
00151
00152 ptr< object::reflection_list > pi_mf_stack::reflection_get() const
00153 {
00154 if (!reflection) {
00155 typedef class_reflection::field_metadata md;
00156 typedef class_reflection::field_metadata_list mdlist;
00157 ptr<mdlist> mdl = mdlist::create();
00158 mdl->push_back( md::create( "offset", "t_ssize" ) );
00159 reflection = reflection_list::create( pi_mem_factory::reflection_get() );
00160 reflection->push_back( class_reflection::create( "pi_mf_stack", mdl ) );
00161 }
00162 return reflection;
00163 }
00164
00165 ptr< object::field_list_list > pi_mf_stack::field_values_get() const
00166 {
00167 ptr < field_list_list > result = pi_mem_factory::field_values_get();
00168 result->push_back( value_list::create() );
00169 result->back()->push_back( objectize< t_ssize > ::create( this->offset ) );
00170 return result;
00171 }
00172
00173
00174
00175
00176
00177
00178 void pi_mf_stack::gc_mark()
00179 {
00180 pi_mem_factory::gc_mark();
00181 }
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191 ptr< ::lestes::lang::cplus::sem::ss_object_declaration > pi_mf_decl::decl_get() const
00192 {
00193 return decl;
00194 }
00195
00196
00197
00198
00199
00200 void pi_mf_decl::decl_set(const ptr< ::lestes::lang::cplus::sem::ss_object_declaration > & x)
00201 {
00202 pi_mf_decl::decl = x;
00203 }
00204
00205
00206
00207
00208
00209 ptr< pi_mf_decl > pi_mf_decl::create(ptr< ::lestes::md::mem::allocator_base > a__pi_mem_factory__allocator,
00210 ptr< ::lestes::md::types::tm_data_type_base > a__pi_mem_factory__type,
00211 ptr< ::lestes::lang::cplus::sem::ss_object_declaration > a__pi_mf_decl__decl)
00212 {
00213 return ptr< pi_mf_decl > ( new pi_mf_decl(a__pi_mem_factory__allocator,
00214 a__pi_mem_factory__type,
00215 a__pi_mf_decl__decl) );
00216 }
00217
00218
00219
00220
00221
00222 pi_mf_decl::pi_mf_decl (ptr< ::lestes::md::mem::allocator_base > a__pi_mem_factory__allocator,
00223 ptr< ::lestes::md::types::tm_data_type_base > a__pi_mem_factory__type,
00224 ptr< ::lestes::lang::cplus::sem::ss_object_declaration > a__pi_mf_decl__decl)
00225 : pi_mem_factory(a__pi_mem_factory__allocator,
00226 a__pi_mem_factory__type), decl(checked(a__pi_mf_decl__decl))
00227 {}
00228
00229 ptr< object::reflection_list > pi_mf_decl::reflection_get() const
00230 {
00231 if (!reflection) {
00232 typedef class_reflection::field_metadata md;
00233 typedef class_reflection::field_metadata_list mdlist;
00234 ptr<mdlist> mdl = mdlist::create();
00235 mdl->push_back( md::create( "decl", "ss_object_declaration" ) );
00236 reflection = reflection_list::create( pi_mem_factory::reflection_get() );
00237 reflection->push_back( class_reflection::create( "pi_mf_decl", mdl ) );
00238 }
00239 return reflection;
00240 }
00241
00242 ptr< object::field_list_list > pi_mf_decl::field_values_get() const
00243 {
00244 ptr < field_list_list > result = pi_mem_factory::field_values_get();
00245 result->push_back( value_list::create() );
00246 result->back()->push_back( this->decl );
00247 return result;
00248 }
00249
00250
00251
00252
00253
00254
00255 void pi_mf_decl::gc_mark()
00256 {
00257 pi_mem_factory::gc_mark();
00258 }
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268 ptr< ::lestes::backend_v2::intercode::pi_lit > pi_mf_lit::lit_get() const
00269 {
00270 return lit;
00271 }
00272
00273
00274
00275
00276
00277 void pi_mf_lit::lit_set(const ptr< ::lestes::backend_v2::intercode::pi_lit > & x)
00278 {
00279 pi_mf_lit::lit = x;
00280 }
00281
00282
00283
00284
00285
00286 ptr< pi_mf_lit > pi_mf_lit::create(ptr< ::lestes::md::mem::allocator_base > a__pi_mem_factory__allocator,
00287 ptr< ::lestes::md::types::tm_data_type_base > a__pi_mem_factory__type,
00288 ptr< ::lestes::backend_v2::intercode::pi_lit > a__pi_mf_lit__lit)
00289 {
00290 return ptr< pi_mf_lit > ( new pi_mf_lit(a__pi_mem_factory__allocator,
00291 a__pi_mem_factory__type,
00292 a__pi_mf_lit__lit) );
00293 }
00294
00295
00296
00297
00298
00299 pi_mf_lit::pi_mf_lit (ptr< ::lestes::md::mem::allocator_base > a__pi_mem_factory__allocator,
00300 ptr< ::lestes::md::types::tm_data_type_base > a__pi_mem_factory__type,
00301 ptr< ::lestes::backend_v2::intercode::pi_lit > a__pi_mf_lit__lit)
00302 : pi_mem_factory(a__pi_mem_factory__allocator,
00303 a__pi_mem_factory__type), lit(checked(a__pi_mf_lit__lit))
00304 {}
00305
00306 ptr< object::reflection_list > pi_mf_lit::reflection_get() const
00307 {
00308 if (!reflection) {
00309 typedef class_reflection::field_metadata md;
00310 typedef class_reflection::field_metadata_list mdlist;
00311 ptr<mdlist> mdl = mdlist::create();
00312 mdl->push_back( md::create( "lit", "pi_lit" ) );
00313 reflection = reflection_list::create( pi_mem_factory::reflection_get() );
00314 reflection->push_back( class_reflection::create( "pi_mf_lit", mdl ) );
00315 }
00316 return reflection;
00317 }
00318
00319 ptr< object::field_list_list > pi_mf_lit::field_values_get() const
00320 {
00321 ptr < field_list_list > result = pi_mem_factory::field_values_get();
00322 result->push_back( value_list::create() );
00323 result->back()->push_back( this->lit );
00324 return result;
00325 }
00326
00327
00328
00329
00330
00331
00332 void pi_mf_lit::gc_mark()
00333 {
00334 pi_mem_factory::gc_mark();
00335 }
00336
00337
00338
00339
00340
00341
00342
00343
00344
00345 ptr< pi_mem_factory > pi_mf_member::parent_get() const
00346 {
00347 return parent;
00348 }
00349
00350
00351
00352
00353
00354 void pi_mf_member::parent_set(const ptr< pi_mem_factory > & x)
00355 {
00356 pi_mf_member::parent = x;
00357 }
00358
00359
00360
00361
00362
00363 ulint pi_mf_member::member_offset_get() const
00364 {
00365 return member_offset;
00366 }
00367
00368
00369
00370
00371
00372 void pi_mf_member::member_offset_set(ulint x)
00373 {
00374 pi_mf_member::member_offset = x;
00375 }
00376
00377
00378
00379
00380
00381 ptr< pi_mf_member > pi_mf_member::create(ptr< ::lestes::md::mem::allocator_base > a__pi_mem_factory__allocator,
00382 ptr< ::lestes::md::types::tm_data_type_base > a__pi_mem_factory__type,
00383 ptr< pi_mem_factory > a__pi_mf_member__parent,
00384 ulint a__pi_mf_member__member_offset)
00385 {
00386 return ptr< pi_mf_member > ( new pi_mf_member(a__pi_mem_factory__allocator,
00387 a__pi_mem_factory__type,
00388 a__pi_mf_member__parent,
00389 a__pi_mf_member__member_offset) );
00390 }
00391
00392
00393
00394
00395
00396 pi_mf_member::pi_mf_member (ptr< ::lestes::md::mem::allocator_base > a__pi_mem_factory__allocator,
00397 ptr< ::lestes::md::types::tm_data_type_base > a__pi_mem_factory__type,
00398 ptr< pi_mem_factory > a__pi_mf_member__parent,
00399 ulint a__pi_mf_member__member_offset)
00400 : pi_mem_factory(a__pi_mem_factory__allocator,
00401 a__pi_mem_factory__type), parent(checked(a__pi_mf_member__parent)), member_offset(a__pi_mf_member__member_offset)
00402 {}
00403
00404 ptr< object::reflection_list > pi_mf_member::reflection_get() const
00405 {
00406 if (!reflection) {
00407 typedef class_reflection::field_metadata md;
00408 typedef class_reflection::field_metadata_list mdlist;
00409 ptr<mdlist> mdl = mdlist::create();
00410 mdl->push_back( md::create( "parent", "pi_mem_factory" ) );
00411 mdl->push_back( md::create( "member_offset", "ulint" ) );
00412 reflection = reflection_list::create( pi_mem_factory::reflection_get() );
00413 reflection->push_back( class_reflection::create( "pi_mf_member", mdl ) );
00414 }
00415 return reflection;
00416 }
00417
00418 ptr< object::field_list_list > pi_mf_member::field_values_get() const
00419 {
00420 ptr < field_list_list > result = pi_mem_factory::field_values_get();
00421 result->push_back( value_list::create() );
00422 result->back()->push_back( this->parent );
00423 result->push_back( value_list::create() );
00424 result->back()->push_back( objectize< ulint > ::create( this->member_offset ) );
00425 return result;
00426 }
00427
00428
00429
00430
00431
00432
00433 void pi_mf_member::gc_mark()
00434 {
00435 pi_mem_factory::gc_mark();
00436 }
00437
00438
00439
00440
00441
00442
00443
00444
00445
00446 ptr< ::lestes::backend_v2::intercode::pi_preg > pi_mf_preg::preg_get() const
00447 {
00448 return preg;
00449 }
00450
00451
00452
00453
00454
00455 void pi_mf_preg::preg_set(const ptr< ::lestes::backend_v2::intercode::pi_preg > & x)
00456 {
00457 pi_mf_preg::preg = x;
00458 }
00459
00460
00461
00462
00463
00464 ptr< pi_mf_preg > pi_mf_preg::create(ptr< ::lestes::md::mem::allocator_base > a__pi_mem_factory__allocator,
00465 ptr< ::lestes::md::types::tm_data_type_base > a__pi_mem_factory__type,
00466 ptr< ::lestes::backend_v2::intercode::pi_preg > a__pi_mf_preg__preg)
00467 {
00468 return ptr< pi_mf_preg > ( new pi_mf_preg(a__pi_mem_factory__allocator,
00469 a__pi_mem_factory__type,
00470 a__pi_mf_preg__preg) );
00471 }
00472
00473
00474
00475
00476
00477 pi_mf_preg::pi_mf_preg (ptr< ::lestes::md::mem::allocator_base > a__pi_mem_factory__allocator,
00478 ptr< ::lestes::md::types::tm_data_type_base > a__pi_mem_factory__type,
00479 ptr< ::lestes::backend_v2::intercode::pi_preg > a__pi_mf_preg__preg)
00480 : pi_mem_factory(a__pi_mem_factory__allocator,
00481 a__pi_mem_factory__type), preg(checked(a__pi_mf_preg__preg))
00482 {}
00483
00484 ptr< object::reflection_list > pi_mf_preg::reflection_get() const
00485 {
00486 if (!reflection) {
00487 typedef class_reflection::field_metadata md;
00488 typedef class_reflection::field_metadata_list mdlist;
00489 ptr<mdlist> mdl = mdlist::create();
00490 mdl->push_back( md::create( "preg", "pi_preg" ) );
00491 reflection = reflection_list::create( pi_mem_factory::reflection_get() );
00492 reflection->push_back( class_reflection::create( "pi_mf_preg", mdl ) );
00493 }
00494 return reflection;
00495 }
00496
00497 ptr< object::field_list_list > pi_mf_preg::field_values_get() const
00498 {
00499 ptr < field_list_list > result = pi_mem_factory::field_values_get();
00500 result->push_back( value_list::create() );
00501 result->back()->push_back( this->preg );
00502 return result;
00503 }
00504
00505
00506
00507
00508
00509
00510 void pi_mf_preg::gc_mark()
00511 {
00512 pi_mem_factory::gc_mark();
00513 }
00514
00515
00516
00517
00518
00519
00520
00521
00522
00523 ptr< ::lestes::backend_v2::intercode::pi_preg > pi_mf_ptr_deref::addr_get() const
00524 {
00525 return addr;
00526 }
00527
00528
00529
00530
00531
00532 void pi_mf_ptr_deref::addr_set(const ptr< ::lestes::backend_v2::intercode::pi_preg > & x)
00533 {
00534 pi_mf_ptr_deref::addr = x;
00535 }
00536
00537
00538
00539
00540
00541 ptr< ::lestes::backend_v2::intercode::ge_operand_reg > pi_mf_ptr_deref::ge_addr_get() const
00542 {
00543 return ge_addr;
00544 }
00545
00546
00547
00548
00549
00550 void pi_mf_ptr_deref::ge_addr_set(const ptr< ::lestes::backend_v2::intercode::ge_operand_reg > & x)
00551 {
00552 pi_mf_ptr_deref::ge_addr = x;
00553 }
00554
00555
00556
00557
00558
00559 ptr< pi_mf_ptr_deref > pi_mf_ptr_deref::create(ptr< ::lestes::md::mem::allocator_base > a__pi_mem_factory__allocator,
00560 ptr< ::lestes::md::types::tm_data_type_base > a__pi_mem_factory__type,
00561 ptr< ::lestes::backend_v2::intercode::pi_preg > a__pi_mf_ptr_deref__addr,
00562 ptr< ::lestes::backend_v2::intercode::ge_operand_reg > a__pi_mf_ptr_deref__ge_addr)
00563 {
00564 return ptr< pi_mf_ptr_deref > ( new pi_mf_ptr_deref(a__pi_mem_factory__allocator,
00565 a__pi_mem_factory__type,
00566 a__pi_mf_ptr_deref__addr,
00567 a__pi_mf_ptr_deref__ge_addr) );
00568 }
00569
00570
00571
00572
00573
00574 ptr< pi_mf_ptr_deref > pi_mf_ptr_deref::create(ptr< ::lestes::md::mem::allocator_base > a__pi_mem_factory__allocator,
00575 ptr< ::lestes::md::types::tm_data_type_base > a__pi_mem_factory__type,
00576 ptr< ::lestes::backend_v2::intercode::pi_preg > a__pi_mf_ptr_deref__addr)
00577 {
00578 return ptr< pi_mf_ptr_deref > ( new pi_mf_ptr_deref(a__pi_mem_factory__allocator, a__pi_mem_factory__type, a__pi_mf_ptr_deref__addr, NULL) );
00579 }
00580
00581
00582
00583
00584
00585 pi_mf_ptr_deref::pi_mf_ptr_deref (ptr< ::lestes::md::mem::allocator_base > a__pi_mem_factory__allocator,
00586 ptr< ::lestes::md::types::tm_data_type_base > a__pi_mem_factory__type,
00587 ptr< ::lestes::backend_v2::intercode::pi_preg > a__pi_mf_ptr_deref__addr,
00588 ptr< ::lestes::backend_v2::intercode::ge_operand_reg > a__pi_mf_ptr_deref__ge_addr)
00589 : pi_mem_factory(a__pi_mem_factory__allocator,
00590 a__pi_mem_factory__type), addr(checked(a__pi_mf_ptr_deref__addr)), ge_addr(a__pi_mf_ptr_deref__ge_addr)
00591 {}
00592
00593 ptr< object::reflection_list > pi_mf_ptr_deref::reflection_get() const
00594 {
00595 if (!reflection) {
00596 typedef class_reflection::field_metadata md;
00597 typedef class_reflection::field_metadata_list mdlist;
00598 ptr<mdlist> mdl = mdlist::create();
00599 mdl->push_back( md::create( "addr", "pi_preg" ) );
00600 mdl->push_back( md::create( "ge_addr", "ge_operand_reg" ) );
00601 reflection = reflection_list::create( pi_mem_factory::reflection_get() );
00602 reflection->push_back( class_reflection::create( "pi_mf_ptr_deref", mdl ) );
00603 }
00604 return reflection;
00605 }
00606
00607 ptr< object::field_list_list > pi_mf_ptr_deref::field_values_get() const
00608 {
00609 ptr < field_list_list > result = pi_mem_factory::field_values_get();
00610 result->push_back( value_list::create() );
00611 result->back()->push_back( this->addr );
00612 result->push_back( value_list::create() );
00613 result->back()->push_back( this->ge_addr );
00614 return result;
00615 }
00616
00617
00618
00619
00620
00621
00622 void pi_mf_ptr_deref::gc_mark()
00623 {
00624 pi_mem_factory::gc_mark();
00625 }
00626
00627
00628
00629
00630
00631 ptr<object::reflection_list> pi_mem_factory::reflection = reflection;
00632 ptr<object::reflection_list> pi_mf_stack::reflection = reflection;
00633 ptr<object::reflection_list> pi_mf_decl::reflection = reflection;
00634 ptr<object::reflection_list> pi_mf_lit::reflection = reflection;
00635 ptr<object::reflection_list> pi_mf_member::reflection = reflection;
00636 ptr<object::reflection_list> pi_mf_preg::reflection = reflection;
00637 ptr<object::reflection_list> pi_mf_ptr_deref::reflection = reflection;
00638
00639 end_package(intercode);
00640 end_package(backend_v2);
00641 end_package(lestes);
00642