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