00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include <lestes/lang/cplus/lex/lex_literal_visitor.v.g.hh>
00013
00014 #include <lestes/std/list.hh>
00015 #include <lestes/std/pair.hh>
00016 #include <lestes/std/reflect.hh>
00017
00018 #include <lestes/lang/cplus/lex/lex_literal.g.hh>
00019
00020 package(lestes);
00021 package(lang);
00022 package(cplus);
00023 package(lex);
00024
00025
00026
00027
00028
00029
00030
00031
00032 lex_literal::lex_literal ()
00033 : object()
00034 {}
00035
00036 ptr< object::reflection_list > lex_literal::reflection_get() const
00037 {
00038 if (!reflection) {
00039 typedef class_reflection::field_metadata md;
00040 typedef class_reflection::field_metadata_list mdlist;
00041 ptr<mdlist> mdl = mdlist::create();
00042 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00043 reflection->push_back( class_reflection::create( "lex_literal", mdl ) );
00044 }
00045 return reflection;
00046 }
00047
00048 ptr< object::field_list_list > lex_literal::field_values_get() const
00049 {
00050 ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00051 return result;
00052 }
00053
00054
00055
00056
00057
00058
00059 void lex_literal::gc_mark()
00060 {
00061 ::lestes::std::object::gc_mark();
00062 }
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072 lex_integral_literal::base_type lex_integral_literal::base_get() const
00073 {
00074 return base;
00075 }
00076
00077
00078
00079
00080
00081 void lex_integral_literal::base_set(base_type x)
00082 {
00083 lex_integral_literal::base = x;
00084 }
00085
00086
00087
00088
00089
00090 lex_integral_literal::suffix_type lex_integral_literal::suffix_get() const
00091 {
00092 return suffix;
00093 }
00094
00095
00096
00097
00098
00099 void lex_integral_literal::suffix_set(suffix_type x)
00100 {
00101 lex_integral_literal::suffix = x;
00102 }
00103
00104
00105
00106
00107
00108 ulint lex_integral_literal::start_get() const
00109 {
00110 return start;
00111 }
00112
00113
00114
00115
00116
00117 void lex_integral_literal::start_set(ulint x)
00118 {
00119 lex_integral_literal::start = x;
00120 }
00121
00122
00123
00124
00125
00126 ulint lex_integral_literal::end_get() const
00127 {
00128 return end;
00129 }
00130
00131
00132
00133
00134
00135 void lex_integral_literal::end_set(ulint x)
00136 {
00137 lex_integral_literal::end = x;
00138 }
00139
00140 void lex_integral_literal::accept_lex_literal_visitor( ptr< lex_literal_visitor > v )
00141 {
00142 return v->visit_lex_integral_literal( this );
00143 }
00144
00145
00146
00147
00148
00149 ptr< lex_integral_literal > lex_integral_literal::create(base_type a__lex_integral_literal__base,
00150 suffix_type a__lex_integral_literal__suffix,
00151 ulint a__lex_integral_literal__start,
00152 ulint a__lex_integral_literal__end)
00153 {
00154 return ptr< lex_integral_literal > ( new lex_integral_literal(a__lex_integral_literal__base,
00155 a__lex_integral_literal__suffix,
00156 a__lex_integral_literal__start,
00157 a__lex_integral_literal__end) );
00158 }
00159
00160
00161
00162
00163
00164 lex_integral_literal::lex_integral_literal (base_type a__lex_integral_literal__base,
00165 suffix_type a__lex_integral_literal__suffix,
00166 ulint a__lex_integral_literal__start,
00167 ulint a__lex_integral_literal__end)
00168 : lex_literal(), base(a__lex_integral_literal__base), suffix(a__lex_integral_literal__suffix), start(a__lex_integral_literal__start), end(a__lex_integral_literal__end)
00169 {}
00170
00171 ptr< object::reflection_list > lex_integral_literal::reflection_get() const
00172 {
00173 if (!reflection) {
00174 typedef class_reflection::field_metadata md;
00175 typedef class_reflection::field_metadata_list mdlist;
00176 ptr<mdlist> mdl = mdlist::create();
00177 mdl->push_back( md::create( "base", "base_type" ) );
00178 mdl->push_back( md::create( "suffix", "suffix_type" ) );
00179 mdl->push_back( md::create( "start", "ulint" ) );
00180 mdl->push_back( md::create( "end", "ulint" ) );
00181 reflection = reflection_list::create( lex_literal::reflection_get() );
00182 reflection->push_back( class_reflection::create( "lex_integral_literal", mdl ) );
00183 }
00184 return reflection;
00185 }
00186
00187 ptr< object::field_list_list > lex_integral_literal::field_values_get() const
00188 {
00189 ptr < field_list_list > result = lex_literal::field_values_get();
00190 result->push_back( value_list::create() );
00191 result->back()->push_back( objectize< base_type > ::create( this->base ) );
00192 result->push_back( value_list::create() );
00193 result->back()->push_back( objectize< suffix_type > ::create( this->suffix ) );
00194 result->push_back( value_list::create() );
00195 result->back()->push_back( objectize< ulint > ::create( this->start ) );
00196 result->push_back( value_list::create() );
00197 result->back()->push_back( objectize< ulint > ::create( this->end ) );
00198 return result;
00199 }
00200
00201
00202
00203
00204
00205
00206 void lex_integral_literal::gc_mark()
00207 {
00208 lex_literal::gc_mark();
00209 }
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219 lex_floating_literal::suffix_type lex_floating_literal::suffix_get() const
00220 {
00221 return suffix;
00222 }
00223
00224
00225
00226
00227
00228 void lex_floating_literal::suffix_set(suffix_type x)
00229 {
00230 lex_floating_literal::suffix = x;
00231 }
00232
00233
00234
00235
00236
00237 bool lex_floating_literal::exponent_negative_get() const
00238 {
00239 return exponent_negative;
00240 }
00241
00242
00243
00244
00245
00246 void lex_floating_literal::exponent_negative_set(bool x)
00247 {
00248 lex_floating_literal::exponent_negative = x;
00249 }
00250
00251
00252
00253
00254
00255 ulint lex_floating_literal::integer_start_get() const
00256 {
00257 return integer_start;
00258 }
00259
00260
00261
00262
00263
00264 void lex_floating_literal::integer_start_set(ulint x)
00265 {
00266 lex_floating_literal::integer_start = x;
00267 }
00268
00269
00270
00271
00272
00273 ulint lex_floating_literal::integer_end_get() const
00274 {
00275 return integer_end;
00276 }
00277
00278
00279
00280
00281
00282 void lex_floating_literal::integer_end_set(ulint x)
00283 {
00284 lex_floating_literal::integer_end = x;
00285 }
00286
00287
00288
00289
00290
00291 ulint lex_floating_literal::fraction_start_get() const
00292 {
00293 return fraction_start;
00294 }
00295
00296
00297
00298
00299
00300 void lex_floating_literal::fraction_start_set(ulint x)
00301 {
00302 lex_floating_literal::fraction_start = x;
00303 }
00304
00305
00306
00307
00308
00309 ulint lex_floating_literal::fraction_end_get() const
00310 {
00311 return fraction_end;
00312 }
00313
00314
00315
00316
00317
00318 void lex_floating_literal::fraction_end_set(ulint x)
00319 {
00320 lex_floating_literal::fraction_end = x;
00321 }
00322
00323
00324
00325
00326
00327 ulint lex_floating_literal::exponent_start_get() const
00328 {
00329 return exponent_start;
00330 }
00331
00332
00333
00334
00335
00336 void lex_floating_literal::exponent_start_set(ulint x)
00337 {
00338 lex_floating_literal::exponent_start = x;
00339 }
00340
00341
00342
00343
00344
00345 ulint lex_floating_literal::exponent_end_get() const
00346 {
00347 return exponent_end;
00348 }
00349
00350
00351
00352
00353
00354 void lex_floating_literal::exponent_end_set(ulint x)
00355 {
00356 lex_floating_literal::exponent_end = x;
00357 }
00358
00359 void lex_floating_literal::accept_lex_literal_visitor( ptr< lex_literal_visitor > v )
00360 {
00361 return v->visit_lex_floating_literal( this );
00362 }
00363
00364
00365
00366
00367
00368 ptr< lex_floating_literal > lex_floating_literal::create(suffix_type a__lex_floating_literal__suffix,
00369 bool a__lex_floating_literal__exponent_negative,
00370 ulint a__lex_floating_literal__integer_start,
00371 ulint a__lex_floating_literal__integer_end,
00372 ulint a__lex_floating_literal__fraction_start,
00373 ulint a__lex_floating_literal__fraction_end,
00374 ulint a__lex_floating_literal__exponent_start,
00375 ulint a__lex_floating_literal__exponent_end)
00376 {
00377 return ptr< lex_floating_literal > ( new lex_floating_literal(a__lex_floating_literal__suffix,
00378 a__lex_floating_literal__exponent_negative,
00379 a__lex_floating_literal__integer_start,
00380 a__lex_floating_literal__integer_end,
00381 a__lex_floating_literal__fraction_start,
00382 a__lex_floating_literal__fraction_end,
00383 a__lex_floating_literal__exponent_start,
00384 a__lex_floating_literal__exponent_end) );
00385 }
00386
00387
00388
00389
00390
00391 lex_floating_literal::lex_floating_literal (suffix_type a__lex_floating_literal__suffix,
00392 bool a__lex_floating_literal__exponent_negative,
00393 ulint a__lex_floating_literal__integer_start,
00394 ulint a__lex_floating_literal__integer_end,
00395 ulint a__lex_floating_literal__fraction_start,
00396 ulint a__lex_floating_literal__fraction_end,
00397 ulint a__lex_floating_literal__exponent_start,
00398 ulint a__lex_floating_literal__exponent_end)
00399 : lex_literal(), suffix(a__lex_floating_literal__suffix), exponent_negative(a__lex_floating_literal__exponent_negative), integer_start(a__lex_floating_literal__integer_start), integer_end(a__lex_floating_literal__integer_end), fraction_start(a__lex_floating_literal__fraction_start), fraction_end(a__lex_floating_literal__fraction_end), exponent_start(a__lex_floating_literal__exponent_start), exponent_end(a__lex_floating_literal__exponent_end)
00400 {}
00401
00402 ptr< object::reflection_list > lex_floating_literal::reflection_get() const
00403 {
00404 if (!reflection) {
00405 typedef class_reflection::field_metadata md;
00406 typedef class_reflection::field_metadata_list mdlist;
00407 ptr<mdlist> mdl = mdlist::create();
00408 mdl->push_back( md::create( "suffix", "suffix_type" ) );
00409 mdl->push_back( md::create( "exponent_negative", "bool" ) );
00410 mdl->push_back( md::create( "integer_start", "ulint" ) );
00411 mdl->push_back( md::create( "integer_end", "ulint" ) );
00412 mdl->push_back( md::create( "fraction_start", "ulint" ) );
00413 mdl->push_back( md::create( "fraction_end", "ulint" ) );
00414 mdl->push_back( md::create( "exponent_start", "ulint" ) );
00415 mdl->push_back( md::create( "exponent_end", "ulint" ) );
00416 reflection = reflection_list::create( lex_literal::reflection_get() );
00417 reflection->push_back( class_reflection::create( "lex_floating_literal", mdl ) );
00418 }
00419 return reflection;
00420 }
00421
00422 ptr< object::field_list_list > lex_floating_literal::field_values_get() const
00423 {
00424 ptr < field_list_list > result = lex_literal::field_values_get();
00425 result->push_back( value_list::create() );
00426 result->back()->push_back( objectize< suffix_type > ::create( this->suffix ) );
00427 result->push_back( value_list::create() );
00428 result->back()->push_back( objectize< bool > ::create( this->exponent_negative ) );
00429 result->push_back( value_list::create() );
00430 result->back()->push_back( objectize< ulint > ::create( this->integer_start ) );
00431 result->push_back( value_list::create() );
00432 result->back()->push_back( objectize< ulint > ::create( this->integer_end ) );
00433 result->push_back( value_list::create() );
00434 result->back()->push_back( objectize< ulint > ::create( this->fraction_start ) );
00435 result->push_back( value_list::create() );
00436 result->back()->push_back( objectize< ulint > ::create( this->fraction_end ) );
00437 result->push_back( value_list::create() );
00438 result->back()->push_back( objectize< ulint > ::create( this->exponent_start ) );
00439 result->push_back( value_list::create() );
00440 result->back()->push_back( objectize< ulint > ::create( this->exponent_end ) );
00441 return result;
00442 }
00443
00444
00445
00446
00447
00448
00449 void lex_floating_literal::gc_mark()
00450 {
00451 lex_literal::gc_mark();
00452 }
00453
00454
00455
00456
00457
00458
00459
00460
00461
00462 bool lex_character_literal::wide_flag_get() const
00463 {
00464 return wide_flag;
00465 }
00466
00467
00468
00469
00470
00471 void lex_character_literal::wide_flag_set(bool x)
00472 {
00473 lex_character_literal::wide_flag = x;
00474 }
00475
00476
00477
00478
00479
00480 bool lex_character_literal::multicharacter_flag_get() const
00481 {
00482 return multicharacter_flag;
00483 }
00484
00485
00486
00487
00488
00489 void lex_character_literal::multicharacter_flag_set(bool x)
00490 {
00491 lex_character_literal::multicharacter_flag = x;
00492 }
00493
00494 void lex_character_literal::accept_lex_literal_visitor( ptr< lex_literal_visitor > v )
00495 {
00496 return v->visit_lex_character_literal( this );
00497 }
00498
00499
00500
00501
00502
00503 ptr< lex_character_literal > lex_character_literal::create(bool a__lex_character_literal__wide_flag,
00504 bool a__lex_character_literal__multicharacter_flag)
00505 {
00506 return ptr< lex_character_literal > ( new lex_character_literal(a__lex_character_literal__wide_flag,
00507 a__lex_character_literal__multicharacter_flag) );
00508 }
00509
00510
00511
00512
00513
00514 lex_character_literal::lex_character_literal (bool a__lex_character_literal__wide_flag,
00515 bool a__lex_character_literal__multicharacter_flag)
00516 : lex_literal(), wide_flag(a__lex_character_literal__wide_flag), multicharacter_flag(a__lex_character_literal__multicharacter_flag)
00517 {}
00518
00519 ptr< object::reflection_list > lex_character_literal::reflection_get() const
00520 {
00521 if (!reflection) {
00522 typedef class_reflection::field_metadata md;
00523 typedef class_reflection::field_metadata_list mdlist;
00524 ptr<mdlist> mdl = mdlist::create();
00525 mdl->push_back( md::create( "wide_flag", "bool" ) );
00526 mdl->push_back( md::create( "multicharacter_flag", "bool" ) );
00527 reflection = reflection_list::create( lex_literal::reflection_get() );
00528 reflection->push_back( class_reflection::create( "lex_character_literal", mdl ) );
00529 }
00530 return reflection;
00531 }
00532
00533 ptr< object::field_list_list > lex_character_literal::field_values_get() const
00534 {
00535 ptr < field_list_list > result = lex_literal::field_values_get();
00536 result->push_back( value_list::create() );
00537 result->back()->push_back( objectize< bool > ::create( this->wide_flag ) );
00538 result->push_back( value_list::create() );
00539 result->back()->push_back( objectize< bool > ::create( this->multicharacter_flag ) );
00540 return result;
00541 }
00542
00543
00544
00545
00546
00547
00548 void lex_character_literal::gc_mark()
00549 {
00550 lex_literal::gc_mark();
00551 }
00552
00553
00554
00555
00556
00557
00558
00559
00560
00561 bool lex_string_literal::wide_flag_get() const
00562 {
00563 return wide_flag;
00564 }
00565
00566
00567
00568
00569
00570 void lex_string_literal::wide_flag_set(bool x)
00571 {
00572 lex_string_literal::wide_flag = x;
00573 }
00574
00575 void lex_string_literal::accept_lex_literal_visitor( ptr< lex_literal_visitor > v )
00576 {
00577 return v->visit_lex_string_literal( this );
00578 }
00579
00580
00581
00582
00583
00584 ptr< lex_string_literal > lex_string_literal::create(bool a__lex_string_literal__wide_flag)
00585 {
00586 return ptr< lex_string_literal > ( new lex_string_literal(a__lex_string_literal__wide_flag) );
00587 }
00588
00589
00590
00591
00592
00593 lex_string_literal::lex_string_literal (bool a__lex_string_literal__wide_flag)
00594 : lex_literal(), wide_flag(a__lex_string_literal__wide_flag)
00595 {}
00596
00597 ptr< object::reflection_list > lex_string_literal::reflection_get() const
00598 {
00599 if (!reflection) {
00600 typedef class_reflection::field_metadata md;
00601 typedef class_reflection::field_metadata_list mdlist;
00602 ptr<mdlist> mdl = mdlist::create();
00603 mdl->push_back( md::create( "wide_flag", "bool" ) );
00604 reflection = reflection_list::create( lex_literal::reflection_get() );
00605 reflection->push_back( class_reflection::create( "lex_string_literal", mdl ) );
00606 }
00607 return reflection;
00608 }
00609
00610 ptr< object::field_list_list > lex_string_literal::field_values_get() const
00611 {
00612 ptr < field_list_list > result = lex_literal::field_values_get();
00613 result->push_back( value_list::create() );
00614 result->back()->push_back( objectize< bool > ::create( this->wide_flag ) );
00615 return result;
00616 }
00617
00618
00619
00620
00621
00622
00623 void lex_string_literal::gc_mark()
00624 {
00625 lex_literal::gc_mark();
00626 }
00627
00628
00629
00630
00631
00632 void lex_boolean_literal::accept_lex_literal_visitor( ptr< lex_literal_visitor > v )
00633 {
00634 return v->visit_lex_boolean_literal( this );
00635 }
00636
00637
00638
00639
00640
00641 ptr< lex_boolean_literal > lex_boolean_literal::create()
00642 {
00643 return ptr< lex_boolean_literal > ( new lex_boolean_literal() );
00644 }
00645
00646
00647
00648
00649
00650 lex_boolean_literal::lex_boolean_literal ()
00651 : lex_literal()
00652 {}
00653
00654 ptr< object::reflection_list > lex_boolean_literal::reflection_get() const
00655 {
00656 if (!reflection) {
00657 typedef class_reflection::field_metadata md;
00658 typedef class_reflection::field_metadata_list mdlist;
00659 ptr<mdlist> mdl = mdlist::create();
00660 reflection = reflection_list::create( lex_literal::reflection_get() );
00661 reflection->push_back( class_reflection::create( "lex_boolean_literal", mdl ) );
00662 }
00663 return reflection;
00664 }
00665
00666 ptr< object::field_list_list > lex_boolean_literal::field_values_get() const
00667 {
00668 ptr < field_list_list > result = lex_literal::field_values_get();
00669 return result;
00670 }
00671
00672
00673
00674
00675
00676
00677 void lex_boolean_literal::gc_mark()
00678 {
00679 lex_literal::gc_mark();
00680 }
00681
00682
00683
00684
00685
00686 ptr<object::reflection_list> lex_literal::reflection = reflection;
00687 ptr<object::reflection_list> lex_integral_literal::reflection = reflection;
00688 ptr<object::reflection_list> lex_floating_literal::reflection = reflection;
00689 ptr<object::reflection_list> lex_character_literal::reflection = reflection;
00690 ptr<object::reflection_list> lex_string_literal::reflection = reflection;
00691 ptr<object::reflection_list> lex_boolean_literal::reflection = reflection;
00692
00693 end_package(lex);
00694 end_package(cplus);
00695 end_package(lang);
00696 end_package(lestes);
00697