as_statements.g.cc

Go to the documentation of this file.
00001 // This file is automatically generated, do not edit.
00002 
00003 #include <lestes/lang/cplus/sem/as_decl.g.hh>
00004 #include <lestes/lang/cplus/sem/as_expr.g.hh>
00005 #include <lestes/lang/cplus/sem/as_visitor.v.g.hh>
00006 
00007 #include <lestes/std/list.hh>
00008 #include <lestes/std/pair.hh>
00009 #include <lestes/std/reflect.hh>
00010 
00011 #include <lestes/lang/cplus/sem/as_statements.g.hh>
00012 
00013 package(lestes);
00014 package(lang);
00015 package(cplus);
00016 package(sem);
00017 
00018 
00019 // ------------- Class as_statement follows. -------------
00020 
00021 /*!
00022    Generated constructor for class as_statement.
00023    \author lsg
00024  */
00025 as_statement::as_statement (ptr< ::lestes::std::source_location > a__as_base__location)
00026         : as_base(a__as_base__location)
00027 {}
00028 
00029 ptr< object::reflection_list > as_statement::reflection_get() const
00030 {
00031         if (!reflection) {
00032                 typedef class_reflection::field_metadata md;
00033                 typedef class_reflection::field_metadata_list mdlist;
00034                 ptr<mdlist> mdl = mdlist::create();
00035                 reflection = reflection_list::create( ::lestes::intercode::as_base::reflection_get() );
00036                 reflection->push_back( class_reflection::create( "as_statement", mdl ) );
00037         }
00038         return reflection;
00039 }
00040 
00041 ptr< object::field_list_list > as_statement::field_values_get() const
00042 {
00043         ptr < field_list_list > result = ::lestes::intercode::as_base::field_values_get();
00044         return result;
00045 }
00046 
00047 
00048 /*!
00049    Marking routine is used for garbage collection.
00050    \author lsg
00051  */
00052 void as_statement::gc_mark()
00053 {
00054 	::lestes::intercode::as_base::gc_mark();
00055 }
00056 
00057 // End of class as_statement.
00058 
00059 // ------------- Class as_dummy_statement follows. -------------
00060 
00061 void as_dummy_statement::accept_as_statement_visitor( ptr< as_statement_visitor > v )
00062 {
00063         return v->visit_as_dummy_statement( this );
00064 }
00065 
00066 /*!
00067    This factory method for class as_dummy_statement takes values of all fields as arguments.
00068    \author lsg
00069  */
00070 ptr< as_dummy_statement > as_dummy_statement::create(ptr< ::lestes::std::source_location > a__as_base__location)
00071 {
00072         return ptr< as_dummy_statement > ( new as_dummy_statement(a__as_base__location) );
00073 }
00074 
00075 /*!
00076    Generated constructor for class as_dummy_statement.
00077    \author lsg
00078  */
00079 as_dummy_statement::as_dummy_statement (ptr< ::lestes::std::source_location > a__as_base__location)
00080         : as_statement(a__as_base__location)
00081 {}
00082 
00083 ptr< object::reflection_list > as_dummy_statement::reflection_get() const
00084 {
00085         if (!reflection) {
00086                 typedef class_reflection::field_metadata md;
00087                 typedef class_reflection::field_metadata_list mdlist;
00088                 ptr<mdlist> mdl = mdlist::create();
00089                 reflection = reflection_list::create( as_statement::reflection_get() );
00090                 reflection->push_back( class_reflection::create( "as_dummy_statement", mdl ) );
00091         }
00092         return reflection;
00093 }
00094 
00095 ptr< object::field_list_list > as_dummy_statement::field_values_get() const
00096 {
00097         ptr < field_list_list > result = as_statement::field_values_get();
00098         return result;
00099 }
00100 
00101 
00102 /*!
00103    Marking routine is used for garbage collection.
00104    \author lsg
00105  */
00106 void as_dummy_statement::gc_mark()
00107 {
00108         as_statement::gc_mark();
00109 }
00110 
00111 // End of class as_dummy_statement.
00112 
00113 // ------------- Class as_labeled_statement follows. -------------
00114 
00115 /*!
00116    \returns The value of as_labeled_statement::statement.
00117    \author lsg
00118  */
00119 ptr< as_statement > as_labeled_statement::statement_get() const
00120 {
00121         return statement;
00122 }
00123 
00124 /*!
00125    \param[in] x The new value to set as_labeled_statement::statement to.
00126    \author lsg
00127  */
00128 void as_labeled_statement::statement_set(const ptr< as_statement > & x)
00129 {
00130         as_labeled_statement::statement = x;
00131 }
00132 
00133 /*!
00134    Generated constructor for class as_labeled_statement.
00135    \author lsg
00136  */
00137 as_labeled_statement::as_labeled_statement (ptr< ::lestes::std::source_location > a__as_base__location,
00138                 ptr< as_statement > a__as_labeled_statement__statement)
00139         : as_statement(a__as_base__location), statement(checked(a__as_labeled_statement__statement))
00140 {}
00141 
00142 ptr< object::reflection_list > as_labeled_statement::reflection_get() const
00143 {
00144         if (!reflection) {
00145                 typedef class_reflection::field_metadata md;
00146                 typedef class_reflection::field_metadata_list mdlist;
00147                 ptr<mdlist> mdl = mdlist::create();
00148                 mdl->push_back( md::create( "statement", "as_statement" ) );
00149                 reflection = reflection_list::create( as_statement::reflection_get() );
00150                 reflection->push_back( class_reflection::create( "as_labeled_statement", mdl ) );
00151         }
00152         return reflection;
00153 }
00154 
00155 ptr< object::field_list_list > as_labeled_statement::field_values_get() const
00156 {
00157         ptr < field_list_list > result = as_statement::field_values_get();
00158         result->push_back( value_list::create() );
00159         result->back()->push_back( this->statement );
00160         return result;
00161 }
00162 
00163 
00164 /*!
00165    Marking routine is used for garbage collection.
00166    \author lsg
00167  */
00168 void as_labeled_statement::gc_mark()
00169 {
00170         as_statement::gc_mark();
00171 }
00172 
00173 // End of class as_labeled_statement.
00174 
00175 // ------------- Class as_default_labeled_statement follows. -------------
00176 
00177 void as_default_labeled_statement::accept_as_statement_visitor( ptr< as_statement_visitor > v )
00178 {
00179         return v->visit_as_default_labeled_statement( this );
00180 }
00181 
00182 /*!
00183    This factory method for class as_default_labeled_statement takes values of all fields as arguments.
00184    \author lsg
00185  */
00186 ptr< as_default_labeled_statement > as_default_labeled_statement::create(ptr< ::lestes::std::source_location > a__as_base__location,
00187                 ptr< as_statement > a__as_labeled_statement__statement)
00188 {
00189         return ptr< as_default_labeled_statement > ( new as_default_labeled_statement(a__as_base__location,
00190                 a__as_labeled_statement__statement) );
00191 }
00192 
00193 /*!
00194    Generated constructor for class as_default_labeled_statement.
00195    \author lsg
00196  */
00197 as_default_labeled_statement::as_default_labeled_statement (ptr< ::lestes::std::source_location > a__as_base__location,
00198                 ptr< as_statement > a__as_labeled_statement__statement)
00199         : as_labeled_statement(a__as_base__location,
00200                 a__as_labeled_statement__statement)
00201 {}
00202 
00203 ptr< object::reflection_list > as_default_labeled_statement::reflection_get() const
00204 {
00205         if (!reflection) {
00206                 typedef class_reflection::field_metadata md;
00207                 typedef class_reflection::field_metadata_list mdlist;
00208                 ptr<mdlist> mdl = mdlist::create();
00209                 reflection = reflection_list::create( as_labeled_statement::reflection_get() );
00210                 reflection->push_back( class_reflection::create( "as_default_labeled_statement", mdl ) );
00211         }
00212         return reflection;
00213 }
00214 
00215 ptr< object::field_list_list > as_default_labeled_statement::field_values_get() const
00216 {
00217         ptr < field_list_list > result = as_labeled_statement::field_values_get();
00218         return result;
00219 }
00220 
00221 
00222 /*!
00223    Marking routine is used for garbage collection.
00224    \author lsg
00225  */
00226 void as_default_labeled_statement::gc_mark()
00227 {
00228         as_labeled_statement::gc_mark();
00229 }
00230 
00231 // End of class as_default_labeled_statement.
00232 
00233 // ------------- Class as_case_labeled_statement follows. -------------
00234 
00235 /*!
00236    \returns The value of as_case_labeled_statement::case_value.
00237    \author lsg
00238  */
00239 ptr< as_constant_expression > as_case_labeled_statement::case_value_get() const
00240 {
00241         return case_value;
00242 }
00243 
00244 /*!
00245    \param[in] x The new value to set as_case_labeled_statement::case_value to.
00246    \author lsg
00247  */
00248 void as_case_labeled_statement::case_value_set(const ptr< as_constant_expression > & x)
00249 {
00250         as_case_labeled_statement::case_value = x;
00251 }
00252 
00253 void as_case_labeled_statement::accept_as_statement_visitor( ptr< as_statement_visitor > v )
00254 {
00255         return v->visit_as_case_labeled_statement( this );
00256 }
00257 
00258 /*!
00259    This factory method for class as_case_labeled_statement takes values of all fields as arguments.
00260    \author lsg
00261  */
00262 ptr< as_case_labeled_statement > as_case_labeled_statement::create(ptr< ::lestes::std::source_location > a__as_base__location,
00263                 ptr< as_statement > a__as_labeled_statement__statement,
00264                 ptr< as_constant_expression > a__as_case_labeled_statement__case_value)
00265 {
00266         return ptr< as_case_labeled_statement > ( new as_case_labeled_statement(a__as_base__location,
00267                 a__as_labeled_statement__statement,
00268                 a__as_case_labeled_statement__case_value) );
00269 }
00270 
00271 /*!
00272    Generated constructor for class as_case_labeled_statement.
00273    \author lsg
00274  */
00275 as_case_labeled_statement::as_case_labeled_statement (ptr< ::lestes::std::source_location > a__as_base__location,
00276                 ptr< as_statement > a__as_labeled_statement__statement,
00277                 ptr< as_constant_expression > a__as_case_labeled_statement__case_value)
00278         : as_labeled_statement(a__as_base__location,
00279                 a__as_labeled_statement__statement), case_value(checked(a__as_case_labeled_statement__case_value))
00280 {}
00281 
00282 ptr< object::reflection_list > as_case_labeled_statement::reflection_get() const
00283 {
00284         if (!reflection) {
00285                 typedef class_reflection::field_metadata md;
00286                 typedef class_reflection::field_metadata_list mdlist;
00287                 ptr<mdlist> mdl = mdlist::create();
00288                 mdl->push_back( md::create( "case_value", "as_constant_expression" ) );
00289                 reflection = reflection_list::create( as_labeled_statement::reflection_get() );
00290                 reflection->push_back( class_reflection::create( "as_case_labeled_statement", mdl ) );
00291         }
00292         return reflection;
00293 }
00294 
00295 ptr< object::field_list_list > as_case_labeled_statement::field_values_get() const
00296 {
00297         ptr < field_list_list > result = as_labeled_statement::field_values_get();
00298         result->push_back( value_list::create() );
00299         result->back()->push_back( this->case_value );
00300         return result;
00301 }
00302 
00303 
00304 /*!
00305    Marking routine is used for garbage collection.
00306    \author lsg
00307  */
00308 void as_case_labeled_statement::gc_mark()
00309 {
00310         as_labeled_statement::gc_mark();
00311 }
00312 
00313 // End of class as_case_labeled_statement.
00314 
00315 // ------------- Class as_identifier_labeled_statement follows. -------------
00316 
00317 /*!
00318    \returns The value of as_identifier_labeled_statement::identifier.
00319    \author lsg
00320  */
00321 ptr< as_identifier > as_identifier_labeled_statement::identifier_get() const
00322 {
00323         return identifier;
00324 }
00325 
00326 /*!
00327    \param[in] x The new value to set as_identifier_labeled_statement::identifier to.
00328    \author lsg
00329  */
00330 void as_identifier_labeled_statement::identifier_set(const ptr< as_identifier > & x)
00331 {
00332         as_identifier_labeled_statement::identifier = x;
00333 }
00334 
00335 void as_identifier_labeled_statement::accept_as_statement_visitor( ptr< as_statement_visitor > v )
00336 {
00337         return v->visit_as_identifier_labeled_statement( this );
00338 }
00339 
00340 /*!
00341    This factory method for class as_identifier_labeled_statement takes values of all fields as arguments.
00342    \author lsg
00343  */
00344 ptr< as_identifier_labeled_statement > as_identifier_labeled_statement::create(ptr< ::lestes::std::source_location > a__as_base__location,
00345                 ptr< as_statement > a__as_labeled_statement__statement,
00346                 ptr< as_identifier > a__as_identifier_labeled_statement__identifier)
00347 {
00348         return ptr< as_identifier_labeled_statement > ( new as_identifier_labeled_statement(a__as_base__location,
00349                 a__as_labeled_statement__statement,
00350                 a__as_identifier_labeled_statement__identifier) );
00351 }
00352 
00353 /*!
00354    Generated constructor for class as_identifier_labeled_statement.
00355    \author lsg
00356  */
00357 as_identifier_labeled_statement::as_identifier_labeled_statement (ptr< ::lestes::std::source_location > a__as_base__location,
00358                 ptr< as_statement > a__as_labeled_statement__statement,
00359                 ptr< as_identifier > a__as_identifier_labeled_statement__identifier)
00360         : as_labeled_statement(a__as_base__location,
00361                 a__as_labeled_statement__statement), identifier(checked(a__as_identifier_labeled_statement__identifier))
00362 {}
00363 
00364 ptr< object::reflection_list > as_identifier_labeled_statement::reflection_get() const
00365 {
00366         if (!reflection) {
00367                 typedef class_reflection::field_metadata md;
00368                 typedef class_reflection::field_metadata_list mdlist;
00369                 ptr<mdlist> mdl = mdlist::create();
00370                 mdl->push_back( md::create( "identifier", "as_identifier" ) );
00371                 reflection = reflection_list::create( as_labeled_statement::reflection_get() );
00372                 reflection->push_back( class_reflection::create( "as_identifier_labeled_statement", mdl ) );
00373         }
00374         return reflection;
00375 }
00376 
00377 ptr< object::field_list_list > as_identifier_labeled_statement::field_values_get() const
00378 {
00379         ptr < field_list_list > result = as_labeled_statement::field_values_get();
00380         result->push_back( value_list::create() );
00381         result->back()->push_back( this->identifier );
00382         return result;
00383 }
00384 
00385 
00386 /*!
00387    Marking routine is used for garbage collection.
00388    \author lsg
00389  */
00390 void as_identifier_labeled_statement::gc_mark()
00391 {
00392         as_labeled_statement::gc_mark();
00393 }
00394 
00395 // End of class as_identifier_labeled_statement.
00396 
00397 // ------------- Class as_compound_statement follows. -------------
00398 
00399 /*!
00400    \returns The value of as_compound_statement::statements.
00401    \author lsg
00402  */
00403 ptr< ::lestes::std::list< srp< as_statement > > > as_compound_statement::statements_get() const
00404 {
00405         return statements;
00406 }
00407 
00408 /*!
00409    \param[in] x The new value to set as_compound_statement::statements to.
00410    \author lsg
00411  */
00412 void as_compound_statement::statements_set(const ptr< ::lestes::std::list< srp< as_statement > > > & x)
00413 {
00414         as_compound_statement::statements = x;
00415 }
00416 
00417 void as_compound_statement::accept_as_statement_visitor( ptr< as_statement_visitor > v )
00418 {
00419         return v->visit_as_compound_statement( this );
00420 }
00421 
00422 /*!
00423    This factory method for class as_compound_statement takes values of all fields as arguments.
00424    \author lsg
00425  */
00426 ptr< as_compound_statement > as_compound_statement::create(ptr< ::lestes::std::source_location > a__as_base__location,
00427                 ptr< ::lestes::std::list< srp< as_statement > > > a__as_compound_statement__statements)
00428 {
00429         return ptr< as_compound_statement > ( new as_compound_statement(a__as_base__location,
00430                 a__as_compound_statement__statements) );
00431 }
00432 
00433 /*!
00434    Generated constructor for class as_compound_statement.
00435    \author lsg
00436  */
00437 as_compound_statement::as_compound_statement (ptr< ::lestes::std::source_location > a__as_base__location,
00438                 ptr< ::lestes::std::list< srp< as_statement > > > a__as_compound_statement__statements)
00439         : as_statement(a__as_base__location), statements(checked(a__as_compound_statement__statements))
00440 {}
00441 
00442 ptr< object::reflection_list > as_compound_statement::reflection_get() const
00443 {
00444         if (!reflection) {
00445                 typedef class_reflection::field_metadata md;
00446                 typedef class_reflection::field_metadata_list mdlist;
00447                 ptr<mdlist> mdl = mdlist::create();
00448                 mdl->push_back( md::create( "statements", "list&lt; srp&lt; as_statement &gt; &gt;" ) );
00449                 reflection = reflection_list::create( as_statement::reflection_get() );
00450                 reflection->push_back( class_reflection::create( "as_compound_statement", mdl ) );
00451         }
00452         return reflection;
00453 }
00454 
00455 ptr< object::field_list_list > as_compound_statement::field_values_get() const
00456 {
00457         ptr < field_list_list > result = as_statement::field_values_get();
00458         result->push_back( value_list::create() );
00459         result->back()->push_back( this->statements );
00460         return result;
00461 }
00462 
00463 
00464 /*!
00465    Marking routine is used for garbage collection.
00466    \author lsg
00467  */
00468 void as_compound_statement::gc_mark()
00469 {
00470         as_statement::gc_mark();
00471 }
00472 
00473 // End of class as_compound_statement.
00474 
00475 // ------------- Class as_expression_statement follows. -------------
00476 
00477 /*!
00478    \returns The value of as_expression_statement::expression.
00479    \author lsg
00480  */
00481 ptr< as_expression > as_expression_statement::expression_get() const
00482 {
00483         return expression;
00484 }
00485 
00486 /*!
00487    \param[in] x The new value to set as_expression_statement::expression to.
00488    \author lsg
00489  */
00490 void as_expression_statement::expression_set(const ptr< as_expression > & x)
00491 {
00492         as_expression_statement::expression = x;
00493 }
00494 
00495 void as_expression_statement::accept_as_statement_visitor( ptr< as_statement_visitor > v )
00496 {
00497         return v->visit_as_expression_statement( this );
00498 }
00499 
00500 /*!
00501    This factory method for class as_expression_statement takes values of all fields as arguments.
00502    \author lsg
00503  */
00504 ptr< as_expression_statement > as_expression_statement::create(ptr< ::lestes::std::source_location > a__as_base__location,
00505                 ptr< as_expression > a__as_expression_statement__expression)
00506 {
00507         return ptr< as_expression_statement > ( new as_expression_statement(a__as_base__location,
00508                 a__as_expression_statement__expression) );
00509 }
00510 
00511 /*!
00512    Generated constructor for class as_expression_statement.
00513    \author lsg
00514  */
00515 as_expression_statement::as_expression_statement (ptr< ::lestes::std::source_location > a__as_base__location,
00516                 ptr< as_expression > a__as_expression_statement__expression)
00517         : as_statement(a__as_base__location), expression(checked(a__as_expression_statement__expression))
00518 {}
00519 
00520 ptr< object::reflection_list > as_expression_statement::reflection_get() const
00521 {
00522         if (!reflection) {
00523                 typedef class_reflection::field_metadata md;
00524                 typedef class_reflection::field_metadata_list mdlist;
00525                 ptr<mdlist> mdl = mdlist::create();
00526                 mdl->push_back( md::create( "expression", "as_expression" ) );
00527                 reflection = reflection_list::create( as_statement::reflection_get() );
00528                 reflection->push_back( class_reflection::create( "as_expression_statement", mdl ) );
00529         }
00530         return reflection;
00531 }
00532 
00533 ptr< object::field_list_list > as_expression_statement::field_values_get() const
00534 {
00535         ptr < field_list_list > result = as_statement::field_values_get();
00536         result->push_back( value_list::create() );
00537         result->back()->push_back( this->expression );
00538         return result;
00539 }
00540 
00541 
00542 /*!
00543    Marking routine is used for garbage collection.
00544    \author lsg
00545  */
00546 void as_expression_statement::gc_mark()
00547 {
00548         as_statement::gc_mark();
00549 }
00550 
00551 // End of class as_expression_statement.
00552 
00553 // ------------- Class as_selection_statement follows. -------------
00554 
00555 /*!
00556    \returns The value of as_selection_statement::condition.
00557    \author lsg
00558  */
00559 ptr< as_condition > as_selection_statement::condition_get() const
00560 {
00561         return condition;
00562 }
00563 
00564 /*!
00565    \param[in] x The new value to set as_selection_statement::condition to.
00566    \author lsg
00567  */
00568 void as_selection_statement::condition_set(const ptr< as_condition > & x)
00569 {
00570         as_selection_statement::condition = x;
00571 }
00572 
00573 /*!
00574    Generated constructor for class as_selection_statement.
00575    \author lsg
00576  */
00577 as_selection_statement::as_selection_statement (ptr< ::lestes::std::source_location > a__as_base__location,
00578                 ptr< as_condition > a__as_selection_statement__condition)
00579         : as_statement(a__as_base__location), condition(checked(a__as_selection_statement__condition))
00580 {}
00581 
00582 ptr< object::reflection_list > as_selection_statement::reflection_get() const
00583 {
00584         if (!reflection) {
00585                 typedef class_reflection::field_metadata md;
00586                 typedef class_reflection::field_metadata_list mdlist;
00587                 ptr<mdlist> mdl = mdlist::create();
00588                 mdl->push_back( md::create( "condition", "as_condition" ) );
00589                 reflection = reflection_list::create( as_statement::reflection_get() );
00590                 reflection->push_back( class_reflection::create( "as_selection_statement", mdl ) );
00591         }
00592         return reflection;
00593 }
00594 
00595 ptr< object::field_list_list > as_selection_statement::field_values_get() const
00596 {
00597         ptr < field_list_list > result = as_statement::field_values_get();
00598         result->push_back( value_list::create() );
00599         result->back()->push_back( this->condition );
00600         return result;
00601 }
00602 
00603 
00604 /*!
00605    Marking routine is used for garbage collection.
00606    \author lsg
00607  */
00608 void as_selection_statement::gc_mark()
00609 {
00610         as_statement::gc_mark();
00611 }
00612 
00613 // End of class as_selection_statement.
00614 
00615 // ------------- Class as_if_statement follows. -------------
00616 
00617 /*!
00618    \returns The value of as_if_statement::then_statement.
00619    \author lsg
00620  */
00621 ptr< as_statement > as_if_statement::then_statement_get() const
00622 {
00623         return then_statement;
00624 }
00625 
00626 /*!
00627    \param[in] x The new value to set as_if_statement::then_statement to.
00628    \author lsg
00629  */
00630 void as_if_statement::then_statement_set(const ptr< as_statement > & x)
00631 {
00632         as_if_statement::then_statement = x;
00633 }
00634 
00635 /*!
00636    \returns The value of as_if_statement::else_statement.
00637    \author lsg
00638  */
00639 ptr< as_statement > as_if_statement::else_statement_get() const
00640 {
00641         return else_statement;
00642 }
00643 
00644 /*!
00645    \param[in] x The new value to set as_if_statement::else_statement to.
00646    \author lsg
00647  */
00648 void as_if_statement::else_statement_set(const ptr< as_statement > & x)
00649 {
00650         as_if_statement::else_statement = x;
00651 }
00652 
00653 void as_if_statement::accept_as_statement_visitor( ptr< as_statement_visitor > v )
00654 {
00655         return v->visit_as_if_statement( this );
00656 }
00657 
00658 /*!
00659    This factory method for class as_if_statement takes values of all fields as arguments.
00660    \author lsg
00661  */
00662 ptr< as_if_statement > as_if_statement::create(ptr< ::lestes::std::source_location > a__as_base__location,
00663                 ptr< as_condition > a__as_selection_statement__condition,
00664                 ptr< as_statement > a__as_if_statement__then_statement,
00665                 ptr< as_statement > a__as_if_statement__else_statement)
00666 {
00667         return ptr< as_if_statement > ( new as_if_statement(a__as_base__location,
00668                 a__as_selection_statement__condition,
00669                 a__as_if_statement__then_statement,
00670                 a__as_if_statement__else_statement) );
00671 }
00672 
00673 /*!
00674    Generated constructor for class as_if_statement.
00675    \author lsg
00676  */
00677 as_if_statement::as_if_statement (ptr< ::lestes::std::source_location > a__as_base__location,
00678                 ptr< as_condition > a__as_selection_statement__condition,
00679                 ptr< as_statement > a__as_if_statement__then_statement,
00680                 ptr< as_statement > a__as_if_statement__else_statement)
00681         : as_selection_statement(a__as_base__location,
00682                 a__as_selection_statement__condition), then_statement(checked(a__as_if_statement__then_statement)), else_statement(a__as_if_statement__else_statement)
00683 {}
00684 
00685 ptr< object::reflection_list > as_if_statement::reflection_get() const
00686 {
00687         if (!reflection) {
00688                 typedef class_reflection::field_metadata md;
00689                 typedef class_reflection::field_metadata_list mdlist;
00690                 ptr<mdlist> mdl = mdlist::create();
00691                 mdl->push_back( md::create( "then_statement", "as_statement" ) );
00692                 mdl->push_back( md::create( "else_statement", "as_statement" ) );
00693                 reflection = reflection_list::create( as_selection_statement::reflection_get() );
00694                 reflection->push_back( class_reflection::create( "as_if_statement", mdl ) );
00695         }
00696         return reflection;
00697 }
00698 
00699 ptr< object::field_list_list > as_if_statement::field_values_get() const
00700 {
00701         ptr < field_list_list > result = as_selection_statement::field_values_get();
00702         result->push_back( value_list::create() );
00703         result->back()->push_back( this->then_statement );
00704         result->push_back( value_list::create() );
00705         result->back()->push_back( this->else_statement );
00706         return result;
00707 }
00708 
00709 
00710 /*!
00711    Marking routine is used for garbage collection.
00712    \author lsg
00713  */
00714 void as_if_statement::gc_mark()
00715 {
00716         as_selection_statement::gc_mark();
00717 }
00718 
00719 // End of class as_if_statement.
00720 
00721 // ------------- Class as_switch_statement follows. -------------
00722 
00723 /*!
00724    \returns The value of as_switch_statement::controlled_statement.
00725    \author lsg
00726  */
00727 ptr< as_statement > as_switch_statement::controlled_statement_get() const
00728 {
00729         return controlled_statement;
00730 }
00731 
00732 /*!
00733    \param[in] x The new value to set as_switch_statement::controlled_statement to.
00734    \author lsg
00735  */
00736 void as_switch_statement::controlled_statement_set(const ptr< as_statement > & x)
00737 {
00738         as_switch_statement::controlled_statement = x;
00739 }
00740 
00741 void as_switch_statement::accept_as_statement_visitor( ptr< as_statement_visitor > v )
00742 {
00743         return v->visit_as_switch_statement( this );
00744 }
00745 
00746 /*!
00747    This factory method for class as_switch_statement takes values of all fields as arguments.
00748    \author lsg
00749  */
00750 ptr< as_switch_statement > as_switch_statement::create(ptr< ::lestes::std::source_location > a__as_base__location,
00751                 ptr< as_condition > a__as_selection_statement__condition,
00752                 ptr< as_statement > a__as_switch_statement__controlled_statement)
00753 {
00754         return ptr< as_switch_statement > ( new as_switch_statement(a__as_base__location,
00755                 a__as_selection_statement__condition,
00756                 a__as_switch_statement__controlled_statement) );
00757 }
00758 
00759 /*!
00760    Generated constructor for class as_switch_statement.
00761    \author lsg
00762  */
00763 as_switch_statement::as_switch_statement (ptr< ::lestes::std::source_location > a__as_base__location,
00764                 ptr< as_condition > a__as_selection_statement__condition,
00765                 ptr< as_statement > a__as_switch_statement__controlled_statement)
00766         : as_selection_statement(a__as_base__location,
00767                 a__as_selection_statement__condition), controlled_statement(checked(a__as_switch_statement__controlled_statement))
00768 {}
00769 
00770 ptr< object::reflection_list > as_switch_statement::reflection_get() const
00771 {
00772         if (!reflection) {
00773                 typedef class_reflection::field_metadata md;
00774                 typedef class_reflection::field_metadata_list mdlist;
00775                 ptr<mdlist> mdl = mdlist::create();
00776                 mdl->push_back( md::create( "controlled_statement", "as_statement" ) );
00777                 reflection = reflection_list::create( as_selection_statement::reflection_get() );
00778                 reflection->push_back( class_reflection::create( "as_switch_statement", mdl ) );
00779         }
00780         return reflection;
00781 }
00782 
00783 ptr< object::field_list_list > as_switch_statement::field_values_get() const
00784 {
00785         ptr < field_list_list > result = as_selection_statement::field_values_get();
00786         result->push_back( value_list::create() );
00787         result->back()->push_back( this->controlled_statement );
00788         return result;
00789 }
00790 
00791 
00792 /*!
00793    Marking routine is used for garbage collection.
00794    \author lsg
00795  */
00796 void as_switch_statement::gc_mark()
00797 {
00798         as_selection_statement::gc_mark();
00799 }
00800 
00801 // End of class as_switch_statement.
00802 
00803 // ------------- Class as_iteration_statement follows. -------------
00804 
00805 /*!
00806    \returns The value of as_iteration_statement::controlled_statement.
00807    \author lsg
00808  */
00809 ptr< as_statement > as_iteration_statement::controlled_statement_get() const
00810 {
00811         return controlled_statement;
00812 }
00813 
00814 /*!
00815    \param[in] x The new value to set as_iteration_statement::controlled_statement to.
00816    \author lsg
00817  */
00818 void as_iteration_statement::controlled_statement_set(const ptr< as_statement > & x)
00819 {
00820         as_iteration_statement::controlled_statement = x;
00821 }
00822 
00823 /*!
00824    Generated constructor for class as_iteration_statement.
00825    \author lsg
00826  */
00827 as_iteration_statement::as_iteration_statement (ptr< ::lestes::std::source_location > a__as_base__location,
00828                 ptr< as_statement > a__as_iteration_statement__controlled_statement)
00829         : as_statement(a__as_base__location), controlled_statement(checked(a__as_iteration_statement__controlled_statement))
00830 {}
00831 
00832 ptr< object::reflection_list > as_iteration_statement::reflection_get() const
00833 {
00834         if (!reflection) {
00835                 typedef class_reflection::field_metadata md;
00836                 typedef class_reflection::field_metadata_list mdlist;
00837                 ptr<mdlist> mdl = mdlist::create();
00838                 mdl->push_back( md::create( "controlled_statement", "as_statement" ) );
00839                 reflection = reflection_list::create( as_statement::reflection_get() );
00840                 reflection->push_back( class_reflection::create( "as_iteration_statement", mdl ) );
00841         }
00842         return reflection;
00843 }
00844 
00845 ptr< object::field_list_list > as_iteration_statement::field_values_get() const
00846 {
00847         ptr < field_list_list > result = as_statement::field_values_get();
00848         result->push_back( value_list::create() );
00849         result->back()->push_back( this->controlled_statement );
00850         return result;
00851 }
00852 
00853 
00854 /*!
00855    Marking routine is used for garbage collection.
00856    \author lsg
00857  */
00858 void as_iteration_statement::gc_mark()
00859 {
00860         as_statement::gc_mark();
00861 }
00862 
00863 // End of class as_iteration_statement.
00864 
00865 // ------------- Class as_do_statement follows. -------------
00866 
00867 /*!
00868    \returns The value of as_do_statement::condition.
00869    \author lsg
00870  */
00871 ptr< as_expression > as_do_statement::condition_get() const
00872 {
00873         return condition;
00874 }
00875 
00876 /*!
00877    \param[in] x The new value to set as_do_statement::condition to.
00878    \author lsg
00879  */
00880 void as_do_statement::condition_set(const ptr< as_expression > & x)
00881 {
00882         as_do_statement::condition = x;
00883 }
00884 
00885 void as_do_statement::accept_as_statement_visitor( ptr< as_statement_visitor > v )
00886 {
00887         return v->visit_as_do_statement( this );
00888 }
00889 
00890 /*!
00891    This factory method for class as_do_statement takes values of all fields as arguments.
00892    \author lsg
00893  */
00894 ptr< as_do_statement > as_do_statement::create(ptr< ::lestes::std::source_location > a__as_base__location,
00895                 ptr< as_statement > a__as_iteration_statement__controlled_statement,
00896                 ptr< as_expression > a__as_do_statement__condition)
00897 {
00898         return ptr< as_do_statement > ( new as_do_statement(a__as_base__location,
00899                 a__as_iteration_statement__controlled_statement,
00900                 a__as_do_statement__condition) );
00901 }
00902 
00903 /*!
00904    Generated constructor for class as_do_statement.
00905    \author lsg
00906  */
00907 as_do_statement::as_do_statement (ptr< ::lestes::std::source_location > a__as_base__location,
00908                 ptr< as_statement > a__as_iteration_statement__controlled_statement,
00909                 ptr< as_expression > a__as_do_statement__condition)
00910         : as_iteration_statement(a__as_base__location,
00911                 a__as_iteration_statement__controlled_statement), condition(checked(a__as_do_statement__condition))
00912 {}
00913 
00914 ptr< object::reflection_list > as_do_statement::reflection_get() const
00915 {
00916         if (!reflection) {
00917                 typedef class_reflection::field_metadata md;
00918                 typedef class_reflection::field_metadata_list mdlist;
00919                 ptr<mdlist> mdl = mdlist::create();
00920                 mdl->push_back( md::create( "condition", "as_expression" ) );
00921                 reflection = reflection_list::create( as_iteration_statement::reflection_get() );
00922                 reflection->push_back( class_reflection::create( "as_do_statement", mdl ) );
00923         }
00924         return reflection;
00925 }
00926 
00927 ptr< object::field_list_list > as_do_statement::field_values_get() const
00928 {
00929         ptr < field_list_list > result = as_iteration_statement::field_values_get();
00930         result->push_back( value_list::create() );
00931         result->back()->push_back( this->condition );
00932         return result;
00933 }
00934 
00935 
00936 /*!
00937    Marking routine is used for garbage collection.
00938    \author lsg
00939  */
00940 void as_do_statement::gc_mark()
00941 {
00942         as_iteration_statement::gc_mark();
00943 }
00944 
00945 // End of class as_do_statement.
00946 
00947 // ------------- Class as_while_statement follows. -------------
00948 
00949 /*!
00950    \returns The value of as_while_statement::condition.
00951    \author lsg
00952  */
00953 ptr< as_condition > as_while_statement::condition_get() const
00954 {
00955         return condition;
00956 }
00957 
00958 /*!
00959    \param[in] x The new value to set as_while_statement::condition to.
00960    \author lsg
00961  */
00962 void as_while_statement::condition_set(const ptr< as_condition > & x)
00963 {
00964         as_while_statement::condition = x;
00965 }
00966 
00967 void as_while_statement::accept_as_statement_visitor( ptr< as_statement_visitor > v )
00968 {
00969         return v->visit_as_while_statement( this );
00970 }
00971 
00972 /*!
00973    This factory method for class as_while_statement takes values of all fields as arguments.
00974    \author lsg
00975  */
00976 ptr< as_while_statement > as_while_statement::create(ptr< ::lestes::std::source_location > a__as_base__location,
00977                 ptr< as_statement > a__as_iteration_statement__controlled_statement,
00978                 ptr< as_condition > a__as_while_statement__condition)
00979 {
00980         return ptr< as_while_statement > ( new as_while_statement(a__as_base__location,
00981                 a__as_iteration_statement__controlled_statement,
00982                 a__as_while_statement__condition) );
00983 }
00984 
00985 /*!
00986    Generated constructor for class as_while_statement.
00987    \author lsg
00988  */
00989 as_while_statement::as_while_statement (ptr< ::lestes::std::source_location > a__as_base__location,
00990                 ptr< as_statement > a__as_iteration_statement__controlled_statement,
00991                 ptr< as_condition > a__as_while_statement__condition)
00992         : as_iteration_statement(a__as_base__location,
00993                 a__as_iteration_statement__controlled_statement), condition(checked(a__as_while_statement__condition))
00994 {}
00995 
00996 ptr< object::reflection_list > as_while_statement::reflection_get() const
00997 {
00998         if (!reflection) {
00999                 typedef class_reflection::field_metadata md;
01000                 typedef class_reflection::field_metadata_list mdlist;
01001                 ptr<mdlist> mdl = mdlist::create();
01002                 mdl->push_back( md::create( "condition", "as_condition" ) );
01003                 reflection = reflection_list::create( as_iteration_statement::reflection_get() );
01004                 reflection->push_back( class_reflection::create( "as_while_statement", mdl ) );
01005         }
01006         return reflection;
01007 }
01008 
01009 ptr< object::field_list_list > as_while_statement::field_values_get() const
01010 {
01011         ptr < field_list_list > result = as_iteration_statement::field_values_get();
01012         result->push_back( value_list::create() );
01013         result->back()->push_back( this->condition );
01014         return result;
01015 }
01016 
01017 
01018 /*!
01019    Marking routine is used for garbage collection.
01020    \author lsg
01021  */
01022 void as_while_statement::gc_mark()
01023 {
01024         as_iteration_statement::gc_mark();
01025 }
01026 
01027 // End of class as_while_statement.
01028 
01029 // ------------- Class as_for_statement follows. -------------
01030 
01031 /*!
01032    \returns The value of as_for_statement::for_init.
01033    \author lsg
01034  */
01035 ptr< as_for_init_statement > as_for_statement::for_init_get() const
01036 {
01037         return for_init;
01038 }
01039 
01040 /*!
01041    \param[in] x The new value to set as_for_statement::for_init to.
01042    \author lsg
01043  */
01044 void as_for_statement::for_init_set(const ptr< as_for_init_statement > & x)
01045 {
01046         as_for_statement::for_init = x;
01047 }
01048 
01049 /*!
01050    \returns The value of as_for_statement::condition.
01051    \author lsg
01052  */
01053 ptr< as_condition > as_for_statement::condition_get() const
01054 {
01055         return condition;
01056 }
01057 
01058 /*!
01059    \param[in] x The new value to set as_for_statement::condition to.
01060    \author lsg
01061  */
01062 void as_for_statement::condition_set(const ptr< as_condition > & x)
01063 {
01064         as_for_statement::condition = x;
01065 }
01066 
01067 /*!
01068    \returns The value of as_for_statement::increment.
01069    \author lsg
01070  */
01071 ptr< as_expression > as_for_statement::increment_get() const
01072 {
01073         return increment;
01074 }
01075 
01076 /*!
01077    \param[in] x The new value to set as_for_statement::increment to.
01078    \author lsg
01079  */
01080 void as_for_statement::increment_set(const ptr< as_expression > & x)
01081 {
01082         as_for_statement::increment = x;
01083 }
01084 
01085 void as_for_statement::accept_as_statement_visitor( ptr< as_statement_visitor > v )
01086 {
01087         return v->visit_as_for_statement( this );
01088 }
01089 
01090 /*!
01091    This factory method for class as_for_statement takes values of all fields as arguments.
01092    \author lsg
01093  */
01094 ptr< as_for_statement > as_for_statement::create(ptr< ::lestes::std::source_location > a__as_base__location,
01095                 ptr< as_statement > a__as_iteration_statement__controlled_statement,
01096                 ptr< as_for_init_statement > a__as_for_statement__for_init,
01097                 ptr< as_condition > a__as_for_statement__condition,
01098                 ptr< as_expression > a__as_for_statement__increment)
01099 {
01100         return ptr< as_for_statement > ( new as_for_statement(a__as_base__location,
01101                 a__as_iteration_statement__controlled_statement,
01102                 a__as_for_statement__for_init,
01103                 a__as_for_statement__condition,
01104                 a__as_for_statement__increment) );
01105 }
01106 
01107 /*!
01108    Generated constructor for class as_for_statement.
01109    \author lsg
01110  */
01111 as_for_statement::as_for_statement (ptr< ::lestes::std::source_location > a__as_base__location,
01112                 ptr< as_statement > a__as_iteration_statement__controlled_statement,
01113                 ptr< as_for_init_statement > a__as_for_statement__for_init,
01114                 ptr< as_condition > a__as_for_statement__condition,
01115                 ptr< as_expression > a__as_for_statement__increment)
01116         : as_iteration_statement(a__as_base__location,
01117                 a__as_iteration_statement__controlled_statement), for_init(checked(a__as_for_statement__for_init)), condition(checked(a__as_for_statement__condition)), increment(checked(a__as_for_statement__increment))
01118 {}
01119 
01120 ptr< object::reflection_list > as_for_statement::reflection_get() const
01121 {
01122         if (!reflection) {
01123                 typedef class_reflection::field_metadata md;
01124                 typedef class_reflection::field_metadata_list mdlist;
01125                 ptr<mdlist> mdl = mdlist::create();
01126                 mdl->push_back( md::create( "for_init", "as_for_init_statement" ) );
01127                 mdl->push_back( md::create( "condition", "as_condition" ) );
01128                 mdl->push_back( md::create( "increment", "as_expression" ) );
01129                 reflection = reflection_list::create( as_iteration_statement::reflection_get() );
01130                 reflection->push_back( class_reflection::create( "as_for_statement", mdl ) );
01131         }
01132         return reflection;
01133 }
01134 
01135 ptr< object::field_list_list > as_for_statement::field_values_get() const
01136 {
01137         ptr < field_list_list > result = as_iteration_statement::field_values_get();
01138         result->push_back( value_list::create() );
01139         result->back()->push_back( this->for_init );
01140         result->push_back( value_list::create() );
01141         result->back()->push_back( this->condition );
01142         result->push_back( value_list::create() );
01143         result->back()->push_back( this->increment );
01144         return result;
01145 }
01146 
01147 
01148 /*!
01149    Marking routine is used for garbage collection.
01150    \author lsg
01151  */
01152 void as_for_statement::gc_mark()
01153 {
01154         as_iteration_statement::gc_mark();
01155 }
01156 
01157 // End of class as_for_statement.
01158 
01159 // ------------- Class as_for_init_statement follows. -------------
01160 
01161 /*!
01162    Generated constructor for class as_for_init_statement.
01163    \author lsg
01164  */
01165 as_for_init_statement::as_for_init_statement (ptr< ::lestes::std::source_location > a__as_base__location)
01166         : as_base(a__as_base__location)
01167 {}
01168 
01169 ptr< object::reflection_list > as_for_init_statement::reflection_get() const
01170 {
01171         if (!reflection) {
01172                 typedef class_reflection::field_metadata md;
01173                 typedef class_reflection::field_metadata_list mdlist;
01174                 ptr<mdlist> mdl = mdlist::create();
01175                 reflection = reflection_list::create( ::lestes::intercode::as_base::reflection_get() );
01176                 reflection->push_back( class_reflection::create( "as_for_init_statement", mdl ) );
01177         }
01178         return reflection;
01179 }
01180 
01181 ptr< object::field_list_list > as_for_init_statement::field_values_get() const
01182 {
01183         ptr < field_list_list > result = ::lestes::intercode::as_base::field_values_get();
01184         return result;
01185 }
01186 
01187 
01188 /*!
01189    Marking routine is used for garbage collection.
01190    \author lsg
01191  */
01192 void as_for_init_statement::gc_mark()
01193 {
01194 	::lestes::intercode::as_base::gc_mark();
01195 }
01196 
01197 // End of class as_for_init_statement.
01198 
01199 // ------------- Class as_for_init_statement_expression follows. -------------
01200 
01201 /*!
01202    \returns The value of as_for_init_statement_expression::expression_statement.
01203    \author lsg
01204  */
01205 ptr< as_expression_statement > as_for_init_statement_expression::expression_statement_get() const
01206 {
01207         return expression_statement;
01208 }
01209 
01210 /*!
01211    \param[in] x The new value to set as_for_init_statement_expression::expression_statement to.
01212    \author lsg
01213  */
01214 void as_for_init_statement_expression::expression_statement_set(const ptr< as_expression_statement > & x)
01215 {
01216         as_for_init_statement_expression::expression_statement = x;
01217 }
01218 
01219 /*!
01220    This factory method for class as_for_init_statement_expression takes values of all fields as arguments.
01221    \author lsg
01222  */
01223 ptr< as_for_init_statement_expression > as_for_init_statement_expression::create(ptr< ::lestes::std::source_location > a__as_base__location,
01224                 ptr< as_expression_statement > a__as_for_init_statement_expression__expression_statement)
01225 {
01226         return ptr< as_for_init_statement_expression > ( new as_for_init_statement_expression(a__as_base__location,
01227                 a__as_for_init_statement_expression__expression_statement) );
01228 }
01229 
01230 /*!
01231    Generated constructor for class as_for_init_statement_expression.
01232    \author lsg
01233  */
01234 as_for_init_statement_expression::as_for_init_statement_expression (ptr< ::lestes::std::source_location > a__as_base__location,
01235                 ptr< as_expression_statement > a__as_for_init_statement_expression__expression_statement)
01236         : as_for_init_statement(a__as_base__location), expression_statement(checked(a__as_for_init_statement_expression__expression_statement))
01237 {}
01238 
01239 ptr< object::reflection_list > as_for_init_statement_expression::reflection_get() const
01240 {
01241         if (!reflection) {
01242                 typedef class_reflection::field_metadata md;
01243                 typedef class_reflection::field_metadata_list mdlist;
01244                 ptr<mdlist> mdl = mdlist::create();
01245                 mdl->push_back( md::create( "expression_statement", "as_expression_statement" ) );
01246                 reflection = reflection_list::create( as_for_init_statement::reflection_get() );
01247                 reflection->push_back( class_reflection::create( "as_for_init_statement_expression", mdl ) );
01248         }
01249         return reflection;
01250 }
01251 
01252 ptr< object::field_list_list > as_for_init_statement_expression::field_values_get() const
01253 {
01254         ptr < field_list_list > result = as_for_init_statement::field_values_get();
01255         result->push_back( value_list::create() );
01256         result->back()->push_back( this->expression_statement );
01257         return result;
01258 }
01259 
01260 
01261 /*!
01262    Marking routine is used for garbage collection.
01263    \author lsg
01264  */
01265 void as_for_init_statement_expression::gc_mark()
01266 {
01267         as_for_init_statement::gc_mark();
01268 }
01269 
01270 // End of class as_for_init_statement_expression.
01271 
01272 // ------------- Class as_for_init_statement_declaration follows. -------------
01273 
01274 /*!
01275    \returns The value of as_for_init_statement_declaration::declaration.
01276    \author lsg
01277  */
01278 ptr< as_declaration > as_for_init_statement_declaration::declaration_get() const
01279 {
01280         return declaration;
01281 }
01282 
01283 /*!
01284    \param[in] x The new value to set as_for_init_statement_declaration::declaration to.
01285    \author lsg
01286  */
01287 void as_for_init_statement_declaration::declaration_set(const ptr< as_declaration > & x)
01288 {
01289         as_for_init_statement_declaration::declaration = x;
01290 }
01291 
01292 /*!
01293    This factory method for class as_for_init_statement_declaration takes values of all fields as arguments.
01294    \author lsg
01295  */
01296 ptr< as_for_init_statement_declaration > as_for_init_statement_declaration::create(ptr< ::lestes::std::source_location > a__as_base__location,
01297                 ptr< as_declaration > a__as_for_init_statement_declaration__declaration)
01298 {
01299         return ptr< as_for_init_statement_declaration > ( new as_for_init_statement_declaration(a__as_base__location,
01300                 a__as_for_init_statement_declaration__declaration) );
01301 }
01302 
01303 /*!
01304    Generated constructor for class as_for_init_statement_declaration.
01305    \author lsg
01306  */
01307 as_for_init_statement_declaration::as_for_init_statement_declaration (ptr< ::lestes::std::source_location > a__as_base__location,
01308                 ptr< as_declaration > a__as_for_init_statement_declaration__declaration)
01309         : as_for_init_statement(a__as_base__location), declaration(checked(a__as_for_init_statement_declaration__declaration))
01310 {}
01311 
01312 ptr< object::reflection_list > as_for_init_statement_declaration::reflection_get() const
01313 {
01314         if (!reflection) {
01315                 typedef class_reflection::field_metadata md;
01316                 typedef class_reflection::field_metadata_list mdlist;
01317                 ptr<mdlist> mdl = mdlist::create();
01318                 mdl->push_back( md::create( "declaration", "as_declaration" ) );
01319                 reflection = reflection_list::create( as_for_init_statement::reflection_get() );
01320                 reflection->push_back( class_reflection::create( "as_for_init_statement_declaration", mdl ) );
01321         }
01322         return reflection;
01323 }
01324 
01325 ptr< object::field_list_list > as_for_init_statement_declaration::field_values_get() const
01326 {
01327         ptr < field_list_list > result = as_for_init_statement::field_values_get();
01328         result->push_back( value_list::create() );
01329         result->back()->push_back( this->declaration );
01330         return result;
01331 }
01332 
01333 
01334 /*!
01335    Marking routine is used for garbage collection.
01336    \author lsg
01337  */
01338 void as_for_init_statement_declaration::gc_mark()
01339 {
01340         as_for_init_statement::gc_mark();
01341 }
01342 
01343 // End of class as_for_init_statement_declaration.
01344 
01345 // ------------- Class as_condition follows. -------------
01346 
01347 /*!
01348    Generated constructor for class as_condition.
01349    \author lsg
01350  */
01351 as_condition::as_condition (ptr< ::lestes::std::source_location > a__as_base__location)
01352         : as_base(a__as_base__location)
01353 {}
01354 
01355 ptr< object::reflection_list > as_condition::reflection_get() const
01356 {
01357         if (!reflection) {
01358                 typedef class_reflection::field_metadata md;
01359                 typedef class_reflection::field_metadata_list mdlist;
01360                 ptr<mdlist> mdl = mdlist::create();
01361                 reflection = reflection_list::create( ::lestes::intercode::as_base::reflection_get() );
01362                 reflection->push_back( class_reflection::create( "as_condition", mdl ) );
01363         }
01364         return reflection;
01365 }
01366 
01367 ptr< object::field_list_list > as_condition::field_values_get() const
01368 {
01369         ptr < field_list_list > result = ::lestes::intercode::as_base::field_values_get();
01370         return result;
01371 }
01372 
01373 
01374 /*!
01375    Marking routine is used for garbage collection.
01376    \author lsg
01377  */
01378 void as_condition::gc_mark()
01379 {
01380 	::lestes::intercode::as_base::gc_mark();
01381 }
01382 
01383 // End of class as_condition.
01384 
01385 // ------------- Class as_empty_condition follows. -------------
01386 
01387 void as_empty_condition::accept_as_condition_visitor( ptr< as_condition_visitor > v )
01388 {
01389         return v->visit_as_empty_condition( this );
01390 }
01391 
01392 /*!
01393    This factory method for class as_empty_condition takes values of all fields as arguments.
01394    \author lsg
01395  */
01396 ptr< as_empty_condition > as_empty_condition::create(ptr< ::lestes::std::source_location > a__as_base__location)
01397 {
01398         return ptr< as_empty_condition > ( new as_empty_condition(a__as_base__location) );
01399 }
01400 
01401 /*!
01402    Generated constructor for class as_empty_condition.
01403    \author lsg
01404  */
01405 as_empty_condition::as_empty_condition (ptr< ::lestes::std::source_location > a__as_base__location)
01406         : as_condition(a__as_base__location)
01407 {}
01408 
01409 ptr< object::reflection_list > as_empty_condition::reflection_get() const
01410 {
01411         if (!reflection) {
01412                 typedef class_reflection::field_metadata md;
01413                 typedef class_reflection::field_metadata_list mdlist;
01414                 ptr<mdlist> mdl = mdlist::create();
01415                 reflection = reflection_list::create( as_condition::reflection_get() );
01416                 reflection->push_back( class_reflection::create( "as_empty_condition", mdl ) );
01417         }
01418         return reflection;
01419 }
01420 
01421 ptr< object::field_list_list > as_empty_condition::field_values_get() const
01422 {
01423         ptr < field_list_list > result = as_condition::field_values_get();
01424         return result;
01425 }
01426 
01427 
01428 /*!
01429    Marking routine is used for garbage collection.
01430    \author lsg
01431  */
01432 void as_empty_condition::gc_mark()
01433 {
01434         as_condition::gc_mark();
01435 }
01436 
01437 // End of class as_empty_condition.
01438 
01439 // ------------- Class as_condition_expression follows. -------------
01440 
01441 /*!
01442    \returns The value of as_condition_expression::expression.
01443    \author lsg
01444  */
01445 ptr< as_expression > as_condition_expression::expression_get() const
01446 {
01447         return expression;
01448 }
01449 
01450 /*!
01451    \param[in] x The new value to set as_condition_expression::expression to.
01452    \author lsg
01453  */
01454 void as_condition_expression::expression_set(const ptr< as_expression > & x)
01455 {
01456         as_condition_expression::expression = x;
01457 }
01458 
01459 void as_condition_expression::accept_as_condition_visitor( ptr< as_condition_visitor > v )
01460 {
01461         return v->visit_as_condition_expression( this );
01462 }
01463 
01464 /*!
01465    This factory method for class as_condition_expression takes values of all fields as arguments.
01466    \author lsg
01467  */
01468 ptr< as_condition_expression > as_condition_expression::create(ptr< ::lestes::std::source_location > a__as_base__location,
01469                 ptr< as_expression > a__as_condition_expression__expression)
01470 {
01471         return ptr< as_condition_expression > ( new as_condition_expression(a__as_base__location,
01472                 a__as_condition_expression__expression) );
01473 }
01474 
01475 /*!
01476    Generated constructor for class as_condition_expression.
01477    \author lsg
01478  */
01479 as_condition_expression::as_condition_expression (ptr< ::lestes::std::source_location > a__as_base__location,
01480                 ptr< as_expression > a__as_condition_expression__expression)
01481         : as_condition(a__as_base__location), expression(checked(a__as_condition_expression__expression))
01482 {}
01483 
01484 ptr< object::reflection_list > as_condition_expression::reflection_get() const
01485 {
01486         if (!reflection) {
01487                 typedef class_reflection::field_metadata md;
01488                 typedef class_reflection::field_metadata_list mdlist;
01489                 ptr<mdlist> mdl = mdlist::create();
01490                 mdl->push_back( md::create( "expression", "as_expression" ) );
01491                 reflection = reflection_list::create( as_condition::reflection_get() );
01492                 reflection->push_back( class_reflection::create( "as_condition_expression", mdl ) );
01493         }
01494         return reflection;
01495 }
01496 
01497 ptr< object::field_list_list > as_condition_expression::field_values_get() const
01498 {
01499         ptr < field_list_list > result = as_condition::field_values_get();
01500         result->push_back( value_list::create() );
01501         result->back()->push_back( this->expression );
01502         return result;
01503 }
01504 
01505 
01506 /*!
01507    Marking routine is used for garbage collection.
01508    \author lsg
01509  */
01510 void as_condition_expression::gc_mark()
01511 {
01512         as_condition::gc_mark();
01513 }
01514 
01515 // End of class as_condition_expression.
01516 
01517 // ------------- Class as_condition_declaration follows. -------------
01518 
01519 /*!
01520    \returns The value of as_condition_declaration::type_specifiers.
01521    \author lsg
01522  */
01523 ptr< ::lestes::std::list< srp< as_type_specifier > > > as_condition_declaration::type_specifiers_get() const
01524 {
01525         return type_specifiers;
01526 }
01527 
01528 /*!
01529    \param[in] x The new value to set as_condition_declaration::type_specifiers to.
01530    \author lsg
01531  */
01532 void as_condition_declaration::type_specifiers_set(const ptr< ::lestes::std::list< srp< as_type_specifier > > > & x)
01533 {
01534         as_condition_declaration::type_specifiers = x;
01535 }
01536 
01537 /*!
01538    \returns The value of as_condition_declaration::declarator.
01539    \author lsg
01540  */
01541 ptr< as_declarator > as_condition_declaration::declarator_get() const
01542 {
01543         return declarator;
01544 }
01545 
01546 /*!
01547    \param[in] x The new value to set as_condition_declaration::declarator to.
01548    \author lsg
01549  */
01550 void as_condition_declaration::declarator_set(const ptr< as_declarator > & x)
01551 {
01552         as_condition_declaration::declarator = x;
01553 }
01554 
01555 /*!
01556    \returns The value of as_condition_declaration::initializer.
01557    \author lsg
01558  */
01559 ptr< as_expression > as_condition_declaration::initializer_get() const
01560 {
01561         return initializer;
01562 }
01563 
01564 /*!
01565    \param[in] x The new value to set as_condition_declaration::initializer to.
01566    \author lsg
01567  */
01568 void as_condition_declaration::initializer_set(const ptr< as_expression > & x)
01569 {
01570         as_condition_declaration::initializer = x;
01571 }
01572 
01573 void as_condition_declaration::accept_as_condition_visitor( ptr< as_condition_visitor > v )
01574 {
01575         return v->visit_as_condition_declaration( this );
01576 }
01577 
01578 /*!
01579    This factory method for class as_condition_declaration takes values of all fields as arguments.
01580    \author lsg
01581  */
01582 ptr< as_condition_declaration > as_condition_declaration::create(ptr< ::lestes::std::source_location > a__as_base__location,
01583                 ptr< ::lestes::std::list< srp< as_type_specifier > > > a__as_condition_declaration__type_specifiers,
01584                 ptr< as_declarator > a__as_condition_declaration__declarator,
01585                 ptr< as_expression > a__as_condition_declaration__initializer)
01586 {
01587         return ptr< as_condition_declaration > ( new as_condition_declaration(a__as_base__location,
01588                 a__as_condition_declaration__type_specifiers,
01589                 a__as_condition_declaration__declarator,
01590                 a__as_condition_declaration__initializer) );
01591 }
01592 
01593 /*!
01594    Generated constructor for class as_condition_declaration.
01595    \author lsg
01596  */
01597 as_condition_declaration::as_condition_declaration (ptr< ::lestes::std::source_location > a__as_base__location,
01598                 ptr< ::lestes::std::list< srp< as_type_specifier > > > a__as_condition_declaration__type_specifiers,
01599                 ptr< as_declarator > a__as_condition_declaration__declarator,
01600                 ptr< as_expression > a__as_condition_declaration__initializer)
01601         : as_condition(a__as_base__location), type_specifiers(checked(a__as_condition_declaration__type_specifiers)), declarator(checked(a__as_condition_declaration__declarator)), initializer(checked(a__as_condition_declaration__initializer))
01602 {}
01603 
01604 ptr< object::reflection_list > as_condition_declaration::reflection_get() const
01605 {
01606         if (!reflection) {
01607                 typedef class_reflection::field_metadata md;
01608                 typedef class_reflection::field_metadata_list mdlist;
01609                 ptr<mdlist> mdl = mdlist::create();
01610                 mdl->push_back( md::create( "type_specifiers", "list&lt; srp&lt; as_type_specifier &gt; &gt;" ) );
01611                 mdl->push_back( md::create( "declarator", "as_declarator" ) );
01612                 mdl->push_back( md::create( "initializer", "as_expression" ) );
01613                 reflection = reflection_list::create( as_condition::reflection_get() );
01614                 reflection->push_back( class_reflection::create( "as_condition_declaration", mdl ) );
01615         }
01616         return reflection;
01617 }
01618 
01619 ptr< object::field_list_list > as_condition_declaration::field_values_get() const
01620 {
01621         ptr < field_list_list > result = as_condition::field_values_get();
01622         result->push_back( value_list::create() );
01623         result->back()->push_back( this->type_specifiers );
01624         result->push_back( value_list::create() );
01625         result->back()->push_back( this->declarator );
01626         result->push_back( value_list::create() );
01627         result->back()->push_back( this->initializer );
01628         return result;
01629 }
01630 
01631 
01632 /*!
01633    Marking routine is used for garbage collection.
01634    \author lsg
01635  */
01636 void as_condition_declaration::gc_mark()
01637 {
01638         as_condition::gc_mark();
01639 }
01640 
01641 // End of class as_condition_declaration.
01642 
01643 // ------------- Class as_jump_statement follows. -------------
01644 
01645 /*!
01646    Generated constructor for class as_jump_statement.
01647    \author lsg
01648  */
01649 as_jump_statement::as_jump_statement (ptr< ::lestes::std::source_location > a__as_base__location)
01650         : as_statement(a__as_base__location)
01651 {}
01652 
01653 ptr< object::reflection_list > as_jump_statement::reflection_get() const
01654 {
01655         if (!reflection) {
01656                 typedef class_reflection::field_metadata md;
01657                 typedef class_reflection::field_metadata_list mdlist;
01658                 ptr<mdlist> mdl = mdlist::create();
01659                 reflection = reflection_list::create( as_statement::reflection_get() );
01660                 reflection->push_back( class_reflection::create( "as_jump_statement", mdl ) );
01661         }
01662         return reflection;
01663 }
01664 
01665 ptr< object::field_list_list > as_jump_statement::field_values_get() const
01666 {
01667         ptr < field_list_list > result = as_statement::field_values_get();
01668         return result;
01669 }
01670 
01671 
01672 /*!
01673    Marking routine is used for garbage collection.
01674    \author lsg
01675  */
01676 void as_jump_statement::gc_mark()
01677 {
01678         as_statement::gc_mark();
01679 }
01680 
01681 // End of class as_jump_statement.
01682 
01683 // ------------- Class as_break_statement follows. -------------
01684 
01685 void as_break_statement::accept_as_statement_visitor( ptr< as_statement_visitor > v )
01686 {
01687         return v->visit_as_break_statement( this );
01688 }
01689 
01690 /*!
01691    This factory method for class as_break_statement takes values of all fields as arguments.
01692    \author lsg
01693  */
01694 ptr< as_break_statement > as_break_statement::create(ptr< ::lestes::std::source_location > a__as_base__location)
01695 {
01696         return ptr< as_break_statement > ( new as_break_statement(a__as_base__location) );
01697 }
01698 
01699 /*!
01700    Generated constructor for class as_break_statement.
01701    \author lsg
01702  */
01703 as_break_statement::as_break_statement (ptr< ::lestes::std::source_location > a__as_base__location)
01704         : as_jump_statement(a__as_base__location)
01705 {}
01706 
01707 ptr< object::reflection_list > as_break_statement::reflection_get() const
01708 {
01709         if (!reflection) {
01710                 typedef class_reflection::field_metadata md;
01711                 typedef class_reflection::field_metadata_list mdlist;
01712                 ptr<mdlist> mdl = mdlist::create();
01713                 reflection = reflection_list::create( as_jump_statement::reflection_get() );
01714                 reflection->push_back( class_reflection::create( "as_break_statement", mdl ) );
01715         }
01716         return reflection;
01717 }
01718 
01719 ptr< object::field_list_list > as_break_statement::field_values_get() const
01720 {
01721         ptr < field_list_list > result = as_jump_statement::field_values_get();
01722         return result;
01723 }
01724 
01725 
01726 /*!
01727    Marking routine is used for garbage collection.
01728    \author lsg
01729  */
01730 void as_break_statement::gc_mark()
01731 {
01732         as_jump_statement::gc_mark();
01733 }
01734 
01735 // End of class as_break_statement.
01736 
01737 // ------------- Class as_continue_statement follows. -------------
01738 
01739 void as_continue_statement::accept_as_statement_visitor( ptr< as_statement_visitor > v )
01740 {
01741         return v->visit_as_continue_statement( this );
01742 }
01743 
01744 /*!
01745    This factory method for class as_continue_statement takes values of all fields as arguments.
01746    \author lsg
01747  */
01748 ptr< as_continue_statement > as_continue_statement::create(ptr< ::lestes::std::source_location > a__as_base__location)
01749 {
01750         return ptr< as_continue_statement > ( new as_continue_statement(a__as_base__location) );
01751 }
01752 
01753 /*!
01754    Generated constructor for class as_continue_statement.
01755    \author lsg
01756  */
01757 as_continue_statement::as_continue_statement (ptr< ::lestes::std::source_location > a__as_base__location)
01758         : as_statement(a__as_base__location)
01759 {}
01760 
01761 ptr< object::reflection_list > as_continue_statement::reflection_get() const
01762 {
01763         if (!reflection) {
01764                 typedef class_reflection::field_metadata md;
01765                 typedef class_reflection::field_metadata_list mdlist;
01766                 ptr<mdlist> mdl = mdlist::create();
01767                 reflection = reflection_list::create( as_statement::reflection_get() );
01768                 reflection->push_back( class_reflection::create( "as_continue_statement", mdl ) );
01769         }
01770         return reflection;
01771 }
01772 
01773 ptr< object::field_list_list > as_continue_statement::field_values_get() const
01774 {
01775         ptr < field_list_list > result = as_statement::field_values_get();
01776         return result;
01777 }
01778 
01779 
01780 /*!
01781    Marking routine is used for garbage collection.
01782    \author lsg
01783  */
01784 void as_continue_statement::gc_mark()
01785 {
01786         as_statement::gc_mark();
01787 }
01788 
01789 // End of class as_continue_statement.
01790 
01791 // ------------- Class as_return_statement follows. -------------
01792 
01793 /*!
01794    \returns The value of as_return_statement::value.
01795    \author lsg
01796  */
01797 ptr< as_expression > as_return_statement::value_get() const
01798 {
01799         return value;
01800 }
01801 
01802 /*!
01803    \param[in] x The new value to set as_return_statement::value to.
01804    \author lsg
01805  */
01806 void as_return_statement::value_set(const ptr< as_expression > & x)
01807 {
01808         as_return_statement::value = x;
01809 }
01810 
01811 void as_return_statement::accept_as_statement_visitor( ptr< as_statement_visitor > v )
01812 {
01813         return v->visit_as_return_statement( this );
01814 }
01815 
01816 /*!
01817    This factory method for class as_return_statement takes values of all fields as arguments.
01818    \author lsg
01819  */
01820 ptr< as_return_statement > as_return_statement::create(ptr< ::lestes::std::source_location > a__as_base__location,
01821                 ptr< as_expression > a__as_return_statement__value)
01822 {
01823         return ptr< as_return_statement > ( new as_return_statement(a__as_base__location,
01824                 a__as_return_statement__value) );
01825 }
01826 
01827 /*!
01828    Generated constructor for class as_return_statement.
01829    \author lsg
01830  */
01831 as_return_statement::as_return_statement (ptr< ::lestes::std::source_location > a__as_base__location,
01832                 ptr< as_expression > a__as_return_statement__value)
01833         : as_jump_statement(a__as_base__location), value(checked(a__as_return_statement__value))
01834 {}
01835 
01836 ptr< object::reflection_list > as_return_statement::reflection_get() const
01837 {
01838         if (!reflection) {
01839                 typedef class_reflection::field_metadata md;
01840                 typedef class_reflection::field_metadata_list mdlist;
01841                 ptr<mdlist> mdl = mdlist::create();
01842                 mdl->push_back( md::create( "value", "as_expression" ) );
01843                 reflection = reflection_list::create( as_jump_statement::reflection_get() );
01844                 reflection->push_back( class_reflection::create( "as_return_statement", mdl ) );
01845         }
01846         return reflection;
01847 }
01848 
01849 ptr< object::field_list_list > as_return_statement::field_values_get() const
01850 {
01851         ptr < field_list_list > result = as_jump_statement::field_values_get();
01852         result->push_back( value_list::create() );
01853         result->back()->push_back( this->value );
01854         return result;
01855 }
01856 
01857 
01858 /*!
01859    Marking routine is used for garbage collection.
01860    \author lsg
01861  */
01862 void as_return_statement::gc_mark()
01863 {
01864         as_jump_statement::gc_mark();
01865 }
01866 
01867 // End of class as_return_statement.
01868 
01869 // ------------- Class as_goto_statement follows. -------------
01870 
01871 /*!
01872    \returns The value of as_goto_statement::identifier.
01873    \author lsg
01874  */
01875 ptr< as_identifier > as_goto_statement::identifier_get() const
01876 {
01877         return identifier;
01878 }
01879 
01880 /*!
01881    \param[in] x The new value to set as_goto_statement::identifier to.
01882    \author lsg
01883  */
01884 void as_goto_statement::identifier_set(const ptr< as_identifier > & x)
01885 {
01886         as_goto_statement::identifier = x;
01887 }
01888 
01889 void as_goto_statement::accept_as_statement_visitor( ptr< as_statement_visitor > v )
01890 {
01891         return v->visit_as_goto_statement( this );
01892 }
01893 
01894 /*!
01895    This factory method for class as_goto_statement takes values of all fields as arguments.
01896    \author lsg
01897  */
01898 ptr< as_goto_statement > as_goto_statement::create(ptr< ::lestes::std::source_location > a__as_base__location,
01899                 ptr< as_identifier > a__as_goto_statement__identifier)
01900 {
01901         return ptr< as_goto_statement > ( new as_goto_statement(a__as_base__location,
01902                 a__as_goto_statement__identifier) );
01903 }
01904 
01905 /*!
01906    Generated constructor for class as_goto_statement.
01907    \author lsg
01908  */
01909 as_goto_statement::as_goto_statement (ptr< ::lestes::std::source_location > a__as_base__location,
01910                 ptr< as_identifier > a__as_goto_statement__identifier)
01911         : as_jump_statement(a__as_base__location), identifier(checked(a__as_goto_statement__identifier))
01912 {}
01913 
01914 ptr< object::reflection_list > as_goto_statement::reflection_get() const
01915 {
01916         if (!reflection) {
01917                 typedef class_reflection::field_metadata md;
01918                 typedef class_reflection::field_metadata_list mdlist;
01919                 ptr<mdlist> mdl = mdlist::create();
01920                 mdl->push_back( md::create( "identifier", "as_identifier" ) );
01921                 reflection = reflection_list::create( as_jump_statement::reflection_get() );
01922                 reflection->push_back( class_reflection::create( "as_goto_statement", mdl ) );
01923         }
01924         return reflection;
01925 }
01926 
01927 ptr< object::field_list_list > as_goto_statement::field_values_get() const
01928 {
01929         ptr < field_list_list > result = as_jump_statement::field_values_get();
01930         result->push_back( value_list::create() );
01931         result->back()->push_back( this->identifier );
01932         return result;
01933 }
01934 
01935 
01936 /*!
01937    Marking routine is used for garbage collection.
01938    \author lsg
01939  */
01940 void as_goto_statement::gc_mark()
01941 {
01942         as_jump_statement::gc_mark();
01943 }
01944 
01945 // End of class as_goto_statement.
01946 
01947 // ------------- Class as_declaration_statement follows. -------------
01948 
01949 /*!
01950    \returns The value of as_declaration_statement::declaration.
01951    \author lsg
01952  */
01953 ptr< as_declaration > as_declaration_statement::declaration_get() const
01954 {
01955         return declaration;
01956 }
01957 
01958 /*!
01959    \param[in] x The new value to set as_declaration_statement::declaration to.
01960    \author lsg
01961  */
01962 void as_declaration_statement::declaration_set(const ptr< as_declaration > & x)
01963 {
01964         as_declaration_statement::declaration = x;
01965 }
01966 
01967 void as_declaration_statement::accept_as_statement_visitor( ptr< as_statement_visitor > v )
01968 {
01969         return v->visit_as_declaration_statement( this );
01970 }
01971 
01972 /*!
01973    This factory method for class as_declaration_statement takes values of all fields as arguments.
01974    \author lsg
01975  */
01976 ptr< as_declaration_statement > as_declaration_statement::create(ptr< ::lestes::std::source_location > a__as_base__location,
01977                 ptr< as_declaration > a__as_declaration_statement__declaration)
01978 {
01979         return ptr< as_declaration_statement > ( new as_declaration_statement(a__as_base__location,
01980                 a__as_declaration_statement__declaration) );
01981 }
01982 
01983 /*!
01984    Generated constructor for class as_declaration_statement.
01985    \author lsg
01986  */
01987 as_declaration_statement::as_declaration_statement (ptr< ::lestes::std::source_location > a__as_base__location,
01988                 ptr< as_declaration > a__as_declaration_statement__declaration)
01989         : as_statement(a__as_base__location), declaration(checked(a__as_declaration_statement__declaration))
01990 {}
01991 
01992 ptr< object::reflection_list > as_declaration_statement::reflection_get() const
01993 {
01994         if (!reflection) {
01995                 typedef class_reflection::field_metadata md;
01996                 typedef class_reflection::field_metadata_list mdlist;
01997                 ptr<mdlist> mdl = mdlist::create();
01998                 mdl->push_back( md::create( "declaration", "as_declaration" ) );
01999                 reflection = reflection_list::create( as_statement::reflection_get() );
02000                 reflection->push_back( class_reflection::create( "as_declaration_statement", mdl ) );
02001         }
02002         return reflection;
02003 }
02004 
02005 ptr< object::field_list_list > as_declaration_statement::field_values_get() const
02006 {
02007         ptr < field_list_list > result = as_statement::field_values_get();
02008         result->push_back( value_list::create() );
02009         result->back()->push_back( this->declaration );
02010         return result;
02011 }
02012 
02013 
02014 /*!
02015    Marking routine is used for garbage collection.
02016    \author lsg
02017  */
02018 void as_declaration_statement::gc_mark()
02019 {
02020         as_statement::gc_mark();
02021 }
02022 
02023 // End of class as_declaration_statement.
02024 
02025 // ------------- Class as_try_block_statement follows. -------------
02026 
02027 /*!
02028    \returns The value of as_try_block_statement::statement.
02029    \author lsg
02030  */
02031 ptr< as_compound_statement > as_try_block_statement::statement_get() const
02032 {
02033         return statement;
02034 }
02035 
02036 /*!
02037    \param[in] x The new value to set as_try_block_statement::statement to.
02038    \author lsg
02039  */
02040 void as_try_block_statement::statement_set(const ptr< as_compound_statement > & x)
02041 {
02042         as_try_block_statement::statement = x;
02043 }
02044 
02045 /*!
02046    \returns The value of as_try_block_statement::handlers.
02047    \author lsg
02048  */
02049 ptr< ::lestes::std::list< srp< as_handler > > > as_try_block_statement::handlers_get() const
02050 {
02051         return handlers;
02052 }
02053 
02054 /*!
02055    \param[in] x The new value to set as_try_block_statement::handlers to.
02056    \author lsg
02057  */
02058 void as_try_block_statement::handlers_set(const ptr< ::lestes::std::list< srp< as_handler > > > & x)
02059 {
02060         as_try_block_statement::handlers = x;
02061 }
02062 
02063 void as_try_block_statement::accept_as_statement_visitor( ptr< as_statement_visitor > v )
02064 {
02065         return v->visit_as_try_block_statement( this );
02066 }
02067 
02068 /*!
02069    This factory method for class as_try_block_statement takes values of all fields as arguments.
02070    \author lsg
02071  */
02072 ptr< as_try_block_statement > as_try_block_statement::create(ptr< ::lestes::std::source_location > a__as_base__location,
02073                 ptr< as_compound_statement > a__as_try_block_statement__statement,
02074                 ptr< ::lestes::std::list< srp< as_handler > > > a__as_try_block_statement__handlers)
02075 {
02076         return ptr< as_try_block_statement > ( new as_try_block_statement(a__as_base__location,
02077                 a__as_try_block_statement__statement,
02078                 a__as_try_block_statement__handlers) );
02079 }
02080 
02081 /*!
02082    Generated constructor for class as_try_block_statement.
02083    \author lsg
02084  */
02085 as_try_block_statement::as_try_block_statement (ptr< ::lestes::std::source_location > a__as_base__location,
02086                 ptr< as_compound_statement > a__as_try_block_statement__statement,
02087                 ptr< ::lestes::std::list< srp< as_handler > > > a__as_try_block_statement__handlers)
02088         : as_statement(a__as_base__location), statement(checked(a__as_try_block_statement__statement)), handlers(checked(a__as_try_block_statement__handlers))
02089 {}
02090 
02091 ptr< object::reflection_list > as_try_block_statement::reflection_get() const
02092 {
02093         if (!reflection) {
02094                 typedef class_reflection::field_metadata md;
02095                 typedef class_reflection::field_metadata_list mdlist;
02096                 ptr<mdlist> mdl = mdlist::create();
02097                 mdl->push_back( md::create( "statement", "as_compound_statement" ) );
02098                 mdl->push_back( md::create( "handlers", "list&lt; srp&lt; as_handler &gt; &gt;" ) );
02099                 reflection = reflection_list::create( as_statement::reflection_get() );
02100                 reflection->push_back( class_reflection::create( "as_try_block_statement", mdl ) );
02101         }
02102         return reflection;
02103 }
02104 
02105 ptr< object::field_list_list > as_try_block_statement::field_values_get() const
02106 {
02107         ptr < field_list_list > result = as_statement::field_values_get();
02108         result->push_back( value_list::create() );
02109         result->back()->push_back( this->statement );
02110         result->push_back( value_list::create() );
02111         result->back()->push_back( this->handlers );
02112         return result;
02113 }
02114 
02115 
02116 /*!
02117    Marking routine is used for garbage collection.
02118    \author lsg
02119  */
02120 void as_try_block_statement::gc_mark()
02121 {
02122         as_statement::gc_mark();
02123 }
02124 
02125 // End of class as_try_block_statement.
02126 
02127 // ------------- Class as_handler follows. -------------
02128 
02129 /*!
02130    \returns The value of as_handler::exception_declaration.
02131    \author lsg
02132  */
02133 ptr< as_exception_declaration > as_handler::exception_declaration_get() const
02134 {
02135         return exception_declaration;
02136 }
02137 
02138 /*!
02139    \param[in] x The new value to set as_handler::exception_declaration to.
02140    \author lsg
02141  */
02142 void as_handler::exception_declaration_set(const ptr< as_exception_declaration > & x)
02143 {
02144         as_handler::exception_declaration = x;
02145 }
02146 
02147 /*!
02148    \returns The value of as_handler::compound_statement.
02149    \author lsg
02150  */
02151 ptr< as_compound_statement > as_handler::compound_statement_get() const
02152 {
02153         return compound_statement;
02154 }
02155 
02156 /*!
02157    \param[in] x The new value to set as_handler::compound_statement to.
02158    \author lsg
02159  */
02160 void as_handler::compound_statement_set(const ptr< as_compound_statement > & x)
02161 {
02162         as_handler::compound_statement = x;
02163 }
02164 
02165 /*!
02166    This factory method for class as_handler takes values of all fields as arguments.
02167    \author lsg
02168  */
02169 ptr< as_handler > as_handler::create(ptr< ::lestes::std::source_location > a__as_base__location,
02170                 ptr< as_exception_declaration > a__as_handler__exception_declaration,
02171                 ptr< as_compound_statement > a__as_handler__compound_statement)
02172 {
02173         return ptr< as_handler > ( new as_handler(a__as_base__location,
02174                 a__as_handler__exception_declaration,
02175                 a__as_handler__compound_statement) );
02176 }
02177 
02178 /*!
02179    Generated constructor for class as_handler.
02180    \author lsg
02181  */
02182 as_handler::as_handler (ptr< ::lestes::std::source_location > a__as_base__location,
02183                 ptr< as_exception_declaration > a__as_handler__exception_declaration,
02184                 ptr< as_compound_statement > a__as_handler__compound_statement)
02185         : as_base(a__as_base__location), exception_declaration(checked(a__as_handler__exception_declaration)), compound_statement(checked(a__as_handler__compound_statement))
02186 {}
02187 
02188 ptr< object::reflection_list > as_handler::reflection_get() const
02189 {
02190         if (!reflection) {
02191                 typedef class_reflection::field_metadata md;
02192                 typedef class_reflection::field_metadata_list mdlist;
02193                 ptr<mdlist> mdl = mdlist::create();
02194                 mdl->push_back( md::create( "exception_declaration", "as_exception_declaration" ) );
02195                 mdl->push_back( md::create( "compound_statement", "as_compound_statement" ) );
02196                 reflection = reflection_list::create( ::lestes::intercode::as_base::reflection_get() );
02197                 reflection->push_back( class_reflection::create( "as_handler", mdl ) );
02198         }
02199         return reflection;
02200 }
02201 
02202 ptr< object::field_list_list > as_handler::field_values_get() const
02203 {
02204         ptr < field_list_list > result = ::lestes::intercode::as_base::field_values_get();
02205         result->push_back( value_list::create() );
02206         result->back()->push_back( this->exception_declaration );
02207         result->push_back( value_list::create() );
02208         result->back()->push_back( this->compound_statement );
02209         return result;
02210 }
02211 
02212 
02213 /*!
02214    Marking routine is used for garbage collection.
02215    \author lsg
02216  */
02217 void as_handler::gc_mark()
02218 {
02219 	::lestes::intercode::as_base::gc_mark();
02220 }
02221 
02222 // End of class as_handler.
02223 
02224 // ------------- Class as_exception_declaration follows. -------------
02225 
02226 /*!
02227    Generated constructor for class as_exception_declaration.
02228    \author lsg
02229  */
02230 as_exception_declaration::as_exception_declaration (ptr< ::lestes::std::source_location > a__as_base__location)
02231         : as_base(a__as_base__location)
02232 {}
02233 
02234 ptr< object::reflection_list > as_exception_declaration::reflection_get() const
02235 {
02236         if (!reflection) {
02237                 typedef class_reflection::field_metadata md;
02238                 typedef class_reflection::field_metadata_list mdlist;
02239                 ptr<mdlist> mdl = mdlist::create();
02240                 reflection = reflection_list::create( ::lestes::intercode::as_base::reflection_get() );
02241                 reflection->push_back( class_reflection::create( "as_exception_declaration", mdl ) );
02242         }
02243         return reflection;
02244 }
02245 
02246 ptr< object::field_list_list > as_exception_declaration::field_values_get() const
02247 {
02248         ptr < field_list_list > result = ::lestes::intercode::as_base::field_values_get();
02249         return result;
02250 }
02251 
02252 
02253 /*!
02254    Marking routine is used for garbage collection.
02255    \author lsg
02256  */
02257 void as_exception_declaration::gc_mark()
02258 {
02259 	::lestes::intercode::as_base::gc_mark();
02260 }
02261 
02262 // End of class as_exception_declaration.
02263 
02264 // ------------- Class as_exception_declaration_any_type follows. -------------
02265 
02266 /*!
02267    This factory method for class as_exception_declaration_any_type takes values of all fields as arguments.
02268    \author lsg
02269  */
02270 ptr< as_exception_declaration_any_type > as_exception_declaration_any_type::create(ptr< ::lestes::std::source_location > a__as_base__location)
02271 {
02272         return ptr< as_exception_declaration_any_type > ( new as_exception_declaration_any_type(a__as_base__location) );
02273 }
02274 
02275 /*!
02276    Generated constructor for class as_exception_declaration_any_type.
02277    \author lsg
02278  */
02279 as_exception_declaration_any_type::as_exception_declaration_any_type (ptr< ::lestes::std::source_location > a__as_base__location)
02280         : as_exception_declaration(a__as_base__location)
02281 {}
02282 
02283 ptr< object::reflection_list > as_exception_declaration_any_type::reflection_get() const
02284 {
02285         if (!reflection) {
02286                 typedef class_reflection::field_metadata md;
02287                 typedef class_reflection::field_metadata_list mdlist;
02288                 ptr<mdlist> mdl = mdlist::create();
02289                 reflection = reflection_list::create( as_exception_declaration::reflection_get() );
02290                 reflection->push_back( class_reflection::create( "as_exception_declaration_any_type", mdl ) );
02291         }
02292         return reflection;
02293 }
02294 
02295 ptr< object::field_list_list > as_exception_declaration_any_type::field_values_get() const
02296 {
02297         ptr < field_list_list > result = as_exception_declaration::field_values_get();
02298         return result;
02299 }
02300 
02301 
02302 /*!
02303    Marking routine is used for garbage collection.
02304    \author lsg
02305  */
02306 void as_exception_declaration_any_type::gc_mark()
02307 {
02308         as_exception_declaration::gc_mark();
02309 }
02310 
02311 // End of class as_exception_declaration_any_type.
02312 
02313 // ------------- Class as_exception_declaration_single_type follows. -------------
02314 
02315 /*!
02316    \returns The value of as_exception_declaration_single_type::type_specifiers.
02317    \author lsg
02318  */
02319 ptr< ::lestes::std::list< srp< as_type_specifier > > > as_exception_declaration_single_type::type_specifiers_get() const
02320 {
02321         return type_specifiers;
02322 }
02323 
02324 /*!
02325    \param[in] x The new value to set as_exception_declaration_single_type::type_specifiers to.
02326    \author lsg
02327  */
02328 void as_exception_declaration_single_type::type_specifiers_set(const ptr< ::lestes::std::list< srp< as_type_specifier > > > & x)
02329 {
02330         as_exception_declaration_single_type::type_specifiers = x;
02331 }
02332 
02333 /*!
02334    This factory method for class as_exception_declaration_single_type takes values of all fields as arguments.
02335    \author lsg
02336  */
02337 ptr< as_exception_declaration_single_type > as_exception_declaration_single_type::create(ptr< ::lestes::std::source_location > a__as_base__location,
02338                 ptr< ::lestes::std::list< srp< as_type_specifier > > > a__as_exception_declaration_single_type__type_specifiers)
02339 {
02340         return ptr< as_exception_declaration_single_type > ( new as_exception_declaration_single_type(a__as_base__location,
02341                 a__as_exception_declaration_single_type__type_specifiers) );
02342 }
02343 
02344 /*!
02345    Generated constructor for class as_exception_declaration_single_type.
02346    \author lsg
02347  */
02348 as_exception_declaration_single_type::as_exception_declaration_single_type (ptr< ::lestes::std::source_location > a__as_base__location,
02349                 ptr< ::lestes::std::list< srp< as_type_specifier > > > a__as_exception_declaration_single_type__type_specifiers)
02350         : as_exception_declaration(a__as_base__location), type_specifiers(checked(a__as_exception_declaration_single_type__type_specifiers))
02351 {}
02352 
02353 ptr< object::reflection_list > as_exception_declaration_single_type::reflection_get() const
02354 {
02355         if (!reflection) {
02356                 typedef class_reflection::field_metadata md;
02357                 typedef class_reflection::field_metadata_list mdlist;
02358                 ptr<mdlist> mdl = mdlist::create();
02359                 mdl->push_back( md::create( "type_specifiers", "list&lt; srp&lt; as_type_specifier &gt; &gt;" ) );
02360                 reflection = reflection_list::create( as_exception_declaration::reflection_get() );
02361                 reflection->push_back( class_reflection::create( "as_exception_declaration_single_type", mdl ) );
02362         }
02363         return reflection;
02364 }
02365 
02366 ptr< object::field_list_list > as_exception_declaration_single_type::field_values_get() const
02367 {
02368         ptr < field_list_list > result = as_exception_declaration::field_values_get();
02369         result->push_back( value_list::create() );
02370         result->back()->push_back( this->type_specifiers );
02371         return result;
02372 }
02373 
02374 
02375 /*!
02376    Marking routine is used for garbage collection.
02377    \author lsg
02378  */
02379 void as_exception_declaration_single_type::gc_mark()
02380 {
02381         as_exception_declaration::gc_mark();
02382 }
02383 
02384 // End of class as_exception_declaration_single_type.
02385 
02386 // ------------- Class as_exception_declaration_single_type_with_variable follows. -------------
02387 
02388 /*!
02389    \returns The value of as_exception_declaration_single_type_with_variable::declarator.
02390    \author lsg
02391  */
02392 ptr< as_declarator > as_exception_declaration_single_type_with_variable::declarator_get() const
02393 {
02394         return declarator;
02395 }
02396 
02397 /*!
02398    \param[in] x The new value to set as_exception_declaration_single_type_with_variable::declarator to.
02399    \author lsg
02400  */
02401 void as_exception_declaration_single_type_with_variable::declarator_set(const ptr< as_declarator > & x)
02402 {
02403         as_exception_declaration_single_type_with_variable::declarator = x;
02404 }
02405 
02406 /*!
02407    This factory method for class as_exception_declaration_single_type_with_variable takes values of all fields as arguments.
02408    \author lsg
02409  */
02410 ptr< as_exception_declaration_single_type_with_variable > as_exception_declaration_single_type_with_variable::create(ptr< ::lestes::std::source_location > a__as_base__location,
02411                 ptr< ::lestes::std::list< srp< as_type_specifier > > > a__as_exception_declaration_single_type__type_specifiers,
02412                 ptr< as_declarator > a__as_exception_declaration_single_type_with_variable__declarator)
02413 {
02414         return ptr< as_exception_declaration_single_type_with_variable > ( new as_exception_declaration_single_type_with_variable(a__as_base__location,
02415                 a__as_exception_declaration_single_type__type_specifiers,
02416                 a__as_exception_declaration_single_type_with_variable__declarator) );
02417 }
02418 
02419 /*!
02420    Generated constructor for class as_exception_declaration_single_type_with_variable.
02421    \author lsg
02422  */
02423 as_exception_declaration_single_type_with_variable::as_exception_declaration_single_type_with_variable (ptr< ::lestes::std::source_location > a__as_base__location,
02424                 ptr< ::lestes::std::list< srp< as_type_specifier > > > a__as_exception_declaration_single_type__type_specifiers,
02425                 ptr< as_declarator > a__as_exception_declaration_single_type_with_variable__declarator)
02426         : as_exception_declaration_single_type(a__as_base__location,
02427                 a__as_exception_declaration_single_type__type_specifiers), declarator(checked(a__as_exception_declaration_single_type_with_variable__declarator))
02428 {}
02429 
02430 ptr< object::reflection_list > as_exception_declaration_single_type_with_variable::reflection_get() const
02431 {
02432         if (!reflection) {
02433                 typedef class_reflection::field_metadata md;
02434                 typedef class_reflection::field_metadata_list mdlist;
02435                 ptr<mdlist> mdl = mdlist::create();
02436                 mdl->push_back( md::create( "declarator", "as_declarator" ) );
02437                 reflection = reflection_list::create( as_exception_declaration_single_type::reflection_get() );
02438                 reflection->push_back( class_reflection::create( "as_exception_declaration_single_type_with_variable", mdl ) );
02439         }
02440         return reflection;
02441 }
02442 
02443 ptr< object::field_list_list > as_exception_declaration_single_type_with_variable::field_values_get() const
02444 {
02445         ptr < field_list_list > result = as_exception_declaration_single_type::field_values_get();
02446         result->push_back( value_list::create() );
02447         result->back()->push_back( this->declarator );
02448         return result;
02449 }
02450 
02451 
02452 /*!
02453    Marking routine is used for garbage collection.
02454    \author lsg
02455  */
02456 void as_exception_declaration_single_type_with_variable::gc_mark()
02457 {
02458         as_exception_declaration_single_type::gc_mark();
02459 }
02460 
02461 // End of class as_exception_declaration_single_type_with_variable.
02462 
02463 
02464 // static data members follow 
02465 ptr<object::reflection_list> as_statement::reflection = reflection;
02466 ptr<object::reflection_list> as_dummy_statement::reflection = reflection;
02467 ptr<object::reflection_list> as_labeled_statement::reflection = reflection;
02468 ptr<object::reflection_list> as_default_labeled_statement::reflection = reflection;
02469 ptr<object::reflection_list> as_case_labeled_statement::reflection = reflection;
02470 ptr<object::reflection_list> as_identifier_labeled_statement::reflection = reflection;
02471 ptr<object::reflection_list> as_compound_statement::reflection = reflection;
02472 ptr<object::reflection_list> as_expression_statement::reflection = reflection;
02473 ptr<object::reflection_list> as_selection_statement::reflection = reflection;
02474 ptr<object::reflection_list> as_if_statement::reflection = reflection;
02475 ptr<object::reflection_list> as_switch_statement::reflection = reflection;
02476 ptr<object::reflection_list> as_iteration_statement::reflection = reflection;
02477 ptr<object::reflection_list> as_do_statement::reflection = reflection;
02478 ptr<object::reflection_list> as_while_statement::reflection = reflection;
02479 ptr<object::reflection_list> as_for_statement::reflection = reflection;
02480 ptr<object::reflection_list> as_for_init_statement::reflection = reflection;
02481 ptr<object::reflection_list> as_for_init_statement_expression::reflection = reflection;
02482 ptr<object::reflection_list> as_for_init_statement_declaration::reflection = reflection;
02483 ptr<object::reflection_list> as_condition::reflection = reflection;
02484 ptr<object::reflection_list> as_empty_condition::reflection = reflection;
02485 ptr<object::reflection_list> as_condition_expression::reflection = reflection;
02486 ptr<object::reflection_list> as_condition_declaration::reflection = reflection;
02487 ptr<object::reflection_list> as_jump_statement::reflection = reflection;
02488 ptr<object::reflection_list> as_break_statement::reflection = reflection;
02489 ptr<object::reflection_list> as_continue_statement::reflection = reflection;
02490 ptr<object::reflection_list> as_return_statement::reflection = reflection;
02491 ptr<object::reflection_list> as_goto_statement::reflection = reflection;
02492 ptr<object::reflection_list> as_declaration_statement::reflection = reflection;
02493 ptr<object::reflection_list> as_try_block_statement::reflection = reflection;
02494 ptr<object::reflection_list> as_handler::reflection = reflection;
02495 ptr<object::reflection_list> as_exception_declaration::reflection = reflection;
02496 ptr<object::reflection_list> as_exception_declaration_any_type::reflection = reflection;
02497 ptr<object::reflection_list> as_exception_declaration_single_type::reflection = reflection;
02498 ptr<object::reflection_list> as_exception_declaration_single_type_with_variable::reflection = reflection;
02499 
02500 end_package(sem);
02501 end_package(cplus);
02502 end_package(lang);
02503 end_package(lestes);
02504 

Generated on Mon Feb 12 18:22:31 2007 for lestes by doxygen 1.5.1-20070107