00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include <lestes/backend_v2/intercode/pi.g.hh>
00013 #include <lestes/lang/cplus/sem/ss_decl_name.g.hh>
00014 #include <lestes/lang/cplus/sem/ss_declaration.g.hh>
00015 #include <lestes/lang/cplus/sem/ss_expression.g.hh>
00016 #include <lestes/lang/cplus/sem/ss_statement.g.hh>
00017 #include <lestes/lang/cplus/sem/ss_expr_funcall.g.hh>
00018 #include <lestes/lang/cplus/sem/ss_expr_unary_op.g.hh>
00019 #include <lestes/lang/cplus/sem/visitor.v.g.hh>
00020 #include <lestes/lang/cplus/sem/or_visitor.v.g.hh>
00021 #include <lestes/lang/cplus/sem/ss_ss2pi_base.g.hh>
00022
00023 #include <lestes/std/list.hh>
00024 #include <lestes/std/pair.hh>
00025 #include <lestes/std/reflect.hh>
00026
00027 #include <lestes/lang/cplus/sem/ss_misc.g.hh>
00028
00029 package(lestes);
00030 package(lang);
00031 package(cplus);
00032 package(sem);
00033
00034
00035
00036
00037
00038
00039
00040
00041 ptr< ss_declaration_time > ss_declaration_time::create(ulint a__ss_declaration_time__time)
00042 {
00043 return ptr< ss_declaration_time > ( new ss_declaration_time(a__ss_declaration_time__time) );
00044 }
00045
00046
00047
00048
00049
00050 ss_declaration_time::ss_declaration_time (ulint a__ss_declaration_time__time)
00051 : object(), time(a__ss_declaration_time__time)
00052 {}
00053
00054 ptr< object::reflection_list > ss_declaration_time::reflection_get() const
00055 {
00056 if (!reflection) {
00057 typedef class_reflection::field_metadata md;
00058 typedef class_reflection::field_metadata_list mdlist;
00059 ptr<mdlist> mdl = mdlist::create();
00060 mdl->push_back( md::create( "time", "ulint" ) );
00061 mdl->push_back( md::create( "infinity_instance", "ss_declaration_time" ) );
00062 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00063 reflection->push_back( class_reflection::create( "ss_declaration_time", mdl ) );
00064 }
00065 return reflection;
00066 }
00067
00068 ptr< object::field_list_list > ss_declaration_time::field_values_get() const
00069 {
00070 ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00071 result->push_back( value_list::create() );
00072 result->back()->push_back( objectize< ulint > ::create( this->time ) );
00073 result->push_back( value_list::create() );
00074 result->back()->push_back( this->infinity_instance );
00075 return result;
00076 }
00077
00078
00079
00080
00081
00082
00083 void ss_declaration_time::gc_mark()
00084 {
00085 ::lestes::std::object::gc_mark();
00086 }
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096 ptr< ::lestes::std::list< srp< ss_declaration > > > ss_decl_seq::contents_get() const
00097 {
00098 return contents;
00099 }
00100
00101
00102
00103
00104
00105 ptr< ss_decl_seq > ss_decl_seq::parent_get() const
00106 {
00107 return parent;
00108 }
00109
00110
00111
00112
00113
00114 ptr< ss_compound_stmt > ss_decl_seq::compound_stmt_get() const
00115 {
00116 return compound_stmt;
00117 }
00118
00119
00120
00121
00122
00123 void ss_decl_seq::compound_stmt_set(const ptr< ss_compound_stmt > & x)
00124 {
00125 ss_decl_seq::compound_stmt = x;
00126 }
00127
00128
00129
00130
00131
00132 ptr< ::lestes::std::list< srp< ss_using_directive > > > ss_decl_seq::using_directives_get() const
00133 {
00134 return using_directives;
00135 }
00136
00137
00138
00139
00140
00141 ptr< ss_declaration > ss_decl_seq::declared_by_get() const
00142 {
00143 return declared_by;
00144 }
00145
00146
00147
00148
00149
00150 void ss_decl_seq::declared_by_set(const ptr< ss_declaration > & x)
00151 {
00152 ss_decl_seq::declared_by = x;
00153 }
00154
00155
00156
00157
00158
00159 ptr< ss_decl_seq > ss_decl_seq::create(ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00160 ptr< ::lestes::std::list< srp< ss_declaration > > > a__ss_decl_seq__contents,
00161 ptr< ss_decl_seq > a__ss_decl_seq__parent,
00162 ptr< ss_compound_stmt > a__ss_decl_seq__compound_stmt,
00163 ptr< ::lestes::std::list< srp< ss_using_directive > > > a__ss_decl_seq__using_directives,
00164 ptr< ss_declaration > a__ss_decl_seq__declared_by)
00165 {
00166 return ptr< ss_decl_seq > ( new ss_decl_seq(a__ss_base_with_location__location,
00167 a__ss_decl_seq__contents,
00168 a__ss_decl_seq__parent,
00169 a__ss_decl_seq__compound_stmt,
00170 a__ss_decl_seq__using_directives,
00171 a__ss_decl_seq__declared_by) );
00172 }
00173
00174
00175
00176
00177
00178 ptr< ss_decl_seq > ss_decl_seq::create(ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00179 ptr< ::lestes::std::list< srp< ss_declaration > > > a__ss_decl_seq__contents,
00180 ptr< ss_decl_seq > a__ss_decl_seq__parent,
00181 ptr< ss_compound_stmt > a__ss_decl_seq__compound_stmt,
00182 ptr< ss_declaration > a__ss_decl_seq__declared_by)
00183 {
00184 return ptr< ss_decl_seq > ( new ss_decl_seq(a__ss_base_with_location__location, a__ss_decl_seq__contents, a__ss_decl_seq__parent, a__ss_decl_seq__compound_stmt, ::lestes::std::list< srp< ss_using_directive > > ::create(), a__ss_decl_seq__declared_by) );
00185 }
00186
00187
00188
00189
00190
00191 ss_decl_seq::ss_decl_seq (ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00192 ptr< ::lestes::std::list< srp< ss_declaration > > > a__ss_decl_seq__contents,
00193 ptr< ss_decl_seq > a__ss_decl_seq__parent,
00194 ptr< ss_compound_stmt > a__ss_decl_seq__compound_stmt,
00195 ptr< ::lestes::std::list< srp< ss_using_directive > > > a__ss_decl_seq__using_directives,
00196 ptr< ss_declaration > a__ss_decl_seq__declared_by)
00197 : ss_base_with_location(a__ss_base_with_location__location), contents(checked(a__ss_decl_seq__contents)), parent(check__ss_decl_seq__parent(a__ss_decl_seq__parent)), compound_stmt(a__ss_decl_seq__compound_stmt), using_directives(checked(a__ss_decl_seq__using_directives)), declared_by(a__ss_decl_seq__declared_by)
00198 {}
00199
00200 ptr< object::reflection_list > ss_decl_seq::reflection_get() const
00201 {
00202 if (!reflection) {
00203 typedef class_reflection::field_metadata md;
00204 typedef class_reflection::field_metadata_list mdlist;
00205 ptr<mdlist> mdl = mdlist::create();
00206 mdl->push_back( md::create( "contents", "list< srp< ss_declaration > >" ) );
00207 mdl->push_back( md::create( "parent", "ss_decl_seq" ) );
00208 mdl->push_back( md::create( "compound_stmt", "ss_compound_stmt" ) );
00209 mdl->push_back( md::create( "using_directives", "list< srp< ss_using_directive > >" ) );
00210 mdl->push_back( md::create( "declared_by", "ss_declaration" ) );
00211 mdl->push_back( md::create( "the_root_instance", "ss_decl_seq" ) );
00212 mdl->push_back( md::create( "parent_set_ward", "bool" ) );
00213 reflection = reflection_list::create( ::lestes::intercode::ss_base_with_location::reflection_get() );
00214 reflection->push_back( class_reflection::create( "ss_decl_seq", mdl ) );
00215 }
00216 return reflection;
00217 }
00218
00219 ptr< object::field_list_list > ss_decl_seq::field_values_get() const
00220 {
00221 ptr < field_list_list > result = ::lestes::intercode::ss_base_with_location::field_values_get();
00222 result->push_back( value_list::create() );
00223 result->back()->push_back( this->contents );
00224 result->push_back( value_list::create() );
00225 result->back()->push_back( this->parent );
00226 result->push_back( value_list::create() );
00227 result->back()->push_back( this->compound_stmt );
00228 result->push_back( value_list::create() );
00229 result->back()->push_back( this->using_directives );
00230 result->push_back( value_list::create() );
00231 result->back()->push_back( this->declared_by );
00232 result->push_back( value_list::create() );
00233 result->back()->push_back( this->the_root_instance );
00234 result->push_back( value_list::create() );
00235 result->back()->push_back( objectize< bool > ::create( this->parent_set_ward ) );
00236 return result;
00237 }
00238
00239
00240
00241
00242
00243
00244 void ss_decl_seq::gc_mark()
00245 {
00246 ::lestes::intercode::ss_base_with_location::gc_mark();
00247 }
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257 ptr< ss_declaration_time > ss_using_directive::decl_time_get() const
00258 {
00259 return decl_time;
00260 }
00261
00262
00263
00264
00265
00266 void ss_using_directive::decl_time_set(const ptr< ss_declaration_time > & x)
00267 {
00268 ss_using_directive::decl_time = x;
00269 }
00270
00271
00272
00273
00274
00275 ptr< ss_namespace_definition > ss_using_directive::nspace_get() const
00276 {
00277 return nspace;
00278 }
00279
00280
00281
00282
00283
00284 void ss_using_directive::nspace_set(const ptr< ss_namespace_definition > & x)
00285 {
00286 ss_using_directive::nspace = x;
00287 }
00288
00289
00290
00291
00292
00293 ptr< ss_using_directive > ss_using_directive::create(ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00294 ptr< ss_declaration_time > a__ss_using_directive__decl_time,
00295 ptr< ss_namespace_definition > a__ss_using_directive__nspace)
00296 {
00297 return ptr< ss_using_directive > ( new ss_using_directive(a__ss_base_with_location__location,
00298 a__ss_using_directive__decl_time,
00299 a__ss_using_directive__nspace) );
00300 }
00301
00302
00303
00304
00305
00306 ss_using_directive::ss_using_directive (ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00307 ptr< ss_declaration_time > a__ss_using_directive__decl_time,
00308 ptr< ss_namespace_definition > a__ss_using_directive__nspace)
00309 : ss_base_with_location(a__ss_base_with_location__location), decl_time(checked(a__ss_using_directive__decl_time)), nspace(checked(a__ss_using_directive__nspace))
00310 {}
00311
00312 ptr< object::reflection_list > ss_using_directive::reflection_get() const
00313 {
00314 if (!reflection) {
00315 typedef class_reflection::field_metadata md;
00316 typedef class_reflection::field_metadata_list mdlist;
00317 ptr<mdlist> mdl = mdlist::create();
00318 mdl->push_back( md::create( "decl_time", "ss_declaration_time" ) );
00319 mdl->push_back( md::create( "nspace", "ss_namespace_definition" ) );
00320 reflection = reflection_list::create( ::lestes::intercode::ss_base_with_location::reflection_get() );
00321 reflection->push_back( class_reflection::create( "ss_using_directive", mdl ) );
00322 }
00323 return reflection;
00324 }
00325
00326 ptr< object::field_list_list > ss_using_directive::field_values_get() const
00327 {
00328 ptr < field_list_list > result = ::lestes::intercode::ss_base_with_location::field_values_get();
00329 result->push_back( value_list::create() );
00330 result->back()->push_back( this->decl_time );
00331 result->push_back( value_list::create() );
00332 result->back()->push_back( this->nspace );
00333 return result;
00334 }
00335
00336
00337
00338
00339
00340
00341 void ss_using_directive::gc_mark()
00342 {
00343 ::lestes::intercode::ss_base_with_location::gc_mark();
00344 }
00345
00346
00347
00348
00349
00350
00351
00352
00353
00354 ss_label::ss_label (ptr< ::lestes::std::source_location > a__ss_base_with_location__location)
00355 : ss_base_with_location(a__ss_base_with_location__location)
00356 {}
00357
00358 ptr< object::reflection_list > ss_label::reflection_get() const
00359 {
00360 if (!reflection) {
00361 typedef class_reflection::field_metadata md;
00362 typedef class_reflection::field_metadata_list mdlist;
00363 ptr<mdlist> mdl = mdlist::create();
00364 reflection = reflection_list::create( ::lestes::intercode::ss_base_with_location::reflection_get() );
00365 reflection->push_back( class_reflection::create( "ss_label", mdl ) );
00366 }
00367 return reflection;
00368 }
00369
00370 ptr< object::field_list_list > ss_label::field_values_get() const
00371 {
00372 ptr < field_list_list > result = ::lestes::intercode::ss_base_with_location::field_values_get();
00373 return result;
00374 }
00375
00376
00377
00378
00379
00380
00381 void ss_label::gc_mark()
00382 {
00383 ::lestes::intercode::ss_base_with_location::gc_mark();
00384 }
00385
00386
00387
00388
00389
00390
00391
00392
00393
00394 ptr< ss_breakable_stmt > ss_breakable_stmt_label::breakable_get() const
00395 {
00396 return breakable;
00397 }
00398
00399
00400
00401
00402
00403 void ss_breakable_stmt_label::breakable_set(const ptr< ss_breakable_stmt > & x)
00404 {
00405 ss_breakable_stmt_label::breakable = x;
00406 }
00407
00408
00409
00410
00411
00412 ss_breakable_stmt_label::ss_breakable_stmt_label (ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00413 ptr< ss_breakable_stmt > a__ss_breakable_stmt_label__breakable)
00414 : ss_label(a__ss_base_with_location__location), breakable(checked(a__ss_breakable_stmt_label__breakable))
00415 {}
00416
00417 ptr< object::reflection_list > ss_breakable_stmt_label::reflection_get() const
00418 {
00419 if (!reflection) {
00420 typedef class_reflection::field_metadata md;
00421 typedef class_reflection::field_metadata_list mdlist;
00422 ptr<mdlist> mdl = mdlist::create();
00423 mdl->push_back( md::create( "breakable", "ss_breakable_stmt" ) );
00424 reflection = reflection_list::create( ss_label::reflection_get() );
00425 reflection->push_back( class_reflection::create( "ss_breakable_stmt_label", mdl ) );
00426 }
00427 return reflection;
00428 }
00429
00430 ptr< object::field_list_list > ss_breakable_stmt_label::field_values_get() const
00431 {
00432 ptr < field_list_list > result = ss_label::field_values_get();
00433 result->push_back( value_list::create() );
00434 result->back()->push_back( this->breakable );
00435 return result;
00436 }
00437
00438
00439
00440
00441
00442
00443 void ss_breakable_stmt_label::gc_mark()
00444 {
00445 ss_label::gc_mark();
00446 }
00447
00448
00449
00450
00451
00452
00453
00454
00455
00456 ptr< ss_expression > ss_case_label::value_get() const
00457 {
00458 return value;
00459 }
00460
00461
00462
00463
00464
00465 void ss_case_label::value_set(const ptr< ss_expression > & x)
00466 {
00467 ss_case_label::value = x;
00468 }
00469
00470
00471
00472
00473
00474 ptr< ss_case_label > ss_case_label::create(ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00475 ptr< ss_breakable_stmt > a__ss_breakable_stmt_label__breakable,
00476 ptr< ss_expression > a__ss_case_label__value)
00477 {
00478 return ptr< ss_case_label > ( new ss_case_label(a__ss_base_with_location__location,
00479 a__ss_breakable_stmt_label__breakable,
00480 a__ss_case_label__value) );
00481 }
00482
00483
00484
00485
00486
00487 ss_case_label::ss_case_label (ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00488 ptr< ss_breakable_stmt > a__ss_breakable_stmt_label__breakable,
00489 ptr< ss_expression > a__ss_case_label__value)
00490 : ss_breakable_stmt_label(a__ss_base_with_location__location,
00491 a__ss_breakable_stmt_label__breakable), value(checked(a__ss_case_label__value))
00492 {}
00493
00494 ptr< object::reflection_list > ss_case_label::reflection_get() const
00495 {
00496 if (!reflection) {
00497 typedef class_reflection::field_metadata md;
00498 typedef class_reflection::field_metadata_list mdlist;
00499 ptr<mdlist> mdl = mdlist::create();
00500 mdl->push_back( md::create( "value", "ss_expression" ) );
00501 reflection = reflection_list::create( ss_breakable_stmt_label::reflection_get() );
00502 reflection->push_back( class_reflection::create( "ss_case_label", mdl ) );
00503 }
00504 return reflection;
00505 }
00506
00507 ptr< object::field_list_list > ss_case_label::field_values_get() const
00508 {
00509 ptr < field_list_list > result = ss_breakable_stmt_label::field_values_get();
00510 result->push_back( value_list::create() );
00511 result->back()->push_back( this->value );
00512 return result;
00513 }
00514
00515
00516
00517
00518
00519
00520 void ss_case_label::gc_mark()
00521 {
00522 ss_breakable_stmt_label::gc_mark();
00523 }
00524
00525
00526
00527
00528
00529
00530
00531
00532
00533 ptr< ss_default_label > ss_default_label::create(ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00534 ptr< ss_breakable_stmt > a__ss_breakable_stmt_label__breakable)
00535 {
00536 return ptr< ss_default_label > ( new ss_default_label(a__ss_base_with_location__location,
00537 a__ss_breakable_stmt_label__breakable) );
00538 }
00539
00540
00541
00542
00543
00544 ss_default_label::ss_default_label (ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00545 ptr< ss_breakable_stmt > a__ss_breakable_stmt_label__breakable)
00546 : ss_breakable_stmt_label(a__ss_base_with_location__location,
00547 a__ss_breakable_stmt_label__breakable)
00548 {}
00549
00550 ptr< object::reflection_list > ss_default_label::reflection_get() const
00551 {
00552 if (!reflection) {
00553 typedef class_reflection::field_metadata md;
00554 typedef class_reflection::field_metadata_list mdlist;
00555 ptr<mdlist> mdl = mdlist::create();
00556 reflection = reflection_list::create( ss_breakable_stmt_label::reflection_get() );
00557 reflection->push_back( class_reflection::create( "ss_default_label", mdl ) );
00558 }
00559 return reflection;
00560 }
00561
00562 ptr< object::field_list_list > ss_default_label::field_values_get() const
00563 {
00564 ptr < field_list_list > result = ss_breakable_stmt_label::field_values_get();
00565 return result;
00566 }
00567
00568
00569
00570
00571
00572
00573 void ss_default_label::gc_mark()
00574 {
00575 ss_breakable_stmt_label::gc_mark();
00576 }
00577
00578
00579
00580
00581
00582
00583
00584
00585
00586 ptr< ss_continue_label > ss_continue_label::create(ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00587 ptr< ss_breakable_stmt > a__ss_breakable_stmt_label__breakable)
00588 {
00589 return ptr< ss_continue_label > ( new ss_continue_label(a__ss_base_with_location__location,
00590 a__ss_breakable_stmt_label__breakable) );
00591 }
00592
00593
00594
00595
00596
00597 ss_continue_label::ss_continue_label (ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00598 ptr< ss_breakable_stmt > a__ss_breakable_stmt_label__breakable)
00599 : ss_breakable_stmt_label(a__ss_base_with_location__location,
00600 a__ss_breakable_stmt_label__breakable)
00601 {}
00602
00603 ptr< object::reflection_list > ss_continue_label::reflection_get() const
00604 {
00605 if (!reflection) {
00606 typedef class_reflection::field_metadata md;
00607 typedef class_reflection::field_metadata_list mdlist;
00608 ptr<mdlist> mdl = mdlist::create();
00609 reflection = reflection_list::create( ss_breakable_stmt_label::reflection_get() );
00610 reflection->push_back( class_reflection::create( "ss_continue_label", mdl ) );
00611 }
00612 return reflection;
00613 }
00614
00615 ptr< object::field_list_list > ss_continue_label::field_values_get() const
00616 {
00617 ptr < field_list_list > result = ss_breakable_stmt_label::field_values_get();
00618 return result;
00619 }
00620
00621
00622
00623
00624
00625
00626 void ss_continue_label::gc_mark()
00627 {
00628 ss_breakable_stmt_label::gc_mark();
00629 }
00630
00631
00632
00633
00634
00635
00636
00637
00638
00639 ptr< ss_break_label > ss_break_label::create(ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00640 ptr< ss_breakable_stmt > a__ss_breakable_stmt_label__breakable)
00641 {
00642 return ptr< ss_break_label > ( new ss_break_label(a__ss_base_with_location__location,
00643 a__ss_breakable_stmt_label__breakable) );
00644 }
00645
00646
00647
00648
00649
00650 ss_break_label::ss_break_label (ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00651 ptr< ss_breakable_stmt > a__ss_breakable_stmt_label__breakable)
00652 : ss_breakable_stmt_label(a__ss_base_with_location__location,
00653 a__ss_breakable_stmt_label__breakable)
00654 {}
00655
00656 ptr< object::reflection_list > ss_break_label::reflection_get() const
00657 {
00658 if (!reflection) {
00659 typedef class_reflection::field_metadata md;
00660 typedef class_reflection::field_metadata_list mdlist;
00661 ptr<mdlist> mdl = mdlist::create();
00662 reflection = reflection_list::create( ss_breakable_stmt_label::reflection_get() );
00663 reflection->push_back( class_reflection::create( "ss_break_label", mdl ) );
00664 }
00665 return reflection;
00666 }
00667
00668 ptr< object::field_list_list > ss_break_label::field_values_get() const
00669 {
00670 ptr < field_list_list > result = ss_breakable_stmt_label::field_values_get();
00671 return result;
00672 }
00673
00674
00675
00676
00677
00678
00679 void ss_break_label::gc_mark()
00680 {
00681 ss_breakable_stmt_label::gc_mark();
00682 }
00683
00684
00685
00686
00687
00688
00689
00690
00691
00692 ptr< ss_statement > ss_targetted_label::statement_get() const
00693 {
00694 return statement;
00695 }
00696
00697
00698
00699
00700
00701 void ss_targetted_label::statement_set(const ptr< ss_statement > & x)
00702 {
00703 ss_targetted_label::statement = x;
00704 }
00705
00706
00707
00708
00709
00710 ptr< ss_targetted_label > ss_targetted_label::create(ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00711 ptr< ss_statement > a__ss_targetted_label__statement)
00712 {
00713 return ptr< ss_targetted_label > ( new ss_targetted_label(a__ss_base_with_location__location,
00714 a__ss_targetted_label__statement) );
00715 }
00716
00717
00718
00719
00720
00721 ss_targetted_label::ss_targetted_label (ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00722 ptr< ss_statement > a__ss_targetted_label__statement)
00723 : ss_label(a__ss_base_with_location__location), statement(checked(a__ss_targetted_label__statement))
00724 {}
00725
00726 ptr< object::reflection_list > ss_targetted_label::reflection_get() const
00727 {
00728 if (!reflection) {
00729 typedef class_reflection::field_metadata md;
00730 typedef class_reflection::field_metadata_list mdlist;
00731 ptr<mdlist> mdl = mdlist::create();
00732 mdl->push_back( md::create( "statement", "ss_statement" ) );
00733 reflection = reflection_list::create( ss_label::reflection_get() );
00734 reflection->push_back( class_reflection::create( "ss_targetted_label", mdl ) );
00735 }
00736 return reflection;
00737 }
00738
00739 ptr< object::field_list_list > ss_targetted_label::field_values_get() const
00740 {
00741 ptr < field_list_list > result = ss_label::field_values_get();
00742 result->push_back( value_list::create() );
00743 result->back()->push_back( this->statement );
00744 return result;
00745 }
00746
00747
00748
00749
00750
00751
00752 void ss_targetted_label::gc_mark()
00753 {
00754 ss_label::gc_mark();
00755 }
00756
00757
00758
00759
00760
00761
00762
00763
00764
00765 ptr< ss_internal_label > ss_internal_label::create(ptr< ::lestes::std::source_location > a__ss_base_with_location__location)
00766 {
00767 return ptr< ss_internal_label > ( new ss_internal_label(a__ss_base_with_location__location) );
00768 }
00769
00770
00771
00772
00773
00774 ss_internal_label::ss_internal_label (ptr< ::lestes::std::source_location > a__ss_base_with_location__location)
00775 : ss_label(a__ss_base_with_location__location)
00776 {}
00777
00778 ptr< object::reflection_list > ss_internal_label::reflection_get() const
00779 {
00780 if (!reflection) {
00781 typedef class_reflection::field_metadata md;
00782 typedef class_reflection::field_metadata_list mdlist;
00783 ptr<mdlist> mdl = mdlist::create();
00784 reflection = reflection_list::create( ss_label::reflection_get() );
00785 reflection->push_back( class_reflection::create( "ss_internal_label", mdl ) );
00786 }
00787 return reflection;
00788 }
00789
00790 ptr< object::field_list_list > ss_internal_label::field_values_get() const
00791 {
00792 ptr < field_list_list > result = ss_label::field_values_get();
00793 return result;
00794 }
00795
00796
00797
00798
00799
00800
00801 void ss_internal_label::gc_mark()
00802 {
00803 ss_label::gc_mark();
00804 }
00805
00806
00807
00808
00809
00810
00811
00812
00813
00814 ucn_string ss_id_label::name_get() const
00815 {
00816 return name;
00817 }
00818
00819
00820
00821
00822
00823 void ss_id_label::name_set(ucn_string x)
00824 {
00825 ss_id_label::name = x;
00826 }
00827
00828
00829
00830
00831
00832 ptr< ss_function_declaration > ss_id_label::function_get() const
00833 {
00834 return function;
00835 }
00836
00837
00838
00839
00840
00841 void ss_id_label::function_set(const ptr< ss_function_declaration > & x)
00842 {
00843 ss_id_label::function = x;
00844 }
00845
00846
00847
00848
00849
00850 ptr< ss_id_label > ss_id_label::create(ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00851 ucn_string a__ss_id_label__name,
00852 ptr< ss_function_declaration > a__ss_id_label__function)
00853 {
00854 return ptr< ss_id_label > ( new ss_id_label(a__ss_base_with_location__location,
00855 a__ss_id_label__name,
00856 a__ss_id_label__function) );
00857 }
00858
00859
00860
00861
00862
00863 ss_id_label::ss_id_label (ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00864 ucn_string a__ss_id_label__name,
00865 ptr< ss_function_declaration > a__ss_id_label__function)
00866 : ss_label(a__ss_base_with_location__location), name(a__ss_id_label__name), function(checked(a__ss_id_label__function))
00867 {}
00868
00869 ptr< object::reflection_list > ss_id_label::reflection_get() const
00870 {
00871 if (!reflection) {
00872 typedef class_reflection::field_metadata md;
00873 typedef class_reflection::field_metadata_list mdlist;
00874 ptr<mdlist> mdl = mdlist::create();
00875 mdl->push_back( md::create( "name", "ucn_string" ) );
00876 mdl->push_back( md::create( "function", "ss_function_declaration" ) );
00877 reflection = reflection_list::create( ss_label::reflection_get() );
00878 reflection->push_back( class_reflection::create( "ss_id_label", mdl ) );
00879 }
00880 return reflection;
00881 }
00882
00883 ptr< object::field_list_list > ss_id_label::field_values_get() const
00884 {
00885 ptr < field_list_list > result = ss_label::field_values_get();
00886 result->push_back( value_list::create() );
00887 result->back()->push_back( objectize< ucn_string > ::create( this->name ) );
00888 result->push_back( value_list::create() );
00889 result->back()->push_back( this->function );
00890 return result;
00891 }
00892
00893
00894
00895
00896
00897
00898 void ss_id_label::gc_mark()
00899 {
00900 ss_label::gc_mark();
00901 }
00902
00903
00904
00905
00906
00907
00908
00909
00910
00911 ptr< ss_expression > ss_se::from_get() const
00912 {
00913 return from;
00914 }
00915
00916
00917
00918
00919
00920 void ss_se::from_set(const ptr< ss_expression > & x)
00921 {
00922 ss_se::from = x;
00923 }
00924
00925
00926
00927
00928
00929 ptr< ss_sp > ss_se::psp_get() const
00930 {
00931 return psp;
00932 }
00933
00934
00935
00936
00937
00938 void ss_se::psp_set(const ptr< ss_sp > & x)
00939 {
00940 ss_se::psp = x;
00941 }
00942
00943
00944
00945
00946
00947 ptr< ss_sp > ss_se::nsp_get() const
00948 {
00949 return nsp;
00950 }
00951
00952
00953
00954
00955
00956 void ss_se::nsp_set(const ptr< ss_sp > & x)
00957 {
00958 ss_se::nsp = x;
00959 }
00960
00961
00962
00963
00964
00965 ptr< ss_se > ss_se::create(ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00966 ptr< ss_expression > a__ss_se__from,
00967 ptr< ss_sp > a__ss_se__psp,
00968 ptr< ss_sp > a__ss_se__nsp)
00969 {
00970 return ptr< ss_se > ( new ss_se(a__ss_base_with_location__location,
00971 a__ss_se__from,
00972 a__ss_se__psp,
00973 a__ss_se__nsp) );
00974 }
00975
00976
00977
00978
00979
00980 ss_se::ss_se (ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00981 ptr< ss_expression > a__ss_se__from,
00982 ptr< ss_sp > a__ss_se__psp,
00983 ptr< ss_sp > a__ss_se__nsp)
00984 : ss_base_with_location(a__ss_base_with_location__location), from(checked(a__ss_se__from)), psp(a__ss_se__psp), nsp(a__ss_se__nsp)
00985 {}
00986
00987 ptr< object::reflection_list > ss_se::reflection_get() const
00988 {
00989 if (!reflection) {
00990 typedef class_reflection::field_metadata md;
00991 typedef class_reflection::field_metadata_list mdlist;
00992 ptr<mdlist> mdl = mdlist::create();
00993 mdl->push_back( md::create( "from", "ss_expression" ) );
00994 mdl->push_back( md::create( "psp", "ss_sp" ) );
00995 mdl->push_back( md::create( "nsp", "ss_sp" ) );
00996 reflection = reflection_list::create( ::lestes::intercode::ss_base_with_location::reflection_get() );
00997 reflection->push_back( class_reflection::create( "ss_se", mdl ) );
00998 }
00999 return reflection;
01000 }
01001
01002 ptr< object::field_list_list > ss_se::field_values_get() const
01003 {
01004 ptr < field_list_list > result = ::lestes::intercode::ss_base_with_location::field_values_get();
01005 result->push_back( value_list::create() );
01006 result->back()->push_back( this->from );
01007 result->push_back( value_list::create() );
01008 result->back()->push_back( this->psp );
01009 result->push_back( value_list::create() );
01010 result->back()->push_back( this->nsp );
01011 return result;
01012 }
01013
01014
01015
01016
01017
01018
01019 void ss_se::gc_mark()
01020 {
01021 ::lestes::intercode::ss_base_with_location::gc_mark();
01022 }
01023
01024
01025
01026
01027
01028
01029
01030
01031
01032 ptr< ss_sp > ss_sp::psp_get() const
01033 {
01034 return psp;
01035 }
01036
01037
01038
01039
01040
01041 void ss_sp::psp_set(const ptr< ss_sp > & x)
01042 {
01043 ss_sp::psp = x;
01044 }
01045
01046
01047
01048
01049
01050 ptr< ss_sp > ss_sp::nsp_get() const
01051 {
01052 return nsp;
01053 }
01054
01055
01056
01057
01058
01059 void ss_sp::nsp_set(const ptr< ss_sp > & x)
01060 {
01061 ss_sp::nsp = x;
01062 }
01063
01064
01065
01066
01067
01068 ptr< ::lestes::std::list< srp< ss_se > > > ss_sp::pse_get() const
01069 {
01070 return pse;
01071 }
01072
01073
01074
01075
01076
01077 void ss_sp::pse_set(const ptr< ::lestes::std::list< srp< ss_se > > > & x)
01078 {
01079 ss_sp::pse = x;
01080 }
01081
01082
01083
01084
01085
01086 ptr< ::lestes::std::list< srp< ss_se > > > ss_sp::nse_get() const
01087 {
01088 return nse;
01089 }
01090
01091
01092
01093
01094
01095 void ss_sp::nse_set(const ptr< ::lestes::std::list< srp< ss_se > > > & x)
01096 {
01097 ss_sp::nse = x;
01098 }
01099
01100
01101
01102
01103
01104 ptr< ::lestes::backend_v2::intercode::pi_sp > ss_sp::pi_spe_get() const
01105 {
01106 return pi_spe;
01107 }
01108
01109
01110
01111
01112
01113 void ss_sp::pi_spe_set(const ptr< ::lestes::backend_v2::intercode::pi_sp > & x)
01114 {
01115 ss_sp::pi_spe = x;
01116 }
01117
01118
01119
01120
01121
01122 ulint ss_sp::level_get() const
01123 {
01124 return level;
01125 }
01126
01127
01128
01129
01130
01131 void ss_sp::level_set(ulint x)
01132 {
01133 ss_sp::level = x;
01134 }
01135
01136
01137
01138
01139
01140 ptr< ss_sp > ss_sp::create(ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
01141 ptr< ss_sp > a__ss_sp__psp,
01142 ptr< ss_sp > a__ss_sp__nsp,
01143 ptr< ::lestes::std::list< srp< ss_se > > > a__ss_sp__pse,
01144 ptr< ::lestes::std::list< srp< ss_se > > > a__ss_sp__nse,
01145 ptr< ::lestes::backend_v2::intercode::pi_sp > a__ss_sp__pi_spe,
01146 ulint a__ss_sp__level)
01147 {
01148 return ptr< ss_sp > ( new ss_sp(a__ss_base_with_location__location,
01149 a__ss_sp__psp,
01150 a__ss_sp__nsp,
01151 a__ss_sp__pse,
01152 a__ss_sp__nse,
01153 a__ss_sp__pi_spe,
01154 a__ss_sp__level) );
01155 }
01156
01157
01158
01159
01160
01161 ptr< ss_sp > ss_sp::create(ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
01162 ptr< ss_sp > a__ss_sp__psp,
01163 ptr< ss_sp > a__ss_sp__nsp,
01164 ulint a__ss_sp__level)
01165 {
01166 return ptr< ss_sp > ( new ss_sp(a__ss_base_with_location__location, a__ss_sp__psp, a__ss_sp__nsp, ::lestes::std::list< srp< ss_se > > ::create(), ::lestes::std::list< srp< ss_se > > ::create(), NULL, a__ss_sp__level) );
01167 }
01168
01169
01170
01171
01172
01173 ss_sp::ss_sp (ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
01174 ptr< ss_sp > a__ss_sp__psp,
01175 ptr< ss_sp > a__ss_sp__nsp,
01176 ptr< ::lestes::std::list< srp< ss_se > > > a__ss_sp__pse,
01177 ptr< ::lestes::std::list< srp< ss_se > > > a__ss_sp__nse,
01178 ptr< ::lestes::backend_v2::intercode::pi_sp > a__ss_sp__pi_spe,
01179 ulint a__ss_sp__level)
01180 : ss_base_with_location(a__ss_base_with_location__location), psp(a__ss_sp__psp), nsp(a__ss_sp__nsp), pse(checked(a__ss_sp__pse)), nse(checked(a__ss_sp__nse)), pi_spe(a__ss_sp__pi_spe), level(a__ss_sp__level)
01181 {}
01182
01183 ptr< object::reflection_list > ss_sp::reflection_get() const
01184 {
01185 if (!reflection) {
01186 typedef class_reflection::field_metadata md;
01187 typedef class_reflection::field_metadata_list mdlist;
01188 ptr<mdlist> mdl = mdlist::create();
01189 mdl->push_back( md::create( "psp", "ss_sp" ) );
01190 mdl->push_back( md::create( "nsp", "ss_sp" ) );
01191 mdl->push_back( md::create( "pse", "list< srp< ss_se > >" ) );
01192 mdl->push_back( md::create( "nse", "list< srp< ss_se > >" ) );
01193 mdl->push_back( md::create( "pi_spe", "pi_sp" ) );
01194 mdl->push_back( md::create( "level", "ulint" ) );
01195 reflection = reflection_list::create( ::lestes::intercode::ss_base_with_location::reflection_get() );
01196 reflection->push_back( class_reflection::create( "ss_sp", mdl ) );
01197 }
01198 return reflection;
01199 }
01200
01201 ptr< object::field_list_list > ss_sp::field_values_get() const
01202 {
01203 ptr < field_list_list > result = ::lestes::intercode::ss_base_with_location::field_values_get();
01204 result->push_back( value_list::create() );
01205 result->back()->push_back( this->psp );
01206 result->push_back( value_list::create() );
01207 result->back()->push_back( this->nsp );
01208 result->push_back( value_list::create() );
01209 result->back()->push_back( this->pse );
01210 result->push_back( value_list::create() );
01211 result->back()->push_back( this->nse );
01212 result->push_back( value_list::create() );
01213 result->back()->push_back( this->pi_spe );
01214 result->push_back( value_list::create() );
01215 result->back()->push_back( objectize< ulint > ::create( this->level ) );
01216 return result;
01217 }
01218
01219
01220
01221
01222
01223
01224 void ss_sp::gc_mark()
01225 {
01226 ::lestes::intercode::ss_base_with_location::gc_mark();
01227 }
01228
01229
01230
01231
01232
01233
01234
01235
01236
01237 ptr< ss_decl_seq > ss_translation_unit::global_scope_get() const
01238 {
01239 return global_scope;
01240 }
01241
01242
01243
01244
01245
01246 ptr< ss_translation_unit > ss_translation_unit::create(ptr< ss_decl_seq > a__ss_translation_unit__global_scope)
01247 {
01248 return ptr< ss_translation_unit > ( new ss_translation_unit(a__ss_translation_unit__global_scope) );
01249 }
01250
01251
01252
01253
01254
01255 ss_translation_unit::ss_translation_unit (ptr< ss_decl_seq > a__ss_translation_unit__global_scope)
01256 : ss_base(), global_scope(checked(a__ss_translation_unit__global_scope))
01257 {}
01258
01259 ptr< object::reflection_list > ss_translation_unit::reflection_get() const
01260 {
01261 if (!reflection) {
01262 typedef class_reflection::field_metadata md;
01263 typedef class_reflection::field_metadata_list mdlist;
01264 ptr<mdlist> mdl = mdlist::create();
01265 mdl->push_back( md::create( "global_scope", "ss_decl_seq" ) );
01266 reflection = reflection_list::create( ::lestes::intercode::ss_base::reflection_get() );
01267 reflection->push_back( class_reflection::create( "ss_translation_unit", mdl ) );
01268 }
01269 return reflection;
01270 }
01271
01272 ptr< object::field_list_list > ss_translation_unit::field_values_get() const
01273 {
01274 ptr < field_list_list > result = ::lestes::intercode::ss_base::field_values_get();
01275 result->push_back( value_list::create() );
01276 result->back()->push_back( this->global_scope );
01277 return result;
01278 }
01279
01280
01281
01282
01283
01284
01285 void ss_translation_unit::gc_mark()
01286 {
01287 ::lestes::intercode::ss_base::gc_mark();
01288 }
01289
01290
01291
01292
01293
01294
01295
01296
01297
01298 ss_access_specifier::type ss_base_specifier::specifier_get() const
01299 {
01300 return specifier;
01301 }
01302
01303
01304
01305
01306
01307 void ss_base_specifier::specifier_set(ss_access_specifier::type x)
01308 {
01309 ss_base_specifier::specifier = x;
01310 }
01311
01312
01313
01314
01315
01316 ptr< ss_class > ss_base_specifier::base_class_get() const
01317 {
01318 return base_class;
01319 }
01320
01321
01322
01323
01324
01325 void ss_base_specifier::base_class_set(const ptr< ss_class > & x)
01326 {
01327 ss_base_specifier::base_class = x;
01328 }
01329
01330
01331
01332
01333
01334 bool ss_base_specifier::virtual_base_get() const
01335 {
01336 return virtual_base;
01337 }
01338
01339
01340
01341
01342
01343 void ss_base_specifier::virtual_base_set(bool x)
01344 {
01345 ss_base_specifier::virtual_base = x;
01346 }
01347
01348
01349
01350
01351
01352 ptr< ss_base_specifier > ss_base_specifier::create(ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
01353 ss_access_specifier::type a__ss_base_specifier__specifier,
01354 ptr< ss_class > a__ss_base_specifier__base_class,
01355 bool a__ss_base_specifier__virtual_base)
01356 {
01357 return ptr< ss_base_specifier > ( new ss_base_specifier(a__ss_base_with_location__location,
01358 a__ss_base_specifier__specifier,
01359 a__ss_base_specifier__base_class,
01360 a__ss_base_specifier__virtual_base) );
01361 }
01362
01363
01364
01365
01366
01367 ptr< ss_base_specifier > ss_base_specifier::create(ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
01368 ss_access_specifier::type a__ss_base_specifier__specifier,
01369 ptr< ss_class > a__ss_base_specifier__base_class)
01370 {
01371 return ptr< ss_base_specifier > ( new ss_base_specifier(a__ss_base_with_location__location, a__ss_base_specifier__specifier, a__ss_base_specifier__base_class, false) );
01372 }
01373
01374
01375
01376
01377
01378 ss_base_specifier::ss_base_specifier (ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
01379 ss_access_specifier::type a__ss_base_specifier__specifier,
01380 ptr< ss_class > a__ss_base_specifier__base_class,
01381 bool a__ss_base_specifier__virtual_base)
01382 : ss_base_with_location(a__ss_base_with_location__location), specifier(a__ss_base_specifier__specifier), base_class(checked(a__ss_base_specifier__base_class)), virtual_base(a__ss_base_specifier__virtual_base)
01383 {}
01384
01385 ptr< object::reflection_list > ss_base_specifier::reflection_get() const
01386 {
01387 if (!reflection) {
01388 typedef class_reflection::field_metadata md;
01389 typedef class_reflection::field_metadata_list mdlist;
01390 ptr<mdlist> mdl = mdlist::create();
01391 mdl->push_back( md::create( "specifier", "ss_access_specifier::type" ) );
01392 mdl->push_back( md::create( "base_class", "ss_class" ) );
01393 mdl->push_back( md::create( "virtual_base", "bool" ) );
01394 reflection = reflection_list::create( ::lestes::intercode::ss_base_with_location::reflection_get() );
01395 reflection->push_back( class_reflection::create( "ss_base_specifier", mdl ) );
01396 }
01397 return reflection;
01398 }
01399
01400 ptr< object::field_list_list > ss_base_specifier::field_values_get() const
01401 {
01402 ptr < field_list_list > result = ::lestes::intercode::ss_base_with_location::field_values_get();
01403 result->push_back( value_list::create() );
01404 result->back()->push_back( objectize< ss_access_specifier::type > ::create( this->specifier ) );
01405 result->push_back( value_list::create() );
01406 result->back()->push_back( this->base_class );
01407 result->push_back( value_list::create() );
01408 result->back()->push_back( objectize< bool > ::create( this->virtual_base ) );
01409 return result;
01410 }
01411
01412
01413
01414
01415
01416
01417 void ss_base_specifier::gc_mark()
01418 {
01419 ::lestes::intercode::ss_base_with_location::gc_mark();
01420 }
01421
01422
01423
01424
01425
01426 ptr< ss_declaration_time > ss_declaration_time::infinity_instance = infinity_instance;
01427 ptr<object::reflection_list> ss_declaration_time::reflection = reflection;
01428 ptr< ss_decl_seq > ss_decl_seq::the_root_instance = the_root_instance;
01429 bool ss_decl_seq::parent_set_ward = false;
01430 ptr<object::reflection_list> ss_decl_seq::reflection = reflection;
01431 ptr<object::reflection_list> ss_using_directive::reflection = reflection;
01432 ptr<object::reflection_list> ss_label::reflection = reflection;
01433 ptr<object::reflection_list> ss_breakable_stmt_label::reflection = reflection;
01434 ptr<object::reflection_list> ss_case_label::reflection = reflection;
01435 ptr<object::reflection_list> ss_default_label::reflection = reflection;
01436 ptr<object::reflection_list> ss_continue_label::reflection = reflection;
01437 ptr<object::reflection_list> ss_break_label::reflection = reflection;
01438 ptr<object::reflection_list> ss_targetted_label::reflection = reflection;
01439 ptr<object::reflection_list> ss_internal_label::reflection = reflection;
01440 ptr<object::reflection_list> ss_id_label::reflection = reflection;
01441 ptr<object::reflection_list> ss_se::reflection = reflection;
01442 ptr<object::reflection_list> ss_sp::reflection = reflection;
01443 ptr<object::reflection_list> ss_translation_unit::reflection = reflection;
01444 ptr<object::reflection_list> ss_base_specifier::reflection = reflection;
01445
01446 end_package(sem);
01447 end_package(cplus);
01448 end_package(lang);
01449 end_package(lestes);
01450