as_decl.g.hh

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
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         //! First generated factory method for class as_string_literal.
00198         static ptr< as_string_literal > create (
00199                 ptr< ::lestes::std::source_location > a__as_base__location);
00200 
00201         
00202 
00203         //! for purposes of dumping
00204         virtual ptr<reflection_list> reflection_get() const;
00205         //! for purposes of dumping
00206         virtual ptr<field_list_list> field_values_get() const;
00207         
00208 protected:
00209         //! Generated constructor for class as_string_literal.
00210         as_string_literal (
00211                 ptr< ::lestes::std::source_location > a__as_base__location);
00212 
00213         //! Marking routine for class as_string_literal. 
00214         virtual void gc_mark();
00215 
00216 private:
00217         static ptr<reflection_list> reflection;
00218         
00219 }; // as_string_literal
00220 
00221 
00222 class as_declaration : public ::lestes::intercode::as_base {
00223 public:
00224         
00225 
00226         //! for purposes of dumping
00227         virtual ptr<reflection_list> reflection_get() const;
00228         //! for purposes of dumping
00229         virtual ptr<field_list_list> field_values_get() const;
00230         
00231 protected:
00232         //! Generated constructor for class as_declaration.
00233         as_declaration (
00234                 ptr< ::lestes::std::source_location > a__as_base__location);
00235 
00236         //! Marking routine for class as_declaration. 
00237         virtual void gc_mark();
00238 
00239 private:
00240         static ptr<reflection_list> reflection;
00241         
00242 }; // as_declaration
00243 
00244 
00245 class as_block_declaration : public as_declaration {
00246 public:
00247         
00248 
00249         //! for purposes of dumping
00250         virtual ptr<reflection_list> reflection_get() const;
00251         //! for purposes of dumping
00252         virtual ptr<field_list_list> field_values_get() const;
00253         
00254 protected:
00255         //! Generated constructor for class as_block_declaration.
00256         as_block_declaration (
00257                 ptr< ::lestes::std::source_location > a__as_base__location);
00258 
00259         //! Marking routine for class as_block_declaration. 
00260         virtual void gc_mark();
00261 
00262 private:
00263         static ptr<reflection_list> reflection;
00264         
00265 }; // as_block_declaration
00266 
00267 
00268 class as_simple_declaration : public as_block_declaration {
00269 public:
00270         //! The method declaration_specifiers_get returns the value of the field as_simple_declaration::declaration_specifiers.
00271         ptr< ::lestes::std::list< srp< as_declaration_specifier > > > declaration_specifiers_get() const;
00272 
00273         //! The method declaration_specifiers_set sets the field as_simple_declaration::declaration_specifiers to the given value.
00274         void declaration_specifiers_set(const ptr< ::lestes::std::list< srp< as_declaration_specifier > > > & );
00275 
00276         //! The method init_declarators_get returns the value of the field as_simple_declaration::init_declarators.
00277         ptr< ::lestes::std::list< srp< as_init_declarator > > > init_declarators_get() const;
00278 
00279         //! The method init_declarators_set sets the field as_simple_declaration::init_declarators to the given value.
00280         void init_declarators_set(const ptr< ::lestes::std::list< srp< as_init_declarator > > > & );
00281 
00282         
00283         //! First generated factory method for class as_simple_declaration.
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         //! for purposes of dumping
00292         virtual ptr<reflection_list> reflection_get() const;
00293         //! for purposes of dumping
00294         virtual ptr<field_list_list> field_values_get() const;
00295         
00296 protected:
00297         //! Generated constructor for class as_simple_declaration.
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         //! Marking routine for class as_simple_declaration. 
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 }; // as_simple_declaration
00312 
00313 
00314 class as_init_declarator : public ::lestes::intercode::as_base {
00315 public:
00316         //! The method declarator_get returns the value of the field as_init_declarator::declarator.
00317         ptr< as_declarator > declarator_get() const;
00318 
00319         //! The method declarator_set sets the field as_init_declarator::declarator to the given value.
00320         void declarator_set(const ptr< as_declarator > &);
00321 
00322         //! The method initializer_get returns the value of the field as_init_declarator::initializer.
00323         ptr< as_initializer > initializer_get() const;
00324 
00325         //! The method initializer_set sets the field as_init_declarator::initializer to the given value.
00326         void initializer_set(const ptr< as_initializer > &);
00327 
00328         
00329         //! First generated factory method for class as_init_declarator.
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         //! for purposes of dumping
00338         virtual ptr<reflection_list> reflection_get() const;
00339         //! for purposes of dumping
00340         virtual ptr<field_list_list> field_values_get() const;
00341         
00342 protected:
00343         //! Generated constructor for class as_init_declarator.
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         //! Marking routine for class as_init_declarator. 
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 }; // as_init_declarator
00358 
00359 
00360 class as_initializer : public ::lestes::intercode::as_base {
00361 public:
00362         
00363 
00364         //! for purposes of dumping
00365         virtual ptr<reflection_list> reflection_get() const;
00366         //! for purposes of dumping
00367         virtual ptr<field_list_list> field_values_get() const;
00368         
00369 protected:
00370         //! Generated constructor for class as_initializer.
00371         as_initializer (
00372                 ptr< ::lestes::std::source_location > a__as_base__location);
00373 
00374         //! Marking routine for class as_initializer. 
00375         virtual void gc_mark();
00376 
00377 private:
00378         static ptr<reflection_list> reflection;
00379         
00380 }; // as_initializer
00381 
00382 
00383 class as_initializer_expression_list : public as_initializer {
00384 public:
00385         //! The method expressions_get returns the value of the field as_initializer_expression_list::expressions.
00386         ptr< ::lestes::std::list< srp< as_expression > > > expressions_get() const;
00387 
00388         //! The method expressions_set sets the field as_initializer_expression_list::expressions to the given value.
00389         void expressions_set(const ptr< ::lestes::std::list< srp< as_expression > > > & );
00390 
00391         
00392         //! First generated factory method for class as_initializer_expression_list.
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         //! for purposes of dumping
00400         virtual ptr<reflection_list> reflection_get() const;
00401         //! for purposes of dumping
00402         virtual ptr<field_list_list> field_values_get() const;
00403         
00404 protected:
00405         //! Generated constructor for class as_initializer_expression_list.
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         //! Marking routine for class as_initializer_expression_list. 
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 }; // as_initializer_expression_list
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         //! for purposes of dumping
00426         virtual ptr<reflection_list> reflection_get() const;
00427         //! for purposes of dumping
00428         virtual ptr<field_list_list> field_values_get() const;
00429         
00430 protected:
00431         //! Generated constructor for class as_initializer_clause.
00432         as_initializer_clause (
00433                 ptr< ::lestes::std::source_location > a__as_base__location);
00434 
00435         //! Marking routine for class as_initializer_clause. 
00436         virtual void gc_mark();
00437 
00438 private:
00439         static ptr<reflection_list> reflection;
00440         
00441 }; // as_initializer_clause
00442 
00443 
00444 class as_initializer_clause_expression : public as_initializer_clause {
00445 public:
00446         //! The method expression_get returns the value of the field as_initializer_clause_expression::expression.
00447         ptr< as_expression > expression_get() const;
00448 
00449         //! The method expression_set sets the field as_initializer_clause_expression::expression to the given value.
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         //! First generated factory method for class as_initializer_clause_expression.
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         //! for purposes of dumping
00462         virtual ptr<reflection_list> reflection_get() const;
00463         //! for purposes of dumping
00464         virtual ptr<field_list_list> field_values_get() const;
00465         
00466 protected:
00467         //! Generated constructor for class as_initializer_clause_expression.
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         //! Marking routine for class as_initializer_clause_expression. 
00473         virtual void gc_mark();
00474 
00475 private:
00476         srp< as_expression > expression;
00477         static ptr<reflection_list> reflection;
00478         
00479 }; // as_initializer_clause_expression
00480 
00481 
00482 class as_initializer_clause_braced : public as_initializer_clause {
00483 public:
00484         //! The method initializers_get returns the value of the field as_initializer_clause_braced::initializers.
00485         ptr< ::lestes::std::list< srp< as_initializer_clause > > > initializers_get() const;
00486 
00487         //! The method initializers_set sets the field as_initializer_clause_braced::initializers to the given value.
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         //! First generated factory method for class as_initializer_clause_braced.
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         //! for purposes of dumping
00500         virtual ptr<reflection_list> reflection_get() const;
00501         //! for purposes of dumping
00502         virtual ptr<field_list_list> field_values_get() const;
00503         
00504 protected:
00505         //! Generated constructor for class as_initializer_clause_braced.
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         //! Marking routine for class as_initializer_clause_braced. 
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 }; // as_initializer_clause_braced
00518 
00519 
00520 class as_function_definition : public as_declaration {
00521 public:
00522         //! The method declaration_specifiers_get returns the value of the field as_function_definition::declaration_specifiers.
00523         ptr< ::lestes::std::list< srp< as_declaration_specifier > > > declaration_specifiers_get() const;
00524 
00525         //! The method declaration_specifiers_set sets the field as_function_definition::declaration_specifiers to the given value.
00526         void declaration_specifiers_set(const ptr< ::lestes::std::list< srp< as_declaration_specifier > > > & );
00527 
00528         //! The method declarator_get returns the value of the field as_function_definition::declarator.
00529         ptr< as_declarator > declarator_get() const;
00530 
00531         //! The method declarator_set sets the field as_function_definition::declarator to the given value.
00532         void declarator_set(const ptr< as_declarator > &);
00533 
00534         //! The method mem_initializers_get returns the value of the field as_function_definition::mem_initializers.
00535         ptr< ::lestes::std::list< srp< as_mem_initializer > > > mem_initializers_get() const;
00536 
00537         //! The method mem_initializers_set sets the field as_function_definition::mem_initializers to the given value.
00538         void mem_initializers_set(const ptr< ::lestes::std::list< srp< as_mem_initializer > > > & );
00539 
00540         //! The method function_body_get returns the value of the field as_function_definition::function_body.
00541         ptr< ::lestes::lang::cplus::syn::bison_pack_token > function_body_get() const;
00542 
00543         //! The method function_body_set sets the field as_function_definition::function_body to the given value.
00544         void function_body_set(const ptr< ::lestes::lang::cplus::syn::bison_pack_token > &);
00545 
00546         //! The method handlers_get returns the value of the field as_function_definition::handlers.
00547         ptr< ::lestes::std::list< srp< as_handler > > > handlers_get() const;
00548 
00549         //! The method handlers_set sets the field as_function_definition::handlers to the given value.
00550         void handlers_set(const ptr< ::lestes::std::list< srp< as_handler > > > & );
00551 
00552         //! The method parsed_body_get returns the value of the field as_function_definition::parsed_body.
00553         ptr< ::lestes::intercode::as_base > parsed_body_get() const;
00554 
00555         //! The method parsed_body_set sets the field as_function_definition::parsed_body to the given value.
00556         void parsed_body_set(const ptr< ::lestes::intercode::as_base > &);
00557 
00558         
00559         //! First generated factory method for class as_function_definition.
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         //! Second generated factory method for class as_function_definition.
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         //! for purposes of dumping
00581         virtual ptr<reflection_list> reflection_get() const;
00582         //! for purposes of dumping
00583         virtual ptr<field_list_list> field_values_get() const;
00584         
00585 protected:
00586         //! Generated constructor for class as_function_definition.
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         //! Marking routine for class as_function_definition. 
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         /*! \brief Contains parsed body of the function.
00606 
00607         
00608                                         Currently, we do not defer parsing function/method bodies, but
00609                                         rather analyze them immediately. Thus, we fill this field right
00610                                         after (and only if) the body has been successfully parsed. This
00611                                         is useful for dumping AS structure of the body, which would
00612                                         otherwise be lost.
00613 
00614                                         In production compiler, this could filled (if at all) after
00615                                         parsing the body as well, but the parsing would take place at
00616                                         different time (compared to current practice).
00617                                 
00618         */
00619         srp< ::lestes::intercode::as_base > parsed_body;
00620         static ptr<reflection_list> reflection;
00621         
00622 }; // as_function_definition
00623 
00624 
00625 class as_template_declaration : public as_declaration {
00626 public:
00627         //! The method exported_get returns the value of the field as_template_declaration::exported.
00628         ptr< ::lestes::lang::cplus::lex::cpp_token > exported_get() const;
00629 
00630         //! The method exported_set sets the field as_template_declaration::exported to the given value.
00631         void exported_set(const ptr< ::lestes::lang::cplus::lex::cpp_token > &);
00632 
00633         //! The method template_params_get returns the value of the field as_template_declaration::template_params.
00634         ptr< ::lestes::std::list< srp< as_template_param > > > template_params_get() const;
00635 
00636         //! The method template_params_set sets the field as_template_declaration::template_params to the given value.
00637         void template_params_set(const ptr< ::lestes::std::list< srp< as_template_param > > > & );
00638 
00639         //! The method declararion_get returns the value of the field as_template_declaration::declararion.
00640         ptr< as_declaration > declararion_get() const;
00641 
00642         //! The method declararion_set sets the field as_template_declaration::declararion to the given value.
00643         void declararion_set(const ptr< as_declaration > &);
00644 
00645         
00646         //! First generated factory method for class as_template_declaration.
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         //! for purposes of dumping
00656         virtual ptr<reflection_list> reflection_get() const;
00657         //! for purposes of dumping
00658         virtual ptr<field_list_list> field_values_get() const;
00659         
00660 protected:
00661         //! Generated constructor for class as_template_declaration.
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         //! Marking routine for class as_template_declaration. 
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 }; // as_template_declaration
00678 
00679 
00680 class as_template_param : public ::lestes::intercode::as_base {
00681 public:
00682         
00683 
00684         //! for purposes of dumping
00685         virtual ptr<reflection_list> reflection_get() const;
00686         //! for purposes of dumping
00687         virtual ptr<field_list_list> field_values_get() const;
00688         
00689 protected:
00690         //! Generated constructor for class as_template_param.
00691         as_template_param (
00692                 ptr< ::lestes::std::source_location > a__as_base__location);
00693 
00694         //! Marking routine for class as_template_param. 
00695         virtual void gc_mark();
00696 
00697 private:
00698         static ptr<reflection_list> reflection;
00699         
00700 }; // as_template_param
00701 
00702 
00703 class as_template_type_param : public as_template_param {
00704 public:
00705         
00706         //! First generated factory method for class as_template_type_param.
00707         static ptr< as_template_type_param > create (
00708                 ptr< ::lestes::std::source_location > a__as_base__location);
00709 
00710         
00711 
00712         //! for purposes of dumping
00713         virtual ptr<reflection_list> reflection_get() const;
00714         //! for purposes of dumping
00715         virtual ptr<field_list_list> field_values_get() const;
00716         
00717 protected:
00718         //! Generated constructor for class as_template_type_param.
00719         as_template_type_param (
00720                 ptr< ::lestes::std::source_location > a__as_base__location);
00721 
00722         //! Marking routine for class as_template_type_param. 
00723         virtual void gc_mark();
00724 
00725 private:
00726         static ptr<reflection_list> reflection;
00727         
00728 }; // as_template_type_param
00729 
00730 
00731 class as_template_type_param_type : public as_template_type_param {
00732 public:
00733         //! The method identifier_get returns the value of the field as_template_type_param_type::identifier.
00734         ptr< as_identifier > identifier_get() const;
00735 
00736         //! The method identifier_set sets the field as_template_type_param_type::identifier to the given value.
00737         void identifier_set(const ptr< as_identifier > &);
00738 
00739         //! The method type_id_get returns the value of the field as_template_type_param_type::type_id.
00740         ptr< as_type_id > type_id_get() const;
00741 
00742         //! The method type_id_set sets the field as_template_type_param_type::type_id to the given value.
00743         void type_id_set(const ptr< as_type_id > &);
00744 
00745         
00746         //! First generated factory method for class as_template_type_param_type.
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         //! for purposes of dumping
00755         virtual ptr<reflection_list> reflection_get() const;
00756         //! for purposes of dumping
00757         virtual ptr<field_list_list> field_values_get() const;
00758         
00759 protected:
00760         //! Generated constructor for class as_template_type_param_type.
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         //! Marking routine for class as_template_type_param_type. 
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 }; // as_template_type_param_type
00775 
00776 
00777 class as_template_type_param_template : public as_template_type_param {
00778 public:
00779         //! The method template_params_get returns the value of the field as_template_type_param_template::template_params.
00780         ptr< ::lestes::std::list< srp< as_template_param > > > template_params_get() const;
00781 
00782         //! The method template_params_set sets the field as_template_type_param_template::template_params to the given value.
00783         void template_params_set(const ptr< ::lestes::std::list< srp< as_template_param > > > & );
00784 
00785         //! The method identifier_get returns the value of the field as_template_type_param_template::identifier.
00786         ptr< as_identifier > identifier_get() const;
00787 
00788         //! The method identifier_set sets the field as_template_type_param_template::identifier to the given value.
00789         void identifier_set(const ptr< as_identifier > &);
00790 
00791         //! The method initializer_get returns the value of the field as_template_type_param_template::initializer.
00792         ptr< as_name > initializer_get() const;
00793 
00794         //! The method initializer_set sets the field as_template_type_param_template::initializer to the given value.
00795         void initializer_set(const ptr< as_name > &);
00796 
00797         
00798         //! First generated factory method for class as_template_type_param_template.
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         //! for purposes of dumping
00808         virtual ptr<reflection_list> reflection_get() const;
00809         //! for purposes of dumping
00810         virtual ptr<field_list_list> field_values_get() const;
00811         
00812 protected:
00813         //! Generated constructor for class as_template_type_param_template.
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         //! Marking routine for class as_template_type_param_template. 
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 }; // as_template_type_param_template
00830 
00831 
00832 class as_template_nontype_param : public as_template_param {
00833 public:
00834         //! The method param_get returns the value of the field as_template_nontype_param::param.
00835         ptr< as_param_declaration > param_get() const;
00836 
00837         //! The method param_set sets the field as_template_nontype_param::param to the given value.
00838         void param_set(const ptr< as_param_declaration > &);
00839 
00840         
00841         //! First generated factory method for class as_template_nontype_param.
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         //! for purposes of dumping
00849         virtual ptr<reflection_list> reflection_get() const;
00850         //! for purposes of dumping
00851         virtual ptr<field_list_list> field_values_get() const;
00852         
00853 protected:
00854         //! Generated constructor for class as_template_nontype_param.
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         //! Marking routine for class as_template_nontype_param. 
00860         virtual void gc_mark();
00861 
00862 private:
00863         srp< as_param_declaration > param;
00864         static ptr<reflection_list> reflection;
00865         
00866 }; // as_template_nontype_param
00867 
00868 
00869 class as_mem_initializer : public ::lestes::intercode::as_base {
00870 public:
00871         //! The method id_get returns the value of the field as_mem_initializer::id.
00872         ptr< as_name > id_get() const;
00873 
00874         //! The method id_set sets the field as_mem_initializer::id to the given value.
00875         void id_set(const ptr< as_name > &);
00876 
00877         //! The method expressions_get returns the value of the field as_mem_initializer::expressions.
00878         ptr< ::lestes::std::list< srp< as_expression > > > expressions_get() const;
00879 
00880         //! The method expressions_set sets the field as_mem_initializer::expressions to the given value.
00881         void expressions_set(const ptr< ::lestes::std::list< srp< as_expression > > > & );
00882 
00883         
00884         //! First generated factory method for class as_mem_initializer.
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         //! for purposes of dumping
00893         virtual ptr<reflection_list> reflection_get() const;
00894         //! for purposes of dumping
00895         virtual ptr<field_list_list> field_values_get() const;
00896         
00897 protected:
00898         //! Generated constructor for class as_mem_initializer.
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         //! Marking routine for class as_mem_initializer. 
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 }; // as_mem_initializer
00913 
00914 
00915 class as_explicit_instantiation : public as_declaration {
00916 public:
00917         //! The method declaration_get returns the value of the field as_explicit_instantiation::declaration.
00918         ptr< as_declaration > declaration_get() const;
00919 
00920         //! The method declaration_set sets the field as_explicit_instantiation::declaration to the given value.
00921         void declaration_set(const ptr< as_declaration > &);
00922 
00923         
00924         //! First generated factory method for class as_explicit_instantiation.
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         //! for purposes of dumping
00932         virtual ptr<reflection_list> reflection_get() const;
00933         //! for purposes of dumping
00934         virtual ptr<field_list_list> field_values_get() const;
00935         
00936 protected:
00937         //! Generated constructor for class as_explicit_instantiation.
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         //! Marking routine for class as_explicit_instantiation. 
00943         virtual void gc_mark();
00944 
00945 private:
00946         srp< as_declaration > declaration;
00947         static ptr<reflection_list> reflection;
00948         
00949 }; // as_explicit_instantiation
00950 
00951 
00952 class as_explicit_specialization : public as_declaration {
00953 public:
00954         //! The method declaration_get returns the value of the field as_explicit_specialization::declaration.
00955         ptr< as_declaration > declaration_get() const;
00956 
00957         //! The method declaration_set sets the field as_explicit_specialization::declaration to the given value.
00958         void declaration_set(const ptr< as_declaration > &);
00959 
00960         
00961         //! First generated factory method for class as_explicit_specialization.
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         //! for purposes of dumping
00969         virtual ptr<reflection_list> reflection_get() const;
00970         //! for purposes of dumping
00971         virtual ptr<field_list_list> field_values_get() const;
00972         
00973 protected:
00974         //! Generated constructor for class as_explicit_specialization.
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         //! Marking routine for class as_explicit_specialization. 
00980         virtual void gc_mark();
00981 
00982 private:
00983         srp< as_declaration > declaration;
00984         static ptr<reflection_list> reflection;
00985         
00986 }; // as_explicit_specialization
00987 
00988 
00989 class as_linkage_specification : public as_declaration {
00990 public:
00991         //! The method linkage_specification_get returns the value of the field as_linkage_specification::linkage_specification.
00992         ptr< ::lestes::lang::cplus::lex::cpp_token > linkage_specification_get() const;
00993 
00994         //! The method linkage_specification_set sets the field as_linkage_specification::linkage_specification to the given value.
00995         void linkage_specification_set(const ptr< ::lestes::lang::cplus::lex::cpp_token > &);
00996 
00997         //! The method declarations_get returns the value of the field as_linkage_specification::declarations.
00998         ptr< ::lestes::std::list< srp< as_declaration > > > declarations_get() const;
00999 
01000         //! The method declarations_set sets the field as_linkage_specification::declarations to the given value.
01001         void declarations_set(const ptr< ::lestes::std::list< srp< as_declaration > > > & );
01002 
01003         
01004         //! First generated factory method for class as_linkage_specification.
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         //! for purposes of dumping
01013         virtual ptr<reflection_list> reflection_get() const;
01014         //! for purposes of dumping
01015         virtual ptr<field_list_list> field_values_get() const;
01016         
01017 protected:
01018         //! Generated constructor for class as_linkage_specification.
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         //! Marking routine for class as_linkage_specification. 
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 }; // as_linkage_specification
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         //! for purposes of dumping
01041         virtual ptr<reflection_list> reflection_get() const;
01042         //! for purposes of dumping
01043         virtual ptr<field_list_list> field_values_get() const;
01044         
01045 protected:
01046         //! Generated constructor for class as_id.
01047         as_id (
01048                 ptr< ::lestes::std::source_location > a__as_base__location);
01049 
01050         //! Marking routine for class as_id. 
01051         virtual void gc_mark();
01052 
01053 private:
01054         static ptr<reflection_list> reflection;
01055         
01056 }; // as_id
01057 
01058 
01059 //! FIXME
01060 class as_template_id : public as_id {
01061 public:
01062         //! The method token_get returns the value of the field as_template_id::token.
01063         ptr< ::lestes::lang::cplus::syn::bison_id_token > token_get() const;
01064 
01065         //! The method token_set sets the field as_template_id::token to the given value.
01066         void token_set(const ptr< ::lestes::lang::cplus::syn::bison_id_token > &);
01067 
01068         //! The method arguments_get returns the value of the field as_template_id::arguments.
01069         ptr< ::lestes::std::list< srp< as_template_argument > > > arguments_get() const;
01070 
01071         //! The method arguments_set sets the field as_template_id::arguments to the given value.
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         //! First generated factory method for class as_template_id.
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         //! for purposes of dumping
01085         virtual ptr<reflection_list> reflection_get() const;
01086         //! for purposes of dumping
01087         virtual ptr<field_list_list> field_values_get() const;
01088         
01089 protected:
01090         //! Generated constructor for class as_template_id.
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         //! Marking routine for class as_template_id. 
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 }; // as_template_id
01105 
01106 
01107 class as_identifier : public as_id {
01108 public:
01109         //! The method token_get returns the value of the field as_identifier::token.
01110         ptr< ::lestes::lang::cplus::syn::bison_id_token > token_get() const;
01111 
01112         //! The method token_set sets the field as_identifier::token to the given value.
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         //! First generated factory method for class as_identifier.
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         //! for purposes of dumping
01125         virtual ptr<reflection_list> reflection_get() const;
01126         //! for purposes of dumping
01127         virtual ptr<field_list_list> field_values_get() const;
01128         
01129 protected:
01130         //! Generated constructor for class as_identifier.
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         //! Marking routine for class as_identifier. 
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 }; // as_identifier
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         //! for purposes of dumping
01151         virtual ptr<reflection_list> reflection_get() const;
01152         //! for purposes of dumping
01153         virtual ptr<field_list_list> field_values_get() const;
01154         
01155 protected:
01156         //! Generated constructor for class as_destructor_id.
01157         as_destructor_id (
01158                 ptr< ::lestes::std::source_location > a__as_base__location);
01159 
01160         //! Marking routine for class as_destructor_id. 
01161         virtual void gc_mark();
01162 
01163 private:
01164         static ptr<reflection_list> reflection;
01165         
01166 }; // as_destructor_id
01167 
01168 
01169 class as_destructor_id_token : public as_destructor_id {
01170 public:
01171         //! The method token_get returns the value of the field as_destructor_id_token::token.
01172         ptr< ::lestes::lang::cplus::syn::bison_id_token > token_get() const;
01173 
01174         //! The method token_set sets the field as_destructor_id_token::token to the given value.
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         //! First generated factory method for class as_destructor_id_token.
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         //! for purposes of dumping
01187         virtual ptr<reflection_list> reflection_get() const;
01188         //! for purposes of dumping
01189         virtual ptr<field_list_list> field_values_get() const;
01190         
01191 protected:
01192         //! Generated constructor for class as_destructor_id_token.
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         //! Marking routine for class as_destructor_id_token. 
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 }; // as_destructor_id_token
01205 
01206 
01207 class as_destructor_id_template : public as_destructor_id {
01208 public:
01209         //! The method template_id_get returns the value of the field as_destructor_id_template::template_id.
01210         ptr< as_template_id > template_id_get() const;
01211 
01212         //! The method template_id_set sets the field as_destructor_id_template::template_id to the given value.
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         //! First generated factory method for class as_destructor_id_template.
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         //! for purposes of dumping
01225         virtual ptr<reflection_list> reflection_get() const;
01226         //! for purposes of dumping
01227         virtual ptr<field_list_list> field_values_get() const;
01228         
01229 protected:
01230         //! Generated constructor for class as_destructor_id_template.
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         //! Marking routine for class as_destructor_id_template. 
01236         virtual void gc_mark();
01237 
01238 private:
01239         srp< as_template_id > template_id;
01240         static ptr<reflection_list> reflection;
01241         
01242 }; // as_destructor_id_template
01243 
01244 
01245 /*! \brief Id for constructors
01246 
01247 
01248                                 For complicated reasons, the type (the norm calls it name sometimes)
01249                                 must be stored here, in the declaration_specifiers field.
01250                         
01251 */
01252 class as_constructor_id : public as_id {
01253 public:
01254         //! The method declaration_specifiers_get returns the value of the field as_constructor_id::declaration_specifiers.
01255         ptr< ::lestes::std::list< srp< as_declaration_specifier > > > declaration_specifiers_get() const;
01256 
01257         //! The method declaration_specifiers_set sets the field as_constructor_id::declaration_specifiers to the given value.
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         //! First generated factory method for class as_constructor_id.
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         //! for purposes of dumping
01270         virtual ptr<reflection_list> reflection_get() const;
01271         //! for purposes of dumping
01272         virtual ptr<field_list_list> field_values_get() const;
01273         
01274 protected:
01275         //! Generated constructor for class as_constructor_id.
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         //! Marking routine for class as_constructor_id. 
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 }; // as_constructor_id
01288 
01289 
01290 class as_op_function_id : public as_id {
01291 public:
01292         //! The method op_get returns the value of the field as_op_function_id::op.
01293         ptr< ::lestes::lang::cplus::lex::cpp_token > op_get() const;
01294 
01295         //! The method op_set sets the field as_op_function_id::op to the given value.
01296         void op_set(const ptr< ::lestes::lang::cplus::lex::cpp_token > &);
01297 
01298         //! The method arguments_get returns the value of the field as_op_function_id::arguments.
01299         ptr< ::lestes::std::list< srp< as_template_argument > > > arguments_get() const;
01300 
01301         //! The method arguments_set sets the field as_op_function_id::arguments to the given value.
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         //! First generated factory method for class as_op_function_id.
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         //! for purposes of dumping
01315         virtual ptr<reflection_list> reflection_get() const;
01316         //! for purposes of dumping
01317         virtual ptr<field_list_list> field_values_get() const;
01318         
01319 protected:
01320         //! Generated constructor for class as_op_function_id.
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         //! Marking routine for class as_op_function_id. 
01327         virtual void gc_mark();
01328 
01329 private:
01330         //! FIXME maybe as_operator?
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 }; // as_op_function_id
01336 
01337 
01338 class as_conv_function_id : public as_id {
01339 public:
01340         //! The method specifiers_get returns the value of the field as_conv_function_id::specifiers.
01341         ptr< ::lestes::std::list< srp< as_type_specifier > > > specifiers_get() const;
01342 
01343         //! The method specifiers_set sets the field as_conv_function_id::specifiers to the given value.
01344         void specifiers_set(const ptr< ::lestes::std::list< srp< as_type_specifier > > > & );
01345 
01346         //! The method ptr_ops_get returns the value of the field as_conv_function_id::ptr_ops.
01347         ptr< ::lestes::std::list< srp< as_declarator_op > > > ptr_ops_get() const;
01348 
01349         //! The method ptr_ops_set sets the field as_conv_function_id::ptr_ops to the given value.
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         //! First generated factory method for class as_conv_function_id.
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         //! for purposes of dumping
01363         virtual ptr<reflection_list> reflection_get() const;
01364         //! for purposes of dumping
01365         virtual ptr<field_list_list> field_values_get() const;
01366         
01367 protected:
01368         //! Generated constructor for class as_conv_function_id.
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         //! Marking routine for class as_conv_function_id. 
01375         virtual void gc_mark();
01376 
01377 private:
01378         srp< ::lestes::std::list< srp< as_type_specifier > > >  specifiers;
01379         //! Run-time assert needed: All items in the list should be of type as_declarator_op_ptr.
01380         srp< ::lestes::std::list< srp< as_declarator_op > > >  ptr_ops;
01381         static ptr<reflection_list> reflection;
01382         
01383 }; // as_conv_function_id
01384 
01385 
01386 //! Used in as_name in name-less classes, for example.
01387 class as_empty_id : public as_id {
01388 public:
01389         virtual void accept_as_id_visitor( ptr< as_id_visitor > v );
01390         
01391         //! First generated factory method for class as_empty_id.
01392         static ptr< as_empty_id > create (
01393                 ptr< ::lestes::std::source_location > a__as_base__location);
01394 
01395         
01396 
01397         //! for purposes of dumping
01398         virtual ptr<reflection_list> reflection_get() const;
01399         //! for purposes of dumping
01400         virtual ptr<field_list_list> field_values_get() const;
01401         
01402 protected:
01403         //! Generated constructor for class as_empty_id.
01404         as_empty_id (
01405                 ptr< ::lestes::std::source_location > a__as_base__location);
01406 
01407         //! Marking routine for class as_empty_id. 
01408         virtual void gc_mark();
01409 
01410 private:
01411         static ptr<reflection_list> reflection;
01412         
01413 }; // as_empty_id
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         //! First generated factory method for class as_global_namespace_fake_id.
01421         static ptr< as_global_namespace_fake_id > create (
01422                 ptr< ::lestes::std::source_location > a__as_base__location);
01423 
01424         
01425 
01426         //! for purposes of dumping
01427         virtual ptr<reflection_list> reflection_get() const;
01428         //! for purposes of dumping
01429         virtual ptr<field_list_list> field_values_get() const;
01430         
01431 protected:
01432         //! Generated constructor for class as_global_namespace_fake_id.
01433         as_global_namespace_fake_id (
01434                 ptr< ::lestes::std::source_location > a__as_base__location);
01435 
01436         //! Marking routine for class as_global_namespace_fake_id. 
01437         virtual void gc_mark();
01438 
01439 private:
01440         static ptr<reflection_list> reflection;
01441         
01442 }; // as_global_namespace_fake_id
01443 
01444 
01445 /*! \brief The class as_name represents an occurence of name in the C++ program.
01446 
01447 
01448                                 Global namespace (name) is an as_name with NULL qualification and identifier
01449                                 set to an instance of as_global_namespace_fake_id.
01450 
01451                                 was_qualified is set to true, when the name was really qualified; qualification
01452                                 is always set, therefore we need a flag that says whether it was actually
01453                                 specified in the source.
01454                         
01455 */
01456 class as_name : public ::lestes::intercode::as_base {
01457 public:
01458         //! The method qualification_get returns the value of the field as_name::qualification.
01459         ptr< as_name > qualification_get() const;
01460 
01461         //! The method qualification_set sets the field as_name::qualification to the given value.
01462         void qualification_set(const ptr< as_name > &);
01463 
01464         //! The method identifier_get returns the value of the field as_name::identifier.
01465         ptr< as_id > identifier_get() const;
01466 
01467         //! The method identifier_set sets the field as_name::identifier to the given value.
01468         void identifier_set(const ptr< as_id > &);
01469 
01470         //! The method was_qualified_get returns the value of the field as_name::was_qualified.
01471         bool was_qualified_get() const;
01472 
01473         //! The method was_qualified_set sets the field as_name::was_qualified to the given value.
01474         void was_qualified_set(bool);
01475 
01476         
01477         //! First generated factory method for class as_name.
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         //! Second generated factory method for class as_name.
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         //! for purposes of dumping
01493         virtual ptr<reflection_list> reflection_get() const;
01494         //! for purposes of dumping
01495         virtual ptr<field_list_list> field_values_get() const;
01496         
01497 protected:
01498         //! Generated constructor for class as_name.
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         //! Marking routine for class as_name. 
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 }; // as_name
01515 
01516 
01517 class as_base_specifier : public ::lestes::intercode::as_base {
01518 public:
01519         //! The method virtual_base_get returns the value of the field as_base_specifier::virtual_base.
01520         ptr< ::lestes::lang::cplus::lex::cpp_token > virtual_base_get() const;
01521 
01522         //! The method virtual_base_set sets the field as_base_specifier::virtual_base to the given value.
01523         void virtual_base_set(const ptr< ::lestes::lang::cplus::lex::cpp_token > &);
01524 
01525         //! The method access_specifier_get returns the value of the field as_base_specifier::access_specifier.
01526         ptr< as_access_specifier > access_specifier_get() const;
01527 
01528         //! The method access_specifier_set sets the field as_base_specifier::access_specifier to the given value.
01529         void access_specifier_set(const ptr< as_access_specifier > &);
01530 
01531         //! The method class_name_get returns the value of the field as_base_specifier::class_name.
01532         ptr< as_name > class_name_get() const;
01533 
01534         //! The method class_name_set sets the field as_base_specifier::class_name to the given value.
01535         void class_name_set(const ptr< as_name > &);
01536 
01537         
01538         //! First generated factory method for class as_base_specifier.
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         //! for purposes of dumping
01548         virtual ptr<reflection_list> reflection_get() const;
01549         //! for purposes of dumping
01550         virtual ptr<field_list_list> field_values_get() const;
01551         
01552 protected:
01553         //! Generated constructor for class as_base_specifier.
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         //! Marking routine for class as_base_specifier. 
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 }; // as_base_specifier
01570 
01571 
01572 class as_asm_declaration : public as_block_declaration {
01573 public:
01574         //! The method assembler_get returns the value of the field as_asm_declaration::assembler.
01575         ptr< ::lestes::lang::cplus::lex::cpp_token > assembler_get() const;
01576 
01577         //! The method assembler_set sets the field as_asm_declaration::assembler to the given value.
01578         void assembler_set(const ptr< ::lestes::lang::cplus::lex::cpp_token > &);
01579 
01580         
01581         //! First generated factory method for class as_asm_declaration.
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         //! for purposes of dumping
01589         virtual ptr<reflection_list> reflection_get() const;
01590         //! for purposes of dumping
01591         virtual ptr<field_list_list> field_values_get() const;
01592         
01593 protected:
01594         //! Generated constructor for class as_asm_declaration.
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         //! Marking routine for class as_asm_declaration. 
01600         virtual void gc_mark();
01601 
01602 private:
01603         //! FIXME
01604         srp< ::lestes::lang::cplus::lex::cpp_token > assembler;
01605         static ptr<reflection_list> reflection;
01606         
01607 }; // as_asm_declaration
01608 
01609 
01610 class as_gnu_asm_declaration : public as_asm_declaration {
01611 public:
01612         //! The method out_specification_get returns the value of the field as_gnu_asm_declaration::out_specification.
01613         ptr< ::lestes::std::list< srp< as_gnu_asm_specification > > > out_specification_get() const;
01614 
01615         //! The method out_specification_set sets the field as_gnu_asm_declaration::out_specification to the given value.
01616         void out_specification_set(const ptr< ::lestes::std::list< srp< as_gnu_asm_specification > > > & );
01617 
01618         //! The method in_specification_get returns the value of the field as_gnu_asm_declaration::in_specification.
01619         ptr< ::lestes::std::list< srp< as_gnu_asm_specification > > > in_specification_get() const;
01620 
01621         //! The method in_specification_set sets the field as_gnu_asm_declaration::in_specification to the given value.
01622         void in_specification_set(const ptr< ::lestes::std::list< srp< as_gnu_asm_specification > > > & );
01623 
01624         //! The method gobble_list_get returns the value of the field as_gnu_asm_declaration::gobble_list.
01625         ptr< ::lestes::std::list< srp< as_string_literal > > > gobble_list_get() const;
01626 
01627         //! The method gobble_list_set sets the field as_gnu_asm_declaration::gobble_list to the given value.
01628         void gobble_list_set(const ptr< ::lestes::std::list< srp< as_string_literal > > > & );
01629 
01630         
01631         //! First generated factory method for class as_gnu_asm_declaration.
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         //! for purposes of dumping
01642         virtual ptr<reflection_list> reflection_get() const;
01643         //! for purposes of dumping
01644         virtual ptr<field_list_list> field_values_get() const;
01645         
01646 protected:
01647         //! Generated constructor for class as_gnu_asm_declaration.
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         //! Marking routine for class as_gnu_asm_declaration. 
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 }; // as_gnu_asm_declaration
01665 
01666 
01667 class as_gnu_asm_specification : public ::lestes::intercode::as_base {
01668 public:
01669         //! The method constraint_get returns the value of the field as_gnu_asm_specification::constraint.
01670         ptr< as_string_literal > constraint_get() const;
01671 
01672         //! The method constraint_set sets the field as_gnu_asm_specification::constraint to the given value.
01673         void constraint_set(const ptr< as_string_literal > &);
01674 
01675         //! The method expression_get returns the value of the field as_gnu_asm_specification::expression.
01676         ptr< as_expression > expression_get() const;
01677 
01678         //! The method expression_set sets the field as_gnu_asm_specification::expression to the given value.
01679         void expression_set(const ptr< as_expression > &);
01680 
01681         
01682         //! First generated factory method for class as_gnu_asm_specification.
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         //! for purposes of dumping
01691         virtual ptr<reflection_list> reflection_get() const;
01692         //! for purposes of dumping
01693         virtual ptr<field_list_list> field_values_get() const;
01694         
01695 protected:
01696         //! Generated constructor for class as_gnu_asm_specification.
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         //! Marking routine for class as_gnu_asm_specification. 
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 }; // as_gnu_asm_specification
01711 
01712 
01713 class as_namespace_alias_declaration : public as_block_declaration {
01714 public:
01715         //! The method identifier_get returns the value of the field as_namespace_alias_declaration::identifier.
01716         ptr< as_identifier > identifier_get() const;
01717 
01718         //! The method identifier_set sets the field as_namespace_alias_declaration::identifier to the given value.
01719         void identifier_set(const ptr< as_identifier > &);
01720 
01721         //! The method ns_get returns the value of the field as_namespace_alias_declaration::ns.
01722         ptr< as_name > ns_get() const;
01723 
01724         //! The method ns_set sets the field as_namespace_alias_declaration::ns to the given value.
01725         void ns_set(const ptr< as_name > &);
01726 
01727         
01728         //! First generated factory method for class as_namespace_alias_declaration.
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         //! for purposes of dumping
01737         virtual ptr<reflection_list> reflection_get() const;
01738         //! for purposes of dumping
01739         virtual ptr<field_list_list> field_values_get() const;
01740         
01741 protected:
01742         //! Generated constructor for class as_namespace_alias_declaration.
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         //! Marking routine for class as_namespace_alias_declaration. 
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 }; // as_namespace_alias_declaration
01757 
01758 
01759 class as_namespace_definition : public as_declaration {
01760 public:
01761         //! The method name_get returns the value of the field as_namespace_definition::name.
01762         ptr< as_name > name_get() const;
01763 
01764         //! The method name_set sets the field as_namespace_definition::name to the given value.
01765         void name_set(const ptr< as_name > &);
01766 
01767         //! The method declarations_get returns the value of the field as_namespace_definition::declarations.
01768         ptr< ::lestes::std::list< srp< as_declaration > > > declarations_get() const;
01769 
01770         //! The method declarations_set sets the field as_namespace_definition::declarations to the given value.
01771         void declarations_set(const ptr< ::lestes::std::list< srp< as_declaration > > > & );
01772 
01773         
01774         //! First generated factory method for class as_namespace_definition.
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         //! for purposes of dumping
01783         virtual ptr<reflection_list> reflection_get() const;
01784         //! for purposes of dumping
01785         virtual ptr<field_list_list> field_values_get() const;
01786         
01787 protected:
01788         //! Generated constructor for class as_namespace_definition.
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         //! Marking routine for class as_namespace_definition. 
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 }; // as_namespace_definition
01803 
01804 
01805 class as_using : public as_block_declaration {
01806 public:
01807         //! The method name_get returns the value of the field as_using::name.
01808         ptr< as_name > name_get() const;
01809 
01810         //! The method name_set sets the field as_using::name to the given value.
01811         void name_set(const ptr< as_name > &);
01812 
01813         
01814         //! First generated factory method for class as_using.
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         //! for purposes of dumping
01822         virtual ptr<reflection_list> reflection_get() const;
01823         //! for purposes of dumping
01824         virtual ptr<field_list_list> field_values_get() const;
01825         
01826 protected:
01827         //! Generated constructor for class as_using.
01828         as_using (
01829                 ptr< ::lestes::std::source_location > a__as_base__location,
01830                 ptr< as_name > a__as_using__name);
01831 
01832         //! Marking routine for class as_using. 
01833         virtual void gc_mark();
01834 
01835 private:
01836         srp< as_name > name;
01837         static ptr<reflection_list> reflection;
01838         
01839 }; // as_using
01840 
01841 
01842 class as_using_declaration : public as_using {
01843 public:
01844         
01845         //! First generated factory method for class as_using_declaration.
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         //! for purposes of dumping
01853         virtual ptr<reflection_list> reflection_get() const;
01854         //! for purposes of dumping
01855         virtual ptr<field_list_list> field_values_get() const;
01856         
01857 protected:
01858         //! Generated constructor for class as_using_declaration.
01859         as_using_declaration (
01860                 ptr< ::lestes::std::source_location > a__as_base__location,
01861                 ptr< as_name > a__as_using__name);
01862 
01863         //! Marking routine for class as_using_declaration. 
01864         virtual void gc_mark();
01865 
01866 private:
01867         static ptr<reflection_list> reflection;
01868         
01869 }; // as_using_declaration
01870 
01871 
01872 class as_using_declaration_with_typename : public as_using_declaration {
01873 public:
01874         
01875         //! First generated factory method for class as_using_declaration_with_typename.
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         //! for purposes of dumping
01883         virtual ptr<reflection_list> reflection_get() const;
01884         //! for purposes of dumping
01885         virtual ptr<field_list_list> field_values_get() const;
01886         
01887 protected:
01888         //! Generated constructor for class as_using_declaration_with_typename.
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         //! Marking routine for class as_using_declaration_with_typename. 
01894         virtual void gc_mark();
01895 
01896 private:
01897         static ptr<reflection_list> reflection;
01898         
01899 }; // as_using_declaration_with_typename
01900 
01901 
01902 //! Access declaration, [11.3]
01903 class as_access_declaration : public as_using_declaration {
01904 public:
01905         
01906         //! First generated factory method for class as_access_declaration.
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         //! for purposes of dumping
01914         virtual ptr<reflection_list> reflection_get() const;
01915         //! for purposes of dumping
01916         virtual ptr<field_list_list> field_values_get() const;
01917         
01918 protected:
01919         //! Generated constructor for class as_access_declaration.
01920         as_access_declaration (
01921                 ptr< ::lestes::std::source_location > a__as_base__location,
01922                 ptr< as_name > a__as_using__name);
01923 
01924         //! Marking routine for class as_access_declaration. 
01925         virtual void gc_mark();
01926 
01927 private:
01928         static ptr<reflection_list> reflection;
01929         
01930 }; // as_access_declaration
01931 
01932 
01933 class as_using_directive : public as_using {
01934 public:
01935         
01936         //! First generated factory method for class as_using_directive.
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         //! for purposes of dumping
01944         virtual ptr<reflection_list> reflection_get() const;
01945         //! for purposes of dumping
01946         virtual ptr<field_list_list> field_values_get() const;
01947         
01948 protected:
01949         //! Generated constructor for class as_using_directive.
01950         as_using_directive (
01951                 ptr< ::lestes::std::source_location > a__as_base__location,
01952                 ptr< as_name > a__as_using__name);
01953 
01954         //! Marking routine for class as_using_directive. 
01955         virtual void gc_mark();
01956 
01957 private:
01958         static ptr<reflection_list> reflection;
01959         
01960 }; // as_using_directive
01961 
01962 
01963 class as_enumerator_definition : public ::lestes::intercode::as_base {
01964 public:
01965         //! The method enumerator_get returns the value of the field as_enumerator_definition::enumerator.
01966         ptr< as_identifier > enumerator_get() const;
01967 
01968         //! The method enumerator_set sets the field as_enumerator_definition::enumerator to the given value.
01969         void enumerator_set(const ptr< as_identifier > &);
01970 
01971         //! The method value_get returns the value of the field as_enumerator_definition::value.
01972         ptr< as_constant_expression > value_get() const;
01973 
01974         //! The method value_set sets the field as_enumerator_definition::value to the given value.
01975         void value_set(const ptr< as_constant_expression > &);
01976 
01977         
01978         //! First generated factory method for class as_enumerator_definition.
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         //! for purposes of dumping
01987         virtual ptr<reflection_list> reflection_get() const;
01988         //! for purposes of dumping
01989         virtual ptr<field_list_list> field_values_get() const;
01990         
01991 protected:
01992         //! Generated constructor for class as_enumerator_definition.
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         //! Marking routine for class as_enumerator_definition. 
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 }; // as_enumerator_definition
02007 
02008 
02009 class as_param_declaration : public ::lestes::intercode::as_base {
02010 public:
02011         //! The method declaration_specifiers_get returns the value of the field as_param_declaration::declaration_specifiers.
02012         ptr< ::lestes::std::list< srp< as_declaration_specifier > > > declaration_specifiers_get() const;
02013 
02014         //! The method declaration_specifiers_set sets the field as_param_declaration::declaration_specifiers to the given value.
02015         void declaration_specifiers_set(const ptr< ::lestes::std::list< srp< as_declaration_specifier > > > & );
02016 
02017         //! The method declarator_get returns the value of the field as_param_declaration::declarator.
02018         ptr< as_declarator > declarator_get() const;
02019 
02020         //! The method declarator_set sets the field as_param_declaration::declarator to the given value.
02021         void declarator_set(const ptr< as_declarator > &);
02022 
02023         //! The method initializer_get returns the value of the field as_param_declaration::initializer.
02024         ptr< as_expression > initializer_get() const;
02025 
02026         //! The method initializer_set sets the field as_param_declaration::initializer to the given value.
02027         void initializer_set(const ptr< as_expression > &);
02028 
02029         
02030         //! First generated factory method for class as_param_declaration.
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         //! for purposes of dumping
02040         virtual ptr<reflection_list> reflection_get() const;
02041         //! for purposes of dumping
02042         virtual ptr<field_list_list> field_values_get() const;
02043         
02044 protected:
02045         //! Generated constructor for class as_param_declaration.
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         //! Marking routine for class as_param_declaration. 
02053         virtual void gc_mark();
02054 
02055 private:
02056         srp< ::lestes::std::list< srp< as_declaration_specifier > > >  declaration_specifiers;
02057         /*! \brief The declaration, never NULL.
02058 
02059         
02060                                         When the declarator in source is empty, we still get non-null
02061                                         declarator -- it has null name and empty ops list.
02062                                 
02063         */
02064         srp< as_declarator > declarator;
02065         srp< as_expression > initializer;
02066         static ptr<reflection_list> reflection;
02067         
02068 }; // as_param_declaration
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         //! for purposes of dumping
02077         virtual ptr<reflection_list> reflection_get() const;
02078         //! for purposes of dumping
02079         virtual ptr<field_list_list> field_values_get() const;
02080         
02081 protected:
02082         //! Generated constructor for class as_access_specifier.
02083         as_access_specifier (
02084                 ptr< ::lestes::std::source_location > a__as_base__location);
02085 
02086         //! Marking routine for class as_access_specifier. 
02087         virtual void gc_mark();
02088 
02089 private:
02090         static ptr<reflection_list> reflection;
02091         
02092 }; // as_access_specifier
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         //! First generated factory method for class as_access_specifier_public.
02100         static ptr< as_access_specifier_public > create (
02101                 ptr< ::lestes::std::source_location > a__as_base__location);
02102 
02103         
02104 
02105         //! for purposes of dumping
02106         virtual ptr<reflection_list> reflection_get() const;
02107         //! for purposes of dumping
02108         virtual ptr<field_list_list> field_values_get() const;
02109         
02110 protected:
02111         //! Generated constructor for class as_access_specifier_public.
02112         as_access_specifier_public (
02113                 ptr< ::lestes::std::source_location > a__as_base__location);
02114 
02115         //! Marking routine for class as_access_specifier_public. 
02116         virtual void gc_mark();
02117 
02118 private:
02119         static ptr<reflection_list> reflection;
02120         
02121 }; // as_access_specifier_public
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         //! First generated factory method for class as_access_specifier_protected.
02129         static ptr< as_access_specifier_protected > create (
02130                 ptr< ::lestes::std::source_location > a__as_base__location);
02131 
02132         
02133 
02134         //! for purposes of dumping
02135         virtual ptr<reflection_list> reflection_get() const;
02136         //! for purposes of dumping
02137         virtual ptr<field_list_list> field_values_get() const;
02138         
02139 protected:
02140         //! Generated constructor for class as_access_specifier_protected.
02141         as_access_specifier_protected (
02142                 ptr< ::lestes::std::source_location > a__as_base__location);
02143 
02144         //! Marking routine for class as_access_specifier_protected. 
02145         virtual void gc_mark();
02146 
02147 private:
02148         static ptr<reflection_list> reflection;
02149         
02150 }; // as_access_specifier_protected
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         //! First generated factory method for class as_access_specifier_private.
02158         static ptr< as_access_specifier_private > create (
02159                 ptr< ::lestes::std::source_location > a__as_base__location);
02160 
02161         
02162 
02163         //! for purposes of dumping
02164         virtual ptr<reflection_list> reflection_get() const;
02165         //! for purposes of dumping
02166         virtual ptr<field_list_list> field_values_get() const;
02167         
02168 protected:
02169         //! Generated constructor for class as_access_specifier_private.
02170         as_access_specifier_private (
02171                 ptr< ::lestes::std::source_location > a__as_base__location);
02172 
02173         //! Marking routine for class as_access_specifier_private. 
02174         virtual void gc_mark();
02175 
02176 private:
02177         static ptr<reflection_list> reflection;
02178         
02179 }; // as_access_specifier_private
02180 
02181 
02182 class as_param_decl_clause : public ::lestes::intercode::as_base {
02183 public:
02184         //! The method parameters_get returns the value of the field as_param_decl_clause::parameters.
02185         ptr< ::lestes::std::list< srp< as_param_declaration > > > parameters_get() const;
02186 
02187         //! The method parameters_set sets the field as_param_decl_clause::parameters to the given value.
02188         void parameters_set(const ptr< ::lestes::std::list< srp< as_param_declaration > > > & );
02189 
02190         //! The method ellipsis_get returns the value of the field as_param_decl_clause::ellipsis.
02191         ptr< ::lestes::lang::cplus::lex::cpp_token > ellipsis_get() const;
02192 
02193         //! The method ellipsis_set sets the field as_param_decl_clause::ellipsis to the given value.
02194         void ellipsis_set(const ptr< ::lestes::lang::cplus::lex::cpp_token > &);
02195 
02196         
02197         //! First generated factory method for class as_param_decl_clause.
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         //! for purposes of dumping
02206         virtual ptr<reflection_list> reflection_get() const;
02207         //! for purposes of dumping
02208         virtual ptr<field_list_list> field_values_get() const;
02209         
02210 protected:
02211         //! Generated constructor for class as_param_decl_clause.
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         //! Marking routine for class as_param_decl_clause. 
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 }; // as_param_decl_clause
02226 
02227 
02228 //! Abstract base for declaration specifiers
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         //! for purposes of dumping
02235         virtual ptr<reflection_list> reflection_get() const;
02236         //! for purposes of dumping
02237         virtual ptr<field_list_list> field_values_get() const;
02238         
02239 protected:
02240         //! Generated constructor for class as_declaration_specifier.
02241         as_declaration_specifier (
02242                 ptr< ::lestes::std::source_location > a__as_base__location);
02243 
02244         //! Marking routine for class as_declaration_specifier. 
02245         virtual void gc_mark();
02246 
02247 private:
02248         static ptr<reflection_list> reflection;
02249         
02250 }; // as_declaration_specifier
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         //! for purposes of dumping
02259         virtual ptr<reflection_list> reflection_get() const;
02260         //! for purposes of dumping
02261         virtual ptr<field_list_list> field_values_get() const;
02262         
02263 protected:
02264         //! Generated constructor for class as_function_specifier.
02265         as_function_specifier (
02266                 ptr< ::lestes::std::source_location > a__as_base__location);
02267 
02268         //! Marking routine for class as_function_specifier. 
02269         virtual void gc_mark();
02270 
02271 private:
02272         static ptr<reflection_list> reflection;
02273         
02274 }; // as_function_specifier
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         //! First generated factory method for class as_function_specifier_inline.
02282         static ptr< as_function_specifier_inline > create (
02283                 ptr< ::lestes::std::source_location > a__as_base__location);
02284 
02285         
02286 
02287         //! for purposes of dumping
02288         virtual ptr<reflection_list> reflection_get() const;
02289         //! for purposes of dumping
02290         virtual ptr<field_list_list> field_values_get() const;
02291         
02292 protected:
02293         //! Generated constructor for class as_function_specifier_inline.
02294         as_function_specifier_inline (
02295                 ptr< ::lestes::std::source_location > a__as_base__location);
02296 
02297         //! Marking routine for class as_function_specifier_inline. 
02298         virtual void gc_mark();
02299 
02300 private:
02301         static ptr<reflection_list> reflection;
02302         
02303 }; // as_function_specifier_inline
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         //! First generated factory method for class as_function_specifier_virtual.
02311         static ptr< as_function_specifier_virtual > create (
02312                 ptr< ::lestes::std::source_location > a__as_base__location);
02313 
02314         
02315 
02316         //! for purposes of dumping
02317         virtual ptr<reflection_list> reflection_get() const;
02318         //! for purposes of dumping
02319         virtual ptr<field_list_list> field_values_get() const;
02320         
02321 protected:
02322         //! Generated constructor for class as_function_specifier_virtual.
02323         as_function_specifier_virtual (
02324                 ptr< ::lestes::std::source_location > a__as_base__location);
02325 
02326         //! Marking routine for class as_function_specifier_virtual. 
02327         virtual void gc_mark();
02328 
02329 private:
02330         static ptr<reflection_list> reflection;
02331         
02332 }; // as_function_specifier_virtual
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         //! First generated factory method for class as_function_specifier_explicit.
02340         static ptr< as_function_specifier_explicit > create (
02341                 ptr< ::lestes::std::source_location > a__as_base__location);
02342 
02343         
02344 
02345         //! for purposes of dumping
02346         virtual ptr<reflection_list> reflection_get() const;
02347         //! for purposes of dumping
02348         virtual ptr<field_list_list> field_values_get() const;
02349         
02350 protected:
02351         //! Generated constructor for class as_function_specifier_explicit.
02352         as_function_specifier_explicit (
02353                 ptr< ::lestes::std::source_location > a__as_base__location);
02354 
02355         //! Marking routine for class as_function_specifier_explicit. 
02356         virtual void gc_mark();
02357 
02358 private:
02359         static ptr<reflection_list> reflection;
02360         
02361 }; // as_function_specifier_explicit
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         //! First generated factory method for class as_friend_specifier.
02369         static ptr< as_friend_specifier > create (
02370                 ptr< ::lestes::std::source_location > a__as_base__location);
02371 
02372         
02373 
02374         //! for purposes of dumping
02375         virtual ptr<reflection_list> reflection_get() const;
02376         //! for purposes of dumping
02377         virtual ptr<field_list_list> field_values_get() const;
02378         
02379 protected:
02380         //! Generated constructor for class as_friend_specifier.
02381         as_friend_specifier (
02382                 ptr< ::lestes::std::source_location > a__as_base__location);
02383 
02384         //! Marking routine for class as_friend_specifier. 
02385         virtual void gc_mark();
02386 
02387 private:
02388         static ptr<reflection_list> reflection;
02389         
02390 }; // as_friend_specifier
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         //! First generated factory method for class as_typedef_specifier.
02398         static ptr< as_typedef_specifier > create (
02399                 ptr< ::lestes::std::source_location > a__as_base__location);
02400 
02401         
02402 
02403         //! for purposes of dumping
02404         virtual ptr<reflection_list> reflection_get() const;
02405         //! for purposes of dumping
02406         virtual ptr<field_list_list> field_values_get() const;
02407         
02408 protected:
02409         //! Generated constructor for class as_typedef_specifier.
02410         as_typedef_specifier (
02411                 ptr< ::lestes::std::source_location > a__as_base__location);
02412 
02413         //! Marking routine for class as_typedef_specifier. 
02414         virtual void gc_mark();
02415 
02416 private:
02417         static ptr<reflection_list> reflection;
02418         
02419 }; // as_typedef_specifier
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         //! for purposes of dumping
02428         virtual ptr<reflection_list> reflection_get() const;
02429         //! for purposes of dumping
02430         virtual ptr<field_list_list> field_values_get() const;
02431         
02432 protected:
02433         //! Generated constructor for class as_storage_class_specifier.
02434         as_storage_class_specifier (
02435                 ptr< ::lestes::std::source_location > a__as_base__location);
02436 
02437         //! Marking routine for class as_storage_class_specifier. 
02438         virtual void gc_mark();
02439 
02440 private:
02441         static ptr<reflection_list> reflection;
02442         
02443 }; // as_storage_class_specifier
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         //! First generated factory method for class as_storage_class_specifier_auto.
02451         static ptr< as_storage_class_specifier_auto > create (
02452                 ptr< ::lestes::std::source_location > a__as_base__location);
02453 
02454         
02455 
02456         //! for purposes of dumping
02457         virtual ptr<reflection_list> reflection_get() const;
02458         //! for purposes of dumping
02459         virtual ptr<field_list_list> field_values_get() const;
02460         
02461 protected:
02462         //! Generated constructor for class as_storage_class_specifier_auto.
02463         as_storage_class_specifier_auto (
02464                 ptr< ::lestes::std::source_location > a__as_base__location);
02465 
02466         //! Marking routine for class as_storage_class_specifier_auto. 
02467         virtual void gc_mark();
02468 
02469 private:
02470         static ptr<reflection_list> reflection;
02471         
02472 }; // as_storage_class_specifier_auto
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         //! First generated factory method for class as_storage_class_specifier_register.
02480         static ptr< as_storage_class_specifier_register > create (
02481                 ptr< ::lestes::std::source_location > a__as_base__location);
02482 
02483         
02484 
02485         //! for purposes of dumping
02486         virtual ptr<reflection_list> reflection_get() const;
02487         //! for purposes of dumping
02488         virtual ptr<field_list_list> field_values_get() const;
02489         
02490 protected:
02491         //! Generated constructor for class as_storage_class_specifier_register.
02492         as_storage_class_specifier_register (
02493                 ptr< ::lestes::std::source_location > a__as_base__location);
02494 
02495         //! Marking routine for class as_storage_class_specifier_register. 
02496         virtual void gc_mark();
02497 
02498 private:
02499         static ptr<reflection_list> reflection;
02500         
02501 }; // as_storage_class_specifier_register
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         //! First generated factory method for class as_storage_class_specifier_static.
02509         static ptr< as_storage_class_specifier_static > create (
02510                 ptr< ::lestes::std::source_location > a__as_base__location);
02511 
02512         
02513 
02514         //! for purposes of dumping
02515         virtual ptr<reflection_list> reflection_get() const;
02516         //! for purposes of dumping
02517         virtual ptr<field_list_list> field_values_get() const;
02518         
02519 protected:
02520         //! Generated constructor for class as_storage_class_specifier_static.
02521         as_storage_class_specifier_static (
02522                 ptr< ::lestes::std::source_location > a__as_base__location);
02523 
02524         //! Marking routine for class as_storage_class_specifier_static. 
02525         virtual void gc_mark();
02526 
02527 private:
02528         static ptr<reflection_list> reflection;
02529         
02530 }; // as_storage_class_specifier_static
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         //! First generated factory method for class as_storage_class_specifier_extern.
02538         static ptr< as_storage_class_specifier_extern > create (
02539                 ptr< ::lestes::std::source_location > a__as_base__location);
02540 
02541         
02542 
02543         //! for purposes of dumping
02544         virtual ptr<reflection_list> reflection_get() const;
02545         //! for purposes of dumping
02546         virtual ptr<field_list_list> field_values_get() const;
02547         
02548 protected:
02549         //! Generated constructor for class as_storage_class_specifier_extern.
02550         as_storage_class_specifier_extern (
02551                 ptr< ::lestes::std::source_location > a__as_base__location);
02552 
02553         //! Marking routine for class as_storage_class_specifier_extern. 
02554         virtual void gc_mark();
02555 
02556 private:
02557         static ptr<reflection_list> reflection;
02558         
02559 }; // as_storage_class_specifier_extern
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         //! First generated factory method for class as_storage_class_specifier_mutable.
02567         static ptr< as_storage_class_specifier_mutable > create (
02568                 ptr< ::lestes::std::source_location > a__as_base__location);
02569 
02570         
02571 
02572         //! for purposes of dumping
02573         virtual ptr<reflection_list> reflection_get() const;
02574         //! for purposes of dumping
02575         virtual ptr<field_list_list> field_values_get() const;
02576         
02577 protected:
02578         //! Generated constructor for class as_storage_class_specifier_mutable.
02579         as_storage_class_specifier_mutable (
02580                 ptr< ::lestes::std::source_location > a__as_base__location);
02581 
02582         //! Marking routine for class as_storage_class_specifier_mutable. 
02583         virtual void gc_mark();
02584 
02585 private:
02586         static ptr<reflection_list> reflection;
02587         
02588 }; // as_storage_class_specifier_mutable
02589 
02590 
02591 //! Abstract base class for type specifiers
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         //! for purposes of dumping
02598         virtual ptr<reflection_list> reflection_get() const;
02599         //! for purposes of dumping
02600         virtual ptr<field_list_list> field_values_get() const;
02601         
02602 protected:
02603         //! Generated constructor for class as_type_specifier.
02604         as_type_specifier (
02605                 ptr< ::lestes::std::source_location > a__as_base__location);
02606 
02607         //! Marking routine for class as_type_specifier. 
02608         virtual void gc_mark();
02609 
02610 private:
02611         static ptr<reflection_list> reflection;
02612         
02613 }; // as_type_specifier
02614 
02615 
02616 class as_enumeration_specifier : public as_type_specifier {
02617 public:
02618         //! The method name_get returns the value of the field as_enumeration_specifier::name.
02619         ptr< as_name > name_get() const;
02620 
02621         //! The method name_set sets the field as_enumeration_specifier::name to the given value.
02622         void name_set(const ptr< as_name > &);
02623 
02624         //! The method enumerators_get returns the value of the field as_enumeration_specifier::enumerators.
02625         ptr< ::lestes::std::list< srp< as_enumerator_definition > > > enumerators_get() const;
02626 
02627         //! The method enumerators_set sets the field as_enumeration_specifier::enumerators to the given value.
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         //! First generated factory method for class as_enumeration_specifier.
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         //! for purposes of dumping
02641         virtual ptr<reflection_list> reflection_get() const;
02642         //! for purposes of dumping
02643         virtual ptr<field_list_list> field_values_get() const;
02644         
02645 protected:
02646         //! Generated constructor for class as_enumeration_specifier.
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         //! Marking routine for class as_enumeration_specifier. 
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 }; // as_enumeration_specifier
02661 
02662 
02663 //! Abstract base class for simple type specifiers
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         //! for purposes of dumping
02670         virtual ptr<reflection_list> reflection_get() const;
02671         //! for purposes of dumping
02672         virtual ptr<field_list_list> field_values_get() const;
02673         
02674 protected:
02675         //! Generated constructor for class as_simple_type_specifier.
02676         as_simple_type_specifier (
02677                 ptr< ::lestes::std::source_location > a__as_base__location);
02678 
02679         //! Marking routine for class as_simple_type_specifier. 
02680         virtual void gc_mark();
02681 
02682 private:
02683         static ptr<reflection_list> reflection;
02684         
02685 }; // as_simple_type_specifier
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         //! for purposes of dumping
02694         virtual ptr<reflection_list> reflection_get() const;
02695         //! for purposes of dumping
02696         virtual ptr<field_list_list> field_values_get() const;
02697         
02698 protected:
02699         //! Generated constructor for class as_builtin_simple_type_specifier.
02700         as_builtin_simple_type_specifier (
02701                 ptr< ::lestes::std::source_location > a__as_base__location);
02702 
02703         //! Marking routine for class as_builtin_simple_type_specifier. 
02704         virtual void gc_mark();
02705 
02706 private:
02707         static ptr<reflection_list> reflection;
02708         
02709 }; // as_builtin_simple_type_specifier
02710 
02711 
02712 //! Simple type specifier class representing the keyword char
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         //! First generated factory method for class as_char_simple_type_specifier.
02718         static ptr< as_char_simple_type_specifier > create (
02719                 ptr< ::lestes::std::source_location > a__as_base__location);
02720 
02721         
02722 
02723         //! for purposes of dumping
02724         virtual ptr<reflection_list> reflection_get() const;
02725         //! for purposes of dumping
02726         virtual ptr<field_list_list> field_values_get() const;
02727         
02728 protected:
02729         //! Generated constructor for class as_char_simple_type_specifier.
02730         as_char_simple_type_specifier (
02731                 ptr< ::lestes::std::source_location > a__as_base__location);
02732 
02733         //! Marking routine for class as_char_simple_type_specifier. 
02734         virtual void gc_mark();
02735 
02736 private:
02737         static ptr<reflection_list> reflection;
02738         
02739 }; // as_char_simple_type_specifier
02740 
02741 
02742 //! Simple type specifier class representing the keyword wchar_t
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         //! First generated factory method for class as_wchar_t_simple_type_specifier.
02748         static ptr< as_wchar_t_simple_type_specifier > create (
02749                 ptr< ::lestes::std::source_location > a__as_base__location);
02750 
02751         
02752 
02753         //! for purposes of dumping
02754         virtual ptr<reflection_list> reflection_get() const;
02755         //! for purposes of dumping
02756         virtual ptr<field_list_list> field_values_get() const;
02757         
02758 protected:
02759         //! Generated constructor for class as_wchar_t_simple_type_specifier.
02760         as_wchar_t_simple_type_specifier (
02761                 ptr< ::lestes::std::source_location > a__as_base__location);
02762 
02763         //! Marking routine for class as_wchar_t_simple_type_specifier. 
02764         virtual void gc_mark();
02765 
02766 private:
02767         static ptr<reflection_list> reflection;
02768         
02769 }; // as_wchar_t_simple_type_specifier
02770 
02771 
02772 //! Simple type specifier class representing the keyword bool
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         //! First generated factory method for class as_bool_simple_type_specifier.
02778         static ptr< as_bool_simple_type_specifier > create (
02779                 ptr< ::lestes::std::source_location > a__as_base__location);
02780 
02781         
02782 
02783         //! for purposes of dumping
02784         virtual ptr<reflection_list> reflection_get() const;
02785         //! for purposes of dumping
02786         virtual ptr<field_list_list> field_values_get() const;
02787         
02788 protected:
02789         //! Generated constructor for class as_bool_simple_type_specifier.
02790         as_bool_simple_type_specifier (
02791                 ptr< ::lestes::std::source_location > a__as_base__location);
02792 
02793         //! Marking routine for class as_bool_simple_type_specifier. 
02794         virtual void gc_mark();
02795 
02796 private:
02797         static ptr<reflection_list> reflection;
02798         
02799 }; // as_bool_simple_type_specifier
02800 
02801 
02802 //! Simple type specifier class representing the keyword short
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         //! First generated factory method for class as_short_simple_type_specifier.
02808         static ptr< as_short_simple_type_specifier > create (
02809                 ptr< ::lestes::std::source_location > a__as_base__location);
02810 
02811         
02812 
02813         //! for purposes of dumping
02814         virtual ptr<reflection_list> reflection_get() const;
02815         //! for purposes of dumping
02816         virtual ptr<field_list_list> field_values_get() const;
02817         
02818 protected:
02819         //! Generated constructor for class as_short_simple_type_specifier.
02820         as_short_simple_type_specifier (
02821                 ptr< ::lestes::std::source_location > a__as_base__location);
02822 
02823         //! Marking routine for class as_short_simple_type_specifier. 
02824         virtual void gc_mark();
02825 
02826 private:
02827         static ptr<reflection_list> reflection;
02828         
02829 }; // as_short_simple_type_specifier
02830 
02831 
02832 //! Simple type specifier class representing the keyword int
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         //! First generated factory method for class as_int_simple_type_specifier.
02838         static ptr< as_int_simple_type_specifier > create (
02839                 ptr< ::lestes::std::source_location > a__as_base__location);
02840 
02841         
02842 
02843         //! for purposes of dumping
02844         virtual ptr<reflection_list> reflection_get() const;
02845         //! for purposes of dumping
02846         virtual ptr<field_list_list> field_values_get() const;
02847         
02848 protected:
02849         //! Generated constructor for class as_int_simple_type_specifier.
02850         as_int_simple_type_specifier (
02851                 ptr< ::lestes::std::source_location > a__as_base__location);
02852 
02853         //! Marking routine for class as_int_simple_type_specifier. 
02854         virtual void gc_mark();
02855 
02856 private:
02857         static ptr<reflection_list> reflection;
02858         
02859 }; // as_int_simple_type_specifier
02860 
02861 
02862 //! Simple type specifier class representing the keyword long
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         //! First generated factory method for class as_long_simple_type_specifier.
02868         static ptr< as_long_simple_type_specifier > create (
02869                 ptr< ::lestes::std::source_location > a__as_base__location);
02870 
02871         
02872 
02873         //! for purposes of dumping
02874         virtual ptr<reflection_list> reflection_get() const;
02875         //! for purposes of dumping
02876         virtual ptr<field_list_list> field_values_get() const;
02877         
02878 protected:
02879         //! Generated constructor for class as_long_simple_type_specifier.
02880         as_long_simple_type_specifier (
02881                 ptr< ::lestes::std::source_location > a__as_base__location);
02882 
02883         //! Marking routine for class as_long_simple_type_specifier. 
02884         virtual void gc_mark();
02885 
02886 private:
02887         static ptr<reflection_list> reflection;
02888         
02889 }; // as_long_simple_type_specifier
02890 
02891 
02892 //! Simple type specifier class representing the keyword signed
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         //! First generated factory method for class as_signed_simple_type_specifier.
02898         static ptr< as_signed_simple_type_specifier > create (
02899                 ptr< ::lestes::std::source_location > a__as_base__location);
02900 
02901         
02902 
02903         //! for purposes of dumping
02904         virtual ptr<reflection_list> reflection_get() const;
02905         //! for purposes of dumping
02906         virtual ptr<field_list_list> field_values_get() const;
02907         
02908 protected:
02909         //! Generated constructor for class as_signed_simple_type_specifier.
02910         as_signed_simple_type_specifier (
02911                 ptr< ::lestes::std::source_location > a__as_base__location);
02912 
02913         //! Marking routine for class as_signed_simple_type_specifier. 
02914         virtual void gc_mark();
02915 
02916 private:
02917         static ptr<reflection_list> reflection;
02918         
02919 }; // as_signed_simple_type_specifier
02920 
02921 
02922 //! Simple type specifier class representing the keyword unsigned
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         //! First generated factory method for class as_unsigned_simple_type_specifier.
02928         static ptr< as_unsigned_simple_type_specifier > create (
02929                 ptr< ::lestes::std::source_location > a__as_base__location);
02930 
02931         
02932 
02933         //! for purposes of dumping
02934         virtual ptr<reflection_list> reflection_get() const;
02935         //! for purposes of dumping
02936         virtual ptr<field_list_list> field_values_get() const;
02937         
02938 protected:
02939         //! Generated constructor for class as_unsigned_simple_type_specifier.
02940         as_unsigned_simple_type_specifier (
02941                 ptr< ::lestes::std::source_location > a__as_base__location);
02942 
02943         //! Marking routine for class as_unsigned_simple_type_specifier. 
02944         virtual void gc_mark();
02945 
02946 private:
02947         static ptr<reflection_list> reflection;
02948         
02949 }; // as_unsigned_simple_type_specifier
02950 
02951 
02952 //! Simple type specifier class representing the keyword float
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         //! First generated factory method for class as_float_simple_type_specifier.
02958         static ptr< as_float_simple_type_specifier > create (
02959                 ptr< ::lestes::std::source_location > a__as_base__location);
02960 
02961         
02962 
02963         //! for purposes of dumping
02964         virtual ptr<reflection_list> reflection_get() const;
02965         //! for purposes of dumping
02966         virtual ptr<field_list_list> field_values_get() const;
02967         
02968 protected:
02969         //! Generated constructor for class as_float_simple_type_specifier.
02970         as_float_simple_type_specifier (
02971                 ptr< ::lestes::std::source_location > a__as_base__location);
02972 
02973         //! Marking routine for class as_float_simple_type_specifier. 
02974         virtual void gc_mark();
02975 
02976 private:
02977         static ptr<reflection_list> reflection;
02978         
02979 }; // as_float_simple_type_specifier
02980 
02981 
02982 //! Simple type specifier class representing the keyword double
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         //! First generated factory method for class as_double_simple_type_specifier.
02988         static ptr< as_double_simple_type_specifier > create (
02989                 ptr< ::lestes::std::source_location > a__as_base__location);
02990 
02991         
02992 
02993         //! for purposes of dumping
02994         virtual ptr<reflection_list> reflection_get() const;
02995         //! for purposes of dumping
02996         virtual ptr<field_list_list> field_values_get() const;
02997         
02998 protected:
02999         //! Generated constructor for class as_double_simple_type_specifier.
03000         as_double_simple_type_specifier (
03001                 ptr< ::lestes::std::source_location > a__as_base__location);
03002 
03003         //! Marking routine for class as_double_simple_type_specifier. 
03004         virtual void gc_mark();
03005 
03006 private:
03007         static ptr<reflection_list> reflection;
03008         
03009 }; // as_double_simple_type_specifier
03010 
03011 
03012 //! Simple type specifier class representing the keyword void
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         //! First generated factory method for class as_void_simple_type_specifier.
03018         static ptr< as_void_simple_type_specifier > create (
03019                 ptr< ::lestes::std::source_location > a__as_base__location);
03020 
03021         
03022 
03023         //! for purposes of dumping
03024         virtual ptr<reflection_list> reflection_get() const;
03025         //! for purposes of dumping
03026         virtual ptr<field_list_list> field_values_get() const;
03027         
03028 protected:
03029         //! Generated constructor for class as_void_simple_type_specifier.
03030         as_void_simple_type_specifier (
03031                 ptr< ::lestes::std::source_location > a__as_base__location);
03032 
03033         //! Marking routine for class as_void_simple_type_specifier. 
03034         virtual void gc_mark();
03035 
03036 private:
03037         static ptr<reflection_list> reflection;
03038         
03039 }; // as_void_simple_type_specifier
03040 
03041 
03042 //! Abstract base for cv-qualifiers
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         //! for purposes of dumping
03050         virtual ptr<reflection_list> reflection_get() const;
03051         //! for purposes of dumping
03052         virtual ptr<field_list_list> field_values_get() const;
03053         
03054 protected:
03055         //! Generated constructor for class as_cv_qualifier.
03056         as_cv_qualifier (
03057                 ptr< ::lestes::std::source_location > a__as_base__location);
03058 
03059         //! Marking routine for class as_cv_qualifier. 
03060         virtual void gc_mark();
03061 
03062 private:
03063         static ptr<reflection_list> reflection;
03064         
03065 }; // as_cv_qualifier
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         //! First generated factory method for class as_cv_qualifier_const.
03074         static ptr< as_cv_qualifier_const > create (
03075                 ptr< ::lestes::std::source_location > a__as_base__location);
03076 
03077         
03078 
03079         //! for purposes of dumping
03080         virtual ptr<reflection_list> reflection_get() const;
03081         //! for purposes of dumping
03082         virtual ptr<field_list_list> field_values_get() const;
03083         
03084 protected:
03085         //! Generated constructor for class as_cv_qualifier_const.
03086         as_cv_qualifier_const (
03087                 ptr< ::lestes::std::source_location > a__as_base__location);
03088 
03089         //! Marking routine for class as_cv_qualifier_const. 
03090         virtual void gc_mark();
03091 
03092 private:
03093         static ptr<reflection_list> reflection;
03094         
03095 }; // as_cv_qualifier_const
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         //! First generated factory method for class as_cv_qualifier_volatile.
03104         static ptr< as_cv_qualifier_volatile > create (
03105                 ptr< ::lestes::std::source_location > a__as_base__location);
03106 
03107         
03108 
03109         //! for purposes of dumping
03110         virtual ptr<reflection_list> reflection_get() const;
03111         //! for purposes of dumping
03112         virtual ptr<field_list_list> field_values_get() const;
03113         
03114 protected:
03115         //! Generated constructor for class as_cv_qualifier_volatile.
03116         as_cv_qualifier_volatile (
03117                 ptr< ::lestes::std::source_location > a__as_base__location);
03118 
03119         //! Marking routine for class as_cv_qualifier_volatile. 
03120         virtual void gc_mark();
03121 
03122 private:
03123         static ptr<reflection_list> reflection;
03124         
03125 }; // as_cv_qualifier_volatile
03126 
03127 
03128 //! Restrict qualifier -- C99 specific
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         //! First generated factory method for class as_cv_qualifier_restrict.
03135         static ptr< as_cv_qualifier_restrict > create (
03136                 ptr< ::lestes::std::source_location > a__as_base__location);
03137 
03138         
03139 
03140         //! for purposes of dumping
03141         virtual ptr<reflection_list> reflection_get() const;
03142         //! for purposes of dumping
03143         virtual ptr<field_list_list> field_values_get() const;
03144         
03145 protected:
03146         //! Generated constructor for class as_cv_qualifier_restrict.
03147         as_cv_qualifier_restrict (
03148                 ptr< ::lestes::std::source_location > a__as_base__location);
03149 
03150         //! Marking routine for class as_cv_qualifier_restrict. 
03151         virtual void gc_mark();
03152 
03153 private:
03154         static ptr<reflection_list> reflection;
03155         
03156 }; // as_cv_qualifier_restrict
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         //! for purposes of dumping
03165         virtual ptr<reflection_list> reflection_get() const;
03166         //! for purposes of dumping
03167         virtual ptr<field_list_list> field_values_get() const;
03168         
03169 protected:
03170         //! Generated constructor for class as_elaborated_type_specifier.
03171         as_elaborated_type_specifier (
03172                 ptr< ::lestes::std::source_location > a__as_base__location);
03173 
03174         //! Marking routine for class as_elaborated_type_specifier. 
03175         virtual void gc_mark();
03176 
03177 private:
03178         static ptr<reflection_list> reflection;
03179         
03180 }; // as_elaborated_type_specifier
03181 
03182 
03183 class as_named_simple_type_specifier : public as_simple_type_specifier {
03184 public:
03185         //! The method name_get returns the value of the field as_named_simple_type_specifier::name.
03186         ptr< as_name > name_get() const;
03187 
03188         //! The method name_set sets the field as_named_simple_type_specifier::name to the given value.
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         //! First generated factory method for class as_named_simple_type_specifier.
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         //! for purposes of dumping
03201         virtual ptr<reflection_list> reflection_get() const;
03202         //! for purposes of dumping
03203         virtual ptr<field_list_list> field_values_get() const;
03204         
03205 protected:
03206         //! Generated constructor for class as_named_simple_type_specifier.
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         //! Marking routine for class as_named_simple_type_specifier. 
03212         virtual void gc_mark();
03213 
03214 private:
03215         srp< as_name > name;
03216         static ptr<reflection_list> reflection;
03217         
03218 }; // as_named_simple_type_specifier
03219 
03220 
03221 class as_exception_specification : public ::lestes::intercode::as_base {
03222 public:
03223         //! The method type_ids_get returns the value of the field as_exception_specification::type_ids.
03224         ptr< ::lestes::std::list< srp< as_type_id > > > type_ids_get() const;
03225 
03226         //! The method type_ids_set sets the field as_exception_specification::type_ids to the given value.
03227         void type_ids_set(const ptr< ::lestes::std::list< srp< as_type_id > > > & );
03228 
03229         
03230         //! First generated factory method for class as_exception_specification.
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         //! for purposes of dumping
03238         virtual ptr<reflection_list> reflection_get() const;
03239         //! for purposes of dumping
03240         virtual ptr<field_list_list> field_values_get() const;
03241         
03242 protected:
03243         //! Generated constructor for class as_exception_specification.
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         //! Marking routine for class as_exception_specification. 
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 }; // as_exception_specification
03256 
03257 
03258 class as_elaborated_type_specifier_typename : public as_elaborated_type_specifier {
03259 public:
03260         //! The method name_get returns the value of the field as_elaborated_type_specifier_typename::name.
03261         ptr< as_name > name_get() const;
03262 
03263         //! The method name_set sets the field as_elaborated_type_specifier_typename::name to the given value.
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         //! First generated factory method for class as_elaborated_type_specifier_typename.
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         //! for purposes of dumping
03276         virtual ptr<reflection_list> reflection_get() const;
03277         //! for purposes of dumping
03278         virtual ptr<field_list_list> field_values_get() const;
03279         
03280 protected:
03281         //! Generated constructor for class as_elaborated_type_specifier_typename.
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         //! Marking routine for class as_elaborated_type_specifier_typename. 
03287         virtual void gc_mark();
03288 
03289 private:
03290         srp< as_name > name;
03291         static ptr<reflection_list> reflection;
03292         
03293 }; // as_elaborated_type_specifier_typename
03294 
03295 
03296 class as_elaborated_type_specifier_tagged : public as_elaborated_type_specifier {
03297 public:
03298         //! The method name_get returns the value of the field as_elaborated_type_specifier_tagged::name.
03299         ptr< as_name > name_get() const;
03300 
03301         //! The method name_set sets the field as_elaborated_type_specifier_tagged::name to the given value.
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         //! for purposes of dumping
03308         virtual ptr<reflection_list> reflection_get() const;
03309         //! for purposes of dumping
03310         virtual ptr<field_list_list> field_values_get() const;
03311         
03312 protected:
03313         //! Generated constructor for class as_elaborated_type_specifier_tagged.
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         //! Marking routine for class as_elaborated_type_specifier_tagged. 
03319         virtual void gc_mark();
03320 
03321 private:
03322         srp< as_name > name;
03323         static ptr<reflection_list> reflection;
03324         
03325 }; // as_elaborated_type_specifier_tagged
03326 
03327 
03328 class as_elaborated_type_specifier_class_key : public as_elaborated_type_specifier_tagged {
03329 public:
03330         //! The method key_get returns the value of the field as_elaborated_type_specifier_class_key::key.
03331         ptr< as_class_key > key_get() const;
03332 
03333         //! The method key_set sets the field as_elaborated_type_specifier_class_key::key to the given value.
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         //! First generated factory method for class as_elaborated_type_specifier_class_key.
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         //! for purposes of dumping
03347         virtual ptr<reflection_list> reflection_get() const;
03348         //! for purposes of dumping
03349         virtual ptr<field_list_list> field_values_get() const;
03350         
03351 protected:
03352         //! Generated constructor for class as_elaborated_type_specifier_class_key.
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         //! Marking routine for class as_elaborated_type_specifier_class_key. 
03359         virtual void gc_mark();
03360 
03361 private:
03362         srp< as_class_key > key;
03363         static ptr<reflection_list> reflection;
03364         
03365 }; // as_elaborated_type_specifier_class_key
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         //! First generated factory method for class as_elaborated_type_specifier_enum.
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         //! for purposes of dumping
03380         virtual ptr<reflection_list> reflection_get() const;
03381         //! for purposes of dumping
03382         virtual ptr<field_list_list> field_values_get() const;
03383         
03384 protected:
03385         //! Generated constructor for class as_elaborated_type_specifier_enum.
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         //! Marking routine for class as_elaborated_type_specifier_enum. 
03391         virtual void gc_mark();
03392 
03393 private:
03394         static ptr<reflection_list> reflection;
03395         
03396 }; // as_elaborated_type_specifier_enum
03397 
03398 
03399 class as_template_argument : public ::lestes::intercode::as_base {
03400 public:
03401         
03402 
03403         //! for purposes of dumping
03404         virtual ptr<reflection_list> reflection_get() const;
03405         //! for purposes of dumping
03406         virtual ptr<field_list_list> field_values_get() const;
03407         
03408 protected:
03409         //! Generated constructor for class as_template_argument.
03410         as_template_argument (
03411                 ptr< ::lestes::std::source_location > a__as_base__location);
03412 
03413         //! Marking routine for class as_template_argument. 
03414         virtual void gc_mark();
03415 
03416 private:
03417         static ptr<reflection_list> reflection;
03418         
03419 }; // as_template_argument
03420 
03421 
03422 class as_non_type_template_argument : public as_template_argument {
03423 public:
03424         //! The method expression_get returns the value of the field as_non_type_template_argument::expression.
03425         ptr< as_expression > expression_get() const;
03426 
03427         //! The method expression_set sets the field as_non_type_template_argument::expression to the given value.
03428         void expression_set(const ptr< as_expression > &);
03429 
03430         
03431         //! First generated factory method for class as_non_type_template_argument.
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         //! for purposes of dumping
03439         virtual ptr<reflection_list> reflection_get() const;
03440         //! for purposes of dumping
03441         virtual ptr<field_list_list> field_values_get() const;
03442         
03443 protected:
03444         //! Generated constructor for class as_non_type_template_argument.
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         //! Marking routine for class as_non_type_template_argument. 
03450         virtual void gc_mark();
03451 
03452 private:
03453         srp< as_expression > expression;
03454         static ptr<reflection_list> reflection;
03455         
03456 }; // as_non_type_template_argument
03457 
03458 
03459 class as_type_template_argument : public as_template_argument {
03460 public:
03461         //! The method type_id_get returns the value of the field as_type_template_argument::type_id.
03462         ptr< as_type_id > type_id_get() const;
03463 
03464         //! The method type_id_set sets the field as_type_template_argument::type_id to the given value.
03465         void type_id_set(const ptr< as_type_id > &);
03466 
03467         
03468         //! First generated factory method for class as_type_template_argument.
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         //! for purposes of dumping
03476         virtual ptr<reflection_list> reflection_get() const;
03477         //! for purposes of dumping
03478         virtual ptr<field_list_list> field_values_get() const;
03479         
03480 protected:
03481         //! Generated constructor for class as_type_template_argument.
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         //! Marking routine for class as_type_template_argument. 
03487         virtual void gc_mark();
03488 
03489 private:
03490         srp< as_type_id > type_id;
03491         static ptr<reflection_list> reflection;
03492         
03493 }; // as_type_template_argument
03494 
03495 
03496 class as_declarator : public ::lestes::intercode::as_base {
03497 public:
03498         //! The method name_get returns the value of the field as_declarator::name.
03499         ptr< as_name > name_get() const;
03500 
03501         //! The method name_set sets the field as_declarator::name to the given value.
03502         void name_set(const ptr< as_name > &);
03503 
03504         //! The method declarator_ops_get returns the value of the field as_declarator::declarator_ops.
03505         ptr< ::lestes::std::list< srp< as_declarator_op > > > declarator_ops_get() const;
03506 
03507         //! The method declarator_ops_set sets the field as_declarator::declarator_ops to the given value.
03508         void declarator_ops_set(const ptr< ::lestes::std::list< srp< as_declarator_op > > > & );
03509 
03510         
03511         //! First generated factory method for class as_declarator.
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         //! for purposes of dumping
03520         virtual ptr<reflection_list> reflection_get() const;
03521         //! for purposes of dumping
03522         virtual ptr<field_list_list> field_values_get() const;
03523         
03524 protected:
03525         //! Generated constructor for class as_declarator.
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         //! Marking routine for class as_declarator. 
03532         virtual void gc_mark();
03533 
03534 private:
03535         //! declarator-id; set to NULL in abstract declarators
03536         srp< as_name > name;
03537         srp< ::lestes::std::list< srp< as_declarator_op > > >  declarator_ops;
03538         static ptr<reflection_list> reflection;
03539         
03540 }; // as_declarator
03541 
03542 
03543 //! Dummy node, used when creating as_function_definition that just bears the data for later use (eg. in _func_try_block).
03544 class as_dummy_declarator : public as_declarator {
03545 public:
03546         
03547         //! First generated factory method for class as_dummy_declarator.
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         //! for purposes of dumping
03556         virtual ptr<reflection_list> reflection_get() const;
03557         //! for purposes of dumping
03558         virtual ptr<field_list_list> field_values_get() const;
03559         
03560 protected:
03561         //! Generated constructor for class as_dummy_declarator.
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         //! Marking routine for class as_dummy_declarator. 
03568         virtual void gc_mark();
03569 
03570 private:
03571         static ptr<reflection_list> reflection;
03572         
03573 }; // as_dummy_declarator
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         //! for purposes of dumping
03582         virtual ptr<reflection_list> reflection_get() const;
03583         //! for purposes of dumping
03584         virtual ptr<field_list_list> field_values_get() const;
03585         
03586 protected:
03587         //! Generated constructor for class as_declarator_op.
03588         as_declarator_op (
03589                 ptr< ::lestes::std::source_location > a__as_base__location);
03590 
03591         //! Marking routine for class as_declarator_op. 
03592         virtual void gc_mark();
03593 
03594 private:
03595         static ptr<reflection_list> reflection;
03596         
03597 }; // as_declarator_op
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         //! for purposes of dumping
03606         virtual ptr<reflection_list> reflection_get() const;
03607         //! for purposes of dumping
03608         virtual ptr<field_list_list> field_values_get() const;
03609         
03610 protected:
03611         //! Generated constructor for class as_declarator_op_ptr.
03612         as_declarator_op_ptr (
03613                 ptr< ::lestes::std::source_location > a__as_base__location);
03614 
03615         //! Marking routine for class as_declarator_op_ptr. 
03616         virtual void gc_mark();
03617 
03618 private:
03619         static ptr<reflection_list> reflection;
03620         
03621 }; // as_declarator_op_ptr
03622 
03623 
03624 class as_ptr_op_star : public as_declarator_op_ptr {
03625 public:
03626         //! The method cv_qualifiers_get returns the value of the field as_ptr_op_star::cv_qualifiers.
03627         ptr< ::lestes::std::list< srp< as_cv_qualifier > > > cv_qualifiers_get() const;
03628 
03629         //! The method cv_qualifiers_set sets the field as_ptr_op_star::cv_qualifiers to the given value.
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         //! First generated factory method for class as_ptr_op_star.
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         //! for purposes of dumping
03642         virtual ptr<reflection_list> reflection_get() const;
03643         //! for purposes of dumping
03644         virtual ptr<field_list_list> field_values_get() const;
03645         
03646 protected:
03647         //! Generated constructor for class as_ptr_op_star.
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         //! Marking routine for class as_ptr_op_star. 
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 }; // as_ptr_op_star
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         //! First generated factory method for class as_ptr_op_amp.
03667         static ptr< as_ptr_op_amp > create (
03668                 ptr< ::lestes::std::source_location > a__as_base__location);
03669 
03670         
03671 
03672         //! for purposes of dumping
03673         virtual ptr<reflection_list> reflection_get() const;
03674         //! for purposes of dumping
03675         virtual ptr<field_list_list> field_values_get() const;
03676         
03677 protected:
03678         //! Generated constructor for class as_ptr_op_amp.
03679         as_ptr_op_amp (
03680                 ptr< ::lestes::std::source_location > a__as_base__location);
03681 
03682         //! Marking routine for class as_ptr_op_amp. 
03683         virtual void gc_mark();
03684 
03685 private:
03686         static ptr<reflection_list> reflection;
03687         
03688 }; // as_ptr_op_amp
03689 
03690 
03691 class as_ptr_op_member_ptr : public as_declarator_op_ptr {
03692 public:
03693         //! The method name_get returns the value of the field as_ptr_op_member_ptr::name.
03694         ptr< as_name > name_get() const;
03695 
03696         //! The method name_set sets the field as_ptr_op_member_ptr::name to the given value.
03697         void name_set(const ptr< as_name > &);
03698 
03699         //! The method cv_qualifiers_get returns the value of the field as_ptr_op_member_ptr::cv_qualifiers.
03700         ptr< ::lestes::std::list< srp< as_cv_qualifier > > > cv_qualifiers_get() const;
03701 
03702         //! The method cv_qualifiers_set sets the field as_ptr_op_member_ptr::cv_qualifiers to the given value.
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         //! First generated factory method for class as_ptr_op_member_ptr.
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         //! for purposes of dumping
03716         virtual ptr<reflection_list> reflection_get() const;
03717         //! for purposes of dumping
03718         virtual ptr<field_list_list> field_values_get() const;
03719         
03720 protected:
03721         //! Generated constructor for class as_ptr_op_member_ptr.
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         //! Marking routine for class as_ptr_op_member_ptr. 
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 }; // as_ptr_op_member_ptr
03736 
03737 
03738 class as_declarator_op_func : public as_declarator_op {
03739 public:
03740         //! The method parameters_get returns the value of the field as_declarator_op_func::parameters.
03741         ptr< as_param_decl_clause > parameters_get() const;
03742 
03743         //! The method parameters_set sets the field as_declarator_op_func::parameters to the given value.
03744         void parameters_set(const ptr< as_param_decl_clause > &);
03745 
03746         //! The method cv_qualifiers_get returns the value of the field as_declarator_op_func::cv_qualifiers.
03747         ptr< ::lestes::std::list< srp< as_cv_qualifier > > > cv_qualifiers_get() const;
03748 
03749         //! The method cv_qualifiers_set sets the field as_declarator_op_func::cv_qualifiers to the given value.
03750         void cv_qualifiers_set(const ptr< ::lestes::std::list< srp< as_cv_qualifier > > > & );
03751 
03752         //! The method exception_specification_get returns the value of the field as_declarator_op_func::exception_specification.
03753         ptr< as_exception_specification > exception_specification_get() const;
03754 
03755         //! The method exception_specification_set sets the field as_declarator_op_func::exception_specification to the given value.
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         //! First generated factory method for class as_declarator_op_func.
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         //! for purposes of dumping
03770         virtual ptr<reflection_list> reflection_get() const;
03771         //! for purposes of dumping
03772         virtual ptr<field_list_list> field_values_get() const;
03773         
03774 protected:
03775         //! Generated constructor for class as_declarator_op_func.
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         //! Marking routine for class as_declarator_op_func. 
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 }; // as_declarator_op_func
03792 
03793 
03794 class as_declarator_op_array : public as_declarator_op {
03795 public:
03796         //! The method constant_expression_get returns the value of the field as_declarator_op_array::constant_expression.
03797         ptr< as_constant_expression > constant_expression_get() const;
03798 
03799         //! The method constant_expression_set sets the field as_declarator_op_array::constant_expression to the given value.
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         //! First generated factory method for class as_declarator_op_array.
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         //! for purposes of dumping
03812         virtual ptr<reflection_list> reflection_get() const;
03813         //! for purposes of dumping
03814         virtual ptr<field_list_list> field_values_get() const;
03815         
03816 protected:
03817         //! Generated constructor for class as_declarator_op_array.
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         //! Marking routine for class as_declarator_op_array. 
03823         virtual void gc_mark();
03824 
03825 private:
03826         srp< as_constant_expression > constant_expression;
03827         static ptr<reflection_list> reflection;
03828         
03829 }; // as_declarator_op_array
03830 
03831 
03832 class as_declarator_op_non_constant_array : public as_declarator_op {
03833 public:
03834         //! The method expression_get returns the value of the field as_declarator_op_non_constant_array::expression.
03835         ptr< as_expression > expression_get() const;
03836 
03837         //! The method expression_set sets the field as_declarator_op_non_constant_array::expression to the given value.
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         //! First generated factory method for class as_declarator_op_non_constant_array.
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         //! for purposes of dumping
03850         virtual ptr<reflection_list> reflection_get() const;
03851         //! for purposes of dumping
03852         virtual ptr<field_list_list> field_values_get() const;
03853         
03854 protected:
03855         //! Generated constructor for class as_declarator_op_non_constant_array.
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         //! Marking routine for class as_declarator_op_non_constant_array. 
03861         virtual void gc_mark();
03862 
03863 private:
03864         srp< as_expression > expression;
03865         static ptr<reflection_list> reflection;
03866         
03867 }; // as_declarator_op_non_constant_array
03868 
03869 
03870 class as_type_id : public ::lestes::intercode::as_base {
03871 public:
03872         //! The method type_specifiers_get returns the value of the field as_type_id::type_specifiers.
03873         ptr< ::lestes::std::list< srp< as_type_specifier > > > type_specifiers_get() const;
03874 
03875         //! The method type_specifiers_set sets the field as_type_id::type_specifiers to the given value.
03876         void type_specifiers_set(const ptr< ::lestes::std::list< srp< as_type_specifier > > > & );
03877 
03878         //! The method declarator_get returns the value of the field as_type_id::declarator.
03879         ptr< as_declarator > declarator_get() const;
03880 
03881         //! The method declarator_set sets the field as_type_id::declarator to the given value.
03882         void declarator_set(const ptr< as_declarator > &);
03883 
03884         
03885         //! First generated factory method for class as_type_id.
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         //! for purposes of dumping
03894         virtual ptr<reflection_list> reflection_get() const;
03895         //! for purposes of dumping
03896         virtual ptr<field_list_list> field_values_get() const;
03897         
03898 protected:
03899         //! Generated constructor for class as_type_id.
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         //! Marking routine for class as_type_id. 
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 }; // as_type_id
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         //! for purposes of dumping
03922         virtual ptr<reflection_list> reflection_get() const;
03923         //! for purposes of dumping
03924         virtual ptr<field_list_list> field_values_get() const;
03925         
03926 protected:
03927         //! Generated constructor for class as_class_key.
03928         as_class_key (
03929                 ptr< ::lestes::std::source_location > a__as_base__location);
03930 
03931         //! Marking routine for class as_class_key. 
03932         virtual void gc_mark();
03933 
03934 private:
03935         static ptr<reflection_list> reflection;
03936         
03937 }; // as_class_key
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         //! First generated factory method for class as_class_key_class.
03945         static ptr< as_class_key_class > create (
03946                 ptr< ::lestes::std::source_location > a__as_base__location);
03947 
03948         
03949 
03950         //! for purposes of dumping
03951         virtual ptr<reflection_list> reflection_get() const;
03952         //! for purposes of dumping
03953         virtual ptr<field_list_list> field_values_get() const;
03954         
03955 protected:
03956         //! Generated constructor for class as_class_key_class.
03957         as_class_key_class (
03958                 ptr< ::lestes::std::source_location > a__as_base__location);
03959 
03960         //! Marking routine for class as_class_key_class. 
03961         virtual void gc_mark();
03962 
03963 private:
03964         static ptr<reflection_list> reflection;
03965         
03966 }; // as_class_key_class
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         //! First generated factory method for class as_class_key_struct.
03974         static ptr< as_class_key_struct > create (
03975                 ptr< ::lestes::std::source_location > a__as_base__location);
03976 
03977         
03978 
03979         //! for purposes of dumping
03980         virtual ptr<reflection_list> reflection_get() const;
03981         //! for purposes of dumping
03982         virtual ptr<field_list_list> field_values_get() const;
03983         
03984 protected:
03985         //! Generated constructor for class as_class_key_struct.
03986         as_class_key_struct (
03987                 ptr< ::lestes::std::source_location > a__as_base__location);
03988 
03989         //! Marking routine for class as_class_key_struct. 
03990         virtual void gc_mark();
03991 
03992 private:
03993         static ptr<reflection_list> reflection;
03994         
03995 }; // as_class_key_struct
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         //! First generated factory method for class as_class_key_union.
04003         static ptr< as_class_key_union > create (
04004                 ptr< ::lestes::std::source_location > a__as_base__location);
04005 
04006         
04007 
04008         //! for purposes of dumping
04009         virtual ptr<reflection_list> reflection_get() const;
04010         //! for purposes of dumping
04011         virtual ptr<field_list_list> field_values_get() const;
04012         
04013 protected:
04014         //! Generated constructor for class as_class_key_union.
04015         as_class_key_union (
04016                 ptr< ::lestes::std::source_location > a__as_base__location);
04017 
04018         //! Marking routine for class as_class_key_union. 
04019         virtual void gc_mark();
04020 
04021 private:
04022         static ptr<reflection_list> reflection;
04023         
04024 }; // as_class_key_union
04025 
04026 
04027 class as_member_declaration : public ::lestes::intercode::as_base {
04028 public:
04029         //! The method access_specifier_get returns the value of the field as_member_declaration::access_specifier.
04030         ptr< as_access_specifier > access_specifier_get() const;
04031 
04032         //! The method access_specifier_set sets the field as_member_declaration::access_specifier to the given value.
04033         void access_specifier_set(const ptr< as_access_specifier > &);
04034 
04035         
04036 
04037         //! for purposes of dumping
04038         virtual ptr<reflection_list> reflection_get() const;
04039         //! for purposes of dumping
04040         virtual ptr<field_list_list> field_values_get() const;
04041         
04042 protected:
04043         //! Generated constructor for class as_member_declaration.
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         //! Marking routine for class as_member_declaration. 
04049         virtual void gc_mark();
04050 
04051 private:
04052         srp< as_access_specifier > access_specifier;
04053         static ptr<reflection_list> reflection;
04054         
04055 }; // as_member_declaration
04056 
04057 
04058 class as_member_using_declaration : public as_member_declaration {
04059 public:
04060         //! The method using_declaration_get returns the value of the field as_member_using_declaration::using_declaration.
04061         ptr< as_using_declaration > using_declaration_get() const;
04062 
04063         //! The method using_declaration_set sets the field as_member_using_declaration::using_declaration to the given value.
04064         void using_declaration_set(const ptr< as_using_declaration > &);
04065 
04066         
04067         //! First generated factory method for class as_member_using_declaration.
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         //! for purposes of dumping
04076         virtual ptr<reflection_list> reflection_get() const;
04077         //! for purposes of dumping
04078         virtual ptr<field_list_list> field_values_get() const;
04079         
04080 protected:
04081         //! Generated constructor for class as_member_using_declaration.
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         //! Marking routine for class as_member_using_declaration. 
04088         virtual void gc_mark();
04089 
04090 private:
04091         srp< as_using_declaration > using_declaration;
04092         static ptr<reflection_list> reflection;
04093         
04094 }; // as_member_using_declaration
04095 
04096 
04097 class as_member_template_declaration : public as_member_declaration {
04098 public:
04099         //! The method exported_get returns the value of the field as_member_template_declaration::exported.
04100         ptr< ::lestes::lang::cplus::lex::cpp_token > exported_get() const;
04101 
04102         //! The method exported_set sets the field as_member_template_declaration::exported to the given value.
04103         void exported_set(const ptr< ::lestes::lang::cplus::lex::cpp_token > &);
04104 
04105         //! The method template_params_get returns the value of the field as_member_template_declaration::template_params.
04106         ptr< ::lestes::std::list< srp< as_template_param > > > template_params_get() const;
04107 
04108         //! The method template_params_set sets the field as_member_template_declaration::template_params to the given value.
04109         void template_params_set(const ptr< ::lestes::std::list< srp< as_template_param > > > & );
04110 
04111         //! The method declararion_get returns the value of the field as_member_template_declaration::declararion.
04112         ptr< as_member_declaration > declararion_get() const;
04113 
04114         //! The method declararion_set sets the field as_member_template_declaration::declararion to the given value.
04115         void declararion_set(const ptr< as_member_declaration > &);
04116 
04117         
04118         //! First generated factory method for class as_member_template_declaration.
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         //! for purposes of dumping
04129         virtual ptr<reflection_list> reflection_get() const;
04130         //! for purposes of dumping
04131         virtual ptr<field_list_list> field_values_get() const;
04132         
04133 protected:
04134         //! Generated constructor for class as_member_template_declaration.
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         //! Marking routine for class as_member_template_declaration. 
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 }; // as_member_template_declaration
04152 
04153 
04154 class as_member_function_definition : public as_member_declaration {
04155 public:
04156         //! The method function_definition_get returns the value of the field as_member_function_definition::function_definition.
04157         ptr< as_function_definition > function_definition_get() const;
04158 
04159         //! The method function_definition_set sets the field as_member_function_definition::function_definition to the given value.
04160         void function_definition_set(const ptr< as_function_definition > &);
04161 
04162         
04163         //! First generated factory method for class as_member_function_definition.
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         //! for purposes of dumping
04172         virtual ptr<reflection_list> reflection_get() const;
04173         //! for purposes of dumping
04174         virtual ptr<field_list_list> field_values_get() const;
04175         
04176 protected:
04177         //! Generated constructor for class as_member_function_definition.
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         //! Marking routine for class as_member_function_definition. 
04184         virtual void gc_mark();
04185 
04186 private:
04187         srp< as_function_definition > function_definition;
04188         static ptr<reflection_list> reflection;
04189         
04190 }; // as_member_function_definition
04191 
04192 
04193 class as_member_declaration_ordinary : public as_member_declaration {
04194 public:
04195         //! The method declaration_specifiers_get returns the value of the field as_member_declaration_ordinary::declaration_specifiers.
04196         ptr< ::lestes::std::list< srp< as_declaration_specifier > > > declaration_specifiers_get() const;
04197 
04198         //! The method declaration_specifiers_set sets the field as_member_declaration_ordinary::declaration_specifiers to the given value.
04199         void declaration_specifiers_set(const ptr< ::lestes::std::list< srp< as_declaration_specifier > > > & );
04200 
04201         //! The method declarators_get returns the value of the field as_member_declaration_ordinary::declarators.
04202         ptr< ::lestes::std::list< srp< as_member_declarator > > > declarators_get() const;
04203 
04204         //! The method declarators_set sets the field as_member_declaration_ordinary::declarators to the given value.
04205         void declarators_set(const ptr< ::lestes::std::list< srp< as_member_declarator > > > & );
04206 
04207         
04208         //! First generated factory method for class as_member_declaration_ordinary.
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         //! for purposes of dumping
04218         virtual ptr<reflection_list> reflection_get() const;
04219         //! for purposes of dumping
04220         virtual ptr<field_list_list> field_values_get() const;
04221         
04222 protected:
04223         //! Generated constructor for class as_member_declaration_ordinary.
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         //! Marking routine for class as_member_declaration_ordinary. 
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 }; // as_member_declaration_ordinary
04239 
04240 
04241 class as_member_declarator : public ::lestes::intercode::as_base {
04242 public:
04243         
04244 
04245         //! for purposes of dumping
04246         virtual ptr<reflection_list> reflection_get() const;
04247         //! for purposes of dumping
04248         virtual ptr<field_list_list> field_values_get() const;
04249         
04250 protected:
04251         //! Generated constructor for class as_member_declarator.
04252         as_member_declarator (
04253                 ptr< ::lestes::std::source_location > a__as_base__location);
04254 
04255         //! Marking routine for class as_member_declarator. 
04256         virtual void gc_mark();
04257 
04258 private:
04259         static ptr<reflection_list> reflection;
04260         
04261 }; // as_member_declarator
04262 
04263 
04264 class as_bitfield_member_declarator : public as_member_declarator {
04265 public:
04266         //! The method name_get returns the value of the field as_bitfield_member_declarator::name.
04267         ptr< as_name > name_get() const;
04268 
04269         //! The method name_set sets the field as_bitfield_member_declarator::name to the given value.
04270         void name_set(const ptr< as_name > &);
04271 
04272         //! The method width_get returns the value of the field as_bitfield_member_declarator::width.
04273         ptr< as_constant_expression > width_get() const;
04274 
04275         //! The method width_set sets the field as_bitfield_member_declarator::width to the given value.
04276         void width_set(const ptr< as_constant_expression > &);
04277 
04278         
04279         //! First generated factory method for class as_bitfield_member_declarator.
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         //! for purposes of dumping
04288         virtual ptr<reflection_list> reflection_get() const;
04289         //! for purposes of dumping
04290         virtual ptr<field_list_list> field_values_get() const;
04291         
04292 protected:
04293         //! Generated constructor for class as_bitfield_member_declarator.
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         //! Marking routine for class as_bitfield_member_declarator. 
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 }; // as_bitfield_member_declarator
04308 
04309 
04310 class as_ordinary_member_declarator : public as_member_declarator {
04311 public:
04312         //! The method declarator_get returns the value of the field as_ordinary_member_declarator::declarator.
04313         ptr< as_declarator > declarator_get() const;
04314 
04315         //! The method declarator_set sets the field as_ordinary_member_declarator::declarator to the given value.
04316         void declarator_set(const ptr< as_declarator > &);
04317 
04318         
04319         //! First generated factory method for class as_ordinary_member_declarator.
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         //! for purposes of dumping
04327         virtual ptr<reflection_list> reflection_get() const;
04328         //! for purposes of dumping
04329         virtual ptr<field_list_list> field_values_get() const;
04330         
04331 protected:
04332         //! Generated constructor for class as_ordinary_member_declarator.
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         //! Marking routine for class as_ordinary_member_declarator. 
04338         virtual void gc_mark();
04339 
04340 private:
04341         srp< as_declarator > declarator;
04342         static ptr<reflection_list> reflection;
04343         
04344 }; // as_ordinary_member_declarator
04345 
04346 
04347 class as_initialized_member_declarator : public as_ordinary_member_declarator {
04348 public:
04349         //! The method initializer_get returns the value of the field as_initialized_member_declarator::initializer.
04350         ptr< as_constant_expression > initializer_get() const;
04351 
04352         //! The method initializer_set sets the field as_initialized_member_declarator::initializer to the given value.
04353         void initializer_set(const ptr< as_constant_expression > &);
04354 
04355         
04356         //! First generated factory method for class as_initialized_member_declarator.
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         //! for purposes of dumping
04365         virtual ptr<reflection_list> reflection_get() const;
04366         //! for purposes of dumping
04367         virtual ptr<field_list_list> field_values_get() const;
04368         
04369 protected:
04370         //! Generated constructor for class as_initialized_member_declarator.
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         //! Marking routine for class as_initialized_member_declarator. 
04377         virtual void gc_mark();
04378 
04379 private:
04380         srp< as_constant_expression > initializer;
04381         static ptr<reflection_list> reflection;
04382         
04383 }; // as_initialized_member_declarator
04384 
04385 
04386 class as_pure_member_declarator : public as_ordinary_member_declarator {
04387 public:
04388         //! The method pure_specifier_get returns the value of the field as_pure_member_declarator::pure_specifier.
04389         ptr< ::lestes::lang::cplus::lex::cpp_token > pure_specifier_get() const;
04390 
04391         //! The method pure_specifier_set sets the field as_pure_member_declarator::pure_specifier to the given value.
04392         void pure_specifier_set(const ptr< ::lestes::lang::cplus::lex::cpp_token > &);
04393 
04394         
04395         //! First generated factory method for class as_pure_member_declarator.
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         //! for purposes of dumping
04404         virtual ptr<reflection_list> reflection_get() const;
04405         //! for purposes of dumping
04406         virtual ptr<field_list_list> field_values_get() const;
04407         
04408 protected:
04409         //! Generated constructor for class as_pure_member_declarator.
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         //! Marking routine for class as_pure_member_declarator. 
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 }; // as_pure_member_declarator
04423 
04424 
04425 class as_class_specifier : public as_type_specifier {
04426 public:
04427         //! The method key_get returns the value of the field as_class_specifier::key.
04428         ptr< as_class_key > key_get() const;
04429 
04430         //! The method key_set sets the field as_class_specifier::key to the given value.
04431         void key_set(const ptr< as_class_key > &);
04432 
04433         //! The method name_get returns the value of the field as_class_specifier::name.
04434         ptr< as_name > name_get() const;
04435 
04436         //! The method name_set sets the field as_class_specifier::name to the given value.
04437         void name_set(const ptr< as_name > &);
04438 
04439         //! The method base_specifiers_get returns the value of the field as_class_specifier::base_specifiers.
04440         ptr< ::lestes::std::list< srp< as_base_specifier > > > base_specifiers_get() const;
04441 
04442         //! The method base_specifiers_set sets the field as_class_specifier::base_specifiers to the given value.
04443         void base_specifiers_set(const ptr< ::lestes::std::list< srp< as_base_specifier > > > & );
04444 
04445         //! The method member_declarations_get returns the value of the field as_class_specifier::member_declarations.
04446         ptr< ::lestes::std::list< srp< as_member_declaration > > > member_declarations_get() const;
04447 
04448         //! The method member_declarations_set sets the field as_class_specifier::member_declarations to the given value.
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         //! First generated factory method for class as_class_specifier.
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         //! for purposes of dumping
04464         virtual ptr<reflection_list> reflection_get() const;
04465         //! for purposes of dumping
04466         virtual ptr<field_list_list> field_values_get() const;
04467         
04468 protected:
04469         //! Generated constructor for class as_class_specifier.
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         //! Marking routine for class as_class_specifier. 
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 }; // as_class_specifier
04488 
04489 
04490 class as_class_forward_member_declaration : public as_member_declaration {
04491 public:
04492         //! The method key_get returns the value of the field as_class_forward_member_declaration::key.
04493         ptr< as_class_key > key_get() const;
04494 
04495         //! The method key_set sets the field as_class_forward_member_declaration::key to the given value.
04496         void key_set(const ptr< as_class_key > &);
04497 
04498         //! The method identifier_get returns the value of the field as_class_forward_member_declaration::identifier.
04499         ptr< as_identifier > identifier_get() const;
04500 
04501         //! The method identifier_set sets the field as_class_forward_member_declaration::identifier to the given value.
04502         void identifier_set(const ptr< as_identifier > &);
04503 
04504         
04505         //! First generated factory method for class as_class_forward_member_declaration.
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         //! for purposes of dumping
04515         virtual ptr<reflection_list> reflection_get() const;
04516         //! for purposes of dumping
04517         virtual ptr<field_list_list> field_values_get() const;
04518         
04519 protected:
04520         //! Generated constructor for class as_class_forward_member_declaration.
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         //! Marking routine for class as_class_forward_member_declaration. 
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 }; // as_class_forward_member_declaration
04536 
04537 
04538 class as_class_forward_declaration : public as_block_declaration {
04539 public:
04540         //! The method key_get returns the value of the field as_class_forward_declaration::key.
04541         ptr< as_class_key > key_get() const;
04542 
04543         //! The method key_set sets the field as_class_forward_declaration::key to the given value.
04544         void key_set(const ptr< as_class_key > &);
04545 
04546         //! The method identifier_get returns the value of the field as_class_forward_declaration::identifier.
04547         ptr< as_identifier > identifier_get() const;
04548 
04549         //! The method identifier_set sets the field as_class_forward_declaration::identifier to the given value.
04550         void identifier_set(const ptr< as_identifier > &);
04551 
04552         
04553         //! First generated factory method for class as_class_forward_declaration.
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         //! for purposes of dumping
04562         virtual ptr<reflection_list> reflection_get() const;
04563         //! for purposes of dumping
04564         virtual ptr<field_list_list> field_values_get() const;
04565         
04566 protected:
04567         //! Generated constructor for class as_class_forward_declaration.
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         //! Marking routine for class as_class_forward_declaration. 
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 }; // as_class_forward_declaration
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

Generated on Mon Feb 12 18:27:06 2007 for lestes by doxygen 1.5.1-20070107