or_or.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/or_visitor.v.g.hh>
00004 #include <lestes/lang/cplus/sem/ss_declaration.g.hh>
00005 #include <lestes/lang/cplus/sem/ss_decl_name.g.hh>
00006 #include <lestes/lang/cplus/sem/ss_misc.g.hh>
00007 #include <lestes/lang/cplus/sem/ss_statement.g.hh>
00008 #include <lestes/lang/cplus/sem/ss_type.g.hh>
00009 #include <lestes/lang/cplus/sem/ss_literal_info.g.hh>
00010 #include <lestes/lang/cplus/sem/ss_type_builtin.g.hh>
00011 #include <lestes/lang/cplus/sem/ss_expr_funcall.g.hh>
00012 #include <lestes/lang/cplus/sem/ss_expr_unary_op.g.hh>
00013 #include <lestes/lang/cplus/lex/cpp_token.hh>
00014 #include <lestes/intercode/intercode.g.hh>
00015 #include <lestes/std/source_location.hh>
00016 
00017 #include <lestes/std/list.hh>
00018 #include <lestes/std/pair.hh>
00019 #include <lestes/std/reflect.hh>
00020 
00021 #include <lestes/lang/cplus/sem/or_or.g.hh>
00022 
00023 package(lestes);
00024 package(lang);
00025 package(cplus);
00026 package(sem);
00027 
00028 
00029 // ------------- Class or_or_functional follows. -------------
00030 
00031 /*!
00032    \returns The value of or_or_functional::type.
00033    \author lsg
00034  */
00035 ptr< ss_type > or_or_functional::type_get() const
00036 {
00037         return type;
00038 }
00039 
00040 /*!
00041    \param[in] x The new value to set or_or_functional::type to.
00042    \author lsg
00043  */
00044 void or_or_functional::type_set(const ptr< ss_type > & x)
00045 {
00046         or_or_functional::type = x;
00047 }
00048 
00049 /*!
00050    Generated constructor for class or_or_functional.
00051    \author lsg
00052  */
00053 or_or_functional::or_or_functional (ptr< ss_type > a__or_or_functional__type)
00054         : object(), type(checked(a__or_or_functional__type))
00055 {}
00056 
00057 ptr< object::reflection_list > or_or_functional::reflection_get() const
00058 {
00059         if (!reflection) {
00060                 typedef class_reflection::field_metadata md;
00061                 typedef class_reflection::field_metadata_list mdlist;
00062                 ptr<mdlist> mdl = mdlist::create();
00063                 mdl->push_back( md::create( "type", "ss_type" ) );
00064                 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
00065                 reflection->push_back( class_reflection::create( "or_or_functional", mdl ) );
00066         }
00067         return reflection;
00068 }
00069 
00070 ptr< object::field_list_list > or_or_functional::field_values_get() const
00071 {
00072         ptr < field_list_list > result = ::lestes::std::object::field_values_get();
00073         result->push_back( value_list::create() );
00074         result->back()->push_back( this->type );
00075         return result;
00076 }
00077 
00078 
00079 /*!
00080    Marking routine is used for garbage collection.
00081    \author lsg
00082  */
00083 void or_or_functional::gc_mark()
00084 {
00085 	::lestes::std::object::gc_mark();
00086 }
00087 
00088 // End of class or_or_functional.
00089 
00090 // ------------- Class or_or_functional_concrete follows. -------------
00091 
00092 /*!
00093    \returns The value of or_or_functional_concrete::args.
00094    \author lsg
00095  */
00096 ptr< ::lestes::std::list< srp< or_or_functional > > > or_or_functional_concrete::args_get() const
00097 {
00098         return args;
00099 }
00100 
00101 /*!
00102    \param[in] x The new value to set or_or_functional_concrete::args to.
00103    \author lsg
00104  */
00105 void or_or_functional_concrete::args_set(const ptr< ::lestes::std::list< srp< or_or_functional > > > & x)
00106 {
00107         or_or_functional_concrete::args = x;
00108 }
00109 
00110 /*!
00111    \returns The value of or_or_functional_concrete::declaration.
00112    \author lsg
00113  */
00114 ptr< ss_declaration > or_or_functional_concrete::declaration_get() const
00115 {
00116         return declaration;
00117 }
00118 
00119 /*!
00120    \param[in] x The new value to set or_or_functional_concrete::declaration to.
00121    \author lsg
00122  */
00123 void or_or_functional_concrete::declaration_set(const ptr< ss_declaration > & x)
00124 {
00125         or_or_functional_concrete::declaration = x;
00126 }
00127 
00128 void or_or_functional_concrete::accept_or_or_functional_visitor( ptr< or_or_functional_visitor > v )
00129 {
00130         return v->visit_or_or_functional_concrete( this );
00131 }
00132 
00133 /*!
00134    This factory method for class or_or_functional_concrete takes values of all fields as arguments.
00135    \author lsg
00136  */
00137 ptr< or_or_functional_concrete > or_or_functional_concrete::create(ptr< ss_type > a__or_or_functional__type,
00138                 ptr< ::lestes::std::list< srp< or_or_functional > > > a__or_or_functional_concrete__args,
00139                 ptr< ss_declaration > a__or_or_functional_concrete__declaration)
00140 {
00141         return ptr< or_or_functional_concrete > ( new or_or_functional_concrete(a__or_or_functional__type,
00142                 a__or_or_functional_concrete__args,
00143                 a__or_or_functional_concrete__declaration) );
00144 }
00145 
00146 /*!
00147    Generated constructor for class or_or_functional_concrete.
00148    \author lsg
00149  */
00150 or_or_functional_concrete::or_or_functional_concrete (ptr< ss_type > a__or_or_functional__type,
00151                 ptr< ::lestes::std::list< srp< or_or_functional > > > a__or_or_functional_concrete__args,
00152                 ptr< ss_declaration > a__or_or_functional_concrete__declaration)
00153         : or_or_functional(a__or_or_functional__type), args(checked(a__or_or_functional_concrete__args)), declaration(checked(a__or_or_functional_concrete__declaration))
00154 {}
00155 
00156 ptr< object::reflection_list > or_or_functional_concrete::reflection_get() const
00157 {
00158         if (!reflection) {
00159                 typedef class_reflection::field_metadata md;
00160                 typedef class_reflection::field_metadata_list mdlist;
00161                 ptr<mdlist> mdl = mdlist::create();
00162                 mdl->push_back( md::create( "args", "list&lt; srp&lt; or_or_functional &gt; &gt;" ) );
00163                 mdl->push_back( md::create( "declaration", "ss_declaration" ) );
00164                 reflection = reflection_list::create( or_or_functional::reflection_get() );
00165                 reflection->push_back( class_reflection::create( "or_or_functional_concrete", mdl ) );
00166         }
00167         return reflection;
00168 }
00169 
00170 ptr< object::field_list_list > or_or_functional_concrete::field_values_get() const
00171 {
00172         ptr < field_list_list > result = or_or_functional::field_values_get();
00173         result->push_back( value_list::create() );
00174         result->back()->push_back( this->args );
00175         result->push_back( value_list::create() );
00176         result->back()->push_back( this->declaration );
00177         return result;
00178 }
00179 
00180 
00181 /*!
00182    Marking routine is used for garbage collection.
00183    \author lsg
00184  */
00185 void or_or_functional_concrete::gc_mark()
00186 {
00187         or_or_functional::gc_mark();
00188 }
00189 
00190 // End of class or_or_functional_concrete.
00191 
00192 // ------------- Class or_or_functional_comma follows. -------------
00193 
00194 /*!
00195    \returns The value of or_or_functional_comma::args.
00196    \author lsg
00197  */
00198 ptr< ::lestes::std::list< srp< or_or_functional > > > or_or_functional_comma::args_get() const
00199 {
00200         return args;
00201 }
00202 
00203 /*!
00204    \param[in] x The new value to set or_or_functional_comma::args to.
00205    \author lsg
00206  */
00207 void or_or_functional_comma::args_set(const ptr< ::lestes::std::list< srp< or_or_functional > > > & x)
00208 {
00209         or_or_functional_comma::args = x;
00210 }
00211 
00212 void or_or_functional_comma::accept_or_or_functional_visitor( ptr< or_or_functional_visitor > v )
00213 {
00214         return v->visit_or_or_functional_comma( this );
00215 }
00216 
00217 /*!
00218    This factory method for class or_or_functional_comma takes values of all fields as arguments.
00219    \author lsg
00220  */
00221 ptr< or_or_functional_comma > or_or_functional_comma::create(ptr< ss_type > a__or_or_functional__type,
00222                 ptr< ::lestes::std::list< srp< or_or_functional > > > a__or_or_functional_comma__args)
00223 {
00224         return ptr< or_or_functional_comma > ( new or_or_functional_comma(a__or_or_functional__type,
00225                 a__or_or_functional_comma__args) );
00226 }
00227 
00228 /*!
00229    Generated constructor for class or_or_functional_comma.
00230    \author lsg
00231  */
00232 or_or_functional_comma::or_or_functional_comma (ptr< ss_type > a__or_or_functional__type,
00233                 ptr< ::lestes::std::list< srp< or_or_functional > > > a__or_or_functional_comma__args)
00234         : or_or_functional(a__or_or_functional__type), args(checked(a__or_or_functional_comma__args))
00235 {}
00236 
00237 ptr< object::reflection_list > or_or_functional_comma::reflection_get() const
00238 {
00239         if (!reflection) {
00240                 typedef class_reflection::field_metadata md;
00241                 typedef class_reflection::field_metadata_list mdlist;
00242                 ptr<mdlist> mdl = mdlist::create();
00243                 mdl->push_back( md::create( "args", "list&lt; srp&lt; or_or_functional &gt; &gt;" ) );
00244                 reflection = reflection_list::create( or_or_functional::reflection_get() );
00245                 reflection->push_back( class_reflection::create( "or_or_functional_comma", mdl ) );
00246         }
00247         return reflection;
00248 }
00249 
00250 ptr< object::field_list_list > or_or_functional_comma::field_values_get() const
00251 {
00252         ptr < field_list_list > result = or_or_functional::field_values_get();
00253         result->push_back( value_list::create() );
00254         result->back()->push_back( this->args );
00255         return result;
00256 }
00257 
00258 
00259 /*!
00260    Marking routine is used for garbage collection.
00261    \author lsg
00262  */
00263 void or_or_functional_comma::gc_mark()
00264 {
00265         or_or_functional::gc_mark();
00266 }
00267 
00268 // End of class or_or_functional_comma.
00269 
00270 // ------------- Class or_or_functional_addrof follows. -------------
00271 
00272 /*!
00273    \returns The value of or_or_functional_addrof::args.
00274    \author lsg
00275  */
00276 ptr< ::lestes::std::list< srp< or_or_functional > > > or_or_functional_addrof::args_get() const
00277 {
00278         return args;
00279 }
00280 
00281 /*!
00282    \param[in] x The new value to set or_or_functional_addrof::args to.
00283    \author lsg
00284  */
00285 void or_or_functional_addrof::args_set(const ptr< ::lestes::std::list< srp< or_or_functional > > > & x)
00286 {
00287         or_or_functional_addrof::args = x;
00288 }
00289 
00290 void or_or_functional_addrof::accept_or_or_functional_visitor( ptr< or_or_functional_visitor > v )
00291 {
00292         return v->visit_or_or_functional_addrof( this );
00293 }
00294 
00295 /*!
00296    This factory method for class or_or_functional_addrof takes values of all fields as arguments.
00297    \author lsg
00298  */
00299 ptr< or_or_functional_addrof > or_or_functional_addrof::create(ptr< ss_type > a__or_or_functional__type,
00300                 ptr< ::lestes::std::list< srp< or_or_functional > > > a__or_or_functional_addrof__args)
00301 {
00302         return ptr< or_or_functional_addrof > ( new or_or_functional_addrof(a__or_or_functional__type,
00303                 a__or_or_functional_addrof__args) );
00304 }
00305 
00306 /*!
00307    Generated constructor for class or_or_functional_addrof.
00308    \author lsg
00309  */
00310 or_or_functional_addrof::or_or_functional_addrof (ptr< ss_type > a__or_or_functional__type,
00311                 ptr< ::lestes::std::list< srp< or_or_functional > > > a__or_or_functional_addrof__args)
00312         : or_or_functional(a__or_or_functional__type), args(checked(a__or_or_functional_addrof__args))
00313 {}
00314 
00315 ptr< object::reflection_list > or_or_functional_addrof::reflection_get() const
00316 {
00317         if (!reflection) {
00318                 typedef class_reflection::field_metadata md;
00319                 typedef class_reflection::field_metadata_list mdlist;
00320                 ptr<mdlist> mdl = mdlist::create();
00321                 mdl->push_back( md::create( "args", "list&lt; srp&lt; or_or_functional &gt; &gt;" ) );
00322                 reflection = reflection_list::create( or_or_functional::reflection_get() );
00323                 reflection->push_back( class_reflection::create( "or_or_functional_addrof", mdl ) );
00324         }
00325         return reflection;
00326 }
00327 
00328 ptr< object::field_list_list > or_or_functional_addrof::field_values_get() const
00329 {
00330         ptr < field_list_list > result = or_or_functional::field_values_get();
00331         result->push_back( value_list::create() );
00332         result->back()->push_back( this->args );
00333         return result;
00334 }
00335 
00336 
00337 /*!
00338    Marking routine is used for garbage collection.
00339    \author lsg
00340  */
00341 void or_or_functional_addrof::gc_mark()
00342 {
00343         or_or_functional::gc_mark();
00344 }
00345 
00346 // End of class or_or_functional_addrof.
00347 
00348 // ------------- Class or_or_functional_literal follows. -------------
00349 
00350 /*!
00351    \returns The value of or_or_functional_literal::literal.
00352    \author lsg
00353  */
00354 ptr< ss_literal_info > or_or_functional_literal::literal_get() const
00355 {
00356         return literal;
00357 }
00358 
00359 /*!
00360    \param[in] x The new value to set or_or_functional_literal::literal to.
00361    \author lsg
00362  */
00363 void or_or_functional_literal::literal_set(const ptr< ss_literal_info > & x)
00364 {
00365         or_or_functional_literal::literal = x;
00366 }
00367 
00368 void or_or_functional_literal::accept_or_or_functional_visitor( ptr< or_or_functional_visitor > v )
00369 {
00370         return v->visit_or_or_functional_literal( this );
00371 }
00372 
00373 /*!
00374    This factory method for class or_or_functional_literal takes values of all fields as arguments.
00375    \author lsg
00376  */
00377 ptr< or_or_functional_literal > or_or_functional_literal::create(ptr< ss_type > a__or_or_functional__type,
00378                 ptr< ss_literal_info > a__or_or_functional_literal__literal)
00379 {
00380         return ptr< or_or_functional_literal > ( new or_or_functional_literal(a__or_or_functional__type,
00381                 a__or_or_functional_literal__literal) );
00382 }
00383 
00384 /*!
00385    Generated constructor for class or_or_functional_literal.
00386    \author lsg
00387  */
00388 or_or_functional_literal::or_or_functional_literal (ptr< ss_type > a__or_or_functional__type,
00389                 ptr< ss_literal_info > a__or_or_functional_literal__literal)
00390         : or_or_functional(a__or_or_functional__type), literal(checked(a__or_or_functional_literal__literal))
00391 {}
00392 
00393 ptr< object::reflection_list > or_or_functional_literal::reflection_get() const
00394 {
00395         if (!reflection) {
00396                 typedef class_reflection::field_metadata md;
00397                 typedef class_reflection::field_metadata_list mdlist;
00398                 ptr<mdlist> mdl = mdlist::create();
00399                 mdl->push_back( md::create( "literal", "ss_literal_info" ) );
00400                 reflection = reflection_list::create( or_or_functional::reflection_get() );
00401                 reflection->push_back( class_reflection::create( "or_or_functional_literal", mdl ) );
00402         }
00403         return reflection;
00404 }
00405 
00406 ptr< object::field_list_list > or_or_functional_literal::field_values_get() const
00407 {
00408         ptr < field_list_list > result = or_or_functional::field_values_get();
00409         result->push_back( value_list::create() );
00410         result->back()->push_back( this->literal );
00411         return result;
00412 }
00413 
00414 
00415 /*!
00416    Marking routine is used for garbage collection.
00417    \author lsg
00418  */
00419 void or_or_functional_literal::gc_mark()
00420 {
00421         or_or_functional::gc_mark();
00422 }
00423 
00424 // End of class or_or_functional_literal.
00425 
00426 // ------------- Class or_or_functional_func_decl_set follows. -------------
00427 
00428 /*!
00429    \returns The value of or_or_functional_func_decl_set::declarations.
00430    \author lsg
00431  */
00432 ptr< ::lestes::std::set< srp< ss_declaration > > > or_or_functional_func_decl_set::declarations_get() const
00433 {
00434         return declarations;
00435 }
00436 
00437 /*!
00438    \param[in] x The new value to set or_or_functional_func_decl_set::declarations to.
00439    \author lsg
00440  */
00441 void or_or_functional_func_decl_set::declarations_set(const ptr< ::lestes::std::set< srp< ss_declaration > > > & x)
00442 {
00443         or_or_functional_func_decl_set::declarations = x;
00444 }
00445 
00446 void or_or_functional_func_decl_set::accept_or_or_functional_visitor( ptr< or_or_functional_visitor > v )
00447 {
00448         return v->visit_or_or_functional_func_decl_set( this );
00449 }
00450 
00451 /*!
00452    This factory method for class or_or_functional_func_decl_set takes values of all fields as arguments.
00453    \author lsg
00454  */
00455 ptr< or_or_functional_func_decl_set > or_or_functional_func_decl_set::create(ptr< ss_type > a__or_or_functional__type,
00456                 ptr< ::lestes::std::set< srp< ss_declaration > > > a__or_or_functional_func_decl_set__declarations)
00457 {
00458         return ptr< or_or_functional_func_decl_set > ( new or_or_functional_func_decl_set(a__or_or_functional__type,
00459                 a__or_or_functional_func_decl_set__declarations) );
00460 }
00461 
00462 /*!
00463    Generated constructor for class or_or_functional_func_decl_set.
00464    \author lsg
00465  */
00466 or_or_functional_func_decl_set::or_or_functional_func_decl_set (ptr< ss_type > a__or_or_functional__type,
00467                 ptr< ::lestes::std::set< srp< ss_declaration > > > a__or_or_functional_func_decl_set__declarations)
00468         : or_or_functional(a__or_or_functional__type), declarations(checked(a__or_or_functional_func_decl_set__declarations))
00469 {}
00470 
00471 ptr< object::reflection_list > or_or_functional_func_decl_set::reflection_get() const
00472 {
00473         if (!reflection) {
00474                 typedef class_reflection::field_metadata md;
00475                 typedef class_reflection::field_metadata_list mdlist;
00476                 ptr<mdlist> mdl = mdlist::create();
00477                 mdl->push_back( md::create( "declarations", "set&lt; srp&lt; ss_declaration &gt; &gt;" ) );
00478                 reflection = reflection_list::create( or_or_functional::reflection_get() );
00479                 reflection->push_back( class_reflection::create( "or_or_functional_func_decl_set", mdl ) );
00480         }
00481         return reflection;
00482 }
00483 
00484 ptr< object::field_list_list > or_or_functional_func_decl_set::field_values_get() const
00485 {
00486         ptr < field_list_list > result = or_or_functional::field_values_get();
00487         result->push_back( value_list::create() );
00488         result->back()->push_back( this->declarations );
00489         return result;
00490 }
00491 
00492 
00493 /*!
00494    Marking routine is used for garbage collection.
00495    \author lsg
00496  */
00497 void or_or_functional_func_decl_set::gc_mark()
00498 {
00499         or_or_functional::gc_mark();
00500 }
00501 
00502 // End of class or_or_functional_func_decl_set.
00503 
00504 // ------------- Class or_or_functional_decl follows. -------------
00505 
00506 /*!
00507    \returns The value of or_or_functional_decl::declaration.
00508    \author lsg
00509  */
00510 ptr< ss_declaration > or_or_functional_decl::declaration_get() const
00511 {
00512         return declaration;
00513 }
00514 
00515 /*!
00516    \param[in] x The new value to set or_or_functional_decl::declaration to.
00517    \author lsg
00518  */
00519 void or_or_functional_decl::declaration_set(const ptr< ss_declaration > & x)
00520 {
00521         or_or_functional_decl::declaration = x;
00522 }
00523 
00524 void or_or_functional_decl::accept_or_or_functional_visitor( ptr< or_or_functional_visitor > v )
00525 {
00526         return v->visit_or_or_functional_decl( this );
00527 }
00528 
00529 /*!
00530    This factory method for class or_or_functional_decl takes values of all fields as arguments.
00531    \author lsg
00532  */
00533 ptr< or_or_functional_decl > or_or_functional_decl::create(ptr< ss_type > a__or_or_functional__type,
00534                 ptr< ss_declaration > a__or_or_functional_decl__declaration)
00535 {
00536         return ptr< or_or_functional_decl > ( new or_or_functional_decl(a__or_or_functional__type,
00537                 a__or_or_functional_decl__declaration) );
00538 }
00539 
00540 /*!
00541    Generated constructor for class or_or_functional_decl.
00542    \author lsg
00543  */
00544 or_or_functional_decl::or_or_functional_decl (ptr< ss_type > a__or_or_functional__type,
00545                 ptr< ss_declaration > a__or_or_functional_decl__declaration)
00546         : or_or_functional(a__or_or_functional__type), declaration(checked(a__or_or_functional_decl__declaration))
00547 {}
00548 
00549 ptr< object::reflection_list > or_or_functional_decl::reflection_get() const
00550 {
00551         if (!reflection) {
00552                 typedef class_reflection::field_metadata md;
00553                 typedef class_reflection::field_metadata_list mdlist;
00554                 ptr<mdlist> mdl = mdlist::create();
00555                 mdl->push_back( md::create( "declaration", "ss_declaration" ) );
00556                 reflection = reflection_list::create( or_or_functional::reflection_get() );
00557                 reflection->push_back( class_reflection::create( "or_or_functional_decl", mdl ) );
00558         }
00559         return reflection;
00560 }
00561 
00562 ptr< object::field_list_list > or_or_functional_decl::field_values_get() const
00563 {
00564         ptr < field_list_list > result = or_or_functional::field_values_get();
00565         result->push_back( value_list::create() );
00566         result->back()->push_back( this->declaration );
00567         return result;
00568 }
00569 
00570 
00571 /*!
00572    Marking routine is used for garbage collection.
00573    \author lsg
00574  */
00575 void or_or_functional_decl::gc_mark()
00576 {
00577         or_or_functional::gc_mark();
00578 }
00579 
00580 // End of class or_or_functional_decl.
00581 
00582 // ------------- Class or_or_functional_ambiguous follows. -------------
00583 
00584 /*!
00585    \returns The value of or_or_functional_ambiguous::viables.
00586    \author lsg
00587  */
00588 ptr< ::lestes::std::set< srp< ss_function_declaration > > > or_or_functional_ambiguous::viables_get() const
00589 {
00590         return viables;
00591 }
00592 
00593 /*!
00594    \param[in] x The new value to set or_or_functional_ambiguous::viables to.
00595    \author lsg
00596  */
00597 void or_or_functional_ambiguous::viables_set(const ptr< ::lestes::std::set< srp< ss_function_declaration > > > & x)
00598 {
00599         or_or_functional_ambiguous::viables = x;
00600 }
00601 
00602 void or_or_functional_ambiguous::accept_or_or_functional_visitor( ptr< or_or_functional_visitor > v )
00603 {
00604         return v->visit_or_or_functional_ambiguous( this );
00605 }
00606 
00607 /*!
00608    This factory method for class or_or_functional_ambiguous takes values of all fields as arguments.
00609    \author lsg
00610  */
00611 ptr< or_or_functional_ambiguous > or_or_functional_ambiguous::create(ptr< ss_type > a__or_or_functional__type,
00612                 ptr< ::lestes::std::set< srp< ss_function_declaration > > > a__or_or_functional_ambiguous__viables)
00613 {
00614         return ptr< or_or_functional_ambiguous > ( new or_or_functional_ambiguous(a__or_or_functional__type,
00615                 a__or_or_functional_ambiguous__viables) );
00616 }
00617 
00618 /*!
00619    Generated constructor for class or_or_functional_ambiguous.
00620    \author lsg
00621  */
00622 or_or_functional_ambiguous::or_or_functional_ambiguous (ptr< ss_type > a__or_or_functional__type,
00623                 ptr< ::lestes::std::set< srp< ss_function_declaration > > > a__or_or_functional_ambiguous__viables)
00624         : or_or_functional(a__or_or_functional__type), viables(checked(a__or_or_functional_ambiguous__viables))
00625 {}
00626 
00627 ptr< object::reflection_list > or_or_functional_ambiguous::reflection_get() const
00628 {
00629         if (!reflection) {
00630                 typedef class_reflection::field_metadata md;
00631                 typedef class_reflection::field_metadata_list mdlist;
00632                 ptr<mdlist> mdl = mdlist::create();
00633                 mdl->push_back( md::create( "viables", "set&lt; srp&lt; ss_function_declaration &gt; &gt;" ) );
00634                 reflection = reflection_list::create( or_or_functional::reflection_get() );
00635                 reflection->push_back( class_reflection::create( "or_or_functional_ambiguous", mdl ) );
00636         }
00637         return reflection;
00638 }
00639 
00640 ptr< object::field_list_list > or_or_functional_ambiguous::field_values_get() const
00641 {
00642         ptr < field_list_list > result = or_or_functional::field_values_get();
00643         result->push_back( value_list::create() );
00644         result->back()->push_back( this->viables );
00645         return result;
00646 }
00647 
00648 
00649 /*!
00650    Marking routine is used for garbage collection.
00651    \author lsg
00652  */
00653 void or_or_functional_ambiguous::gc_mark()
00654 {
00655         or_or_functional::gc_mark();
00656 }
00657 
00658 // End of class or_or_functional_ambiguous.
00659 
00660 // ------------- Class or_or_functional_noviable follows. -------------
00661 
00662 void or_or_functional_noviable::accept_or_or_functional_visitor( ptr< or_or_functional_visitor > v )
00663 {
00664         return v->visit_or_or_functional_noviable( this );
00665 }
00666 
00667 /*!
00668    This factory method for class or_or_functional_noviable takes values of all fields as arguments.
00669    \author lsg
00670  */
00671 ptr< or_or_functional_noviable > or_or_functional_noviable::create(ptr< ss_type > a__or_or_functional__type)
00672 {
00673         return ptr< or_or_functional_noviable > ( new or_or_functional_noviable(a__or_or_functional__type) );
00674 }
00675 
00676 /*!
00677    Generated constructor for class or_or_functional_noviable.
00678    \author lsg
00679  */
00680 or_or_functional_noviable::or_or_functional_noviable (ptr< ss_type > a__or_or_functional__type)
00681         : or_or_functional(a__or_or_functional__type)
00682 {}
00683 
00684 ptr< object::reflection_list > or_or_functional_noviable::reflection_get() const
00685 {
00686         if (!reflection) {
00687                 typedef class_reflection::field_metadata md;
00688                 typedef class_reflection::field_metadata_list mdlist;
00689                 ptr<mdlist> mdl = mdlist::create();
00690                 reflection = reflection_list::create( or_or_functional::reflection_get() );
00691                 reflection->push_back( class_reflection::create( "or_or_functional_noviable", mdl ) );
00692         }
00693         return reflection;
00694 }
00695 
00696 ptr< object::field_list_list > or_or_functional_noviable::field_values_get() const
00697 {
00698         ptr < field_list_list > result = or_or_functional::field_values_get();
00699         return result;
00700 }
00701 
00702 
00703 /*!
00704    Marking routine is used for garbage collection.
00705    \author lsg
00706  */
00707 void or_or_functional_noviable::gc_mark()
00708 {
00709         or_or_functional::gc_mark();
00710 }
00711 
00712 // End of class or_or_functional_noviable.
00713 
00714 // ------------- Class or_or_functional_this follows. -------------
00715 
00716 void or_or_functional_this::accept_or_or_functional_visitor( ptr< or_or_functional_visitor > v )
00717 {
00718         return v->visit_or_or_functional_this( this );
00719 }
00720 
00721 /*!
00722    This factory method for class or_or_functional_this takes values of all fields as arguments.
00723    \author lsg
00724  */
00725 ptr< or_or_functional_this > or_or_functional_this::create(ptr< ss_type > a__or_or_functional__type)
00726 {
00727         return ptr< or_or_functional_this > ( new or_or_functional_this(a__or_or_functional__type) );
00728 }
00729 
00730 /*!
00731    Generated constructor for class or_or_functional_this.
00732    \author lsg
00733  */
00734 or_or_functional_this::or_or_functional_this (ptr< ss_type > a__or_or_functional__type)
00735         : or_or_functional(a__or_or_functional__type)
00736 {}
00737 
00738 ptr< object::reflection_list > or_or_functional_this::reflection_get() const
00739 {
00740         if (!reflection) {
00741                 typedef class_reflection::field_metadata md;
00742                 typedef class_reflection::field_metadata_list mdlist;
00743                 ptr<mdlist> mdl = mdlist::create();
00744                 reflection = reflection_list::create( or_or_functional::reflection_get() );
00745                 reflection->push_back( class_reflection::create( "or_or_functional_this", mdl ) );
00746         }
00747         return reflection;
00748 }
00749 
00750 ptr< object::field_list_list > or_or_functional_this::field_values_get() const
00751 {
00752         ptr < field_list_list > result = or_or_functional::field_values_get();
00753         return result;
00754 }
00755 
00756 
00757 /*!
00758    Marking routine is used for garbage collection.
00759    \author lsg
00760  */
00761 void or_or_functional_this::gc_mark()
00762 {
00763         or_or_functional::gc_mark();
00764 }
00765 
00766 // End of class or_or_functional_this.
00767 
00768 // ------------- Class or_declaration_helper follows. -------------
00769 
00770 /*!
00771    \returns The value of or_declaration_helper::declaration.
00772    \author lsg
00773  */
00774 ptr< ss_declaration > or_declaration_helper::declaration_get() const
00775 {
00776         return declaration;
00777 }
00778 
00779 /*!
00780    \param[in] x The new value to set or_declaration_helper::declaration to.
00781    \author lsg
00782  */
00783 void or_declaration_helper::declaration_set(const ptr< ss_declaration > & x)
00784 {
00785         or_declaration_helper::declaration = x;
00786 }
00787 
00788 /*!
00789    \returns The value of or_declaration_helper::psp.
00790    \author lsg
00791  */
00792 ptr< ss_sp > or_declaration_helper::psp_get() const
00793 {
00794         return psp;
00795 }
00796 
00797 /*!
00798    \param[in] x The new value to set or_declaration_helper::psp to.
00799    \author lsg
00800  */
00801 void or_declaration_helper::psp_set(const ptr< ss_sp > & x)
00802 {
00803         or_declaration_helper::psp = x;
00804 }
00805 
00806 /*!
00807    \returns The value of or_declaration_helper::nsp.
00808    \author lsg
00809  */
00810 ptr< ss_sp > or_declaration_helper::nsp_get() const
00811 {
00812         return nsp;
00813 }
00814 
00815 /*!
00816    \param[in] x The new value to set or_declaration_helper::nsp to.
00817    \author lsg
00818  */
00819 void or_declaration_helper::nsp_set(const ptr< ss_sp > & x)
00820 {
00821         or_declaration_helper::nsp = x;
00822 }
00823 
00824 /*!
00825    \returns The value of or_declaration_helper::arguments.
00826    \author lsg
00827  */
00828 ptr< ::lestes::std::list< srp< or_or_functional > > > or_declaration_helper::arguments_get() const
00829 {
00830         return arguments;
00831 }
00832 
00833 /*!
00834    \param[in] x The new value to set or_declaration_helper::arguments to.
00835    \author lsg
00836  */
00837 void or_declaration_helper::arguments_set(const ptr< ::lestes::std::list< srp< or_or_functional > > > & x)
00838 {
00839         or_declaration_helper::arguments = x;
00840 }
00841 
00842 /*!
00843    \returns The value of or_declaration_helper::location.
00844    \author lsg
00845  */
00846 ptr< ::lestes::std::source_location > or_declaration_helper::location_get() const
00847 {
00848         return location;
00849 }
00850 
00851 /*!
00852    \param[in] x The new value to set or_declaration_helper::location to.
00853    \author lsg
00854  */
00855 void or_declaration_helper::location_set(const ptr< ::lestes::std::source_location > & x)
00856 {
00857         or_declaration_helper::location = x;
00858 }
00859 
00860 /*!
00861    \returns The value of or_declaration_helper::sp_list.
00862    \author lsg
00863  */
00864 ptr< ::lestes::std::list< srp< ss_sp > > > or_declaration_helper::sp_list_get() const
00865 {
00866         return sp_list;
00867 }
00868 
00869 /*!
00870    \param[in] x The new value to set or_declaration_helper::sp_list to.
00871    \author lsg
00872  */
00873 void or_declaration_helper::sp_list_set(const ptr< ::lestes::std::list< srp< ss_sp > > > & x)
00874 {
00875         or_declaration_helper::sp_list = x;
00876 }
00877 
00878 /*!
00879    \returns The value of or_declaration_helper::result.
00880    \author lsg
00881  */
00882 ptr< ss_expression > or_declaration_helper::result_get() const
00883 {
00884         return result;
00885 }
00886 
00887 /*!
00888    \param[in] x The new value to set or_declaration_helper::result to.
00889    \author lsg
00890  */
00891 void or_declaration_helper::result_set(const ptr< ss_expression > & x)
00892 {
00893         or_declaration_helper::result = x;
00894 }
00895 
00896 /*!
00897    This factory method for class or_declaration_helper takes values of all fields as arguments.
00898    \author lsg
00899  */
00900 ptr< or_declaration_helper > or_declaration_helper::create(ptr< ss_declaration > a__or_declaration_helper__declaration,
00901                 ptr< ss_sp > a__or_declaration_helper__psp,
00902                 ptr< ss_sp > a__or_declaration_helper__nsp,
00903                 ptr< ::lestes::std::list< srp< or_or_functional > > > a__or_declaration_helper__arguments,
00904                 ptr< ::lestes::std::source_location > a__or_declaration_helper__location,
00905                 ptr< ::lestes::std::list< srp< ss_sp > > > a__or_declaration_helper__sp_list,
00906                 ptr< ss_expression > a__or_declaration_helper__result)
00907 {
00908         return ptr< or_declaration_helper > ( new or_declaration_helper(a__or_declaration_helper__declaration,
00909                 a__or_declaration_helper__psp,
00910                 a__or_declaration_helper__nsp,
00911                 a__or_declaration_helper__arguments,
00912                 a__or_declaration_helper__location,
00913                 a__or_declaration_helper__sp_list,
00914                 a__or_declaration_helper__result) );
00915 }
00916 
00917 /*!
00918    This factory method for class or_declaration_helper uses initializers.
00919    \author lsg
00920  */
00921 ptr< or_declaration_helper > or_declaration_helper::create(ptr< ss_declaration > a__or_declaration_helper__declaration,
00922                 ptr< ss_sp > a__or_declaration_helper__psp,
00923                 ptr< ss_sp > a__or_declaration_helper__nsp,
00924                 ptr< ::lestes::std::list< srp< or_or_functional > > > a__or_declaration_helper__arguments,
00925                 ptr< ::lestes::std::source_location > a__or_declaration_helper__location,
00926                 ptr< ::lestes::std::list< srp< ss_sp > > > a__or_declaration_helper__sp_list)
00927 {
00928         return ptr< or_declaration_helper > ( new or_declaration_helper(a__or_declaration_helper__declaration, a__or_declaration_helper__psp, a__or_declaration_helper__nsp, a__or_declaration_helper__arguments, a__or_declaration_helper__location, a__or_declaration_helper__sp_list, NULL) );
00929 }
00930 
00931 /*!
00932    Generated constructor for class or_declaration_helper.
00933    \author lsg
00934  */
00935 or_declaration_helper::or_declaration_helper (ptr< ss_declaration > a__or_declaration_helper__declaration,
00936                 ptr< ss_sp > a__or_declaration_helper__psp,
00937                 ptr< ss_sp > a__or_declaration_helper__nsp,
00938                 ptr< ::lestes::std::list< srp< or_or_functional > > > a__or_declaration_helper__arguments,
00939                 ptr< ::lestes::std::source_location > a__or_declaration_helper__location,
00940                 ptr< ::lestes::std::list< srp< ss_sp > > > a__or_declaration_helper__sp_list,
00941                 ptr< ss_expression > a__or_declaration_helper__result)
00942         : ss_declaration_visitor(), declaration(checked(a__or_declaration_helper__declaration)), psp(checked(a__or_declaration_helper__psp)), nsp(checked(a__or_declaration_helper__nsp)), arguments(checked(a__or_declaration_helper__arguments)), location(checked(a__or_declaration_helper__location)), sp_list(checked(a__or_declaration_helper__sp_list)), result(a__or_declaration_helper__result)
00943 {}
00944 
00945 ptr< object::reflection_list > or_declaration_helper::reflection_get() const
00946 {
00947         if (!reflection) {
00948                 typedef class_reflection::field_metadata md;
00949                 typedef class_reflection::field_metadata_list mdlist;
00950                 ptr<mdlist> mdl = mdlist::create();
00951                 mdl->push_back( md::create( "declaration", "ss_declaration" ) );
00952                 mdl->push_back( md::create( "psp", "ss_sp" ) );
00953                 mdl->push_back( md::create( "nsp", "ss_sp" ) );
00954                 mdl->push_back( md::create( "arguments", "list&lt; srp&lt; or_or_functional &gt; &gt;" ) );
00955                 mdl->push_back( md::create( "location", "source_location" ) );
00956                 mdl->push_back( md::create( "sp_list", "list&lt; srp&lt; ss_sp &gt; &gt;" ) );
00957                 mdl->push_back( md::create( "result", "ss_expression" ) );
00958                 reflection = reflection_list::create( ss_declaration_visitor::reflection_get() );
00959                 reflection->push_back( class_reflection::create( "or_declaration_helper", mdl ) );
00960         }
00961         return reflection;
00962 }
00963 
00964 ptr< object::field_list_list > or_declaration_helper::field_values_get() const
00965 {
00966         ptr < field_list_list > result = ss_declaration_visitor::field_values_get();
00967         result->push_back( value_list::create() );
00968         result->back()->push_back( this->declaration );
00969         result->push_back( value_list::create() );
00970         result->back()->push_back( this->psp );
00971         result->push_back( value_list::create() );
00972         result->back()->push_back( this->nsp );
00973         result->push_back( value_list::create() );
00974         result->back()->push_back( this->arguments );
00975         result->push_back( value_list::create() );
00976         result->back()->push_back( this->location );
00977         result->push_back( value_list::create() );
00978         result->back()->push_back( this->sp_list );
00979         result->push_back( value_list::create() );
00980         result->back()->push_back( this->result );
00981         return result;
00982 }
00983 
00984 
00985 /*!
00986    Marking routine is used for garbage collection.
00987    \author lsg
00988  */
00989 void or_declaration_helper::gc_mark()
00990 {
00991         ss_declaration_visitor::gc_mark();
00992 }
00993 
00994 // End of class or_declaration_helper.
00995 
00996 // ------------- Class or_builtin_operator_expression_creator follows. -------------
00997 
00998 /*!
00999    \returns The value of or_builtin_operator_expression_creator::declaration.
01000    \author lsg
01001  */
01002 ptr< ss_builtin_operator_declaration > or_builtin_operator_expression_creator::declaration_get() const
01003 {
01004         return declaration;
01005 }
01006 
01007 /*!
01008    \param[in] x The new value to set or_builtin_operator_expression_creator::declaration to.
01009    \author lsg
01010  */
01011 void or_builtin_operator_expression_creator::declaration_set(const ptr< ss_builtin_operator_declaration > & x)
01012 {
01013         or_builtin_operator_expression_creator::declaration = x;
01014 }
01015 
01016 /*!
01017    \returns The value of or_builtin_operator_expression_creator::psp.
01018    \author lsg
01019  */
01020 ptr< ss_sp > or_builtin_operator_expression_creator::psp_get() const
01021 {
01022         return psp;
01023 }
01024 
01025 /*!
01026    \param[in] x The new value to set or_builtin_operator_expression_creator::psp to.
01027    \author lsg
01028  */
01029 void or_builtin_operator_expression_creator::psp_set(const ptr< ss_sp > & x)
01030 {
01031         or_builtin_operator_expression_creator::psp = x;
01032 }
01033 
01034 /*!
01035    \returns The value of or_builtin_operator_expression_creator::nsp.
01036    \author lsg
01037  */
01038 ptr< ss_sp > or_builtin_operator_expression_creator::nsp_get() const
01039 {
01040         return nsp;
01041 }
01042 
01043 /*!
01044    \param[in] x The new value to set or_builtin_operator_expression_creator::nsp to.
01045    \author lsg
01046  */
01047 void or_builtin_operator_expression_creator::nsp_set(const ptr< ss_sp > & x)
01048 {
01049         or_builtin_operator_expression_creator::nsp = x;
01050 }
01051 
01052 /*!
01053    \returns The value of or_builtin_operator_expression_creator::arguments.
01054    \author lsg
01055  */
01056 ptr< ::lestes::std::list< srp< or_or_functional > > > or_builtin_operator_expression_creator::arguments_get() const
01057 {
01058         return arguments;
01059 }
01060 
01061 /*!
01062    \param[in] x The new value to set or_builtin_operator_expression_creator::arguments to.
01063    \author lsg
01064  */
01065 void or_builtin_operator_expression_creator::arguments_set(const ptr< ::lestes::std::list< srp< or_or_functional > > > & x)
01066 {
01067         or_builtin_operator_expression_creator::arguments = x;
01068 }
01069 
01070 /*!
01071    \returns The value of or_builtin_operator_expression_creator::location.
01072    \author lsg
01073  */
01074 ptr< ::lestes::std::source_location > or_builtin_operator_expression_creator::location_get() const
01075 {
01076         return location;
01077 }
01078 
01079 /*!
01080    \param[in] x The new value to set or_builtin_operator_expression_creator::location to.
01081    \author lsg
01082  */
01083 void or_builtin_operator_expression_creator::location_set(const ptr< ::lestes::std::source_location > & x)
01084 {
01085         or_builtin_operator_expression_creator::location = x;
01086 }
01087 
01088 /*!
01089    \returns The value of or_builtin_operator_expression_creator::sp_list.
01090    \author lsg
01091  */
01092 ptr< ::lestes::std::list< srp< ss_sp > > > or_builtin_operator_expression_creator::sp_list_get() const
01093 {
01094         return sp_list;
01095 }
01096 
01097 /*!
01098    \param[in] x The new value to set or_builtin_operator_expression_creator::sp_list to.
01099    \author lsg
01100  */
01101 void or_builtin_operator_expression_creator::sp_list_set(const ptr< ::lestes::std::list< srp< ss_sp > > > & x)
01102 {
01103         or_builtin_operator_expression_creator::sp_list = x;
01104 }
01105 
01106 /*!
01107    \returns The value of or_builtin_operator_expression_creator::result.
01108    \author lsg
01109  */
01110 ptr< ss_expression > or_builtin_operator_expression_creator::result_get() const
01111 {
01112         return result;
01113 }
01114 
01115 /*!
01116    \param[in] x The new value to set or_builtin_operator_expression_creator::result to.
01117    \author lsg
01118  */
01119 void or_builtin_operator_expression_creator::result_set(const ptr< ss_expression > & x)
01120 {
01121         or_builtin_operator_expression_creator::result = x;
01122 }
01123 
01124 /*!
01125    This factory method for class or_builtin_operator_expression_creator takes values of all fields as arguments.
01126    \author lsg
01127  */
01128 ptr< or_builtin_operator_expression_creator > or_builtin_operator_expression_creator::create(ptr< ss_builtin_operator_declaration > a__or_builtin_operator_expression_creator__declaration,
01129                 ptr< ss_sp > a__or_builtin_operator_expression_creator__psp,
01130                 ptr< ss_sp > a__or_builtin_operator_expression_creator__nsp,
01131                 ptr< ::lestes::std::list< srp< or_or_functional > > > a__or_builtin_operator_expression_creator__arguments,
01132                 ptr< ::lestes::std::source_location > a__or_builtin_operator_expression_creator__location,
01133                 ptr< ::lestes::std::list< srp< ss_sp > > > a__or_builtin_operator_expression_creator__sp_list,
01134                 ptr< ss_expression > a__or_builtin_operator_expression_creator__result)
01135 {
01136         return ptr< or_builtin_operator_expression_creator > ( new or_builtin_operator_expression_creator(a__or_builtin_operator_expression_creator__declaration,
01137                 a__or_builtin_operator_expression_creator__psp,
01138                 a__or_builtin_operator_expression_creator__nsp,
01139                 a__or_builtin_operator_expression_creator__arguments,
01140                 a__or_builtin_operator_expression_creator__location,
01141                 a__or_builtin_operator_expression_creator__sp_list,
01142                 a__or_builtin_operator_expression_creator__result) );
01143 }
01144 
01145 /*!
01146    This factory method for class or_builtin_operator_expression_creator uses initializers.
01147    \author lsg
01148  */
01149 ptr< or_builtin_operator_expression_creator > or_builtin_operator_expression_creator::create(ptr< ss_builtin_operator_declaration > a__or_builtin_operator_expression_creator__declaration,
01150                 ptr< ss_sp > a__or_builtin_operator_expression_creator__psp,
01151                 ptr< ss_sp > a__or_builtin_operator_expression_creator__nsp,
01152                 ptr< ::lestes::std::list< srp< or_or_functional > > > a__or_builtin_operator_expression_creator__arguments,
01153                 ptr< ::lestes::std::source_location > a__or_builtin_operator_expression_creator__location,
01154                 ptr< ::lestes::std::list< srp< ss_sp > > > a__or_builtin_operator_expression_creator__sp_list)
01155 {
01156         return ptr< or_builtin_operator_expression_creator > ( new or_builtin_operator_expression_creator(a__or_builtin_operator_expression_creator__declaration, a__or_builtin_operator_expression_creator__psp, a__or_builtin_operator_expression_creator__nsp, a__or_builtin_operator_expression_creator__arguments, a__or_builtin_operator_expression_creator__location, a__or_builtin_operator_expression_creator__sp_list, NULL) );
01157 }
01158 
01159 /*!
01160    Generated constructor for class or_builtin_operator_expression_creator.
01161    \author lsg
01162  */
01163 or_builtin_operator_expression_creator::or_builtin_operator_expression_creator (ptr< ss_builtin_operator_declaration > a__or_builtin_operator_expression_creator__declaration,
01164                 ptr< ss_sp > a__or_builtin_operator_expression_creator__psp,
01165                 ptr< ss_sp > a__or_builtin_operator_expression_creator__nsp,
01166                 ptr< ::lestes::std::list< srp< or_or_functional > > > a__or_builtin_operator_expression_creator__arguments,
01167                 ptr< ::lestes::std::source_location > a__or_builtin_operator_expression_creator__location,
01168                 ptr< ::lestes::std::list< srp< ss_sp > > > a__or_builtin_operator_expression_creator__sp_list,
01169                 ptr< ss_expression > a__or_builtin_operator_expression_creator__result)
01170         : ss_decl_name_visitor(), declaration(checked(a__or_builtin_operator_expression_creator__declaration)), psp(checked(a__or_builtin_operator_expression_creator__psp)), nsp(checked(a__or_builtin_operator_expression_creator__nsp)), arguments(checked(a__or_builtin_operator_expression_creator__arguments)), location(checked(a__or_builtin_operator_expression_creator__location)), sp_list(checked(a__or_builtin_operator_expression_creator__sp_list)), result(a__or_builtin_operator_expression_creator__result)
01171 {}
01172 
01173 ptr< object::reflection_list > or_builtin_operator_expression_creator::reflection_get() const
01174 {
01175         if (!reflection) {
01176                 typedef class_reflection::field_metadata md;
01177                 typedef class_reflection::field_metadata_list mdlist;
01178                 ptr<mdlist> mdl = mdlist::create();
01179                 mdl->push_back( md::create( "declaration", "ss_builtin_operator_declaration" ) );
01180                 mdl->push_back( md::create( "psp", "ss_sp" ) );
01181                 mdl->push_back( md::create( "nsp", "ss_sp" ) );
01182                 mdl->push_back( md::create( "arguments", "list&lt; srp&lt; or_or_functional &gt; &gt;" ) );
01183                 mdl->push_back( md::create( "location", "source_location" ) );
01184                 mdl->push_back( md::create( "sp_list", "list&lt; srp&lt; ss_sp &gt; &gt;" ) );
01185                 mdl->push_back( md::create( "result", "ss_expression" ) );
01186                 reflection = reflection_list::create( ss_decl_name_visitor::reflection_get() );
01187                 reflection->push_back( class_reflection::create( "or_builtin_operator_expression_creator", mdl ) );
01188         }
01189         return reflection;
01190 }
01191 
01192 ptr< object::field_list_list > or_builtin_operator_expression_creator::field_values_get() const
01193 {
01194         ptr < field_list_list > result = ss_decl_name_visitor::field_values_get();
01195         result->push_back( value_list::create() );
01196         result->back()->push_back( this->declaration );
01197         result->push_back( value_list::create() );
01198         result->back()->push_back( this->psp );
01199         result->push_back( value_list::create() );
01200         result->back()->push_back( this->nsp );
01201         result->push_back( value_list::create() );
01202         result->back()->push_back( this->arguments );
01203         result->push_back( value_list::create() );
01204         result->back()->push_back( this->location );
01205         result->push_back( value_list::create() );
01206         result->back()->push_back( this->sp_list );
01207         result->push_back( value_list::create() );
01208         result->back()->push_back( this->result );
01209         return result;
01210 }
01211 
01212 
01213 /*!
01214    Marking routine is used for garbage collection.
01215    \author lsg
01216  */
01217 void or_builtin_operator_expression_creator::gc_mark()
01218 {
01219         ss_decl_name_visitor::gc_mark();
01220 }
01221 
01222 // End of class or_builtin_operator_expression_creator.
01223 
01224 // ------------- Class or_funcall_creator follows. -------------
01225 
01226 /*!
01227    \returns The value of or_funcall_creator::declaration.
01228    \author lsg
01229  */
01230 ptr< ss_function_declaration > or_funcall_creator::declaration_get() const
01231 {
01232         return declaration;
01233 }
01234 
01235 /*!
01236    \param[in] x The new value to set or_funcall_creator::declaration to.
01237    \author lsg
01238  */
01239 void or_funcall_creator::declaration_set(const ptr< ss_function_declaration > & x)
01240 {
01241         or_funcall_creator::declaration = x;
01242 }
01243 
01244 /*!
01245    \returns The value of or_funcall_creator::psp.
01246    \author lsg
01247  */
01248 ptr< ss_sp > or_funcall_creator::psp_get() const
01249 {
01250         return psp;
01251 }
01252 
01253 /*!
01254    \param[in] x The new value to set or_funcall_creator::psp to.
01255    \author lsg
01256  */
01257 void or_funcall_creator::psp_set(const ptr< ss_sp > & x)
01258 {
01259         or_funcall_creator::psp = x;
01260 }
01261 
01262 /*!
01263    \returns The value of or_funcall_creator::nsp.
01264    \author lsg
01265  */
01266 ptr< ss_sp > or_funcall_creator::nsp_get() const
01267 {
01268         return nsp;
01269 }
01270 
01271 /*!
01272    \param[in] x The new value to set or_funcall_creator::nsp to.
01273    \author lsg
01274  */
01275 void or_funcall_creator::nsp_set(const ptr< ss_sp > & x)
01276 {
01277         or_funcall_creator::nsp = x;
01278 }
01279 
01280 /*!
01281    \returns The value of or_funcall_creator::arguments.
01282    \author lsg
01283  */
01284 ptr< ::lestes::std::list< srp< or_or_functional > > > or_funcall_creator::arguments_get() const
01285 {
01286         return arguments;
01287 }
01288 
01289 /*!
01290    \param[in] x The new value to set or_funcall_creator::arguments to.
01291    \author lsg
01292  */
01293 void or_funcall_creator::arguments_set(const ptr< ::lestes::std::list< srp< or_or_functional > > > & x)
01294 {
01295         or_funcall_creator::arguments = x;
01296 }
01297 
01298 /*!
01299    \returns The value of or_funcall_creator::location.
01300    \author lsg
01301  */
01302 ptr< ::lestes::std::source_location > or_funcall_creator::location_get() const
01303 {
01304         return location;
01305 }
01306 
01307 /*!
01308    \param[in] x The new value to set or_funcall_creator::location to.
01309    \author lsg
01310  */
01311 void or_funcall_creator::location_set(const ptr< ::lestes::std::source_location > & x)
01312 {
01313         or_funcall_creator::location = x;
01314 }
01315 
01316 /*!
01317    \returns The value of or_funcall_creator::sp_list.
01318    \author lsg
01319  */
01320 ptr< ::lestes::std::list< srp< ss_sp > > > or_funcall_creator::sp_list_get() const
01321 {
01322         return sp_list;
01323 }
01324 
01325 /*!
01326    \param[in] x The new value to set or_funcall_creator::sp_list to.
01327    \author lsg
01328  */
01329 void or_funcall_creator::sp_list_set(const ptr< ::lestes::std::list< srp< ss_sp > > > & x)
01330 {
01331         or_funcall_creator::sp_list = x;
01332 }
01333 
01334 /*!
01335    \returns The value of or_funcall_creator::result.
01336    \author lsg
01337  */
01338 ptr< ss_expression > or_funcall_creator::result_get() const
01339 {
01340         return result;
01341 }
01342 
01343 /*!
01344    \param[in] x The new value to set or_funcall_creator::result to.
01345    \author lsg
01346  */
01347 void or_funcall_creator::result_set(const ptr< ss_expression > & x)
01348 {
01349         or_funcall_creator::result = x;
01350 }
01351 
01352 /*!
01353    This factory method for class or_funcall_creator takes values of all fields as arguments.
01354    \author lsg
01355  */
01356 ptr< or_funcall_creator > or_funcall_creator::create(ptr< ss_function_declaration > a__or_funcall_creator__declaration,
01357                 ptr< ss_sp > a__or_funcall_creator__psp,
01358                 ptr< ss_sp > a__or_funcall_creator__nsp,
01359                 ptr< ::lestes::std::list< srp< or_or_functional > > > a__or_funcall_creator__arguments,
01360                 ptr< ::lestes::std::source_location > a__or_funcall_creator__location,
01361                 ptr< ::lestes::std::list< srp< ss_sp > > > a__or_funcall_creator__sp_list,
01362                 ptr< ss_expression > a__or_funcall_creator__result)
01363 {
01364         return ptr< or_funcall_creator > ( new or_funcall_creator(a__or_funcall_creator__declaration,
01365                 a__or_funcall_creator__psp,
01366                 a__or_funcall_creator__nsp,
01367                 a__or_funcall_creator__arguments,
01368                 a__or_funcall_creator__location,
01369                 a__or_funcall_creator__sp_list,
01370                 a__or_funcall_creator__result) );
01371 }
01372 
01373 /*!
01374    This factory method for class or_funcall_creator uses initializers.
01375    \author lsg
01376  */
01377 ptr< or_funcall_creator > or_funcall_creator::create(ptr< ss_function_declaration > a__or_funcall_creator__declaration,
01378                 ptr< ss_sp > a__or_funcall_creator__psp,
01379                 ptr< ss_sp > a__or_funcall_creator__nsp,
01380                 ptr< ::lestes::std::list< srp< or_or_functional > > > a__or_funcall_creator__arguments,
01381                 ptr< ::lestes::std::source_location > a__or_funcall_creator__location,
01382                 ptr< ::lestes::std::list< srp< ss_sp > > > a__or_funcall_creator__sp_list)
01383 {
01384         return ptr< or_funcall_creator > ( new or_funcall_creator(a__or_funcall_creator__declaration, a__or_funcall_creator__psp, a__or_funcall_creator__nsp, a__or_funcall_creator__arguments, a__or_funcall_creator__location, a__or_funcall_creator__sp_list, NULL) );
01385 }
01386 
01387 /*!
01388    Generated constructor for class or_funcall_creator.
01389    \author lsg
01390  */
01391 or_funcall_creator::or_funcall_creator (ptr< ss_function_declaration > a__or_funcall_creator__declaration,
01392                 ptr< ss_sp > a__or_funcall_creator__psp,
01393                 ptr< ss_sp > a__or_funcall_creator__nsp,
01394                 ptr< ::lestes::std::list< srp< or_or_functional > > > a__or_funcall_creator__arguments,
01395                 ptr< ::lestes::std::source_location > a__or_funcall_creator__location,
01396                 ptr< ::lestes::std::list< srp< ss_sp > > > a__or_funcall_creator__sp_list,
01397                 ptr< ss_expression > a__or_funcall_creator__result)
01398         : ss_declaration_visitor(), declaration(checked(a__or_funcall_creator__declaration)), psp(checked(a__or_funcall_creator__psp)), nsp(checked(a__or_funcall_creator__nsp)), arguments(checked(a__or_funcall_creator__arguments)), location(checked(a__or_funcall_creator__location)), sp_list(checked(a__or_funcall_creator__sp_list)), result(a__or_funcall_creator__result)
01399 {}
01400 
01401 ptr< object::reflection_list > or_funcall_creator::reflection_get() const
01402 {
01403         if (!reflection) {
01404                 typedef class_reflection::field_metadata md;
01405                 typedef class_reflection::field_metadata_list mdlist;
01406                 ptr<mdlist> mdl = mdlist::create();
01407                 mdl->push_back( md::create( "declaration", "ss_function_declaration" ) );
01408                 mdl->push_back( md::create( "psp", "ss_sp" ) );
01409                 mdl->push_back( md::create( "nsp", "ss_sp" ) );
01410                 mdl->push_back( md::create( "arguments", "list&lt; srp&lt; or_or_functional &gt; &gt;" ) );
01411                 mdl->push_back( md::create( "location", "source_location" ) );
01412                 mdl->push_back( md::create( "sp_list", "list&lt; srp&lt; ss_sp &gt; &gt;" ) );
01413                 mdl->push_back( md::create( "result", "ss_expression" ) );
01414                 reflection = reflection_list::create( ss_declaration_visitor::reflection_get() );
01415                 reflection->push_back( class_reflection::create( "or_funcall_creator", mdl ) );
01416         }
01417         return reflection;
01418 }
01419 
01420 ptr< object::field_list_list > or_funcall_creator::field_values_get() const
01421 {
01422         ptr < field_list_list > result = ss_declaration_visitor::field_values_get();
01423         result->push_back( value_list::create() );
01424         result->back()->push_back( this->declaration );
01425         result->push_back( value_list::create() );
01426         result->back()->push_back( this->psp );
01427         result->push_back( value_list::create() );
01428         result->back()->push_back( this->nsp );
01429         result->push_back( value_list::create() );
01430         result->back()->push_back( this->arguments );
01431         result->push_back( value_list::create() );
01432         result->back()->push_back( this->location );
01433         result->push_back( value_list::create() );
01434         result->back()->push_back( this->sp_list );
01435         result->push_back( value_list::create() );
01436         result->back()->push_back( this->result );
01437         return result;
01438 }
01439 
01440 
01441 /*!
01442    Marking routine is used for garbage collection.
01443    \author lsg
01444  */
01445 void or_funcall_creator::gc_mark()
01446 {
01447         ss_declaration_visitor::gc_mark();
01448 }
01449 
01450 // End of class or_funcall_creator.
01451 
01452 // ------------- Class or_funcall_creator_context follows. -------------
01453 
01454 /*!
01455    \returns The value of or_funcall_creator_context::declaration.
01456    \author lsg
01457  */
01458 ptr< ss_function_declaration > or_funcall_creator_context::declaration_get() const
01459 {
01460         return declaration;
01461 }
01462 
01463 /*!
01464    \param[in] x The new value to set or_funcall_creator_context::declaration to.
01465    \author lsg
01466  */
01467 void or_funcall_creator_context::declaration_set(const ptr< ss_function_declaration > & x)
01468 {
01469         or_funcall_creator_context::declaration = x;
01470 }
01471 
01472 /*!
01473    \returns The value of or_funcall_creator_context::object_expression.
01474    \author lsg
01475  */
01476 ptr< ss_expression > or_funcall_creator_context::object_expression_get() const
01477 {
01478         return object_expression;
01479 }
01480 
01481 /*!
01482    \param[in] x The new value to set or_funcall_creator_context::object_expression to.
01483    \author lsg
01484  */
01485 void or_funcall_creator_context::object_expression_set(const ptr< ss_expression > & x)
01486 {
01487         or_funcall_creator_context::object_expression = x;
01488 }
01489 
01490 /*!
01491    This factory method for class or_funcall_creator_context takes values of all fields as arguments.
01492    \author lsg
01493  */
01494 ptr< or_funcall_creator_context > or_funcall_creator_context::create(ptr< ss_function_declaration > a__or_funcall_creator_context__declaration,
01495                 ptr< ss_expression > a__or_funcall_creator_context__object_expression)
01496 {
01497         return ptr< or_funcall_creator_context > ( new or_funcall_creator_context(a__or_funcall_creator_context__declaration,
01498                 a__or_funcall_creator_context__object_expression) );
01499 }
01500 
01501 /*!
01502    Generated constructor for class or_funcall_creator_context.
01503    \author lsg
01504  */
01505 or_funcall_creator_context::or_funcall_creator_context (ptr< ss_function_declaration > a__or_funcall_creator_context__declaration,
01506                 ptr< ss_expression > a__or_funcall_creator_context__object_expression)
01507         : object(), declaration(checked(a__or_funcall_creator_context__declaration)), object_expression(checked(a__or_funcall_creator_context__object_expression))
01508 {}
01509 
01510 ptr< object::reflection_list > or_funcall_creator_context::reflection_get() const
01511 {
01512         if (!reflection) {
01513                 typedef class_reflection::field_metadata md;
01514                 typedef class_reflection::field_metadata_list mdlist;
01515                 ptr<mdlist> mdl = mdlist::create();
01516                 mdl->push_back( md::create( "declaration", "ss_function_declaration" ) );
01517                 mdl->push_back( md::create( "object_expression", "ss_expression" ) );
01518                 reflection = reflection_list::create( ::lestes::std::object::reflection_get() );
01519                 reflection->push_back( class_reflection::create( "or_funcall_creator_context", mdl ) );
01520         }
01521         return reflection;
01522 }
01523 
01524 ptr< object::field_list_list > or_funcall_creator_context::field_values_get() const
01525 {
01526         ptr < field_list_list > result = ::lestes::std::object::field_values_get();
01527         result->push_back( value_list::create() );
01528         result->back()->push_back( this->declaration );
01529         result->push_back( value_list::create() );
01530         result->back()->push_back( this->object_expression );
01531         return result;
01532 }
01533 
01534 
01535 /*!
01536    Marking routine is used for garbage collection.
01537    \author lsg
01538  */
01539 void or_funcall_creator_context::gc_mark()
01540 {
01541 	::lestes::std::object::gc_mark();
01542 }
01543 
01544 // End of class or_funcall_creator_context.
01545 
01546 
01547 // static data members follow 
01548 ptr<object::reflection_list> or_or_functional::reflection = reflection;
01549 ptr<object::reflection_list> or_or_functional_concrete::reflection = reflection;
01550 ptr<object::reflection_list> or_or_functional_comma::reflection = reflection;
01551 ptr<object::reflection_list> or_or_functional_addrof::reflection = reflection;
01552 ptr<object::reflection_list> or_or_functional_literal::reflection = reflection;
01553 ptr<object::reflection_list> or_or_functional_func_decl_set::reflection = reflection;
01554 ptr<object::reflection_list> or_or_functional_decl::reflection = reflection;
01555 ptr<object::reflection_list> or_or_functional_ambiguous::reflection = reflection;
01556 ptr<object::reflection_list> or_or_functional_noviable::reflection = reflection;
01557 ptr<object::reflection_list> or_or_functional_this::reflection = reflection;
01558 ptr<object::reflection_list> or_declaration_helper::reflection = reflection;
01559 ptr<object::reflection_list> or_builtin_operator_expression_creator::reflection = reflection;
01560 ptr<object::reflection_list> or_funcall_creator::reflection = reflection;
01561 ptr<object::reflection_list> or_funcall_creator_context::reflection = reflection;
01562 
01563 end_package(sem);
01564 end_package(cplus);
01565 end_package(lang);
01566 end_package(lestes);
01567 

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