ss_misc.g.cc

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

Generated on Mon Feb 12 18:23:29 2007 for lestes by doxygen 1.5.1-20070107