00001
00002
00003 #ifndef lestes__lang__cplus__sem__as_statements_g_hh__included
00004 #define lestes__lang__cplus__sem__as_statements_g_hh__included
00005
00006 #include <lestes/common.hh>
00007 #include <lestes/std/list.hh>
00008 #include <lestes/intercode/intercode.g.hh>
00009
00010 #include <lestes/std/objectize_macros.hh>
00011 package(lestes);
00012 package(lang);
00013 package(cplus);
00014 package(sem);
00015
00016
00017 class as_type_id;
00018 class as_expression;
00019 class as_constant_expression;
00020 class as_identifier;
00021 class as_declaration;
00022 class as_declarator;
00023 class as_type_specifier;
00024 class as_statement;
00025 class as_statement_visitor;
00026 class as_dummy_statement;
00027 class as_labeled_statement;
00028 class as_default_labeled_statement;
00029 class as_case_labeled_statement;
00030 class as_identifier_labeled_statement;
00031 class as_compound_statement;
00032 class as_expression_statement;
00033 class as_selection_statement;
00034 class as_if_statement;
00035 class as_switch_statement;
00036 class as_iteration_statement;
00037 class as_do_statement;
00038 class as_while_statement;
00039 class as_for_statement;
00040 class as_for_init_statement;
00041 class as_for_init_statement_expression;
00042 class as_for_init_statement_declaration;
00043 class as_condition;
00044 class as_condition_visitor;
00045 class as_empty_condition;
00046 class as_condition_expression;
00047 class as_condition_declaration;
00048 class as_jump_statement;
00049 class as_break_statement;
00050 class as_continue_statement;
00051 class as_return_statement;
00052 class as_goto_statement;
00053 class as_declaration_statement;
00054 class as_try_block_statement;
00055 class as_handler;
00056 class as_exception_declaration;
00057 class as_exception_declaration_any_type;
00058 class as_exception_declaration_single_type;
00059 class as_exception_declaration_single_type_with_variable;
00060
00061
00062 class as_statement : public ::lestes::intercode::as_base {
00063 public:
00064 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v ) abstract;
00065
00066
00067
00068 virtual ptr<reflection_list> reflection_get() const;
00069
00070 virtual ptr<field_list_list> field_values_get() const;
00071
00072 protected:
00073
00074 as_statement (
00075 ptr< ::lestes::std::source_location > a__as_base__location);
00076
00077
00078 virtual void gc_mark();
00079
00080 private:
00081 static ptr<reflection_list> reflection;
00082
00083 };
00084
00085
00086 class as_dummy_statement : public as_statement {
00087 public:
00088 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v );
00089
00090
00091 static ptr< as_dummy_statement > create (
00092 ptr< ::lestes::std::source_location > a__as_base__location);
00093
00094
00095
00096
00097 virtual ptr<reflection_list> reflection_get() const;
00098
00099 virtual ptr<field_list_list> field_values_get() const;
00100
00101 protected:
00102
00103 as_dummy_statement (
00104 ptr< ::lestes::std::source_location > a__as_base__location);
00105
00106
00107 virtual void gc_mark();
00108
00109 private:
00110 static ptr<reflection_list> reflection;
00111
00112 };
00113
00114
00115 class as_labeled_statement : public as_statement {
00116 public:
00117
00118 ptr< as_statement > statement_get() const;
00119
00120
00121 void statement_set(const ptr< as_statement > &);
00122
00123 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v ) abstract;
00124
00125
00126
00127 virtual ptr<reflection_list> reflection_get() const;
00128
00129 virtual ptr<field_list_list> field_values_get() const;
00130
00131 protected:
00132
00133 as_labeled_statement (
00134 ptr< ::lestes::std::source_location > a__as_base__location,
00135 ptr< as_statement > a__as_labeled_statement__statement);
00136
00137
00138 virtual void gc_mark();
00139
00140 private:
00141 srp< as_statement > statement;
00142 static ptr<reflection_list> reflection;
00143
00144 };
00145
00146
00147 class as_default_labeled_statement : public as_labeled_statement {
00148 public:
00149 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v );
00150
00151
00152 static ptr< as_default_labeled_statement > create (
00153 ptr< ::lestes::std::source_location > a__as_base__location,
00154 ptr< as_statement > a__as_labeled_statement__statement);
00155
00156
00157
00158
00159 virtual ptr<reflection_list> reflection_get() const;
00160
00161 virtual ptr<field_list_list> field_values_get() const;
00162
00163 protected:
00164
00165 as_default_labeled_statement (
00166 ptr< ::lestes::std::source_location > a__as_base__location,
00167 ptr< as_statement > a__as_labeled_statement__statement);
00168
00169
00170 virtual void gc_mark();
00171
00172 private:
00173 static ptr<reflection_list> reflection;
00174
00175 };
00176
00177
00178 class as_case_labeled_statement : public as_labeled_statement {
00179 public:
00180
00181 ptr< as_constant_expression > case_value_get() const;
00182
00183
00184 void case_value_set(const ptr< as_constant_expression > &);
00185
00186 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v );
00187
00188
00189 static ptr< as_case_labeled_statement > create (
00190 ptr< ::lestes::std::source_location > a__as_base__location,
00191 ptr< as_statement > a__as_labeled_statement__statement,
00192 ptr< as_constant_expression > a__as_case_labeled_statement__case_value);
00193
00194
00195
00196
00197 virtual ptr<reflection_list> reflection_get() const;
00198
00199 virtual ptr<field_list_list> field_values_get() const;
00200
00201 protected:
00202
00203 as_case_labeled_statement (
00204 ptr< ::lestes::std::source_location > a__as_base__location,
00205 ptr< as_statement > a__as_labeled_statement__statement,
00206 ptr< as_constant_expression > a__as_case_labeled_statement__case_value);
00207
00208
00209 virtual void gc_mark();
00210
00211 private:
00212 srp< as_constant_expression > case_value;
00213 static ptr<reflection_list> reflection;
00214
00215 };
00216
00217
00218 class as_identifier_labeled_statement : public as_labeled_statement {
00219 public:
00220
00221 ptr< as_identifier > identifier_get() const;
00222
00223
00224 void identifier_set(const ptr< as_identifier > &);
00225
00226 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v );
00227
00228
00229 static ptr< as_identifier_labeled_statement > create (
00230 ptr< ::lestes::std::source_location > a__as_base__location,
00231 ptr< as_statement > a__as_labeled_statement__statement,
00232 ptr< as_identifier > a__as_identifier_labeled_statement__identifier);
00233
00234
00235
00236
00237 virtual ptr<reflection_list> reflection_get() const;
00238
00239 virtual ptr<field_list_list> field_values_get() const;
00240
00241 protected:
00242
00243 as_identifier_labeled_statement (
00244 ptr< ::lestes::std::source_location > a__as_base__location,
00245 ptr< as_statement > a__as_labeled_statement__statement,
00246 ptr< as_identifier > a__as_identifier_labeled_statement__identifier);
00247
00248
00249 virtual void gc_mark();
00250
00251 private:
00252 srp< as_identifier > identifier;
00253 static ptr<reflection_list> reflection;
00254
00255 };
00256
00257
00258 class as_compound_statement : public as_statement {
00259 public:
00260
00261 ptr< ::lestes::std::list< srp< as_statement > > > statements_get() const;
00262
00263
00264 void statements_set(const ptr< ::lestes::std::list< srp< as_statement > > > & );
00265
00266 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v );
00267
00268
00269 static ptr< as_compound_statement > create (
00270 ptr< ::lestes::std::source_location > a__as_base__location,
00271 ptr< ::lestes::std::list< srp< as_statement > > > a__as_compound_statement__statements);
00272
00273
00274
00275
00276 virtual ptr<reflection_list> reflection_get() const;
00277
00278 virtual ptr<field_list_list> field_values_get() const;
00279
00280 protected:
00281
00282 as_compound_statement (
00283 ptr< ::lestes::std::source_location > a__as_base__location,
00284 ptr< ::lestes::std::list< srp< as_statement > > > a__as_compound_statement__statements);
00285
00286
00287 virtual void gc_mark();
00288
00289 private:
00290 srp< ::lestes::std::list< srp< as_statement > > > statements;
00291 static ptr<reflection_list> reflection;
00292
00293 };
00294
00295
00296 class as_expression_statement : public as_statement {
00297 public:
00298
00299 ptr< as_expression > expression_get() const;
00300
00301
00302 void expression_set(const ptr< as_expression > &);
00303
00304 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v );
00305
00306
00307 static ptr< as_expression_statement > create (
00308 ptr< ::lestes::std::source_location > a__as_base__location,
00309 ptr< as_expression > a__as_expression_statement__expression);
00310
00311
00312
00313
00314 virtual ptr<reflection_list> reflection_get() const;
00315
00316 virtual ptr<field_list_list> field_values_get() const;
00317
00318 protected:
00319
00320 as_expression_statement (
00321 ptr< ::lestes::std::source_location > a__as_base__location,
00322 ptr< as_expression > a__as_expression_statement__expression);
00323
00324
00325 virtual void gc_mark();
00326
00327 private:
00328 srp< as_expression > expression;
00329 static ptr<reflection_list> reflection;
00330
00331 };
00332
00333
00334 class as_selection_statement : public as_statement {
00335 public:
00336
00337 ptr< as_condition > condition_get() const;
00338
00339
00340 void condition_set(const ptr< as_condition > &);
00341
00342 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v ) abstract;
00343
00344
00345
00346 virtual ptr<reflection_list> reflection_get() const;
00347
00348 virtual ptr<field_list_list> field_values_get() const;
00349
00350 protected:
00351
00352 as_selection_statement (
00353 ptr< ::lestes::std::source_location > a__as_base__location,
00354 ptr< as_condition > a__as_selection_statement__condition);
00355
00356
00357 virtual void gc_mark();
00358
00359 private:
00360 srp< as_condition > condition;
00361 static ptr<reflection_list> reflection;
00362
00363 };
00364
00365
00366 class as_if_statement : public as_selection_statement {
00367 public:
00368
00369 ptr< as_statement > then_statement_get() const;
00370
00371
00372 void then_statement_set(const ptr< as_statement > &);
00373
00374
00375 ptr< as_statement > else_statement_get() const;
00376
00377
00378 void else_statement_set(const ptr< as_statement > &);
00379
00380 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v );
00381
00382
00383 static ptr< as_if_statement > create (
00384 ptr< ::lestes::std::source_location > a__as_base__location,
00385 ptr< as_condition > a__as_selection_statement__condition,
00386 ptr< as_statement > a__as_if_statement__then_statement,
00387 ptr< as_statement > a__as_if_statement__else_statement);
00388
00389
00390
00391
00392 virtual ptr<reflection_list> reflection_get() const;
00393
00394 virtual ptr<field_list_list> field_values_get() const;
00395
00396 protected:
00397
00398 as_if_statement (
00399 ptr< ::lestes::std::source_location > a__as_base__location,
00400 ptr< as_condition > a__as_selection_statement__condition,
00401 ptr< as_statement > a__as_if_statement__then_statement,
00402 ptr< as_statement > a__as_if_statement__else_statement);
00403
00404
00405 virtual void gc_mark();
00406
00407 private:
00408 srp< as_statement > then_statement;
00409 srp< as_statement > else_statement;
00410 static ptr<reflection_list> reflection;
00411
00412 };
00413
00414
00415 class as_switch_statement : public as_selection_statement {
00416 public:
00417
00418 ptr< as_statement > controlled_statement_get() const;
00419
00420
00421 void controlled_statement_set(const ptr< as_statement > &);
00422
00423 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v );
00424
00425
00426 static ptr< as_switch_statement > create (
00427 ptr< ::lestes::std::source_location > a__as_base__location,
00428 ptr< as_condition > a__as_selection_statement__condition,
00429 ptr< as_statement > a__as_switch_statement__controlled_statement);
00430
00431
00432
00433
00434 virtual ptr<reflection_list> reflection_get() const;
00435
00436 virtual ptr<field_list_list> field_values_get() const;
00437
00438 protected:
00439
00440 as_switch_statement (
00441 ptr< ::lestes::std::source_location > a__as_base__location,
00442 ptr< as_condition > a__as_selection_statement__condition,
00443 ptr< as_statement > a__as_switch_statement__controlled_statement);
00444
00445
00446 virtual void gc_mark();
00447
00448 private:
00449 srp< as_statement > controlled_statement;
00450 static ptr<reflection_list> reflection;
00451
00452 };
00453
00454
00455 class as_iteration_statement : public as_statement {
00456 public:
00457
00458 ptr< as_statement > controlled_statement_get() const;
00459
00460
00461 void controlled_statement_set(const ptr< as_statement > &);
00462
00463 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v ) abstract;
00464
00465
00466
00467 virtual ptr<reflection_list> reflection_get() const;
00468
00469 virtual ptr<field_list_list> field_values_get() const;
00470
00471 protected:
00472
00473 as_iteration_statement (
00474 ptr< ::lestes::std::source_location > a__as_base__location,
00475 ptr< as_statement > a__as_iteration_statement__controlled_statement);
00476
00477
00478 virtual void gc_mark();
00479
00480 private:
00481 srp< as_statement > controlled_statement;
00482 static ptr<reflection_list> reflection;
00483
00484 };
00485
00486
00487 class as_do_statement : public as_iteration_statement {
00488 public:
00489
00490 ptr< as_expression > condition_get() const;
00491
00492
00493 void condition_set(const ptr< as_expression > &);
00494
00495 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v );
00496
00497
00498 static ptr< as_do_statement > create (
00499 ptr< ::lestes::std::source_location > a__as_base__location,
00500 ptr< as_statement > a__as_iteration_statement__controlled_statement,
00501 ptr< as_expression > a__as_do_statement__condition);
00502
00503
00504
00505
00506 virtual ptr<reflection_list> reflection_get() const;
00507
00508 virtual ptr<field_list_list> field_values_get() const;
00509
00510 protected:
00511
00512 as_do_statement (
00513 ptr< ::lestes::std::source_location > a__as_base__location,
00514 ptr< as_statement > a__as_iteration_statement__controlled_statement,
00515 ptr< as_expression > a__as_do_statement__condition);
00516
00517
00518 virtual void gc_mark();
00519
00520 private:
00521 srp< as_expression > condition;
00522 static ptr<reflection_list> reflection;
00523
00524 };
00525
00526
00527 class as_while_statement : public as_iteration_statement {
00528 public:
00529
00530 ptr< as_condition > condition_get() const;
00531
00532
00533 void condition_set(const ptr< as_condition > &);
00534
00535 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v );
00536
00537
00538 static ptr< as_while_statement > create (
00539 ptr< ::lestes::std::source_location > a__as_base__location,
00540 ptr< as_statement > a__as_iteration_statement__controlled_statement,
00541 ptr< as_condition > a__as_while_statement__condition);
00542
00543
00544
00545
00546 virtual ptr<reflection_list> reflection_get() const;
00547
00548 virtual ptr<field_list_list> field_values_get() const;
00549
00550 protected:
00551
00552 as_while_statement (
00553 ptr< ::lestes::std::source_location > a__as_base__location,
00554 ptr< as_statement > a__as_iteration_statement__controlled_statement,
00555 ptr< as_condition > a__as_while_statement__condition);
00556
00557
00558 virtual void gc_mark();
00559
00560 private:
00561 srp< as_condition > condition;
00562 static ptr<reflection_list> reflection;
00563
00564 };
00565
00566
00567 class as_for_statement : public as_iteration_statement {
00568 public:
00569
00570 ptr< as_for_init_statement > for_init_get() const;
00571
00572
00573 void for_init_set(const ptr< as_for_init_statement > &);
00574
00575
00576 ptr< as_condition > condition_get() const;
00577
00578
00579 void condition_set(const ptr< as_condition > &);
00580
00581
00582 ptr< as_expression > increment_get() const;
00583
00584
00585 void increment_set(const ptr< as_expression > &);
00586
00587 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v );
00588
00589
00590 static ptr< as_for_statement > create (
00591 ptr< ::lestes::std::source_location > a__as_base__location,
00592 ptr< as_statement > a__as_iteration_statement__controlled_statement,
00593 ptr< as_for_init_statement > a__as_for_statement__for_init,
00594 ptr< as_condition > a__as_for_statement__condition,
00595 ptr< as_expression > a__as_for_statement__increment);
00596
00597
00598
00599
00600 virtual ptr<reflection_list> reflection_get() const;
00601
00602 virtual ptr<field_list_list> field_values_get() const;
00603
00604 protected:
00605
00606 as_for_statement (
00607 ptr< ::lestes::std::source_location > a__as_base__location,
00608 ptr< as_statement > a__as_iteration_statement__controlled_statement,
00609 ptr< as_for_init_statement > a__as_for_statement__for_init,
00610 ptr< as_condition > a__as_for_statement__condition,
00611 ptr< as_expression > a__as_for_statement__increment);
00612
00613
00614 virtual void gc_mark();
00615
00616 private:
00617 srp< as_for_init_statement > for_init;
00618 srp< as_condition > condition;
00619 srp< as_expression > increment;
00620 static ptr<reflection_list> reflection;
00621
00622 };
00623
00624
00625 class as_for_init_statement : public ::lestes::intercode::as_base {
00626 public:
00627
00628
00629
00630 virtual ptr<reflection_list> reflection_get() const;
00631
00632 virtual ptr<field_list_list> field_values_get() const;
00633
00634 protected:
00635
00636 as_for_init_statement (
00637 ptr< ::lestes::std::source_location > a__as_base__location);
00638
00639
00640 virtual void gc_mark();
00641
00642 private:
00643 static ptr<reflection_list> reflection;
00644
00645 };
00646
00647
00648 class as_for_init_statement_expression : public as_for_init_statement {
00649 public:
00650
00651 ptr< as_expression_statement > expression_statement_get() const;
00652
00653
00654 void expression_statement_set(const ptr< as_expression_statement > &);
00655
00656
00657
00658 static ptr< as_for_init_statement_expression > create (
00659 ptr< ::lestes::std::source_location > a__as_base__location,
00660 ptr< as_expression_statement > a__as_for_init_statement_expression__expression_statement);
00661
00662
00663
00664
00665 virtual ptr<reflection_list> reflection_get() const;
00666
00667 virtual ptr<field_list_list> field_values_get() const;
00668
00669 protected:
00670
00671 as_for_init_statement_expression (
00672 ptr< ::lestes::std::source_location > a__as_base__location,
00673 ptr< as_expression_statement > a__as_for_init_statement_expression__expression_statement);
00674
00675
00676 virtual void gc_mark();
00677
00678 private:
00679 srp< as_expression_statement > expression_statement;
00680 static ptr<reflection_list> reflection;
00681
00682 };
00683
00684
00685 class as_for_init_statement_declaration : public as_for_init_statement {
00686 public:
00687
00688 ptr< as_declaration > declaration_get() const;
00689
00690
00691 void declaration_set(const ptr< as_declaration > &);
00692
00693
00694
00695 static ptr< as_for_init_statement_declaration > create (
00696 ptr< ::lestes::std::source_location > a__as_base__location,
00697 ptr< as_declaration > a__as_for_init_statement_declaration__declaration);
00698
00699
00700
00701
00702 virtual ptr<reflection_list> reflection_get() const;
00703
00704 virtual ptr<field_list_list> field_values_get() const;
00705
00706 protected:
00707
00708 as_for_init_statement_declaration (
00709 ptr< ::lestes::std::source_location > a__as_base__location,
00710 ptr< as_declaration > a__as_for_init_statement_declaration__declaration);
00711
00712
00713 virtual void gc_mark();
00714
00715 private:
00716 srp< as_declaration > declaration;
00717 static ptr<reflection_list> reflection;
00718
00719 };
00720
00721
00722 class as_condition : public ::lestes::intercode::as_base {
00723 public:
00724 virtual void accept_as_condition_visitor( ptr< as_condition_visitor > v ) abstract;
00725
00726
00727
00728 virtual ptr<reflection_list> reflection_get() const;
00729
00730 virtual ptr<field_list_list> field_values_get() const;
00731
00732 protected:
00733
00734 as_condition (
00735 ptr< ::lestes::std::source_location > a__as_base__location);
00736
00737
00738 virtual void gc_mark();
00739
00740 private:
00741 static ptr<reflection_list> reflection;
00742
00743 };
00744
00745
00746 class as_empty_condition : public as_condition {
00747 public:
00748 virtual void accept_as_condition_visitor( ptr< as_condition_visitor > v );
00749
00750
00751 static ptr< as_empty_condition > create (
00752 ptr< ::lestes::std::source_location > a__as_base__location);
00753
00754
00755
00756
00757 virtual ptr<reflection_list> reflection_get() const;
00758
00759 virtual ptr<field_list_list> field_values_get() const;
00760
00761 protected:
00762
00763 as_empty_condition (
00764 ptr< ::lestes::std::source_location > a__as_base__location);
00765
00766
00767 virtual void gc_mark();
00768
00769 private:
00770 static ptr<reflection_list> reflection;
00771
00772 };
00773
00774
00775 class as_condition_expression : public as_condition {
00776 public:
00777
00778 ptr< as_expression > expression_get() const;
00779
00780
00781 void expression_set(const ptr< as_expression > &);
00782
00783 virtual void accept_as_condition_visitor( ptr< as_condition_visitor > v );
00784
00785
00786 static ptr< as_condition_expression > create (
00787 ptr< ::lestes::std::source_location > a__as_base__location,
00788 ptr< as_expression > a__as_condition_expression__expression);
00789
00790
00791
00792
00793 virtual ptr<reflection_list> reflection_get() const;
00794
00795 virtual ptr<field_list_list> field_values_get() const;
00796
00797 protected:
00798
00799 as_condition_expression (
00800 ptr< ::lestes::std::source_location > a__as_base__location,
00801 ptr< as_expression > a__as_condition_expression__expression);
00802
00803
00804 virtual void gc_mark();
00805
00806 private:
00807 srp< as_expression > expression;
00808 static ptr<reflection_list> reflection;
00809
00810 };
00811
00812
00813 class as_condition_declaration : public as_condition {
00814 public:
00815
00816 ptr< ::lestes::std::list< srp< as_type_specifier > > > type_specifiers_get() const;
00817
00818
00819 void type_specifiers_set(const ptr< ::lestes::std::list< srp< as_type_specifier > > > & );
00820
00821
00822 ptr< as_declarator > declarator_get() const;
00823
00824
00825 void declarator_set(const ptr< as_declarator > &);
00826
00827
00828 ptr< as_expression > initializer_get() const;
00829
00830
00831 void initializer_set(const ptr< as_expression > &);
00832
00833 virtual void accept_as_condition_visitor( ptr< as_condition_visitor > v );
00834
00835
00836 static ptr< as_condition_declaration > create (
00837 ptr< ::lestes::std::source_location > a__as_base__location,
00838 ptr< ::lestes::std::list< srp< as_type_specifier > > > a__as_condition_declaration__type_specifiers,
00839 ptr< as_declarator > a__as_condition_declaration__declarator,
00840 ptr< as_expression > a__as_condition_declaration__initializer);
00841
00842
00843
00844
00845 virtual ptr<reflection_list> reflection_get() const;
00846
00847 virtual ptr<field_list_list> field_values_get() const;
00848
00849 protected:
00850
00851 as_condition_declaration (
00852 ptr< ::lestes::std::source_location > a__as_base__location,
00853 ptr< ::lestes::std::list< srp< as_type_specifier > > > a__as_condition_declaration__type_specifiers,
00854 ptr< as_declarator > a__as_condition_declaration__declarator,
00855 ptr< as_expression > a__as_condition_declaration__initializer);
00856
00857
00858 virtual void gc_mark();
00859
00860 private:
00861 srp< ::lestes::std::list< srp< as_type_specifier > > > type_specifiers;
00862 srp< as_declarator > declarator;
00863 srp< as_expression > initializer;
00864 static ptr<reflection_list> reflection;
00865
00866 };
00867
00868
00869 class as_jump_statement : public as_statement {
00870 public:
00871 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v ) abstract;
00872
00873
00874
00875 virtual ptr<reflection_list> reflection_get() const;
00876
00877 virtual ptr<field_list_list> field_values_get() const;
00878
00879 protected:
00880
00881 as_jump_statement (
00882 ptr< ::lestes::std::source_location > a__as_base__location);
00883
00884
00885 virtual void gc_mark();
00886
00887 private:
00888 static ptr<reflection_list> reflection;
00889
00890 };
00891
00892
00893 class as_break_statement : public as_jump_statement {
00894 public:
00895 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v );
00896
00897
00898 static ptr< as_break_statement > create (
00899 ptr< ::lestes::std::source_location > a__as_base__location);
00900
00901
00902
00903
00904 virtual ptr<reflection_list> reflection_get() const;
00905
00906 virtual ptr<field_list_list> field_values_get() const;
00907
00908 protected:
00909
00910 as_break_statement (
00911 ptr< ::lestes::std::source_location > a__as_base__location);
00912
00913
00914 virtual void gc_mark();
00915
00916 private:
00917 static ptr<reflection_list> reflection;
00918
00919 };
00920
00921
00922 class as_continue_statement : public as_statement {
00923 public:
00924 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v );
00925
00926
00927 static ptr< as_continue_statement > create (
00928 ptr< ::lestes::std::source_location > a__as_base__location);
00929
00930
00931
00932
00933 virtual ptr<reflection_list> reflection_get() const;
00934
00935 virtual ptr<field_list_list> field_values_get() const;
00936
00937 protected:
00938
00939 as_continue_statement (
00940 ptr< ::lestes::std::source_location > a__as_base__location);
00941
00942
00943 virtual void gc_mark();
00944
00945 private:
00946 static ptr<reflection_list> reflection;
00947
00948 };
00949
00950
00951 class as_return_statement : public as_jump_statement {
00952 public:
00953
00954 ptr< as_expression > value_get() const;
00955
00956
00957 void value_set(const ptr< as_expression > &);
00958
00959 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v );
00960
00961
00962 static ptr< as_return_statement > create (
00963 ptr< ::lestes::std::source_location > a__as_base__location,
00964 ptr< as_expression > a__as_return_statement__value);
00965
00966
00967
00968
00969 virtual ptr<reflection_list> reflection_get() const;
00970
00971 virtual ptr<field_list_list> field_values_get() const;
00972
00973 protected:
00974
00975 as_return_statement (
00976 ptr< ::lestes::std::source_location > a__as_base__location,
00977 ptr< as_expression > a__as_return_statement__value);
00978
00979
00980 virtual void gc_mark();
00981
00982 private:
00983 srp< as_expression > value;
00984 static ptr<reflection_list> reflection;
00985
00986 };
00987
00988
00989 class as_goto_statement : public as_jump_statement {
00990 public:
00991
00992 ptr< as_identifier > identifier_get() const;
00993
00994
00995 void identifier_set(const ptr< as_identifier > &);
00996
00997 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v );
00998
00999
01000 static ptr< as_goto_statement > create (
01001 ptr< ::lestes::std::source_location > a__as_base__location,
01002 ptr< as_identifier > a__as_goto_statement__identifier);
01003
01004
01005
01006
01007 virtual ptr<reflection_list> reflection_get() const;
01008
01009 virtual ptr<field_list_list> field_values_get() const;
01010
01011 protected:
01012
01013 as_goto_statement (
01014 ptr< ::lestes::std::source_location > a__as_base__location,
01015 ptr< as_identifier > a__as_goto_statement__identifier);
01016
01017
01018 virtual void gc_mark();
01019
01020 private:
01021 srp< as_identifier > identifier;
01022 static ptr<reflection_list> reflection;
01023
01024 };
01025
01026
01027 class as_declaration_statement : public as_statement {
01028 public:
01029
01030 ptr< as_declaration > declaration_get() const;
01031
01032
01033 void declaration_set(const ptr< as_declaration > &);
01034
01035 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v );
01036
01037
01038 static ptr< as_declaration_statement > create (
01039 ptr< ::lestes::std::source_location > a__as_base__location,
01040 ptr< as_declaration > a__as_declaration_statement__declaration);
01041
01042
01043
01044
01045 virtual ptr<reflection_list> reflection_get() const;
01046
01047 virtual ptr<field_list_list> field_values_get() const;
01048
01049 protected:
01050
01051 as_declaration_statement (
01052 ptr< ::lestes::std::source_location > a__as_base__location,
01053 ptr< as_declaration > a__as_declaration_statement__declaration);
01054
01055
01056 virtual void gc_mark();
01057
01058 private:
01059 srp< as_declaration > declaration;
01060 static ptr<reflection_list> reflection;
01061
01062 };
01063
01064
01065 class as_try_block_statement : public as_statement {
01066 public:
01067
01068 ptr< as_compound_statement > statement_get() const;
01069
01070
01071 void statement_set(const ptr< as_compound_statement > &);
01072
01073
01074 ptr< ::lestes::std::list< srp< as_handler > > > handlers_get() const;
01075
01076
01077 void handlers_set(const ptr< ::lestes::std::list< srp< as_handler > > > & );
01078
01079 virtual void accept_as_statement_visitor( ptr< as_statement_visitor > v );
01080
01081
01082 static ptr< as_try_block_statement > create (
01083 ptr< ::lestes::std::source_location > a__as_base__location,
01084 ptr< as_compound_statement > a__as_try_block_statement__statement,
01085 ptr< ::lestes::std::list< srp< as_handler > > > a__as_try_block_statement__handlers);
01086
01087
01088
01089
01090 virtual ptr<reflection_list> reflection_get() const;
01091
01092 virtual ptr<field_list_list> field_values_get() const;
01093
01094 protected:
01095
01096 as_try_block_statement (
01097 ptr< ::lestes::std::source_location > a__as_base__location,
01098 ptr< as_compound_statement > a__as_try_block_statement__statement,
01099 ptr< ::lestes::std::list< srp< as_handler > > > a__as_try_block_statement__handlers);
01100
01101
01102 virtual void gc_mark();
01103
01104 private:
01105 srp< as_compound_statement > statement;
01106 srp< ::lestes::std::list< srp< as_handler > > > handlers;
01107 static ptr<reflection_list> reflection;
01108
01109 };
01110
01111
01112 class as_handler : public ::lestes::intercode::as_base {
01113 public:
01114
01115 ptr< as_exception_declaration > exception_declaration_get() const;
01116
01117
01118 void exception_declaration_set(const ptr< as_exception_declaration > &);
01119
01120
01121 ptr< as_compound_statement > compound_statement_get() const;
01122
01123
01124 void compound_statement_set(const ptr< as_compound_statement > &);
01125
01126
01127
01128 static ptr< as_handler > create (
01129 ptr< ::lestes::std::source_location > a__as_base__location,
01130 ptr< as_exception_declaration > a__as_handler__exception_declaration,
01131 ptr< as_compound_statement > a__as_handler__compound_statement);
01132
01133
01134
01135
01136 virtual ptr<reflection_list> reflection_get() const;
01137
01138 virtual ptr<field_list_list> field_values_get() const;
01139
01140 protected:
01141
01142 as_handler (
01143 ptr< ::lestes::std::source_location > a__as_base__location,
01144 ptr< as_exception_declaration > a__as_handler__exception_declaration,
01145 ptr< as_compound_statement > a__as_handler__compound_statement);
01146
01147
01148 virtual void gc_mark();
01149
01150 private:
01151 srp< as_exception_declaration > exception_declaration;
01152 srp< as_compound_statement > compound_statement;
01153 static ptr<reflection_list> reflection;
01154
01155 };
01156
01157
01158 class as_exception_declaration : public ::lestes::intercode::as_base {
01159 public:
01160
01161
01162
01163 virtual ptr<reflection_list> reflection_get() const;
01164
01165 virtual ptr<field_list_list> field_values_get() const;
01166
01167 protected:
01168
01169 as_exception_declaration (
01170 ptr< ::lestes::std::source_location > a__as_base__location);
01171
01172
01173 virtual void gc_mark();
01174
01175 private:
01176 static ptr<reflection_list> reflection;
01177
01178 };
01179
01180
01181 class as_exception_declaration_any_type : public as_exception_declaration {
01182 public:
01183
01184
01185 static ptr< as_exception_declaration_any_type > create (
01186 ptr< ::lestes::std::source_location > a__as_base__location);
01187
01188
01189
01190
01191 virtual ptr<reflection_list> reflection_get() const;
01192
01193 virtual ptr<field_list_list> field_values_get() const;
01194
01195 protected:
01196
01197 as_exception_declaration_any_type (
01198 ptr< ::lestes::std::source_location > a__as_base__location);
01199
01200
01201 virtual void gc_mark();
01202
01203 private:
01204 static ptr<reflection_list> reflection;
01205
01206 };
01207
01208
01209 class as_exception_declaration_single_type : public as_exception_declaration {
01210 public:
01211
01212 ptr< ::lestes::std::list< srp< as_type_specifier > > > type_specifiers_get() const;
01213
01214
01215 void type_specifiers_set(const ptr< ::lestes::std::list< srp< as_type_specifier > > > & );
01216
01217
01218
01219 static ptr< as_exception_declaration_single_type > create (
01220 ptr< ::lestes::std::source_location > a__as_base__location,
01221 ptr< ::lestes::std::list< srp< as_type_specifier > > > a__as_exception_declaration_single_type__type_specifiers);
01222
01223
01224
01225
01226 virtual ptr<reflection_list> reflection_get() const;
01227
01228 virtual ptr<field_list_list> field_values_get() const;
01229
01230 protected:
01231
01232 as_exception_declaration_single_type (
01233 ptr< ::lestes::std::source_location > a__as_base__location,
01234 ptr< ::lestes::std::list< srp< as_type_specifier > > > a__as_exception_declaration_single_type__type_specifiers);
01235
01236
01237 virtual void gc_mark();
01238
01239 private:
01240 srp< ::lestes::std::list< srp< as_type_specifier > > > type_specifiers;
01241 static ptr<reflection_list> reflection;
01242
01243 };
01244
01245
01246 class as_exception_declaration_single_type_with_variable : public as_exception_declaration_single_type {
01247 public:
01248
01249 ptr< as_declarator > declarator_get() const;
01250
01251
01252 void declarator_set(const ptr< as_declarator > &);
01253
01254
01255
01256 static ptr< as_exception_declaration_single_type_with_variable > create (
01257 ptr< ::lestes::std::source_location > a__as_base__location,
01258 ptr< ::lestes::std::list< srp< as_type_specifier > > > a__as_exception_declaration_single_type__type_specifiers,
01259 ptr< as_declarator > a__as_exception_declaration_single_type_with_variable__declarator);
01260
01261
01262
01263
01264 virtual ptr<reflection_list> reflection_get() const;
01265
01266 virtual ptr<field_list_list> field_values_get() const;
01267
01268 protected:
01269
01270 as_exception_declaration_single_type_with_variable (
01271 ptr< ::lestes::std::source_location > a__as_base__location,
01272 ptr< ::lestes::std::list< srp< as_type_specifier > > > a__as_exception_declaration_single_type__type_specifiers,
01273 ptr< as_declarator > a__as_exception_declaration_single_type_with_variable__declarator);
01274
01275
01276 virtual void gc_mark();
01277
01278 private:
01279 srp< as_declarator > declarator;
01280 static ptr<reflection_list> reflection;
01281
01282 };
01283
01284
01285 end_package(sem);
01286 end_package(cplus);
01287 end_package(lang);
01288 end_package(lestes);
01289
01290 #endif // lestes__lang__cplus__sem__as_statements_g_hh__included