00001
00002
00003 #ifndef lestes__lang__cplus__sem__as_decl_g_hh__included
00004 #define lestes__lang__cplus__sem__as_decl_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(lex);
00015 class cpp_token;
00016 end_package(lex);
00017 end_package(cplus);
00018 end_package(lang);
00019 end_package(lestes);
00020
00021 package(lestes);
00022 package(lang);
00023 package(cplus);
00024 package(syn);
00025 class bison_pack_token;
00026 end_package(syn);
00027 end_package(cplus);
00028 end_package(lang);
00029 end_package(lestes);
00030
00031 package(lestes);
00032 package(lang);
00033 package(cplus);
00034 package(syn);
00035 class bison_id_token;
00036 end_package(syn);
00037 end_package(cplus);
00038 end_package(lang);
00039 end_package(lestes);
00040
00041 package(lestes);
00042 package(lang);
00043 package(cplus);
00044 package(sem);
00045 class as_declarator_op_visitor;
00046 end_package(sem);
00047 end_package(cplus);
00048 end_package(lang);
00049 end_package(lestes);
00050
00051 package(lestes);
00052 package(lang);
00053 package(cplus);
00054 package(sem);
00055
00056
00057 class as_constant_expression;
00058 class as_expression;
00059 class as_statement;
00060 class as_compound_statement;
00061 class as_handler;
00062 class as_access_specifier_visitor;
00063 class as_class_key_visitor;
00064 class as_string_literal;
00065 class as_declaration;
00066 class as_block_declaration;
00067 class as_simple_declaration;
00068 class as_init_declarator;
00069 class as_initializer;
00070 class as_initializer_expression_list;
00071 class as_initializer_clause;
00072 class as_initializer_clause_visitor;
00073 class as_initializer_clause_expression;
00074 class as_initializer_clause_braced;
00075 class as_function_definition;
00076 class as_template_declaration;
00077 class as_template_param;
00078 class as_template_type_param;
00079 class as_template_type_param_type;
00080 class as_template_type_param_template;
00081 class as_template_nontype_param;
00082 class as_mem_initializer;
00083 class as_explicit_instantiation;
00084 class as_explicit_specialization;
00085 class as_linkage_specification;
00086 class as_id;
00087 class as_id_visitor;
00088 class as_template_id;
00089 class as_identifier;
00090 class as_destructor_id;
00091 class as_destructor_id_token;
00092 class as_destructor_id_template;
00093 class as_constructor_id;
00094 class as_op_function_id;
00095 class as_conv_function_id;
00096 class as_empty_id;
00097 class as_global_namespace_fake_id;
00098 class as_name;
00099 class as_base_specifier;
00100 class as_asm_declaration;
00101 class as_gnu_asm_declaration;
00102 class as_gnu_asm_specification;
00103 class as_namespace_alias_declaration;
00104 class as_namespace_definition;
00105 class as_using;
00106 class as_using_declaration;
00107 class as_using_declaration_with_typename;
00108 class as_access_declaration;
00109 class as_using_directive;
00110 class as_enumerator_definition;
00111 class as_param_declaration;
00112 class as_access_specifier;
00113 class as_access_specifier_visitor;
00114 class as_access_specifier_public;
00115 class as_access_specifier_protected;
00116 class as_access_specifier_private;
00117 class as_param_decl_clause;
00118 class as_declaration_specifier;
00119 class as_declaration_specifier_visitor;
00120 class as_function_specifier;
00121 class as_function_specifier_inline;
00122 class as_function_specifier_virtual;
00123 class as_function_specifier_explicit;
00124 class as_friend_specifier;
00125 class as_typedef_specifier;
00126 class as_storage_class_specifier;
00127 class as_storage_class_specifier_auto;
00128 class as_storage_class_specifier_register;
00129 class as_storage_class_specifier_static;
00130 class as_storage_class_specifier_extern;
00131 class as_storage_class_specifier_mutable;
00132 class as_type_specifier;
00133 class as_enumeration_specifier;
00134 class as_simple_type_specifier;
00135 class as_builtin_simple_type_specifier;
00136 class as_char_simple_type_specifier;
00137 class as_wchar_t_simple_type_specifier;
00138 class as_bool_simple_type_specifier;
00139 class as_short_simple_type_specifier;
00140 class as_int_simple_type_specifier;
00141 class as_long_simple_type_specifier;
00142 class as_signed_simple_type_specifier;
00143 class as_unsigned_simple_type_specifier;
00144 class as_float_simple_type_specifier;
00145 class as_double_simple_type_specifier;
00146 class as_void_simple_type_specifier;
00147 class as_cv_qualifier;
00148 class as_cv_qualifier_visitor;
00149 class as_cv_qualifier_const;
00150 class as_cv_qualifier_volatile;
00151 class as_cv_qualifier_restrict;
00152 class as_elaborated_type_specifier;
00153 class as_named_simple_type_specifier;
00154 class as_exception_specification;
00155 class as_elaborated_type_specifier_typename;
00156 class as_elaborated_type_specifier_tagged;
00157 class as_elaborated_type_specifier_class_key;
00158 class as_elaborated_type_specifier_enum;
00159 class as_template_argument;
00160 class as_non_type_template_argument;
00161 class as_type_template_argument;
00162 class as_declarator;
00163 class as_dummy_declarator;
00164 class as_declarator_op;
00165 class as_declarator_op_visitor;
00166 class as_declarator_op_ptr;
00167 class as_ptr_op_star;
00168 class as_ptr_op_amp;
00169 class as_ptr_op_member_ptr;
00170 class as_declarator_op_func;
00171 class as_declarator_op_array;
00172 class as_declarator_op_non_constant_array;
00173 class as_type_id;
00174 class as_class_key;
00175 class as_class_key_visitor;
00176 class as_class_key_class;
00177 class as_class_key_struct;
00178 class as_class_key_union;
00179 class as_member_declaration;
00180 class as_member_using_declaration;
00181 class as_member_template_declaration;
00182 class as_member_function_definition;
00183 class as_member_declaration_ordinary;
00184 class as_member_declarator;
00185 class as_bitfield_member_declarator;
00186 class as_ordinary_member_declarator;
00187 class as_initialized_member_declarator;
00188 class as_pure_member_declarator;
00189 class as_class_specifier;
00190 class as_class_forward_member_declaration;
00191 class as_class_forward_declaration;
00192
00193
00194 class as_string_literal : public ::lestes::intercode::as_base {
00195 public:
00196
00197
00198 static ptr< as_string_literal > create (
00199 ptr< ::lestes::std::source_location > a__as_base__location);
00200
00201
00202
00203
00204 virtual ptr<reflection_list> reflection_get() const;
00205
00206 virtual ptr<field_list_list> field_values_get() const;
00207
00208 protected:
00209
00210 as_string_literal (
00211 ptr< ::lestes::std::source_location > a__as_base__location);
00212
00213
00214 virtual void gc_mark();
00215
00216 private:
00217 static ptr<reflection_list> reflection;
00218
00219 };
00220
00221
00222 class as_declaration : public ::lestes::intercode::as_base {
00223 public:
00224
00225
00226
00227 virtual ptr<reflection_list> reflection_get() const;
00228
00229 virtual ptr<field_list_list> field_values_get() const;
00230
00231 protected:
00232
00233 as_declaration (
00234 ptr< ::lestes::std::source_location > a__as_base__location);
00235
00236
00237 virtual void gc_mark();
00238
00239 private:
00240 static ptr<reflection_list> reflection;
00241
00242 };
00243
00244
00245 class as_block_declaration : public as_declaration {
00246 public:
00247
00248
00249
00250 virtual ptr<reflection_list> reflection_get() const;
00251
00252 virtual ptr<field_list_list> field_values_get() const;
00253
00254 protected:
00255
00256 as_block_declaration (
00257 ptr< ::lestes::std::source_location > a__as_base__location);
00258
00259
00260 virtual void gc_mark();
00261
00262 private:
00263 static ptr<reflection_list> reflection;
00264
00265 };
00266
00267
00268 class as_simple_declaration : public as_block_declaration {
00269 public:
00270
00271 ptr< ::lestes::std::list< srp< as_declaration_specifier > > > declaration_specifiers_get() const;
00272
00273
00274 void declaration_specifiers_set(const ptr< ::lestes::std::list< srp< as_declaration_specifier > > > & );
00275
00276
00277 ptr< ::lestes::std::list< srp< as_init_declarator > > > init_declarators_get() const;
00278
00279
00280 void init_declarators_set(const ptr< ::lestes::std::list< srp< as_init_declarator > > > & );
00281
00282
00283
00284 static ptr< as_simple_declaration > create (
00285 ptr< ::lestes::std::source_location > a__as_base__location,
00286 ptr< ::lestes::std::list< srp< as_declaration_specifier > > > a__as_simple_declaration__declaration_specifiers,
00287 ptr< ::lestes::std::list< srp< as_init_declarator > > > a__as_simple_declaration__init_declarators);
00288
00289
00290
00291
00292 virtual ptr<reflection_list> reflection_get() const;
00293
00294 virtual ptr<field_list_list> field_values_get() const;
00295
00296 protected:
00297
00298 as_simple_declaration (
00299 ptr< ::lestes::std::source_location > a__as_base__location,
00300 ptr< ::lestes::std::list< srp< as_declaration_specifier > > > a__as_simple_declaration__declaration_specifiers,
00301 ptr< ::lestes::std::list< srp< as_init_declarator > > > a__as_simple_declaration__init_declarators);
00302
00303
00304 virtual void gc_mark();
00305
00306 private:
00307 srp< ::lestes::std::list< srp< as_declaration_specifier > > > declaration_specifiers;
00308 srp< ::lestes::std::list< srp< as_init_declarator > > > init_declarators;
00309 static ptr<reflection_list> reflection;
00310
00311 };
00312
00313
00314 class as_init_declarator : public ::lestes::intercode::as_base {
00315 public:
00316
00317 ptr< as_declarator > declarator_get() const;
00318
00319
00320 void declarator_set(const ptr< as_declarator > &);
00321
00322
00323 ptr< as_initializer > initializer_get() const;
00324
00325
00326 void initializer_set(const ptr< as_initializer > &);
00327
00328
00329
00330 static ptr< as_init_declarator > create (
00331 ptr< ::lestes::std::source_location > a__as_base__location,
00332 ptr< as_declarator > a__as_init_declarator__declarator,
00333 ptr< as_initializer > a__as_init_declarator__initializer);
00334
00335
00336
00337
00338 virtual ptr<reflection_list> reflection_get() const;
00339
00340 virtual ptr<field_list_list> field_values_get() const;
00341
00342 protected:
00343
00344 as_init_declarator (
00345 ptr< ::lestes::std::source_location > a__as_base__location,
00346 ptr< as_declarator > a__as_init_declarator__declarator,
00347 ptr< as_initializer > a__as_init_declarator__initializer);
00348
00349
00350 virtual void gc_mark();
00351
00352 private:
00353 srp< as_declarator > declarator;
00354 srp< as_initializer > initializer;
00355 static ptr<reflection_list> reflection;
00356
00357 };
00358
00359
00360 class as_initializer : public ::lestes::intercode::as_base {
00361 public:
00362
00363
00364
00365 virtual ptr<reflection_list> reflection_get() const;
00366
00367 virtual ptr<field_list_list> field_values_get() const;
00368
00369 protected:
00370
00371 as_initializer (
00372 ptr< ::lestes::std::source_location > a__as_base__location);
00373
00374
00375 virtual void gc_mark();
00376
00377 private:
00378 static ptr<reflection_list> reflection;
00379
00380 };
00381
00382
00383 class as_initializer_expression_list : public as_initializer {
00384 public:
00385
00386 ptr< ::lestes::std::list< srp< as_expression > > > expressions_get() const;
00387
00388
00389 void expressions_set(const ptr< ::lestes::std::list< srp< as_expression > > > & );
00390
00391
00392
00393 static ptr< as_initializer_expression_list > create (
00394 ptr< ::lestes::std::source_location > a__as_base__location,
00395 ptr< ::lestes::std::list< srp< as_expression > > > a__as_initializer_expression_list__expressions);
00396
00397
00398
00399
00400 virtual ptr<reflection_list> reflection_get() const;
00401
00402 virtual ptr<field_list_list> field_values_get() const;
00403
00404 protected:
00405
00406 as_initializer_expression_list (
00407 ptr< ::lestes::std::source_location > a__as_base__location,
00408 ptr< ::lestes::std::list< srp< as_expression > > > a__as_initializer_expression_list__expressions);
00409
00410
00411 virtual void gc_mark();
00412
00413 private:
00414 srp< ::lestes::std::list< srp< as_expression > > > expressions;
00415 static ptr<reflection_list> reflection;
00416
00417 };
00418
00419
00420 class as_initializer_clause : public as_initializer {
00421 public:
00422 virtual void accept_as_initializer_clause_visitor( ptr< as_initializer_clause_visitor > v ) abstract;
00423
00424
00425
00426 virtual ptr<reflection_list> reflection_get() const;
00427
00428 virtual ptr<field_list_list> field_values_get() const;
00429
00430 protected:
00431
00432 as_initializer_clause (
00433 ptr< ::lestes::std::source_location > a__as_base__location);
00434
00435
00436 virtual void gc_mark();
00437
00438 private:
00439 static ptr<reflection_list> reflection;
00440
00441 };
00442
00443
00444 class as_initializer_clause_expression : public as_initializer_clause {
00445 public:
00446
00447 ptr< as_expression > expression_get() const;
00448
00449
00450 void expression_set(const ptr< as_expression > &);
00451
00452 virtual void accept_as_initializer_clause_visitor( ptr< as_initializer_clause_visitor > v );
00453
00454
00455 static ptr< as_initializer_clause_expression > create (
00456 ptr< ::lestes::std::source_location > a__as_base__location,
00457 ptr< as_expression > a__as_initializer_clause_expression__expression);
00458
00459
00460
00461
00462 virtual ptr<reflection_list> reflection_get() const;
00463
00464 virtual ptr<field_list_list> field_values_get() const;
00465
00466 protected:
00467
00468 as_initializer_clause_expression (
00469 ptr< ::lestes::std::source_location > a__as_base__location,
00470 ptr< as_expression > a__as_initializer_clause_expression__expression);
00471
00472
00473 virtual void gc_mark();
00474
00475 private:
00476 srp< as_expression > expression;
00477 static ptr<reflection_list> reflection;
00478
00479 };
00480
00481
00482 class as_initializer_clause_braced : public as_initializer_clause {
00483 public:
00484
00485 ptr< ::lestes::std::list< srp< as_initializer_clause > > > initializers_get() const;
00486
00487
00488 void initializers_set(const ptr< ::lestes::std::list< srp< as_initializer_clause > > > & );
00489
00490 virtual void accept_as_initializer_clause_visitor( ptr< as_initializer_clause_visitor > v );
00491
00492
00493 static ptr< as_initializer_clause_braced > create (
00494 ptr< ::lestes::std::source_location > a__as_base__location,
00495 ptr< ::lestes::std::list< srp< as_initializer_clause > > > a__as_initializer_clause_braced__initializers);
00496
00497
00498
00499
00500 virtual ptr<reflection_list> reflection_get() const;
00501
00502 virtual ptr<field_list_list> field_values_get() const;
00503
00504 protected:
00505
00506 as_initializer_clause_braced (
00507 ptr< ::lestes::std::source_location > a__as_base__location,
00508 ptr< ::lestes::std::list< srp< as_initializer_clause > > > a__as_initializer_clause_braced__initializers);
00509
00510
00511 virtual void gc_mark();
00512
00513 private:
00514 srp< ::lestes::std::list< srp< as_initializer_clause > > > initializers;
00515 static ptr<reflection_list> reflection;
00516
00517 };
00518
00519
00520 class as_function_definition : public as_declaration {
00521 public:
00522
00523 ptr< ::lestes::std::list< srp< as_declaration_specifier > > > declaration_specifiers_get() const;
00524
00525
00526 void declaration_specifiers_set(const ptr< ::lestes::std::list< srp< as_declaration_specifier > > > & );
00527
00528
00529 ptr< as_declarator > declarator_get() const;
00530
00531
00532 void declarator_set(const ptr< as_declarator > &);
00533
00534
00535 ptr< ::lestes::std::list< srp< as_mem_initializer > > > mem_initializers_get() const;
00536
00537
00538 void mem_initializers_set(const ptr< ::lestes::std::list< srp< as_mem_initializer > > > & );
00539
00540
00541 ptr< ::lestes::lang::cplus::syn::bison_pack_token > function_body_get() const;
00542
00543
00544 void function_body_set(const ptr< ::lestes::lang::cplus::syn::bison_pack_token > &);
00545
00546
00547 ptr< ::lestes::std::list< srp< as_handler > > > handlers_get() const;
00548
00549
00550 void handlers_set(const ptr< ::lestes::std::list< srp< as_handler > > > & );
00551
00552
00553 ptr< ::lestes::intercode::as_base > parsed_body_get() const;
00554
00555
00556 void parsed_body_set(const ptr< ::lestes::intercode::as_base > &);
00557
00558
00559
00560 static ptr< as_function_definition > create (
00561 ptr< ::lestes::std::source_location > a__as_base__location,
00562 ptr< ::lestes::std::list< srp< as_declaration_specifier > > > a__as_function_definition__declaration_specifiers,
00563 ptr< as_declarator > a__as_function_definition__declarator,
00564 ptr< ::lestes::std::list< srp< as_mem_initializer > > > a__as_function_definition__mem_initializers,
00565 ptr< ::lestes::lang::cplus::syn::bison_pack_token > a__as_function_definition__function_body,
00566 ptr< ::lestes::std::list< srp< as_handler > > > a__as_function_definition__handlers,
00567 ptr< ::lestes::intercode::as_base > a__as_function_definition__parsed_body);
00568
00569
00570 static ptr< as_function_definition > create (
00571 ptr< ::lestes::std::source_location > a__as_base__location,
00572 ptr< ::lestes::std::list< srp< as_declaration_specifier > > > a__as_function_definition__declaration_specifiers,
00573 ptr< as_declarator > a__as_function_definition__declarator,
00574 ptr< ::lestes::std::list< srp< as_mem_initializer > > > a__as_function_definition__mem_initializers,
00575 ptr< ::lestes::lang::cplus::syn::bison_pack_token > a__as_function_definition__function_body,
00576 ptr< ::lestes::std::list< srp< as_handler > > > a__as_function_definition__handlers);
00577
00578
00579
00580
00581 virtual ptr<reflection_list> reflection_get() const;
00582
00583 virtual ptr<field_list_list> field_values_get() const;
00584
00585 protected:
00586
00587 as_function_definition (
00588 ptr< ::lestes::std::source_location > a__as_base__location,
00589 ptr< ::lestes::std::list< srp< as_declaration_specifier > > > a__as_function_definition__declaration_specifiers,
00590 ptr< as_declarator > a__as_function_definition__declarator,
00591 ptr< ::lestes::std::list< srp< as_mem_initializer > > > a__as_function_definition__mem_initializers,
00592 ptr< ::lestes::lang::cplus::syn::bison_pack_token > a__as_function_definition__function_body,
00593 ptr< ::lestes::std::list< srp< as_handler > > > a__as_function_definition__handlers,
00594 ptr< ::lestes::intercode::as_base > a__as_function_definition__parsed_body);
00595
00596
00597 virtual void gc_mark();
00598
00599 private:
00600 srp< ::lestes::std::list< srp< as_declaration_specifier > > > declaration_specifiers;
00601 srp< as_declarator > declarator;
00602 srp< ::lestes::std::list< srp< as_mem_initializer > > > mem_initializers;
00603 srp< ::lestes::lang::cplus::syn::bison_pack_token > function_body;
00604 srp< ::lestes::std::list< srp< as_handler > > > handlers;
00605
00606
00607
00608
00609
00610
00611
00612
00613
00614
00615
00616
00617
00618
00619 srp< ::lestes::intercode::as_base > parsed_body;
00620 static ptr<reflection_list> reflection;
00621
00622 };
00623
00624
00625 class as_template_declaration : public as_declaration {
00626 public:
00627
00628 ptr< ::lestes::lang::cplus::lex::cpp_token > exported_get() const;
00629
00630
00631 void exported_set(const ptr< ::lestes::lang::cplus::lex::cpp_token > &);
00632
00633
00634 ptr< ::lestes::std::list< srp< as_template_param > > > template_params_get() const;
00635
00636
00637 void template_params_set(const ptr< ::lestes::std::list< srp< as_template_param > > > & );
00638
00639
00640 ptr< as_declaration > declararion_get() const;
00641
00642
00643 void declararion_set(const ptr< as_declaration > &);
00644
00645
00646
00647 static ptr< as_template_declaration > create (
00648 ptr< ::lestes::std::source_location > a__as_base__location,
00649 ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_template_declaration__exported,
00650 ptr< ::lestes::std::list< srp< as_template_param > > > a__as_template_declaration__template_params,
00651 ptr< as_declaration > a__as_template_declaration__declararion);
00652
00653
00654
00655
00656 virtual ptr<reflection_list> reflection_get() const;
00657
00658 virtual ptr<field_list_list> field_values_get() const;
00659
00660 protected:
00661
00662 as_template_declaration (
00663 ptr< ::lestes::std::source_location > a__as_base__location,
00664 ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_template_declaration__exported,
00665 ptr< ::lestes::std::list< srp< as_template_param > > > a__as_template_declaration__template_params,
00666 ptr< as_declaration > a__as_template_declaration__declararion);
00667
00668
00669 virtual void gc_mark();
00670
00671 private:
00672 srp< ::lestes::lang::cplus::lex::cpp_token > exported;
00673 srp< ::lestes::std::list< srp< as_template_param > > > template_params;
00674 srp< as_declaration > declararion;
00675 static ptr<reflection_list> reflection;
00676
00677 };
00678
00679
00680 class as_template_param : public ::lestes::intercode::as_base {
00681 public:
00682
00683
00684
00685 virtual ptr<reflection_list> reflection_get() const;
00686
00687 virtual ptr<field_list_list> field_values_get() const;
00688
00689 protected:
00690
00691 as_template_param (
00692 ptr< ::lestes::std::source_location > a__as_base__location);
00693
00694
00695 virtual void gc_mark();
00696
00697 private:
00698 static ptr<reflection_list> reflection;
00699
00700 };
00701
00702
00703 class as_template_type_param : public as_template_param {
00704 public:
00705
00706
00707 static ptr< as_template_type_param > create (
00708 ptr< ::lestes::std::source_location > a__as_base__location);
00709
00710
00711
00712
00713 virtual ptr<reflection_list> reflection_get() const;
00714
00715 virtual ptr<field_list_list> field_values_get() const;
00716
00717 protected:
00718
00719 as_template_type_param (
00720 ptr< ::lestes::std::source_location > a__as_base__location);
00721
00722
00723 virtual void gc_mark();
00724
00725 private:
00726 static ptr<reflection_list> reflection;
00727
00728 };
00729
00730
00731 class as_template_type_param_type : public as_template_type_param {
00732 public:
00733
00734 ptr< as_identifier > identifier_get() const;
00735
00736
00737 void identifier_set(const ptr< as_identifier > &);
00738
00739
00740 ptr< as_type_id > type_id_get() const;
00741
00742
00743 void type_id_set(const ptr< as_type_id > &);
00744
00745
00746
00747 static ptr< as_template_type_param_type > create (
00748 ptr< ::lestes::std::source_location > a__as_base__location,
00749 ptr< as_identifier > a__as_template_type_param_type__identifier,
00750 ptr< as_type_id > a__as_template_type_param_type__type_id);
00751
00752
00753
00754
00755 virtual ptr<reflection_list> reflection_get() const;
00756
00757 virtual ptr<field_list_list> field_values_get() const;
00758
00759 protected:
00760
00761 as_template_type_param_type (
00762 ptr< ::lestes::std::source_location > a__as_base__location,
00763 ptr< as_identifier > a__as_template_type_param_type__identifier,
00764 ptr< as_type_id > a__as_template_type_param_type__type_id);
00765
00766
00767 virtual void gc_mark();
00768
00769 private:
00770 srp< as_identifier > identifier;
00771 srp< as_type_id > type_id;
00772 static ptr<reflection_list> reflection;
00773
00774 };
00775
00776
00777 class as_template_type_param_template : public as_template_type_param {
00778 public:
00779
00780 ptr< ::lestes::std::list< srp< as_template_param > > > template_params_get() const;
00781
00782
00783 void template_params_set(const ptr< ::lestes::std::list< srp< as_template_param > > > & );
00784
00785
00786 ptr< as_identifier > identifier_get() const;
00787
00788
00789 void identifier_set(const ptr< as_identifier > &);
00790
00791
00792 ptr< as_name > initializer_get() const;
00793
00794
00795 void initializer_set(const ptr< as_name > &);
00796
00797
00798
00799 static ptr< as_template_type_param_template > create (
00800 ptr< ::lestes::std::source_location > a__as_base__location,
00801 ptr< ::lestes::std::list< srp< as_template_param > > > a__as_template_type_param_template__template_params,
00802 ptr< as_identifier > a__as_template_type_param_template__identifier,
00803 ptr< as_name > a__as_template_type_param_template__initializer);
00804
00805
00806
00807
00808 virtual ptr<reflection_list> reflection_get() const;
00809
00810 virtual ptr<field_list_list> field_values_get() const;
00811
00812 protected:
00813
00814 as_template_type_param_template (
00815 ptr< ::lestes::std::source_location > a__as_base__location,
00816 ptr< ::lestes::std::list< srp< as_template_param > > > a__as_template_type_param_template__template_params,
00817 ptr< as_identifier > a__as_template_type_param_template__identifier,
00818 ptr< as_name > a__as_template_type_param_template__initializer);
00819
00820
00821 virtual void gc_mark();
00822
00823 private:
00824 srp< ::lestes::std::list< srp< as_template_param > > > template_params;
00825 srp< as_identifier > identifier;
00826 srp< as_name > initializer;
00827 static ptr<reflection_list> reflection;
00828
00829 };
00830
00831
00832 class as_template_nontype_param : public as_template_param {
00833 public:
00834
00835 ptr< as_param_declaration > param_get() const;
00836
00837
00838 void param_set(const ptr< as_param_declaration > &);
00839
00840
00841
00842 static ptr< as_template_nontype_param > create (
00843 ptr< ::lestes::std::source_location > a__as_base__location,
00844 ptr< as_param_declaration > a__as_template_nontype_param__param);
00845
00846
00847
00848
00849 virtual ptr<reflection_list> reflection_get() const;
00850
00851 virtual ptr<field_list_list> field_values_get() const;
00852
00853 protected:
00854
00855 as_template_nontype_param (
00856 ptr< ::lestes::std::source_location > a__as_base__location,
00857 ptr< as_param_declaration > a__as_template_nontype_param__param);
00858
00859
00860 virtual void gc_mark();
00861
00862 private:
00863 srp< as_param_declaration > param;
00864 static ptr<reflection_list> reflection;
00865
00866 };
00867
00868
00869 class as_mem_initializer : public ::lestes::intercode::as_base {
00870 public:
00871
00872 ptr< as_name > id_get() const;
00873
00874
00875 void id_set(const ptr< as_name > &);
00876
00877
00878 ptr< ::lestes::std::list< srp< as_expression > > > expressions_get() const;
00879
00880
00881 void expressions_set(const ptr< ::lestes::std::list< srp< as_expression > > > & );
00882
00883
00884
00885 static ptr< as_mem_initializer > create (
00886 ptr< ::lestes::std::source_location > a__as_base__location,
00887 ptr< as_name > a__as_mem_initializer__id,
00888 ptr< ::lestes::std::list< srp< as_expression > > > a__as_mem_initializer__expressions);
00889
00890
00891
00892
00893 virtual ptr<reflection_list> reflection_get() const;
00894
00895 virtual ptr<field_list_list> field_values_get() const;
00896
00897 protected:
00898
00899 as_mem_initializer (
00900 ptr< ::lestes::std::source_location > a__as_base__location,
00901 ptr< as_name > a__as_mem_initializer__id,
00902 ptr< ::lestes::std::list< srp< as_expression > > > a__as_mem_initializer__expressions);
00903
00904
00905 virtual void gc_mark();
00906
00907 private:
00908 srp< as_name > id;
00909 srp< ::lestes::std::list< srp< as_expression > > > expressions;
00910 static ptr<reflection_list> reflection;
00911
00912 };
00913
00914
00915 class as_explicit_instantiation : public as_declaration {
00916 public:
00917
00918 ptr< as_declaration > declaration_get() const;
00919
00920
00921 void declaration_set(const ptr< as_declaration > &);
00922
00923
00924
00925 static ptr< as_explicit_instantiation > create (
00926 ptr< ::lestes::std::source_location > a__as_base__location,
00927 ptr< as_declaration > a__as_explicit_instantiation__declaration);
00928
00929
00930
00931
00932 virtual ptr<reflection_list> reflection_get() const;
00933
00934 virtual ptr<field_list_list> field_values_get() const;
00935
00936 protected:
00937
00938 as_explicit_instantiation (
00939 ptr< ::lestes::std::source_location > a__as_base__location,
00940 ptr< as_declaration > a__as_explicit_instantiation__declaration);
00941
00942
00943 virtual void gc_mark();
00944
00945 private:
00946 srp< as_declaration > declaration;
00947 static ptr<reflection_list> reflection;
00948
00949 };
00950
00951
00952 class as_explicit_specialization : public as_declaration {
00953 public:
00954
00955 ptr< as_declaration > declaration_get() const;
00956
00957
00958 void declaration_set(const ptr< as_declaration > &);
00959
00960
00961
00962 static ptr< as_explicit_specialization > create (
00963 ptr< ::lestes::std::source_location > a__as_base__location,
00964 ptr< as_declaration > a__as_explicit_specialization__declaration);
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_explicit_specialization (
00976 ptr< ::lestes::std::source_location > a__as_base__location,
00977 ptr< as_declaration > a__as_explicit_specialization__declaration);
00978
00979
00980 virtual void gc_mark();
00981
00982 private:
00983 srp< as_declaration > declaration;
00984 static ptr<reflection_list> reflection;
00985
00986 };
00987
00988
00989 class as_linkage_specification : public as_declaration {
00990 public:
00991
00992 ptr< ::lestes::lang::cplus::lex::cpp_token > linkage_specification_get() const;
00993
00994
00995 void linkage_specification_set(const ptr< ::lestes::lang::cplus::lex::cpp_token > &);
00996
00997
00998 ptr< ::lestes::std::list< srp< as_declaration > > > declarations_get() const;
00999
01000
01001 void declarations_set(const ptr< ::lestes::std::list< srp< as_declaration > > > & );
01002
01003
01004
01005 static ptr< as_linkage_specification > create (
01006 ptr< ::lestes::std::source_location > a__as_base__location,
01007 ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_linkage_specification__linkage_specification,
01008 ptr< ::lestes::std::list< srp< as_declaration > > > a__as_linkage_specification__declarations);
01009
01010
01011
01012
01013 virtual ptr<reflection_list> reflection_get() const;
01014
01015 virtual ptr<field_list_list> field_values_get() const;
01016
01017 protected:
01018
01019 as_linkage_specification (
01020 ptr< ::lestes::std::source_location > a__as_base__location,
01021 ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_linkage_specification__linkage_specification,
01022 ptr< ::lestes::std::list< srp< as_declaration > > > a__as_linkage_specification__declarations);
01023
01024
01025 virtual void gc_mark();
01026
01027 private:
01028 srp< ::lestes::lang::cplus::lex::cpp_token > linkage_specification;
01029 srp< ::lestes::std::list< srp< as_declaration > > > declarations;
01030 static ptr<reflection_list> reflection;
01031
01032 };
01033
01034
01035 class as_id : public ::lestes::intercode::as_base {
01036 public:
01037 virtual void accept_as_id_visitor( ptr< as_id_visitor > v ) abstract;
01038
01039
01040
01041 virtual ptr<reflection_list> reflection_get() const;
01042
01043 virtual ptr<field_list_list> field_values_get() const;
01044
01045 protected:
01046
01047 as_id (
01048 ptr< ::lestes::std::source_location > a__as_base__location);
01049
01050
01051 virtual void gc_mark();
01052
01053 private:
01054 static ptr<reflection_list> reflection;
01055
01056 };
01057
01058
01059
01060 class as_template_id : public as_id {
01061 public:
01062
01063 ptr< ::lestes::lang::cplus::syn::bison_id_token > token_get() const;
01064
01065
01066 void token_set(const ptr< ::lestes::lang::cplus::syn::bison_id_token > &);
01067
01068
01069 ptr< ::lestes::std::list< srp< as_template_argument > > > arguments_get() const;
01070
01071
01072 void arguments_set(const ptr< ::lestes::std::list< srp< as_template_argument > > > & );
01073
01074 virtual void accept_as_id_visitor( ptr< as_id_visitor > v );
01075
01076
01077 static ptr< as_template_id > create (
01078 ptr< ::lestes::std::source_location > a__as_base__location,
01079 ptr< ::lestes::lang::cplus::syn::bison_id_token > a__as_template_id__token,
01080 ptr< ::lestes::std::list< srp< as_template_argument > > > a__as_template_id__arguments);
01081
01082
01083
01084
01085 virtual ptr<reflection_list> reflection_get() const;
01086
01087 virtual ptr<field_list_list> field_values_get() const;
01088
01089 protected:
01090
01091 as_template_id (
01092 ptr< ::lestes::std::source_location > a__as_base__location,
01093 ptr< ::lestes::lang::cplus::syn::bison_id_token > a__as_template_id__token,
01094 ptr< ::lestes::std::list< srp< as_template_argument > > > a__as_template_id__arguments);
01095
01096
01097 virtual void gc_mark();
01098
01099 private:
01100 srp< ::lestes::lang::cplus::syn::bison_id_token > token;
01101 srp< ::lestes::std::list< srp< as_template_argument > > > arguments;
01102 static ptr<reflection_list> reflection;
01103
01104 };
01105
01106
01107 class as_identifier : public as_id {
01108 public:
01109
01110 ptr< ::lestes::lang::cplus::syn::bison_id_token > token_get() const;
01111
01112
01113 void token_set(const ptr< ::lestes::lang::cplus::syn::bison_id_token > &);
01114
01115 virtual void accept_as_id_visitor( ptr< as_id_visitor > v );
01116
01117
01118 static ptr< as_identifier > create (
01119 ptr< ::lestes::std::source_location > a__as_base__location,
01120 ptr< ::lestes::lang::cplus::syn::bison_id_token > a__as_identifier__token);
01121
01122
01123
01124
01125 virtual ptr<reflection_list> reflection_get() const;
01126
01127 virtual ptr<field_list_list> field_values_get() const;
01128
01129 protected:
01130
01131 as_identifier (
01132 ptr< ::lestes::std::source_location > a__as_base__location,
01133 ptr< ::lestes::lang::cplus::syn::bison_id_token > a__as_identifier__token);
01134
01135
01136 virtual void gc_mark();
01137
01138 private:
01139 srp< ::lestes::lang::cplus::syn::bison_id_token > token;
01140 static ptr<reflection_list> reflection;
01141
01142 };
01143
01144
01145 class as_destructor_id : public as_id {
01146 public:
01147 virtual void accept_as_id_visitor( ptr< as_id_visitor > v ) abstract;
01148
01149
01150
01151 virtual ptr<reflection_list> reflection_get() const;
01152
01153 virtual ptr<field_list_list> field_values_get() const;
01154
01155 protected:
01156
01157 as_destructor_id (
01158 ptr< ::lestes::std::source_location > a__as_base__location);
01159
01160
01161 virtual void gc_mark();
01162
01163 private:
01164 static ptr<reflection_list> reflection;
01165
01166 };
01167
01168
01169 class as_destructor_id_token : public as_destructor_id {
01170 public:
01171
01172 ptr< ::lestes::lang::cplus::syn::bison_id_token > token_get() const;
01173
01174
01175 void token_set(const ptr< ::lestes::lang::cplus::syn::bison_id_token > &);
01176
01177 virtual void accept_as_id_visitor( ptr< as_id_visitor > v );
01178
01179
01180 static ptr< as_destructor_id_token > create (
01181 ptr< ::lestes::std::source_location > a__as_base__location,
01182 ptr< ::lestes::lang::cplus::syn::bison_id_token > a__as_destructor_id_token__token);
01183
01184
01185
01186
01187 virtual ptr<reflection_list> reflection_get() const;
01188
01189 virtual ptr<field_list_list> field_values_get() const;
01190
01191 protected:
01192
01193 as_destructor_id_token (
01194 ptr< ::lestes::std::source_location > a__as_base__location,
01195 ptr< ::lestes::lang::cplus::syn::bison_id_token > a__as_destructor_id_token__token);
01196
01197
01198 virtual void gc_mark();
01199
01200 private:
01201 srp< ::lestes::lang::cplus::syn::bison_id_token > token;
01202 static ptr<reflection_list> reflection;
01203
01204 };
01205
01206
01207 class as_destructor_id_template : public as_destructor_id {
01208 public:
01209
01210 ptr< as_template_id > template_id_get() const;
01211
01212
01213 void template_id_set(const ptr< as_template_id > &);
01214
01215 virtual void accept_as_id_visitor( ptr< as_id_visitor > v );
01216
01217
01218 static ptr< as_destructor_id_template > create (
01219 ptr< ::lestes::std::source_location > a__as_base__location,
01220 ptr< as_template_id > a__as_destructor_id_template__template_id);
01221
01222
01223
01224
01225 virtual ptr<reflection_list> reflection_get() const;
01226
01227 virtual ptr<field_list_list> field_values_get() const;
01228
01229 protected:
01230
01231 as_destructor_id_template (
01232 ptr< ::lestes::std::source_location > a__as_base__location,
01233 ptr< as_template_id > a__as_destructor_id_template__template_id);
01234
01235
01236 virtual void gc_mark();
01237
01238 private:
01239 srp< as_template_id > template_id;
01240 static ptr<reflection_list> reflection;
01241
01242 };
01243
01244
01245
01246
01247
01248
01249
01250
01251
01252 class as_constructor_id : public as_id {
01253 public:
01254
01255 ptr< ::lestes::std::list< srp< as_declaration_specifier > > > declaration_specifiers_get() const;
01256
01257
01258 void declaration_specifiers_set(const ptr< ::lestes::std::list< srp< as_declaration_specifier > > > & );
01259
01260 virtual void accept_as_id_visitor( ptr< as_id_visitor > v );
01261
01262
01263 static ptr< as_constructor_id > create (
01264 ptr< ::lestes::std::source_location > a__as_base__location,
01265 ptr< ::lestes::std::list< srp< as_declaration_specifier > > > a__as_constructor_id__declaration_specifiers);
01266
01267
01268
01269
01270 virtual ptr<reflection_list> reflection_get() const;
01271
01272 virtual ptr<field_list_list> field_values_get() const;
01273
01274 protected:
01275
01276 as_constructor_id (
01277 ptr< ::lestes::std::source_location > a__as_base__location,
01278 ptr< ::lestes::std::list< srp< as_declaration_specifier > > > a__as_constructor_id__declaration_specifiers);
01279
01280
01281 virtual void gc_mark();
01282
01283 private:
01284 srp< ::lestes::std::list< srp< as_declaration_specifier > > > declaration_specifiers;
01285 static ptr<reflection_list> reflection;
01286
01287 };
01288
01289
01290 class as_op_function_id : public as_id {
01291 public:
01292
01293 ptr< ::lestes::lang::cplus::lex::cpp_token > op_get() const;
01294
01295
01296 void op_set(const ptr< ::lestes::lang::cplus::lex::cpp_token > &);
01297
01298
01299 ptr< ::lestes::std::list< srp< as_template_argument > > > arguments_get() const;
01300
01301
01302 void arguments_set(const ptr< ::lestes::std::list< srp< as_template_argument > > > & );
01303
01304 virtual void accept_as_id_visitor( ptr< as_id_visitor > v );
01305
01306
01307 static ptr< as_op_function_id > create (
01308 ptr< ::lestes::std::source_location > a__as_base__location,
01309 ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_op_function_id__op,
01310 ptr< ::lestes::std::list< srp< as_template_argument > > > a__as_op_function_id__arguments);
01311
01312
01313
01314
01315 virtual ptr<reflection_list> reflection_get() const;
01316
01317 virtual ptr<field_list_list> field_values_get() const;
01318
01319 protected:
01320
01321 as_op_function_id (
01322 ptr< ::lestes::std::source_location > a__as_base__location,
01323 ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_op_function_id__op,
01324 ptr< ::lestes::std::list< srp< as_template_argument > > > a__as_op_function_id__arguments);
01325
01326
01327 virtual void gc_mark();
01328
01329 private:
01330
01331 srp< ::lestes::lang::cplus::lex::cpp_token > op;
01332 srp< ::lestes::std::list< srp< as_template_argument > > > arguments;
01333 static ptr<reflection_list> reflection;
01334
01335 };
01336
01337
01338 class as_conv_function_id : public as_id {
01339 public:
01340
01341 ptr< ::lestes::std::list< srp< as_type_specifier > > > specifiers_get() const;
01342
01343
01344 void specifiers_set(const ptr< ::lestes::std::list< srp< as_type_specifier > > > & );
01345
01346
01347 ptr< ::lestes::std::list< srp< as_declarator_op > > > ptr_ops_get() const;
01348
01349
01350 void ptr_ops_set(const ptr< ::lestes::std::list< srp< as_declarator_op > > > & );
01351
01352 virtual void accept_as_id_visitor( ptr< as_id_visitor > v );
01353
01354
01355 static ptr< as_conv_function_id > create (
01356 ptr< ::lestes::std::source_location > a__as_base__location,
01357 ptr< ::lestes::std::list< srp< as_type_specifier > > > a__as_conv_function_id__specifiers,
01358 ptr< ::lestes::std::list< srp< as_declarator_op > > > a__as_conv_function_id__ptr_ops);
01359
01360
01361
01362
01363 virtual ptr<reflection_list> reflection_get() const;
01364
01365 virtual ptr<field_list_list> field_values_get() const;
01366
01367 protected:
01368
01369 as_conv_function_id (
01370 ptr< ::lestes::std::source_location > a__as_base__location,
01371 ptr< ::lestes::std::list< srp< as_type_specifier > > > a__as_conv_function_id__specifiers,
01372 ptr< ::lestes::std::list< srp< as_declarator_op > > > a__as_conv_function_id__ptr_ops);
01373
01374
01375 virtual void gc_mark();
01376
01377 private:
01378 srp< ::lestes::std::list< srp< as_type_specifier > > > specifiers;
01379
01380 srp< ::lestes::std::list< srp< as_declarator_op > > > ptr_ops;
01381 static ptr<reflection_list> reflection;
01382
01383 };
01384
01385
01386
01387 class as_empty_id : public as_id {
01388 public:
01389 virtual void accept_as_id_visitor( ptr< as_id_visitor > v );
01390
01391
01392 static ptr< as_empty_id > create (
01393 ptr< ::lestes::std::source_location > a__as_base__location);
01394
01395
01396
01397
01398 virtual ptr<reflection_list> reflection_get() const;
01399
01400 virtual ptr<field_list_list> field_values_get() const;
01401
01402 protected:
01403
01404 as_empty_id (
01405 ptr< ::lestes::std::source_location > a__as_base__location);
01406
01407
01408 virtual void gc_mark();
01409
01410 private:
01411 static ptr<reflection_list> reflection;
01412
01413 };
01414
01415
01416 class as_global_namespace_fake_id : public as_id {
01417 public:
01418 virtual void accept_as_id_visitor( ptr< as_id_visitor > v );
01419
01420
01421 static ptr< as_global_namespace_fake_id > create (
01422 ptr< ::lestes::std::source_location > a__as_base__location);
01423
01424
01425
01426
01427 virtual ptr<reflection_list> reflection_get() const;
01428
01429 virtual ptr<field_list_list> field_values_get() const;
01430
01431 protected:
01432
01433 as_global_namespace_fake_id (
01434 ptr< ::lestes::std::source_location > a__as_base__location);
01435
01436
01437 virtual void gc_mark();
01438
01439 private:
01440 static ptr<reflection_list> reflection;
01441
01442 };
01443
01444
01445
01446
01447
01448
01449
01450
01451
01452
01453
01454
01455
01456 class as_name : public ::lestes::intercode::as_base {
01457 public:
01458
01459 ptr< as_name > qualification_get() const;
01460
01461
01462 void qualification_set(const ptr< as_name > &);
01463
01464
01465 ptr< as_id > identifier_get() const;
01466
01467
01468 void identifier_set(const ptr< as_id > &);
01469
01470
01471 bool was_qualified_get() const;
01472
01473
01474 void was_qualified_set(bool);
01475
01476
01477
01478 static ptr< as_name > create (
01479 ptr< ::lestes::std::source_location > a__as_base__location,
01480 ptr< as_name > a__as_name__qualification,
01481 ptr< as_id > a__as_name__identifier,
01482 bool a__as_name__was_qualified);
01483
01484
01485 static ptr< as_name > create (
01486 ptr< ::lestes::std::source_location > a__as_base__location,
01487 ptr< as_name > a__as_name__qualification,
01488 ptr< as_id > a__as_name__identifier);
01489
01490
01491
01492
01493 virtual ptr<reflection_list> reflection_get() const;
01494
01495 virtual ptr<field_list_list> field_values_get() const;
01496
01497 protected:
01498
01499 as_name (
01500 ptr< ::lestes::std::source_location > a__as_base__location,
01501 ptr< as_name > a__as_name__qualification,
01502 ptr< as_id > a__as_name__identifier,
01503 bool a__as_name__was_qualified);
01504
01505
01506 virtual void gc_mark();
01507
01508 private:
01509 srp< as_name > qualification;
01510 srp< as_id > identifier;
01511 bool was_qualified;
01512 static ptr<reflection_list> reflection;
01513
01514 };
01515
01516
01517 class as_base_specifier : public ::lestes::intercode::as_base {
01518 public:
01519
01520 ptr< ::lestes::lang::cplus::lex::cpp_token > virtual_base_get() const;
01521
01522
01523 void virtual_base_set(const ptr< ::lestes::lang::cplus::lex::cpp_token > &);
01524
01525
01526 ptr< as_access_specifier > access_specifier_get() const;
01527
01528
01529 void access_specifier_set(const ptr< as_access_specifier > &);
01530
01531
01532 ptr< as_name > class_name_get() const;
01533
01534
01535 void class_name_set(const ptr< as_name > &);
01536
01537
01538
01539 static ptr< as_base_specifier > create (
01540 ptr< ::lestes::std::source_location > a__as_base__location,
01541 ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_base_specifier__virtual_base,
01542 ptr< as_access_specifier > a__as_base_specifier__access_specifier,
01543 ptr< as_name > a__as_base_specifier__class_name);
01544
01545
01546
01547
01548 virtual ptr<reflection_list> reflection_get() const;
01549
01550 virtual ptr<field_list_list> field_values_get() const;
01551
01552 protected:
01553
01554 as_base_specifier (
01555 ptr< ::lestes::std::source_location > a__as_base__location,
01556 ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_base_specifier__virtual_base,
01557 ptr< as_access_specifier > a__as_base_specifier__access_specifier,
01558 ptr< as_name > a__as_base_specifier__class_name);
01559
01560
01561 virtual void gc_mark();
01562
01563 private:
01564 srp< ::lestes::lang::cplus::lex::cpp_token > virtual_base;
01565 srp< as_access_specifier > access_specifier;
01566 srp< as_name > class_name;
01567 static ptr<reflection_list> reflection;
01568
01569 };
01570
01571
01572 class as_asm_declaration : public as_block_declaration {
01573 public:
01574
01575 ptr< ::lestes::lang::cplus::lex::cpp_token > assembler_get() const;
01576
01577
01578 void assembler_set(const ptr< ::lestes::lang::cplus::lex::cpp_token > &);
01579
01580
01581
01582 static ptr< as_asm_declaration > create (
01583 ptr< ::lestes::std::source_location > a__as_base__location,
01584 ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_asm_declaration__assembler);
01585
01586
01587
01588
01589 virtual ptr<reflection_list> reflection_get() const;
01590
01591 virtual ptr<field_list_list> field_values_get() const;
01592
01593 protected:
01594
01595 as_asm_declaration (
01596 ptr< ::lestes::std::source_location > a__as_base__location,
01597 ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_asm_declaration__assembler);
01598
01599
01600 virtual void gc_mark();
01601
01602 private:
01603
01604 srp< ::lestes::lang::cplus::lex::cpp_token > assembler;
01605 static ptr<reflection_list> reflection;
01606
01607 };
01608
01609
01610 class as_gnu_asm_declaration : public as_asm_declaration {
01611 public:
01612
01613 ptr< ::lestes::std::list< srp< as_gnu_asm_specification > > > out_specification_get() const;
01614
01615
01616 void out_specification_set(const ptr< ::lestes::std::list< srp< as_gnu_asm_specification > > > & );
01617
01618
01619 ptr< ::lestes::std::list< srp< as_gnu_asm_specification > > > in_specification_get() const;
01620
01621
01622 void in_specification_set(const ptr< ::lestes::std::list< srp< as_gnu_asm_specification > > > & );
01623
01624
01625 ptr< ::lestes::std::list< srp< as_string_literal > > > gobble_list_get() const;
01626
01627
01628 void gobble_list_set(const ptr< ::lestes::std::list< srp< as_string_literal > > > & );
01629
01630
01631
01632 static ptr< as_gnu_asm_declaration > create (
01633 ptr< ::lestes::std::source_location > a__as_base__location,
01634 ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_asm_declaration__assembler,
01635 ptr< ::lestes::std::list< srp< as_gnu_asm_specification > > > a__as_gnu_asm_declaration__out_specification,
01636 ptr< ::lestes::std::list< srp< as_gnu_asm_specification > > > a__as_gnu_asm_declaration__in_specification,
01637 ptr< ::lestes::std::list< srp< as_string_literal > > > a__as_gnu_asm_declaration__gobble_list);
01638
01639
01640
01641
01642 virtual ptr<reflection_list> reflection_get() const;
01643
01644 virtual ptr<field_list_list> field_values_get() const;
01645
01646 protected:
01647
01648 as_gnu_asm_declaration (
01649 ptr< ::lestes::std::source_location > a__as_base__location,
01650 ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_asm_declaration__assembler,
01651 ptr< ::lestes::std::list< srp< as_gnu_asm_specification > > > a__as_gnu_asm_declaration__out_specification,
01652 ptr< ::lestes::std::list< srp< as_gnu_asm_specification > > > a__as_gnu_asm_declaration__in_specification,
01653 ptr< ::lestes::std::list< srp< as_string_literal > > > a__as_gnu_asm_declaration__gobble_list);
01654
01655
01656 virtual void gc_mark();
01657
01658 private:
01659 srp< ::lestes::std::list< srp< as_gnu_asm_specification > > > out_specification;
01660 srp< ::lestes::std::list< srp< as_gnu_asm_specification > > > in_specification;
01661 srp< ::lestes::std::list< srp< as_string_literal > > > gobble_list;
01662 static ptr<reflection_list> reflection;
01663
01664 };
01665
01666
01667 class as_gnu_asm_specification : public ::lestes::intercode::as_base {
01668 public:
01669
01670 ptr< as_string_literal > constraint_get() const;
01671
01672
01673 void constraint_set(const ptr< as_string_literal > &);
01674
01675
01676 ptr< as_expression > expression_get() const;
01677
01678
01679 void expression_set(const ptr< as_expression > &);
01680
01681
01682
01683 static ptr< as_gnu_asm_specification > create (
01684 ptr< ::lestes::std::source_location > a__as_base__location,
01685 ptr< as_string_literal > a__as_gnu_asm_specification__constraint,
01686 ptr< as_expression > a__as_gnu_asm_specification__expression);
01687
01688
01689
01690
01691 virtual ptr<reflection_list> reflection_get() const;
01692
01693 virtual ptr<field_list_list> field_values_get() const;
01694
01695 protected:
01696
01697 as_gnu_asm_specification (
01698 ptr< ::lestes::std::source_location > a__as_base__location,
01699 ptr< as_string_literal > a__as_gnu_asm_specification__constraint,
01700 ptr< as_expression > a__as_gnu_asm_specification__expression);
01701
01702
01703 virtual void gc_mark();
01704
01705 private:
01706 srp< as_string_literal > constraint;
01707 srp< as_expression > expression;
01708 static ptr<reflection_list> reflection;
01709
01710 };
01711
01712
01713 class as_namespace_alias_declaration : public as_block_declaration {
01714 public:
01715
01716 ptr< as_identifier > identifier_get() const;
01717
01718
01719 void identifier_set(const ptr< as_identifier > &);
01720
01721
01722 ptr< as_name > ns_get() const;
01723
01724
01725 void ns_set(const ptr< as_name > &);
01726
01727
01728
01729 static ptr< as_namespace_alias_declaration > create (
01730 ptr< ::lestes::std::source_location > a__as_base__location,
01731 ptr< as_identifier > a__as_namespace_alias_declaration__identifier,
01732 ptr< as_name > a__as_namespace_alias_declaration__ns);
01733
01734
01735
01736
01737 virtual ptr<reflection_list> reflection_get() const;
01738
01739 virtual ptr<field_list_list> field_values_get() const;
01740
01741 protected:
01742
01743 as_namespace_alias_declaration (
01744 ptr< ::lestes::std::source_location > a__as_base__location,
01745 ptr< as_identifier > a__as_namespace_alias_declaration__identifier,
01746 ptr< as_name > a__as_namespace_alias_declaration__ns);
01747
01748
01749 virtual void gc_mark();
01750
01751 private:
01752 srp< as_identifier > identifier;
01753 srp< as_name > ns;
01754 static ptr<reflection_list> reflection;
01755
01756 };
01757
01758
01759 class as_namespace_definition : public as_declaration {
01760 public:
01761
01762 ptr< as_name > name_get() const;
01763
01764
01765 void name_set(const ptr< as_name > &);
01766
01767
01768 ptr< ::lestes::std::list< srp< as_declaration > > > declarations_get() const;
01769
01770
01771 void declarations_set(const ptr< ::lestes::std::list< srp< as_declaration > > > & );
01772
01773
01774
01775 static ptr< as_namespace_definition > create (
01776 ptr< ::lestes::std::source_location > a__as_base__location,
01777 ptr< as_name > a__as_namespace_definition__name,
01778 ptr< ::lestes::std::list< srp< as_declaration > > > a__as_namespace_definition__declarations);
01779
01780
01781
01782
01783 virtual ptr<reflection_list> reflection_get() const;
01784
01785 virtual ptr<field_list_list> field_values_get() const;
01786
01787 protected:
01788
01789 as_namespace_definition (
01790 ptr< ::lestes::std::source_location > a__as_base__location,
01791 ptr< as_name > a__as_namespace_definition__name,
01792 ptr< ::lestes::std::list< srp< as_declaration > > > a__as_namespace_definition__declarations);
01793
01794
01795 virtual void gc_mark();
01796
01797 private:
01798 srp< as_name > name;
01799 srp< ::lestes::std::list< srp< as_declaration > > > declarations;
01800 static ptr<reflection_list> reflection;
01801
01802 };
01803
01804
01805 class as_using : public as_block_declaration {
01806 public:
01807
01808 ptr< as_name > name_get() const;
01809
01810
01811 void name_set(const ptr< as_name > &);
01812
01813
01814
01815 static ptr< as_using > create (
01816 ptr< ::lestes::std::source_location > a__as_base__location,
01817 ptr< as_name > a__as_using__name);
01818
01819
01820
01821
01822 virtual ptr<reflection_list> reflection_get() const;
01823
01824 virtual ptr<field_list_list> field_values_get() const;
01825
01826 protected:
01827
01828 as_using (
01829 ptr< ::lestes::std::source_location > a__as_base__location,
01830 ptr< as_name > a__as_using__name);
01831
01832
01833 virtual void gc_mark();
01834
01835 private:
01836 srp< as_name > name;
01837 static ptr<reflection_list> reflection;
01838
01839 };
01840
01841
01842 class as_using_declaration : public as_using {
01843 public:
01844
01845
01846 static ptr< as_using_declaration > create (
01847 ptr< ::lestes::std::source_location > a__as_base__location,
01848 ptr< as_name > a__as_using__name);
01849
01850
01851
01852
01853 virtual ptr<reflection_list> reflection_get() const;
01854
01855 virtual ptr<field_list_list> field_values_get() const;
01856
01857 protected:
01858
01859 as_using_declaration (
01860 ptr< ::lestes::std::source_location > a__as_base__location,
01861 ptr< as_name > a__as_using__name);
01862
01863
01864 virtual void gc_mark();
01865
01866 private:
01867 static ptr<reflection_list> reflection;
01868
01869 };
01870
01871
01872 class as_using_declaration_with_typename : public as_using_declaration {
01873 public:
01874
01875
01876 static ptr< as_using_declaration_with_typename > create (
01877 ptr< ::lestes::std::source_location > a__as_base__location,
01878 ptr< as_name > a__as_using__name);
01879
01880
01881
01882
01883 virtual ptr<reflection_list> reflection_get() const;
01884
01885 virtual ptr<field_list_list> field_values_get() const;
01886
01887 protected:
01888
01889 as_using_declaration_with_typename (
01890 ptr< ::lestes::std::source_location > a__as_base__location,
01891 ptr< as_name > a__as_using__name);
01892
01893
01894 virtual void gc_mark();
01895
01896 private:
01897 static ptr<reflection_list> reflection;
01898
01899 };
01900
01901
01902
01903 class as_access_declaration : public as_using_declaration {
01904 public:
01905
01906
01907 static ptr< as_access_declaration > create (
01908 ptr< ::lestes::std::source_location > a__as_base__location,
01909 ptr< as_name > a__as_using__name);
01910
01911
01912
01913
01914 virtual ptr<reflection_list> reflection_get() const;
01915
01916 virtual ptr<field_list_list> field_values_get() const;
01917
01918 protected:
01919
01920 as_access_declaration (
01921 ptr< ::lestes::std::source_location > a__as_base__location,
01922 ptr< as_name > a__as_using__name);
01923
01924
01925 virtual void gc_mark();
01926
01927 private:
01928 static ptr<reflection_list> reflection;
01929
01930 };
01931
01932
01933 class as_using_directive : public as_using {
01934 public:
01935
01936
01937 static ptr< as_using_directive > create (
01938 ptr< ::lestes::std::source_location > a__as_base__location,
01939 ptr< as_name > a__as_using__name);
01940
01941
01942
01943
01944 virtual ptr<reflection_list> reflection_get() const;
01945
01946 virtual ptr<field_list_list> field_values_get() const;
01947
01948 protected:
01949
01950 as_using_directive (
01951 ptr< ::lestes::std::source_location > a__as_base__location,
01952 ptr< as_name > a__as_using__name);
01953
01954
01955 virtual void gc_mark();
01956
01957 private:
01958 static ptr<reflection_list> reflection;
01959
01960 };
01961
01962
01963 class as_enumerator_definition : public ::lestes::intercode::as_base {
01964 public:
01965
01966 ptr< as_identifier > enumerator_get() const;
01967
01968
01969 void enumerator_set(const ptr< as_identifier > &);
01970
01971
01972 ptr< as_constant_expression > value_get() const;
01973
01974
01975 void value_set(const ptr< as_constant_expression > &);
01976
01977
01978
01979 static ptr< as_enumerator_definition > create (
01980 ptr< ::lestes::std::source_location > a__as_base__location,
01981 ptr< as_identifier > a__as_enumerator_definition__enumerator,
01982 ptr< as_constant_expression > a__as_enumerator_definition__value);
01983
01984
01985
01986
01987 virtual ptr<reflection_list> reflection_get() const;
01988
01989 virtual ptr<field_list_list> field_values_get() const;
01990
01991 protected:
01992
01993 as_enumerator_definition (
01994 ptr< ::lestes::std::source_location > a__as_base__location,
01995 ptr< as_identifier > a__as_enumerator_definition__enumerator,
01996 ptr< as_constant_expression > a__as_enumerator_definition__value);
01997
01998
01999 virtual void gc_mark();
02000
02001 private:
02002 srp< as_identifier > enumerator;
02003 srp< as_constant_expression > value;
02004 static ptr<reflection_list> reflection;
02005
02006 };
02007
02008
02009 class as_param_declaration : public ::lestes::intercode::as_base {
02010 public:
02011
02012 ptr< ::lestes::std::list< srp< as_declaration_specifier > > > declaration_specifiers_get() const;
02013
02014
02015 void declaration_specifiers_set(const ptr< ::lestes::std::list< srp< as_declaration_specifier > > > & );
02016
02017
02018 ptr< as_declarator > declarator_get() const;
02019
02020
02021 void declarator_set(const ptr< as_declarator > &);
02022
02023
02024 ptr< as_expression > initializer_get() const;
02025
02026
02027 void initializer_set(const ptr< as_expression > &);
02028
02029
02030
02031 static ptr< as_param_declaration > create (
02032 ptr< ::lestes::std::source_location > a__as_base__location,
02033 ptr< ::lestes::std::list< srp< as_declaration_specifier > > > a__as_param_declaration__declaration_specifiers,
02034 ptr< as_declarator > a__as_param_declaration__declarator,
02035 ptr< as_expression > a__as_param_declaration__initializer);
02036
02037
02038
02039
02040 virtual ptr<reflection_list> reflection_get() const;
02041
02042 virtual ptr<field_list_list> field_values_get() const;
02043
02044 protected:
02045
02046 as_param_declaration (
02047 ptr< ::lestes::std::source_location > a__as_base__location,
02048 ptr< ::lestes::std::list< srp< as_declaration_specifier > > > a__as_param_declaration__declaration_specifiers,
02049 ptr< as_declarator > a__as_param_declaration__declarator,
02050 ptr< as_expression > a__as_param_declaration__initializer);
02051
02052
02053 virtual void gc_mark();
02054
02055 private:
02056 srp< ::lestes::std::list< srp< as_declaration_specifier > > > declaration_specifiers;
02057
02058
02059
02060
02061
02062
02063
02064 srp< as_declarator > declarator;
02065 srp< as_expression > initializer;
02066 static ptr<reflection_list> reflection;
02067
02068 };
02069
02070
02071 class as_access_specifier : public ::lestes::intercode::as_base {
02072 public:
02073 virtual void accept_as_access_specifier_visitor( ptr< as_access_specifier_visitor > v ) abstract;
02074
02075
02076
02077 virtual ptr<reflection_list> reflection_get() const;
02078
02079 virtual ptr<field_list_list> field_values_get() const;
02080
02081 protected:
02082
02083 as_access_specifier (
02084 ptr< ::lestes::std::source_location > a__as_base__location);
02085
02086
02087 virtual void gc_mark();
02088
02089 private:
02090 static ptr<reflection_list> reflection;
02091
02092 };
02093
02094
02095 class as_access_specifier_public : public as_access_specifier {
02096 public:
02097 virtual void accept_as_access_specifier_visitor( ptr< as_access_specifier_visitor > v );
02098
02099
02100 static ptr< as_access_specifier_public > create (
02101 ptr< ::lestes::std::source_location > a__as_base__location);
02102
02103
02104
02105
02106 virtual ptr<reflection_list> reflection_get() const;
02107
02108 virtual ptr<field_list_list> field_values_get() const;
02109
02110 protected:
02111
02112 as_access_specifier_public (
02113 ptr< ::lestes::std::source_location > a__as_base__location);
02114
02115
02116 virtual void gc_mark();
02117
02118 private:
02119 static ptr<reflection_list> reflection;
02120
02121 };
02122
02123
02124 class as_access_specifier_protected : public as_access_specifier {
02125 public:
02126 virtual void accept_as_access_specifier_visitor( ptr< as_access_specifier_visitor > v );
02127
02128
02129 static ptr< as_access_specifier_protected > create (
02130 ptr< ::lestes::std::source_location > a__as_base__location);
02131
02132
02133
02134
02135 virtual ptr<reflection_list> reflection_get() const;
02136
02137 virtual ptr<field_list_list> field_values_get() const;
02138
02139 protected:
02140
02141 as_access_specifier_protected (
02142 ptr< ::lestes::std::source_location > a__as_base__location);
02143
02144
02145 virtual void gc_mark();
02146
02147 private:
02148 static ptr<reflection_list> reflection;
02149
02150 };
02151
02152
02153 class as_access_specifier_private : public as_access_specifier {
02154 public:
02155 virtual void accept_as_access_specifier_visitor( ptr< as_access_specifier_visitor > v );
02156
02157
02158 static ptr< as_access_specifier_private > create (
02159 ptr< ::lestes::std::source_location > a__as_base__location);
02160
02161
02162
02163
02164 virtual ptr<reflection_list> reflection_get() const;
02165
02166 virtual ptr<field_list_list> field_values_get() const;
02167
02168 protected:
02169
02170 as_access_specifier_private (
02171 ptr< ::lestes::std::source_location > a__as_base__location);
02172
02173
02174 virtual void gc_mark();
02175
02176 private:
02177 static ptr<reflection_list> reflection;
02178
02179 };
02180
02181
02182 class as_param_decl_clause : public ::lestes::intercode::as_base {
02183 public:
02184
02185 ptr< ::lestes::std::list< srp< as_param_declaration > > > parameters_get() const;
02186
02187
02188 void parameters_set(const ptr< ::lestes::std::list< srp< as_param_declaration > > > & );
02189
02190
02191 ptr< ::lestes::lang::cplus::lex::cpp_token > ellipsis_get() const;
02192
02193
02194 void ellipsis_set(const ptr< ::lestes::lang::cplus::lex::cpp_token > &);
02195
02196
02197
02198 static ptr< as_param_decl_clause > create (
02199 ptr< ::lestes::std::source_location > a__as_base__location,
02200 ptr< ::lestes::std::list< srp< as_param_declaration > > > a__as_param_decl_clause__parameters,
02201 ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_param_decl_clause__ellipsis);
02202
02203
02204
02205
02206 virtual ptr<reflection_list> reflection_get() const;
02207
02208 virtual ptr<field_list_list> field_values_get() const;
02209
02210 protected:
02211
02212 as_param_decl_clause (
02213 ptr< ::lestes::std::source_location > a__as_base__location,
02214 ptr< ::lestes::std::list< srp< as_param_declaration > > > a__as_param_decl_clause__parameters,
02215 ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_param_decl_clause__ellipsis);
02216
02217
02218 virtual void gc_mark();
02219
02220 private:
02221 srp< ::lestes::std::list< srp< as_param_declaration > > > parameters;
02222 srp< ::lestes::lang::cplus::lex::cpp_token > ellipsis;
02223 static ptr<reflection_list> reflection;
02224
02225 };
02226
02227
02228
02229 class as_declaration_specifier : public ::lestes::intercode::as_base {
02230 public:
02231 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v ) abstract;
02232
02233
02234
02235 virtual ptr<reflection_list> reflection_get() const;
02236
02237 virtual ptr<field_list_list> field_values_get() const;
02238
02239 protected:
02240
02241 as_declaration_specifier (
02242 ptr< ::lestes::std::source_location > a__as_base__location);
02243
02244
02245 virtual void gc_mark();
02246
02247 private:
02248 static ptr<reflection_list> reflection;
02249
02250 };
02251
02252
02253 class as_function_specifier : public as_declaration_specifier {
02254 public:
02255 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v ) abstract;
02256
02257
02258
02259 virtual ptr<reflection_list> reflection_get() const;
02260
02261 virtual ptr<field_list_list> field_values_get() const;
02262
02263 protected:
02264
02265 as_function_specifier (
02266 ptr< ::lestes::std::source_location > a__as_base__location);
02267
02268
02269 virtual void gc_mark();
02270
02271 private:
02272 static ptr<reflection_list> reflection;
02273
02274 };
02275
02276
02277 class as_function_specifier_inline : public as_function_specifier {
02278 public:
02279 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02280
02281
02282 static ptr< as_function_specifier_inline > create (
02283 ptr< ::lestes::std::source_location > a__as_base__location);
02284
02285
02286
02287
02288 virtual ptr<reflection_list> reflection_get() const;
02289
02290 virtual ptr<field_list_list> field_values_get() const;
02291
02292 protected:
02293
02294 as_function_specifier_inline (
02295 ptr< ::lestes::std::source_location > a__as_base__location);
02296
02297
02298 virtual void gc_mark();
02299
02300 private:
02301 static ptr<reflection_list> reflection;
02302
02303 };
02304
02305
02306 class as_function_specifier_virtual : public as_function_specifier {
02307 public:
02308 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02309
02310
02311 static ptr< as_function_specifier_virtual > create (
02312 ptr< ::lestes::std::source_location > a__as_base__location);
02313
02314
02315
02316
02317 virtual ptr<reflection_list> reflection_get() const;
02318
02319 virtual ptr<field_list_list> field_values_get() const;
02320
02321 protected:
02322
02323 as_function_specifier_virtual (
02324 ptr< ::lestes::std::source_location > a__as_base__location);
02325
02326
02327 virtual void gc_mark();
02328
02329 private:
02330 static ptr<reflection_list> reflection;
02331
02332 };
02333
02334
02335 class as_function_specifier_explicit : public as_function_specifier {
02336 public:
02337 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02338
02339
02340 static ptr< as_function_specifier_explicit > create (
02341 ptr< ::lestes::std::source_location > a__as_base__location);
02342
02343
02344
02345
02346 virtual ptr<reflection_list> reflection_get() const;
02347
02348 virtual ptr<field_list_list> field_values_get() const;
02349
02350 protected:
02351
02352 as_function_specifier_explicit (
02353 ptr< ::lestes::std::source_location > a__as_base__location);
02354
02355
02356 virtual void gc_mark();
02357
02358 private:
02359 static ptr<reflection_list> reflection;
02360
02361 };
02362
02363
02364 class as_friend_specifier : public as_declaration_specifier {
02365 public:
02366 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02367
02368
02369 static ptr< as_friend_specifier > create (
02370 ptr< ::lestes::std::source_location > a__as_base__location);
02371
02372
02373
02374
02375 virtual ptr<reflection_list> reflection_get() const;
02376
02377 virtual ptr<field_list_list> field_values_get() const;
02378
02379 protected:
02380
02381 as_friend_specifier (
02382 ptr< ::lestes::std::source_location > a__as_base__location);
02383
02384
02385 virtual void gc_mark();
02386
02387 private:
02388 static ptr<reflection_list> reflection;
02389
02390 };
02391
02392
02393 class as_typedef_specifier : public as_declaration_specifier {
02394 public:
02395 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02396
02397
02398 static ptr< as_typedef_specifier > create (
02399 ptr< ::lestes::std::source_location > a__as_base__location);
02400
02401
02402
02403
02404 virtual ptr<reflection_list> reflection_get() const;
02405
02406 virtual ptr<field_list_list> field_values_get() const;
02407
02408 protected:
02409
02410 as_typedef_specifier (
02411 ptr< ::lestes::std::source_location > a__as_base__location);
02412
02413
02414 virtual void gc_mark();
02415
02416 private:
02417 static ptr<reflection_list> reflection;
02418
02419 };
02420
02421
02422 class as_storage_class_specifier : public as_declaration_specifier {
02423 public:
02424 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v ) abstract;
02425
02426
02427
02428 virtual ptr<reflection_list> reflection_get() const;
02429
02430 virtual ptr<field_list_list> field_values_get() const;
02431
02432 protected:
02433
02434 as_storage_class_specifier (
02435 ptr< ::lestes::std::source_location > a__as_base__location);
02436
02437
02438 virtual void gc_mark();
02439
02440 private:
02441 static ptr<reflection_list> reflection;
02442
02443 };
02444
02445
02446 class as_storage_class_specifier_auto : public as_storage_class_specifier {
02447 public:
02448 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02449
02450
02451 static ptr< as_storage_class_specifier_auto > create (
02452 ptr< ::lestes::std::source_location > a__as_base__location);
02453
02454
02455
02456
02457 virtual ptr<reflection_list> reflection_get() const;
02458
02459 virtual ptr<field_list_list> field_values_get() const;
02460
02461 protected:
02462
02463 as_storage_class_specifier_auto (
02464 ptr< ::lestes::std::source_location > a__as_base__location);
02465
02466
02467 virtual void gc_mark();
02468
02469 private:
02470 static ptr<reflection_list> reflection;
02471
02472 };
02473
02474
02475 class as_storage_class_specifier_register : public as_storage_class_specifier {
02476 public:
02477 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02478
02479
02480 static ptr< as_storage_class_specifier_register > create (
02481 ptr< ::lestes::std::source_location > a__as_base__location);
02482
02483
02484
02485
02486 virtual ptr<reflection_list> reflection_get() const;
02487
02488 virtual ptr<field_list_list> field_values_get() const;
02489
02490 protected:
02491
02492 as_storage_class_specifier_register (
02493 ptr< ::lestes::std::source_location > a__as_base__location);
02494
02495
02496 virtual void gc_mark();
02497
02498 private:
02499 static ptr<reflection_list> reflection;
02500
02501 };
02502
02503
02504 class as_storage_class_specifier_static : public as_storage_class_specifier {
02505 public:
02506 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02507
02508
02509 static ptr< as_storage_class_specifier_static > create (
02510 ptr< ::lestes::std::source_location > a__as_base__location);
02511
02512
02513
02514
02515 virtual ptr<reflection_list> reflection_get() const;
02516
02517 virtual ptr<field_list_list> field_values_get() const;
02518
02519 protected:
02520
02521 as_storage_class_specifier_static (
02522 ptr< ::lestes::std::source_location > a__as_base__location);
02523
02524
02525 virtual void gc_mark();
02526
02527 private:
02528 static ptr<reflection_list> reflection;
02529
02530 };
02531
02532
02533 class as_storage_class_specifier_extern : public as_storage_class_specifier {
02534 public:
02535 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02536
02537
02538 static ptr< as_storage_class_specifier_extern > create (
02539 ptr< ::lestes::std::source_location > a__as_base__location);
02540
02541
02542
02543
02544 virtual ptr<reflection_list> reflection_get() const;
02545
02546 virtual ptr<field_list_list> field_values_get() const;
02547
02548 protected:
02549
02550 as_storage_class_specifier_extern (
02551 ptr< ::lestes::std::source_location > a__as_base__location);
02552
02553
02554 virtual void gc_mark();
02555
02556 private:
02557 static ptr<reflection_list> reflection;
02558
02559 };
02560
02561
02562 class as_storage_class_specifier_mutable : public as_storage_class_specifier {
02563 public:
02564 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02565
02566
02567 static ptr< as_storage_class_specifier_mutable > create (
02568 ptr< ::lestes::std::source_location > a__as_base__location);
02569
02570
02571
02572
02573 virtual ptr<reflection_list> reflection_get() const;
02574
02575 virtual ptr<field_list_list> field_values_get() const;
02576
02577 protected:
02578
02579 as_storage_class_specifier_mutable (
02580 ptr< ::lestes::std::source_location > a__as_base__location);
02581
02582
02583 virtual void gc_mark();
02584
02585 private:
02586 static ptr<reflection_list> reflection;
02587
02588 };
02589
02590
02591
02592 class as_type_specifier : public as_declaration_specifier {
02593 public:
02594 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v ) abstract;
02595
02596
02597
02598 virtual ptr<reflection_list> reflection_get() const;
02599
02600 virtual ptr<field_list_list> field_values_get() const;
02601
02602 protected:
02603
02604 as_type_specifier (
02605 ptr< ::lestes::std::source_location > a__as_base__location);
02606
02607
02608 virtual void gc_mark();
02609
02610 private:
02611 static ptr<reflection_list> reflection;
02612
02613 };
02614
02615
02616 class as_enumeration_specifier : public as_type_specifier {
02617 public:
02618
02619 ptr< as_name > name_get() const;
02620
02621
02622 void name_set(const ptr< as_name > &);
02623
02624
02625 ptr< ::lestes::std::list< srp< as_enumerator_definition > > > enumerators_get() const;
02626
02627
02628 void enumerators_set(const ptr< ::lestes::std::list< srp< as_enumerator_definition > > > & );
02629
02630 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02631
02632
02633 static ptr< as_enumeration_specifier > create (
02634 ptr< ::lestes::std::source_location > a__as_base__location,
02635 ptr< as_name > a__as_enumeration_specifier__name,
02636 ptr< ::lestes::std::list< srp< as_enumerator_definition > > > a__as_enumeration_specifier__enumerators);
02637
02638
02639
02640
02641 virtual ptr<reflection_list> reflection_get() const;
02642
02643 virtual ptr<field_list_list> field_values_get() const;
02644
02645 protected:
02646
02647 as_enumeration_specifier (
02648 ptr< ::lestes::std::source_location > a__as_base__location,
02649 ptr< as_name > a__as_enumeration_specifier__name,
02650 ptr< ::lestes::std::list< srp< as_enumerator_definition > > > a__as_enumeration_specifier__enumerators);
02651
02652
02653 virtual void gc_mark();
02654
02655 private:
02656 srp< as_name > name;
02657 srp< ::lestes::std::list< srp< as_enumerator_definition > > > enumerators;
02658 static ptr<reflection_list> reflection;
02659
02660 };
02661
02662
02663
02664 class as_simple_type_specifier : public as_type_specifier {
02665 public:
02666 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v ) abstract;
02667
02668
02669
02670 virtual ptr<reflection_list> reflection_get() const;
02671
02672 virtual ptr<field_list_list> field_values_get() const;
02673
02674 protected:
02675
02676 as_simple_type_specifier (
02677 ptr< ::lestes::std::source_location > a__as_base__location);
02678
02679
02680 virtual void gc_mark();
02681
02682 private:
02683 static ptr<reflection_list> reflection;
02684
02685 };
02686
02687
02688 class as_builtin_simple_type_specifier : public as_simple_type_specifier {
02689 public:
02690 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v ) abstract;
02691
02692
02693
02694 virtual ptr<reflection_list> reflection_get() const;
02695
02696 virtual ptr<field_list_list> field_values_get() const;
02697
02698 protected:
02699
02700 as_builtin_simple_type_specifier (
02701 ptr< ::lestes::std::source_location > a__as_base__location);
02702
02703
02704 virtual void gc_mark();
02705
02706 private:
02707 static ptr<reflection_list> reflection;
02708
02709 };
02710
02711
02712
02713 class as_char_simple_type_specifier : public as_builtin_simple_type_specifier {
02714 public:
02715 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02716
02717
02718 static ptr< as_char_simple_type_specifier > create (
02719 ptr< ::lestes::std::source_location > a__as_base__location);
02720
02721
02722
02723
02724 virtual ptr<reflection_list> reflection_get() const;
02725
02726 virtual ptr<field_list_list> field_values_get() const;
02727
02728 protected:
02729
02730 as_char_simple_type_specifier (
02731 ptr< ::lestes::std::source_location > a__as_base__location);
02732
02733
02734 virtual void gc_mark();
02735
02736 private:
02737 static ptr<reflection_list> reflection;
02738
02739 };
02740
02741
02742
02743 class as_wchar_t_simple_type_specifier : public as_builtin_simple_type_specifier {
02744 public:
02745 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02746
02747
02748 static ptr< as_wchar_t_simple_type_specifier > create (
02749 ptr< ::lestes::std::source_location > a__as_base__location);
02750
02751
02752
02753
02754 virtual ptr<reflection_list> reflection_get() const;
02755
02756 virtual ptr<field_list_list> field_values_get() const;
02757
02758 protected:
02759
02760 as_wchar_t_simple_type_specifier (
02761 ptr< ::lestes::std::source_location > a__as_base__location);
02762
02763
02764 virtual void gc_mark();
02765
02766 private:
02767 static ptr<reflection_list> reflection;
02768
02769 };
02770
02771
02772
02773 class as_bool_simple_type_specifier : public as_builtin_simple_type_specifier {
02774 public:
02775 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02776
02777
02778 static ptr< as_bool_simple_type_specifier > create (
02779 ptr< ::lestes::std::source_location > a__as_base__location);
02780
02781
02782
02783
02784 virtual ptr<reflection_list> reflection_get() const;
02785
02786 virtual ptr<field_list_list> field_values_get() const;
02787
02788 protected:
02789
02790 as_bool_simple_type_specifier (
02791 ptr< ::lestes::std::source_location > a__as_base__location);
02792
02793
02794 virtual void gc_mark();
02795
02796 private:
02797 static ptr<reflection_list> reflection;
02798
02799 };
02800
02801
02802
02803 class as_short_simple_type_specifier : public as_builtin_simple_type_specifier {
02804 public:
02805 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02806
02807
02808 static ptr< as_short_simple_type_specifier > create (
02809 ptr< ::lestes::std::source_location > a__as_base__location);
02810
02811
02812
02813
02814 virtual ptr<reflection_list> reflection_get() const;
02815
02816 virtual ptr<field_list_list> field_values_get() const;
02817
02818 protected:
02819
02820 as_short_simple_type_specifier (
02821 ptr< ::lestes::std::source_location > a__as_base__location);
02822
02823
02824 virtual void gc_mark();
02825
02826 private:
02827 static ptr<reflection_list> reflection;
02828
02829 };
02830
02831
02832
02833 class as_int_simple_type_specifier : public as_builtin_simple_type_specifier {
02834 public:
02835 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02836
02837
02838 static ptr< as_int_simple_type_specifier > create (
02839 ptr< ::lestes::std::source_location > a__as_base__location);
02840
02841
02842
02843
02844 virtual ptr<reflection_list> reflection_get() const;
02845
02846 virtual ptr<field_list_list> field_values_get() const;
02847
02848 protected:
02849
02850 as_int_simple_type_specifier (
02851 ptr< ::lestes::std::source_location > a__as_base__location);
02852
02853
02854 virtual void gc_mark();
02855
02856 private:
02857 static ptr<reflection_list> reflection;
02858
02859 };
02860
02861
02862
02863 class as_long_simple_type_specifier : public as_builtin_simple_type_specifier {
02864 public:
02865 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02866
02867
02868 static ptr< as_long_simple_type_specifier > create (
02869 ptr< ::lestes::std::source_location > a__as_base__location);
02870
02871
02872
02873
02874 virtual ptr<reflection_list> reflection_get() const;
02875
02876 virtual ptr<field_list_list> field_values_get() const;
02877
02878 protected:
02879
02880 as_long_simple_type_specifier (
02881 ptr< ::lestes::std::source_location > a__as_base__location);
02882
02883
02884 virtual void gc_mark();
02885
02886 private:
02887 static ptr<reflection_list> reflection;
02888
02889 };
02890
02891
02892
02893 class as_signed_simple_type_specifier : public as_builtin_simple_type_specifier {
02894 public:
02895 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02896
02897
02898 static ptr< as_signed_simple_type_specifier > create (
02899 ptr< ::lestes::std::source_location > a__as_base__location);
02900
02901
02902
02903
02904 virtual ptr<reflection_list> reflection_get() const;
02905
02906 virtual ptr<field_list_list> field_values_get() const;
02907
02908 protected:
02909
02910 as_signed_simple_type_specifier (
02911 ptr< ::lestes::std::source_location > a__as_base__location);
02912
02913
02914 virtual void gc_mark();
02915
02916 private:
02917 static ptr<reflection_list> reflection;
02918
02919 };
02920
02921
02922
02923 class as_unsigned_simple_type_specifier : public as_builtin_simple_type_specifier {
02924 public:
02925 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02926
02927
02928 static ptr< as_unsigned_simple_type_specifier > create (
02929 ptr< ::lestes::std::source_location > a__as_base__location);
02930
02931
02932
02933
02934 virtual ptr<reflection_list> reflection_get() const;
02935
02936 virtual ptr<field_list_list> field_values_get() const;
02937
02938 protected:
02939
02940 as_unsigned_simple_type_specifier (
02941 ptr< ::lestes::std::source_location > a__as_base__location);
02942
02943
02944 virtual void gc_mark();
02945
02946 private:
02947 static ptr<reflection_list> reflection;
02948
02949 };
02950
02951
02952
02953 class as_float_simple_type_specifier : public as_builtin_simple_type_specifier {
02954 public:
02955 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02956
02957
02958 static ptr< as_float_simple_type_specifier > create (
02959 ptr< ::lestes::std::source_location > a__as_base__location);
02960
02961
02962
02963
02964 virtual ptr<reflection_list> reflection_get() const;
02965
02966 virtual ptr<field_list_list> field_values_get() const;
02967
02968 protected:
02969
02970 as_float_simple_type_specifier (
02971 ptr< ::lestes::std::source_location > a__as_base__location);
02972
02973
02974 virtual void gc_mark();
02975
02976 private:
02977 static ptr<reflection_list> reflection;
02978
02979 };
02980
02981
02982
02983 class as_double_simple_type_specifier : public as_builtin_simple_type_specifier {
02984 public:
02985 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
02986
02987
02988 static ptr< as_double_simple_type_specifier > create (
02989 ptr< ::lestes::std::source_location > a__as_base__location);
02990
02991
02992
02993
02994 virtual ptr<reflection_list> reflection_get() const;
02995
02996 virtual ptr<field_list_list> field_values_get() const;
02997
02998 protected:
02999
03000 as_double_simple_type_specifier (
03001 ptr< ::lestes::std::source_location > a__as_base__location);
03002
03003
03004 virtual void gc_mark();
03005
03006 private:
03007 static ptr<reflection_list> reflection;
03008
03009 };
03010
03011
03012
03013 class as_void_simple_type_specifier : public as_builtin_simple_type_specifier {
03014 public:
03015 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
03016
03017
03018 static ptr< as_void_simple_type_specifier > create (
03019 ptr< ::lestes::std::source_location > a__as_base__location);
03020
03021
03022
03023
03024 virtual ptr<reflection_list> reflection_get() const;
03025
03026 virtual ptr<field_list_list> field_values_get() const;
03027
03028 protected:
03029
03030 as_void_simple_type_specifier (
03031 ptr< ::lestes::std::source_location > a__as_base__location);
03032
03033
03034 virtual void gc_mark();
03035
03036 private:
03037 static ptr<reflection_list> reflection;
03038
03039 };
03040
03041
03042
03043 class as_cv_qualifier : public as_type_specifier {
03044 public:
03045 virtual void accept_as_cv_qualifier_visitor( ptr< as_cv_qualifier_visitor > v ) abstract;
03046 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v ) abstract;
03047
03048
03049
03050 virtual ptr<reflection_list> reflection_get() const;
03051
03052 virtual ptr<field_list_list> field_values_get() const;
03053
03054 protected:
03055
03056 as_cv_qualifier (
03057 ptr< ::lestes::std::source_location > a__as_base__location);
03058
03059
03060 virtual void gc_mark();
03061
03062 private:
03063 static ptr<reflection_list> reflection;
03064
03065 };
03066
03067
03068 class as_cv_qualifier_const : public as_cv_qualifier {
03069 public:
03070 virtual void accept_as_cv_qualifier_visitor( ptr< as_cv_qualifier_visitor > v );
03071 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
03072
03073
03074 static ptr< as_cv_qualifier_const > create (
03075 ptr< ::lestes::std::source_location > a__as_base__location);
03076
03077
03078
03079
03080 virtual ptr<reflection_list> reflection_get() const;
03081
03082 virtual ptr<field_list_list> field_values_get() const;
03083
03084 protected:
03085
03086 as_cv_qualifier_const (
03087 ptr< ::lestes::std::source_location > a__as_base__location);
03088
03089
03090 virtual void gc_mark();
03091
03092 private:
03093 static ptr<reflection_list> reflection;
03094
03095 };
03096
03097
03098 class as_cv_qualifier_volatile : public as_cv_qualifier {
03099 public:
03100 virtual void accept_as_cv_qualifier_visitor( ptr< as_cv_qualifier_visitor > v );
03101 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
03102
03103
03104 static ptr< as_cv_qualifier_volatile > create (
03105 ptr< ::lestes::std::source_location > a__as_base__location);
03106
03107
03108
03109
03110 virtual ptr<reflection_list> reflection_get() const;
03111
03112 virtual ptr<field_list_list> field_values_get() const;
03113
03114 protected:
03115
03116 as_cv_qualifier_volatile (
03117 ptr< ::lestes::std::source_location > a__as_base__location);
03118
03119
03120 virtual void gc_mark();
03121
03122 private:
03123 static ptr<reflection_list> reflection;
03124
03125 };
03126
03127
03128
03129 class as_cv_qualifier_restrict : public as_cv_qualifier {
03130 public:
03131 virtual void accept_as_cv_qualifier_visitor( ptr< as_cv_qualifier_visitor > v );
03132 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
03133
03134
03135 static ptr< as_cv_qualifier_restrict > create (
03136 ptr< ::lestes::std::source_location > a__as_base__location);
03137
03138
03139
03140
03141 virtual ptr<reflection_list> reflection_get() const;
03142
03143 virtual ptr<field_list_list> field_values_get() const;
03144
03145 protected:
03146
03147 as_cv_qualifier_restrict (
03148 ptr< ::lestes::std::source_location > a__as_base__location);
03149
03150
03151 virtual void gc_mark();
03152
03153 private:
03154 static ptr<reflection_list> reflection;
03155
03156 };
03157
03158
03159 class as_elaborated_type_specifier : public as_type_specifier {
03160 public:
03161 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v ) abstract;
03162
03163
03164
03165 virtual ptr<reflection_list> reflection_get() const;
03166
03167 virtual ptr<field_list_list> field_values_get() const;
03168
03169 protected:
03170
03171 as_elaborated_type_specifier (
03172 ptr< ::lestes::std::source_location > a__as_base__location);
03173
03174
03175 virtual void gc_mark();
03176
03177 private:
03178 static ptr<reflection_list> reflection;
03179
03180 };
03181
03182
03183 class as_named_simple_type_specifier : public as_simple_type_specifier {
03184 public:
03185
03186 ptr< as_name > name_get() const;
03187
03188
03189 void name_set(const ptr< as_name > &);
03190
03191 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
03192
03193
03194 static ptr< as_named_simple_type_specifier > create (
03195 ptr< ::lestes::std::source_location > a__as_base__location,
03196 ptr< as_name > a__as_named_simple_type_specifier__name);
03197
03198
03199
03200
03201 virtual ptr<reflection_list> reflection_get() const;
03202
03203 virtual ptr<field_list_list> field_values_get() const;
03204
03205 protected:
03206
03207 as_named_simple_type_specifier (
03208 ptr< ::lestes::std::source_location > a__as_base__location,
03209 ptr< as_name > a__as_named_simple_type_specifier__name);
03210
03211
03212 virtual void gc_mark();
03213
03214 private:
03215 srp< as_name > name;
03216 static ptr<reflection_list> reflection;
03217
03218 };
03219
03220
03221 class as_exception_specification : public ::lestes::intercode::as_base {
03222 public:
03223
03224 ptr< ::lestes::std::list< srp< as_type_id > > > type_ids_get() const;
03225
03226
03227 void type_ids_set(const ptr< ::lestes::std::list< srp< as_type_id > > > & );
03228
03229
03230
03231 static ptr< as_exception_specification > create (
03232 ptr< ::lestes::std::source_location > a__as_base__location,
03233 ptr< ::lestes::std::list< srp< as_type_id > > > a__as_exception_specification__type_ids);
03234
03235
03236
03237
03238 virtual ptr<reflection_list> reflection_get() const;
03239
03240 virtual ptr<field_list_list> field_values_get() const;
03241
03242 protected:
03243
03244 as_exception_specification (
03245 ptr< ::lestes::std::source_location > a__as_base__location,
03246 ptr< ::lestes::std::list< srp< as_type_id > > > a__as_exception_specification__type_ids);
03247
03248
03249 virtual void gc_mark();
03250
03251 private:
03252 srp< ::lestes::std::list< srp< as_type_id > > > type_ids;
03253 static ptr<reflection_list> reflection;
03254
03255 };
03256
03257
03258 class as_elaborated_type_specifier_typename : public as_elaborated_type_specifier {
03259 public:
03260
03261 ptr< as_name > name_get() const;
03262
03263
03264 void name_set(const ptr< as_name > &);
03265
03266 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
03267
03268
03269 static ptr< as_elaborated_type_specifier_typename > create (
03270 ptr< ::lestes::std::source_location > a__as_base__location,
03271 ptr< as_name > a__as_elaborated_type_specifier_typename__name);
03272
03273
03274
03275
03276 virtual ptr<reflection_list> reflection_get() const;
03277
03278 virtual ptr<field_list_list> field_values_get() const;
03279
03280 protected:
03281
03282 as_elaborated_type_specifier_typename (
03283 ptr< ::lestes::std::source_location > a__as_base__location,
03284 ptr< as_name > a__as_elaborated_type_specifier_typename__name);
03285
03286
03287 virtual void gc_mark();
03288
03289 private:
03290 srp< as_name > name;
03291 static ptr<reflection_list> reflection;
03292
03293 };
03294
03295
03296 class as_elaborated_type_specifier_tagged : public as_elaborated_type_specifier {
03297 public:
03298
03299 ptr< as_name > name_get() const;
03300
03301
03302 void name_set(const ptr< as_name > &);
03303
03304 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v ) abstract;
03305
03306
03307
03308 virtual ptr<reflection_list> reflection_get() const;
03309
03310 virtual ptr<field_list_list> field_values_get() const;
03311
03312 protected:
03313
03314 as_elaborated_type_specifier_tagged (
03315 ptr< ::lestes::std::source_location > a__as_base__location,
03316 ptr< as_name > a__as_elaborated_type_specifier_tagged__name);
03317
03318
03319 virtual void gc_mark();
03320
03321 private:
03322 srp< as_name > name;
03323 static ptr<reflection_list> reflection;
03324
03325 };
03326
03327
03328 class as_elaborated_type_specifier_class_key : public as_elaborated_type_specifier_tagged {
03329 public:
03330
03331 ptr< as_class_key > key_get() const;
03332
03333
03334 void key_set(const ptr< as_class_key > &);
03335
03336 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
03337
03338
03339 static ptr< as_elaborated_type_specifier_class_key > create (
03340 ptr< ::lestes::std::source_location > a__as_base__location,
03341 ptr< as_name > a__as_elaborated_type_specifier_tagged__name,
03342 ptr< as_class_key > a__as_elaborated_type_specifier_class_key__key);
03343
03344
03345
03346
03347 virtual ptr<reflection_list> reflection_get() const;
03348
03349 virtual ptr<field_list_list> field_values_get() const;
03350
03351 protected:
03352
03353 as_elaborated_type_specifier_class_key (
03354 ptr< ::lestes::std::source_location > a__as_base__location,
03355 ptr< as_name > a__as_elaborated_type_specifier_tagged__name,
03356 ptr< as_class_key > a__as_elaborated_type_specifier_class_key__key);
03357
03358
03359 virtual void gc_mark();
03360
03361 private:
03362 srp< as_class_key > key;
03363 static ptr<reflection_list> reflection;
03364
03365 };
03366
03367
03368 class as_elaborated_type_specifier_enum : public as_elaborated_type_specifier_tagged {
03369 public:
03370 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
03371
03372
03373 static ptr< as_elaborated_type_specifier_enum > create (
03374 ptr< ::lestes::std::source_location > a__as_base__location,
03375 ptr< as_name > a__as_elaborated_type_specifier_tagged__name);
03376
03377
03378
03379
03380 virtual ptr<reflection_list> reflection_get() const;
03381
03382 virtual ptr<field_list_list> field_values_get() const;
03383
03384 protected:
03385
03386 as_elaborated_type_specifier_enum (
03387 ptr< ::lestes::std::source_location > a__as_base__location,
03388 ptr< as_name > a__as_elaborated_type_specifier_tagged__name);
03389
03390
03391 virtual void gc_mark();
03392
03393 private:
03394 static ptr<reflection_list> reflection;
03395
03396 };
03397
03398
03399 class as_template_argument : public ::lestes::intercode::as_base {
03400 public:
03401
03402
03403
03404 virtual ptr<reflection_list> reflection_get() const;
03405
03406 virtual ptr<field_list_list> field_values_get() const;
03407
03408 protected:
03409
03410 as_template_argument (
03411 ptr< ::lestes::std::source_location > a__as_base__location);
03412
03413
03414 virtual void gc_mark();
03415
03416 private:
03417 static ptr<reflection_list> reflection;
03418
03419 };
03420
03421
03422 class as_non_type_template_argument : public as_template_argument {
03423 public:
03424
03425 ptr< as_expression > expression_get() const;
03426
03427
03428 void expression_set(const ptr< as_expression > &);
03429
03430
03431
03432 static ptr< as_non_type_template_argument > create (
03433 ptr< ::lestes::std::source_location > a__as_base__location,
03434 ptr< as_expression > a__as_non_type_template_argument__expression);
03435
03436
03437
03438
03439 virtual ptr<reflection_list> reflection_get() const;
03440
03441 virtual ptr<field_list_list> field_values_get() const;
03442
03443 protected:
03444
03445 as_non_type_template_argument (
03446 ptr< ::lestes::std::source_location > a__as_base__location,
03447 ptr< as_expression > a__as_non_type_template_argument__expression);
03448
03449
03450 virtual void gc_mark();
03451
03452 private:
03453 srp< as_expression > expression;
03454 static ptr<reflection_list> reflection;
03455
03456 };
03457
03458
03459 class as_type_template_argument : public as_template_argument {
03460 public:
03461
03462 ptr< as_type_id > type_id_get() const;
03463
03464
03465 void type_id_set(const ptr< as_type_id > &);
03466
03467
03468
03469 static ptr< as_type_template_argument > create (
03470 ptr< ::lestes::std::source_location > a__as_base__location,
03471 ptr< as_type_id > a__as_type_template_argument__type_id);
03472
03473
03474
03475
03476 virtual ptr<reflection_list> reflection_get() const;
03477
03478 virtual ptr<field_list_list> field_values_get() const;
03479
03480 protected:
03481
03482 as_type_template_argument (
03483 ptr< ::lestes::std::source_location > a__as_base__location,
03484 ptr< as_type_id > a__as_type_template_argument__type_id);
03485
03486
03487 virtual void gc_mark();
03488
03489 private:
03490 srp< as_type_id > type_id;
03491 static ptr<reflection_list> reflection;
03492
03493 };
03494
03495
03496 class as_declarator : public ::lestes::intercode::as_base {
03497 public:
03498
03499 ptr< as_name > name_get() const;
03500
03501
03502 void name_set(const ptr< as_name > &);
03503
03504
03505 ptr< ::lestes::std::list< srp< as_declarator_op > > > declarator_ops_get() const;
03506
03507
03508 void declarator_ops_set(const ptr< ::lestes::std::list< srp< as_declarator_op > > > & );
03509
03510
03511
03512 static ptr< as_declarator > create (
03513 ptr< ::lestes::std::source_location > a__as_base__location,
03514 ptr< as_name > a__as_declarator__name,
03515 ptr< ::lestes::std::list< srp< as_declarator_op > > > a__as_declarator__declarator_ops);
03516
03517
03518
03519
03520 virtual ptr<reflection_list> reflection_get() const;
03521
03522 virtual ptr<field_list_list> field_values_get() const;
03523
03524 protected:
03525
03526 as_declarator (
03527 ptr< ::lestes::std::source_location > a__as_base__location,
03528 ptr< as_name > a__as_declarator__name,
03529 ptr< ::lestes::std::list< srp< as_declarator_op > > > a__as_declarator__declarator_ops);
03530
03531
03532 virtual void gc_mark();
03533
03534 private:
03535
03536 srp< as_name > name;
03537 srp< ::lestes::std::list< srp< as_declarator_op > > > declarator_ops;
03538 static ptr<reflection_list> reflection;
03539
03540 };
03541
03542
03543
03544 class as_dummy_declarator : public as_declarator {
03545 public:
03546
03547
03548 static ptr< as_dummy_declarator > create (
03549 ptr< ::lestes::std::source_location > a__as_base__location,
03550 ptr< as_name > a__as_declarator__name,
03551 ptr< ::lestes::std::list< srp< as_declarator_op > > > a__as_declarator__declarator_ops);
03552
03553
03554
03555
03556 virtual ptr<reflection_list> reflection_get() const;
03557
03558 virtual ptr<field_list_list> field_values_get() const;
03559
03560 protected:
03561
03562 as_dummy_declarator (
03563 ptr< ::lestes::std::source_location > a__as_base__location,
03564 ptr< as_name > a__as_declarator__name,
03565 ptr< ::lestes::std::list< srp< as_declarator_op > > > a__as_declarator__declarator_ops);
03566
03567
03568 virtual void gc_mark();
03569
03570 private:
03571 static ptr<reflection_list> reflection;
03572
03573 };
03574
03575
03576 class as_declarator_op : public ::lestes::intercode::as_base {
03577 public:
03578 virtual void accept_as_declarator_op_visitor( ptr< as_declarator_op_visitor > v ) abstract;
03579
03580
03581
03582 virtual ptr<reflection_list> reflection_get() const;
03583
03584 virtual ptr<field_list_list> field_values_get() const;
03585
03586 protected:
03587
03588 as_declarator_op (
03589 ptr< ::lestes::std::source_location > a__as_base__location);
03590
03591
03592 virtual void gc_mark();
03593
03594 private:
03595 static ptr<reflection_list> reflection;
03596
03597 };
03598
03599
03600 class as_declarator_op_ptr : public as_declarator_op {
03601 public:
03602 virtual void accept_as_declarator_op_visitor( ptr< as_declarator_op_visitor > v ) abstract;
03603
03604
03605
03606 virtual ptr<reflection_list> reflection_get() const;
03607
03608 virtual ptr<field_list_list> field_values_get() const;
03609
03610 protected:
03611
03612 as_declarator_op_ptr (
03613 ptr< ::lestes::std::source_location > a__as_base__location);
03614
03615
03616 virtual void gc_mark();
03617
03618 private:
03619 static ptr<reflection_list> reflection;
03620
03621 };
03622
03623
03624 class as_ptr_op_star : public as_declarator_op_ptr {
03625 public:
03626
03627 ptr< ::lestes::std::list< srp< as_cv_qualifier > > > cv_qualifiers_get() const;
03628
03629
03630 void cv_qualifiers_set(const ptr< ::lestes::std::list< srp< as_cv_qualifier > > > & );
03631
03632 virtual void accept_as_declarator_op_visitor( ptr< as_declarator_op_visitor > v );
03633
03634
03635 static ptr< as_ptr_op_star > create (
03636 ptr< ::lestes::std::source_location > a__as_base__location,
03637 ptr< ::lestes::std::list< srp< as_cv_qualifier > > > a__as_ptr_op_star__cv_qualifiers);
03638
03639
03640
03641
03642 virtual ptr<reflection_list> reflection_get() const;
03643
03644 virtual ptr<field_list_list> field_values_get() const;
03645
03646 protected:
03647
03648 as_ptr_op_star (
03649 ptr< ::lestes::std::source_location > a__as_base__location,
03650 ptr< ::lestes::std::list< srp< as_cv_qualifier > > > a__as_ptr_op_star__cv_qualifiers);
03651
03652
03653 virtual void gc_mark();
03654
03655 private:
03656 srp< ::lestes::std::list< srp< as_cv_qualifier > > > cv_qualifiers;
03657 static ptr<reflection_list> reflection;
03658
03659 };
03660
03661
03662 class as_ptr_op_amp : public as_declarator_op_ptr {
03663 public:
03664 virtual void accept_as_declarator_op_visitor( ptr< as_declarator_op_visitor > v );
03665
03666
03667 static ptr< as_ptr_op_amp > create (
03668 ptr< ::lestes::std::source_location > a__as_base__location);
03669
03670
03671
03672
03673 virtual ptr<reflection_list> reflection_get() const;
03674
03675 virtual ptr<field_list_list> field_values_get() const;
03676
03677 protected:
03678
03679 as_ptr_op_amp (
03680 ptr< ::lestes::std::source_location > a__as_base__location);
03681
03682
03683 virtual void gc_mark();
03684
03685 private:
03686 static ptr<reflection_list> reflection;
03687
03688 };
03689
03690
03691 class as_ptr_op_member_ptr : public as_declarator_op_ptr {
03692 public:
03693
03694 ptr< as_name > name_get() const;
03695
03696
03697 void name_set(const ptr< as_name > &);
03698
03699
03700 ptr< ::lestes::std::list< srp< as_cv_qualifier > > > cv_qualifiers_get() const;
03701
03702
03703 void cv_qualifiers_set(const ptr< ::lestes::std::list< srp< as_cv_qualifier > > > & );
03704
03705 virtual void accept_as_declarator_op_visitor( ptr< as_declarator_op_visitor > v );
03706
03707
03708 static ptr< as_ptr_op_member_ptr > create (
03709 ptr< ::lestes::std::source_location > a__as_base__location,
03710 ptr< as_name > a__as_ptr_op_member_ptr__name,
03711 ptr< ::lestes::std::list< srp< as_cv_qualifier > > > a__as_ptr_op_member_ptr__cv_qualifiers);
03712
03713
03714
03715
03716 virtual ptr<reflection_list> reflection_get() const;
03717
03718 virtual ptr<field_list_list> field_values_get() const;
03719
03720 protected:
03721
03722 as_ptr_op_member_ptr (
03723 ptr< ::lestes::std::source_location > a__as_base__location,
03724 ptr< as_name > a__as_ptr_op_member_ptr__name,
03725 ptr< ::lestes::std::list< srp< as_cv_qualifier > > > a__as_ptr_op_member_ptr__cv_qualifiers);
03726
03727
03728 virtual void gc_mark();
03729
03730 private:
03731 srp< as_name > name;
03732 srp< ::lestes::std::list< srp< as_cv_qualifier > > > cv_qualifiers;
03733 static ptr<reflection_list> reflection;
03734
03735 };
03736
03737
03738 class as_declarator_op_func : public as_declarator_op {
03739 public:
03740
03741 ptr< as_param_decl_clause > parameters_get() const;
03742
03743
03744 void parameters_set(const ptr< as_param_decl_clause > &);
03745
03746
03747 ptr< ::lestes::std::list< srp< as_cv_qualifier > > > cv_qualifiers_get() const;
03748
03749
03750 void cv_qualifiers_set(const ptr< ::lestes::std::list< srp< as_cv_qualifier > > > & );
03751
03752
03753 ptr< as_exception_specification > exception_specification_get() const;
03754
03755
03756 void exception_specification_set(const ptr< as_exception_specification > &);
03757
03758 virtual void accept_as_declarator_op_visitor( ptr< as_declarator_op_visitor > v );
03759
03760
03761 static ptr< as_declarator_op_func > create (
03762 ptr< ::lestes::std::source_location > a__as_base__location,
03763 ptr< as_param_decl_clause > a__as_declarator_op_func__parameters,
03764 ptr< ::lestes::std::list< srp< as_cv_qualifier > > > a__as_declarator_op_func__cv_qualifiers,
03765 ptr< as_exception_specification > a__as_declarator_op_func__exception_specification);
03766
03767
03768
03769
03770 virtual ptr<reflection_list> reflection_get() const;
03771
03772 virtual ptr<field_list_list> field_values_get() const;
03773
03774 protected:
03775
03776 as_declarator_op_func (
03777 ptr< ::lestes::std::source_location > a__as_base__location,
03778 ptr< as_param_decl_clause > a__as_declarator_op_func__parameters,
03779 ptr< ::lestes::std::list< srp< as_cv_qualifier > > > a__as_declarator_op_func__cv_qualifiers,
03780 ptr< as_exception_specification > a__as_declarator_op_func__exception_specification);
03781
03782
03783 virtual void gc_mark();
03784
03785 private:
03786 srp< as_param_decl_clause > parameters;
03787 srp< ::lestes::std::list< srp< as_cv_qualifier > > > cv_qualifiers;
03788 srp< as_exception_specification > exception_specification;
03789 static ptr<reflection_list> reflection;
03790
03791 };
03792
03793
03794 class as_declarator_op_array : public as_declarator_op {
03795 public:
03796
03797 ptr< as_constant_expression > constant_expression_get() const;
03798
03799
03800 void constant_expression_set(const ptr< as_constant_expression > &);
03801
03802 virtual void accept_as_declarator_op_visitor( ptr< as_declarator_op_visitor > v );
03803
03804
03805 static ptr< as_declarator_op_array > create (
03806 ptr< ::lestes::std::source_location > a__as_base__location,
03807 ptr< as_constant_expression > a__as_declarator_op_array__constant_expression);
03808
03809
03810
03811
03812 virtual ptr<reflection_list> reflection_get() const;
03813
03814 virtual ptr<field_list_list> field_values_get() const;
03815
03816 protected:
03817
03818 as_declarator_op_array (
03819 ptr< ::lestes::std::source_location > a__as_base__location,
03820 ptr< as_constant_expression > a__as_declarator_op_array__constant_expression);
03821
03822
03823 virtual void gc_mark();
03824
03825 private:
03826 srp< as_constant_expression > constant_expression;
03827 static ptr<reflection_list> reflection;
03828
03829 };
03830
03831
03832 class as_declarator_op_non_constant_array : public as_declarator_op {
03833 public:
03834
03835 ptr< as_expression > expression_get() const;
03836
03837
03838 void expression_set(const ptr< as_expression > &);
03839
03840 virtual void accept_as_declarator_op_visitor( ptr< as_declarator_op_visitor > v );
03841
03842
03843 static ptr< as_declarator_op_non_constant_array > create (
03844 ptr< ::lestes::std::source_location > a__as_base__location,
03845 ptr< as_expression > a__as_declarator_op_non_constant_array__expression);
03846
03847
03848
03849
03850 virtual ptr<reflection_list> reflection_get() const;
03851
03852 virtual ptr<field_list_list> field_values_get() const;
03853
03854 protected:
03855
03856 as_declarator_op_non_constant_array (
03857 ptr< ::lestes::std::source_location > a__as_base__location,
03858 ptr< as_expression > a__as_declarator_op_non_constant_array__expression);
03859
03860
03861 virtual void gc_mark();
03862
03863 private:
03864 srp< as_expression > expression;
03865 static ptr<reflection_list> reflection;
03866
03867 };
03868
03869
03870 class as_type_id : public ::lestes::intercode::as_base {
03871 public:
03872
03873 ptr< ::lestes::std::list< srp< as_type_specifier > > > type_specifiers_get() const;
03874
03875
03876 void type_specifiers_set(const ptr< ::lestes::std::list< srp< as_type_specifier > > > & );
03877
03878
03879 ptr< as_declarator > declarator_get() const;
03880
03881
03882 void declarator_set(const ptr< as_declarator > &);
03883
03884
03885
03886 static ptr< as_type_id > create (
03887 ptr< ::lestes::std::source_location > a__as_base__location,
03888 ptr< ::lestes::std::list< srp< as_type_specifier > > > a__as_type_id__type_specifiers,
03889 ptr< as_declarator > a__as_type_id__declarator);
03890
03891
03892
03893
03894 virtual ptr<reflection_list> reflection_get() const;
03895
03896 virtual ptr<field_list_list> field_values_get() const;
03897
03898 protected:
03899
03900 as_type_id (
03901 ptr< ::lestes::std::source_location > a__as_base__location,
03902 ptr< ::lestes::std::list< srp< as_type_specifier > > > a__as_type_id__type_specifiers,
03903 ptr< as_declarator > a__as_type_id__declarator);
03904
03905
03906 virtual void gc_mark();
03907
03908 private:
03909 srp< ::lestes::std::list< srp< as_type_specifier > > > type_specifiers;
03910 srp< as_declarator > declarator;
03911 static ptr<reflection_list> reflection;
03912
03913 };
03914
03915
03916 class as_class_key : public ::lestes::intercode::as_base {
03917 public:
03918 virtual void accept_as_class_key_visitor( ptr< as_class_key_visitor > v ) abstract;
03919
03920
03921
03922 virtual ptr<reflection_list> reflection_get() const;
03923
03924 virtual ptr<field_list_list> field_values_get() const;
03925
03926 protected:
03927
03928 as_class_key (
03929 ptr< ::lestes::std::source_location > a__as_base__location);
03930
03931
03932 virtual void gc_mark();
03933
03934 private:
03935 static ptr<reflection_list> reflection;
03936
03937 };
03938
03939
03940 class as_class_key_class : public as_class_key {
03941 public:
03942 virtual void accept_as_class_key_visitor( ptr< as_class_key_visitor > v );
03943
03944
03945 static ptr< as_class_key_class > create (
03946 ptr< ::lestes::std::source_location > a__as_base__location);
03947
03948
03949
03950
03951 virtual ptr<reflection_list> reflection_get() const;
03952
03953 virtual ptr<field_list_list> field_values_get() const;
03954
03955 protected:
03956
03957 as_class_key_class (
03958 ptr< ::lestes::std::source_location > a__as_base__location);
03959
03960
03961 virtual void gc_mark();
03962
03963 private:
03964 static ptr<reflection_list> reflection;
03965
03966 };
03967
03968
03969 class as_class_key_struct : public as_class_key {
03970 public:
03971 virtual void accept_as_class_key_visitor( ptr< as_class_key_visitor > v );
03972
03973
03974 static ptr< as_class_key_struct > create (
03975 ptr< ::lestes::std::source_location > a__as_base__location);
03976
03977
03978
03979
03980 virtual ptr<reflection_list> reflection_get() const;
03981
03982 virtual ptr<field_list_list> field_values_get() const;
03983
03984 protected:
03985
03986 as_class_key_struct (
03987 ptr< ::lestes::std::source_location > a__as_base__location);
03988
03989
03990 virtual void gc_mark();
03991
03992 private:
03993 static ptr<reflection_list> reflection;
03994
03995 };
03996
03997
03998 class as_class_key_union : public as_class_key {
03999 public:
04000 virtual void accept_as_class_key_visitor( ptr< as_class_key_visitor > v );
04001
04002
04003 static ptr< as_class_key_union > create (
04004 ptr< ::lestes::std::source_location > a__as_base__location);
04005
04006
04007
04008
04009 virtual ptr<reflection_list> reflection_get() const;
04010
04011 virtual ptr<field_list_list> field_values_get() const;
04012
04013 protected:
04014
04015 as_class_key_union (
04016 ptr< ::lestes::std::source_location > a__as_base__location);
04017
04018
04019 virtual void gc_mark();
04020
04021 private:
04022 static ptr<reflection_list> reflection;
04023
04024 };
04025
04026
04027 class as_member_declaration : public ::lestes::intercode::as_base {
04028 public:
04029
04030 ptr< as_access_specifier > access_specifier_get() const;
04031
04032
04033 void access_specifier_set(const ptr< as_access_specifier > &);
04034
04035
04036
04037
04038 virtual ptr<reflection_list> reflection_get() const;
04039
04040 virtual ptr<field_list_list> field_values_get() const;
04041
04042 protected:
04043
04044 as_member_declaration (
04045 ptr< ::lestes::std::source_location > a__as_base__location,
04046 ptr< as_access_specifier > a__as_member_declaration__access_specifier);
04047
04048
04049 virtual void gc_mark();
04050
04051 private:
04052 srp< as_access_specifier > access_specifier;
04053 static ptr<reflection_list> reflection;
04054
04055 };
04056
04057
04058 class as_member_using_declaration : public as_member_declaration {
04059 public:
04060
04061 ptr< as_using_declaration > using_declaration_get() const;
04062
04063
04064 void using_declaration_set(const ptr< as_using_declaration > &);
04065
04066
04067
04068 static ptr< as_member_using_declaration > create (
04069 ptr< ::lestes::std::source_location > a__as_base__location,
04070 ptr< as_access_specifier > a__as_member_declaration__access_specifier,
04071 ptr< as_using_declaration > a__as_member_using_declaration__using_declaration);
04072
04073
04074
04075
04076 virtual ptr<reflection_list> reflection_get() const;
04077
04078 virtual ptr<field_list_list> field_values_get() const;
04079
04080 protected:
04081
04082 as_member_using_declaration (
04083 ptr< ::lestes::std::source_location > a__as_base__location,
04084 ptr< as_access_specifier > a__as_member_declaration__access_specifier,
04085 ptr< as_using_declaration > a__as_member_using_declaration__using_declaration);
04086
04087
04088 virtual void gc_mark();
04089
04090 private:
04091 srp< as_using_declaration > using_declaration;
04092 static ptr<reflection_list> reflection;
04093
04094 };
04095
04096
04097 class as_member_template_declaration : public as_member_declaration {
04098 public:
04099
04100 ptr< ::lestes::lang::cplus::lex::cpp_token > exported_get() const;
04101
04102
04103 void exported_set(const ptr< ::lestes::lang::cplus::lex::cpp_token > &);
04104
04105
04106 ptr< ::lestes::std::list< srp< as_template_param > > > template_params_get() const;
04107
04108
04109 void template_params_set(const ptr< ::lestes::std::list< srp< as_template_param > > > & );
04110
04111
04112 ptr< as_member_declaration > declararion_get() const;
04113
04114
04115 void declararion_set(const ptr< as_member_declaration > &);
04116
04117
04118
04119 static ptr< as_member_template_declaration > create (
04120 ptr< ::lestes::std::source_location > a__as_base__location,
04121 ptr< as_access_specifier > a__as_member_declaration__access_specifier,
04122 ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_member_template_declaration__exported,
04123 ptr< ::lestes::std::list< srp< as_template_param > > > a__as_member_template_declaration__template_params,
04124 ptr< as_member_declaration > a__as_member_template_declaration__declararion);
04125
04126
04127
04128
04129 virtual ptr<reflection_list> reflection_get() const;
04130
04131 virtual ptr<field_list_list> field_values_get() const;
04132
04133 protected:
04134
04135 as_member_template_declaration (
04136 ptr< ::lestes::std::source_location > a__as_base__location,
04137 ptr< as_access_specifier > a__as_member_declaration__access_specifier,
04138 ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_member_template_declaration__exported,
04139 ptr< ::lestes::std::list< srp< as_template_param > > > a__as_member_template_declaration__template_params,
04140 ptr< as_member_declaration > a__as_member_template_declaration__declararion);
04141
04142
04143 virtual void gc_mark();
04144
04145 private:
04146 srp< ::lestes::lang::cplus::lex::cpp_token > exported;
04147 srp< ::lestes::std::list< srp< as_template_param > > > template_params;
04148 srp< as_member_declaration > declararion;
04149 static ptr<reflection_list> reflection;
04150
04151 };
04152
04153
04154 class as_member_function_definition : public as_member_declaration {
04155 public:
04156
04157 ptr< as_function_definition > function_definition_get() const;
04158
04159
04160 void function_definition_set(const ptr< as_function_definition > &);
04161
04162
04163
04164 static ptr< as_member_function_definition > create (
04165 ptr< ::lestes::std::source_location > a__as_base__location,
04166 ptr< as_access_specifier > a__as_member_declaration__access_specifier,
04167 ptr< as_function_definition > a__as_member_function_definition__function_definition);
04168
04169
04170
04171
04172 virtual ptr<reflection_list> reflection_get() const;
04173
04174 virtual ptr<field_list_list> field_values_get() const;
04175
04176 protected:
04177
04178 as_member_function_definition (
04179 ptr< ::lestes::std::source_location > a__as_base__location,
04180 ptr< as_access_specifier > a__as_member_declaration__access_specifier,
04181 ptr< as_function_definition > a__as_member_function_definition__function_definition);
04182
04183
04184 virtual void gc_mark();
04185
04186 private:
04187 srp< as_function_definition > function_definition;
04188 static ptr<reflection_list> reflection;
04189
04190 };
04191
04192
04193 class as_member_declaration_ordinary : public as_member_declaration {
04194 public:
04195
04196 ptr< ::lestes::std::list< srp< as_declaration_specifier > > > declaration_specifiers_get() const;
04197
04198
04199 void declaration_specifiers_set(const ptr< ::lestes::std::list< srp< as_declaration_specifier > > > & );
04200
04201
04202 ptr< ::lestes::std::list< srp< as_member_declarator > > > declarators_get() const;
04203
04204
04205 void declarators_set(const ptr< ::lestes::std::list< srp< as_member_declarator > > > & );
04206
04207
04208
04209 static ptr< as_member_declaration_ordinary > create (
04210 ptr< ::lestes::std::source_location > a__as_base__location,
04211 ptr< as_access_specifier > a__as_member_declaration__access_specifier,
04212 ptr< ::lestes::std::list< srp< as_declaration_specifier > > > a__as_member_declaration_ordinary__declaration_specifiers,
04213 ptr< ::lestes::std::list< srp< as_member_declarator > > > a__as_member_declaration_ordinary__declarators);
04214
04215
04216
04217
04218 virtual ptr<reflection_list> reflection_get() const;
04219
04220 virtual ptr<field_list_list> field_values_get() const;
04221
04222 protected:
04223
04224 as_member_declaration_ordinary (
04225 ptr< ::lestes::std::source_location > a__as_base__location,
04226 ptr< as_access_specifier > a__as_member_declaration__access_specifier,
04227 ptr< ::lestes::std::list< srp< as_declaration_specifier > > > a__as_member_declaration_ordinary__declaration_specifiers,
04228 ptr< ::lestes::std::list< srp< as_member_declarator > > > a__as_member_declaration_ordinary__declarators);
04229
04230
04231 virtual void gc_mark();
04232
04233 private:
04234 srp< ::lestes::std::list< srp< as_declaration_specifier > > > declaration_specifiers;
04235 srp< ::lestes::std::list< srp< as_member_declarator > > > declarators;
04236 static ptr<reflection_list> reflection;
04237
04238 };
04239
04240
04241 class as_member_declarator : public ::lestes::intercode::as_base {
04242 public:
04243
04244
04245
04246 virtual ptr<reflection_list> reflection_get() const;
04247
04248 virtual ptr<field_list_list> field_values_get() const;
04249
04250 protected:
04251
04252 as_member_declarator (
04253 ptr< ::lestes::std::source_location > a__as_base__location);
04254
04255
04256 virtual void gc_mark();
04257
04258 private:
04259 static ptr<reflection_list> reflection;
04260
04261 };
04262
04263
04264 class as_bitfield_member_declarator : public as_member_declarator {
04265 public:
04266
04267 ptr< as_name > name_get() const;
04268
04269
04270 void name_set(const ptr< as_name > &);
04271
04272
04273 ptr< as_constant_expression > width_get() const;
04274
04275
04276 void width_set(const ptr< as_constant_expression > &);
04277
04278
04279
04280 static ptr< as_bitfield_member_declarator > create (
04281 ptr< ::lestes::std::source_location > a__as_base__location,
04282 ptr< as_name > a__as_bitfield_member_declarator__name,
04283 ptr< as_constant_expression > a__as_bitfield_member_declarator__width);
04284
04285
04286
04287
04288 virtual ptr<reflection_list> reflection_get() const;
04289
04290 virtual ptr<field_list_list> field_values_get() const;
04291
04292 protected:
04293
04294 as_bitfield_member_declarator (
04295 ptr< ::lestes::std::source_location > a__as_base__location,
04296 ptr< as_name > a__as_bitfield_member_declarator__name,
04297 ptr< as_constant_expression > a__as_bitfield_member_declarator__width);
04298
04299
04300 virtual void gc_mark();
04301
04302 private:
04303 srp< as_name > name;
04304 srp< as_constant_expression > width;
04305 static ptr<reflection_list> reflection;
04306
04307 };
04308
04309
04310 class as_ordinary_member_declarator : public as_member_declarator {
04311 public:
04312
04313 ptr< as_declarator > declarator_get() const;
04314
04315
04316 void declarator_set(const ptr< as_declarator > &);
04317
04318
04319
04320 static ptr< as_ordinary_member_declarator > create (
04321 ptr< ::lestes::std::source_location > a__as_base__location,
04322 ptr< as_declarator > a__as_ordinary_member_declarator__declarator);
04323
04324
04325
04326
04327 virtual ptr<reflection_list> reflection_get() const;
04328
04329 virtual ptr<field_list_list> field_values_get() const;
04330
04331 protected:
04332
04333 as_ordinary_member_declarator (
04334 ptr< ::lestes::std::source_location > a__as_base__location,
04335 ptr< as_declarator > a__as_ordinary_member_declarator__declarator);
04336
04337
04338 virtual void gc_mark();
04339
04340 private:
04341 srp< as_declarator > declarator;
04342 static ptr<reflection_list> reflection;
04343
04344 };
04345
04346
04347 class as_initialized_member_declarator : public as_ordinary_member_declarator {
04348 public:
04349
04350 ptr< as_constant_expression > initializer_get() const;
04351
04352
04353 void initializer_set(const ptr< as_constant_expression > &);
04354
04355
04356
04357 static ptr< as_initialized_member_declarator > create (
04358 ptr< ::lestes::std::source_location > a__as_base__location,
04359 ptr< as_declarator > a__as_ordinary_member_declarator__declarator,
04360 ptr< as_constant_expression > a__as_initialized_member_declarator__initializer);
04361
04362
04363
04364
04365 virtual ptr<reflection_list> reflection_get() const;
04366
04367 virtual ptr<field_list_list> field_values_get() const;
04368
04369 protected:
04370
04371 as_initialized_member_declarator (
04372 ptr< ::lestes::std::source_location > a__as_base__location,
04373 ptr< as_declarator > a__as_ordinary_member_declarator__declarator,
04374 ptr< as_constant_expression > a__as_initialized_member_declarator__initializer);
04375
04376
04377 virtual void gc_mark();
04378
04379 private:
04380 srp< as_constant_expression > initializer;
04381 static ptr<reflection_list> reflection;
04382
04383 };
04384
04385
04386 class as_pure_member_declarator : public as_ordinary_member_declarator {
04387 public:
04388
04389 ptr< ::lestes::lang::cplus::lex::cpp_token > pure_specifier_get() const;
04390
04391
04392 void pure_specifier_set(const ptr< ::lestes::lang::cplus::lex::cpp_token > &);
04393
04394
04395
04396 static ptr< as_pure_member_declarator > create (
04397 ptr< ::lestes::std::source_location > a__as_base__location,
04398 ptr< as_declarator > a__as_ordinary_member_declarator__declarator,
04399 ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_pure_member_declarator__pure_specifier);
04400
04401
04402
04403
04404 virtual ptr<reflection_list> reflection_get() const;
04405
04406 virtual ptr<field_list_list> field_values_get() const;
04407
04408 protected:
04409
04410 as_pure_member_declarator (
04411 ptr< ::lestes::std::source_location > a__as_base__location,
04412 ptr< as_declarator > a__as_ordinary_member_declarator__declarator,
04413 ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_pure_member_declarator__pure_specifier);
04414
04415
04416 virtual void gc_mark();
04417
04418 private:
04419 srp< ::lestes::lang::cplus::lex::cpp_token > pure_specifier;
04420 static ptr<reflection_list> reflection;
04421
04422 };
04423
04424
04425 class as_class_specifier : public as_type_specifier {
04426 public:
04427
04428 ptr< as_class_key > key_get() const;
04429
04430
04431 void key_set(const ptr< as_class_key > &);
04432
04433
04434 ptr< as_name > name_get() const;
04435
04436
04437 void name_set(const ptr< as_name > &);
04438
04439
04440 ptr< ::lestes::std::list< srp< as_base_specifier > > > base_specifiers_get() const;
04441
04442
04443 void base_specifiers_set(const ptr< ::lestes::std::list< srp< as_base_specifier > > > & );
04444
04445
04446 ptr< ::lestes::std::list< srp< as_member_declaration > > > member_declarations_get() const;
04447
04448
04449 void member_declarations_set(const ptr< ::lestes::std::list< srp< as_member_declaration > > > & );
04450
04451 virtual void accept_as_declaration_specifier_visitor( ptr< as_declaration_specifier_visitor > v );
04452
04453
04454 static ptr< as_class_specifier > create (
04455 ptr< ::lestes::std::source_location > a__as_base__location,
04456 ptr< as_class_key > a__as_class_specifier__key,
04457 ptr< as_name > a__as_class_specifier__name,
04458 ptr< ::lestes::std::list< srp< as_base_specifier > > > a__as_class_specifier__base_specifiers,
04459 ptr< ::lestes::std::list< srp< as_member_declaration > > > a__as_class_specifier__member_declarations);
04460
04461
04462
04463
04464 virtual ptr<reflection_list> reflection_get() const;
04465
04466 virtual ptr<field_list_list> field_values_get() const;
04467
04468 protected:
04469
04470 as_class_specifier (
04471 ptr< ::lestes::std::source_location > a__as_base__location,
04472 ptr< as_class_key > a__as_class_specifier__key,
04473 ptr< as_name > a__as_class_specifier__name,
04474 ptr< ::lestes::std::list< srp< as_base_specifier > > > a__as_class_specifier__base_specifiers,
04475 ptr< ::lestes::std::list< srp< as_member_declaration > > > a__as_class_specifier__member_declarations);
04476
04477
04478 virtual void gc_mark();
04479
04480 private:
04481 srp< as_class_key > key;
04482 srp< as_name > name;
04483 srp< ::lestes::std::list< srp< as_base_specifier > > > base_specifiers;
04484 srp< ::lestes::std::list< srp< as_member_declaration > > > member_declarations;
04485 static ptr<reflection_list> reflection;
04486
04487 };
04488
04489
04490 class as_class_forward_member_declaration : public as_member_declaration {
04491 public:
04492
04493 ptr< as_class_key > key_get() const;
04494
04495
04496 void key_set(const ptr< as_class_key > &);
04497
04498
04499 ptr< as_identifier > identifier_get() const;
04500
04501
04502 void identifier_set(const ptr< as_identifier > &);
04503
04504
04505
04506 static ptr< as_class_forward_member_declaration > create (
04507 ptr< ::lestes::std::source_location > a__as_base__location,
04508 ptr< as_access_specifier > a__as_member_declaration__access_specifier,
04509 ptr< as_class_key > a__as_class_forward_member_declaration__key,
04510 ptr< as_identifier > a__as_class_forward_member_declaration__identifier);
04511
04512
04513
04514
04515 virtual ptr<reflection_list> reflection_get() const;
04516
04517 virtual ptr<field_list_list> field_values_get() const;
04518
04519 protected:
04520
04521 as_class_forward_member_declaration (
04522 ptr< ::lestes::std::source_location > a__as_base__location,
04523 ptr< as_access_specifier > a__as_member_declaration__access_specifier,
04524 ptr< as_class_key > a__as_class_forward_member_declaration__key,
04525 ptr< as_identifier > a__as_class_forward_member_declaration__identifier);
04526
04527
04528 virtual void gc_mark();
04529
04530 private:
04531 srp< as_class_key > key;
04532 srp< as_identifier > identifier;
04533 static ptr<reflection_list> reflection;
04534
04535 };
04536
04537
04538 class as_class_forward_declaration : public as_block_declaration {
04539 public:
04540
04541 ptr< as_class_key > key_get() const;
04542
04543
04544 void key_set(const ptr< as_class_key > &);
04545
04546
04547 ptr< as_identifier > identifier_get() const;
04548
04549
04550 void identifier_set(const ptr< as_identifier > &);
04551
04552
04553
04554 static ptr< as_class_forward_declaration > create (
04555 ptr< ::lestes::std::source_location > a__as_base__location,
04556 ptr< as_class_key > a__as_class_forward_declaration__key,
04557 ptr< as_identifier > a__as_class_forward_declaration__identifier);
04558
04559
04560
04561
04562 virtual ptr<reflection_list> reflection_get() const;
04563
04564 virtual ptr<field_list_list> field_values_get() const;
04565
04566 protected:
04567
04568 as_class_forward_declaration (
04569 ptr< ::lestes::std::source_location > a__as_base__location,
04570 ptr< as_class_key > a__as_class_forward_declaration__key,
04571 ptr< as_identifier > a__as_class_forward_declaration__identifier);
04572
04573
04574 virtual void gc_mark();
04575
04576 private:
04577 srp< as_class_key > key;
04578 srp< as_identifier > identifier;
04579 static ptr<reflection_list> reflection;
04580
04581 };
04582
04583
04584 end_package(sem);
04585 end_package(cplus);
04586 end_package(lang);
04587 end_package(lestes);
04588
04589 #endif // lestes__lang__cplus__sem__as_decl_g_hh__included