00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef lestes__lang__cplus__sem__ss_expr_binary_op_g_hh__included
00013 #define lestes__lang__cplus__sem__ss_expr_binary_op_g_hh__included
00014
00015 #include <lestes/common.hh>
00016 #include <lestes/lang/cplus/sem/ss_expression.g.hh>
00017
00018 #include <lestes/std/objectize_macros.hh>
00019 package(lestes);
00020 package(lang);
00021 package(cplus);
00022 package(sem);
00023
00024
00025
00026
00027
00028
00029
00030 class ss_binary_expr;
00031 class ss_declaration_time;
00032 class ss_se;
00033 class ss_assign;
00034 class ss_add;
00035 class ss_sub;
00036 class ss_mul;
00037 class ss_div;
00038 class ss_mod;
00039 class ss_shr;
00040 class ss_shl;
00041 class ss_sbg;
00042 class ss_sbl;
00043 class ss_sbng;
00044 class ss_sbnl;
00045 class ss_sbne;
00046 class ss_sbe;
00047 class ss_band;
00048 class ss_bor;
00049 class ss_bxor;
00050 class ss_land;
00051 class ss_lor;
00052 class ss_arr_acc;
00053
00054
00055
00056
00057
00058
00059 class ss_assign : public ss_binary_expr {
00060 public:
00061
00062 virtual bool is_lvalue();
00063
00064 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00065
00066
00067 static ptr< ss_assign > create (
00068 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00069 ptr< ss_type > a__ss_expression__type,
00070 ptr< ss_sp > a__ss_expression__psp,
00071 ptr< ss_sp > a__ss_expression__nsp,
00072 ptr< ss_expression > a__ss_binary_expr__left,
00073 ptr< ss_expression > a__ss_binary_expr__right);
00074
00075
00076
00077
00078 virtual ptr<reflection_list> reflection_get() const;
00079
00080 virtual ptr<field_list_list> field_values_get() const;
00081
00082 protected:
00083
00084 ss_assign (
00085 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00086 ptr< ss_type > a__ss_expression__type,
00087 ptr< ss_sp > a__ss_expression__psp,
00088 ptr< ss_sp > a__ss_expression__nsp,
00089 ptr< ss_expression > a__ss_binary_expr__left,
00090 ptr< ss_expression > a__ss_binary_expr__right);
00091
00092
00093 virtual void gc_mark();
00094
00095 private:
00096 static ptr<reflection_list> reflection;
00097
00098 };
00099
00100
00101
00102 class ss_add : public ss_binary_expr {
00103 public:
00104 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00105
00106
00107 static ptr< ss_add > create (
00108 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00109 ptr< ss_type > a__ss_expression__type,
00110 ptr< ss_sp > a__ss_expression__psp,
00111 ptr< ss_sp > a__ss_expression__nsp,
00112 ptr< ss_expression > a__ss_binary_expr__left,
00113 ptr< ss_expression > a__ss_binary_expr__right);
00114
00115
00116
00117
00118 virtual ptr<reflection_list> reflection_get() const;
00119
00120 virtual ptr<field_list_list> field_values_get() const;
00121
00122 protected:
00123
00124 ss_add (
00125 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00126 ptr< ss_type > a__ss_expression__type,
00127 ptr< ss_sp > a__ss_expression__psp,
00128 ptr< ss_sp > a__ss_expression__nsp,
00129 ptr< ss_expression > a__ss_binary_expr__left,
00130 ptr< ss_expression > a__ss_binary_expr__right);
00131
00132
00133 virtual void gc_mark();
00134
00135 private:
00136 static ptr<reflection_list> reflection;
00137
00138 };
00139
00140
00141
00142 class ss_sub : public ss_binary_expr {
00143 public:
00144 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00145
00146
00147 static ptr< ss_sub > create (
00148 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00149 ptr< ss_type > a__ss_expression__type,
00150 ptr< ss_sp > a__ss_expression__psp,
00151 ptr< ss_sp > a__ss_expression__nsp,
00152 ptr< ss_expression > a__ss_binary_expr__left,
00153 ptr< ss_expression > a__ss_binary_expr__right);
00154
00155
00156
00157
00158 virtual ptr<reflection_list> reflection_get() const;
00159
00160 virtual ptr<field_list_list> field_values_get() const;
00161
00162 protected:
00163
00164 ss_sub (
00165 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00166 ptr< ss_type > a__ss_expression__type,
00167 ptr< ss_sp > a__ss_expression__psp,
00168 ptr< ss_sp > a__ss_expression__nsp,
00169 ptr< ss_expression > a__ss_binary_expr__left,
00170 ptr< ss_expression > a__ss_binary_expr__right);
00171
00172
00173 virtual void gc_mark();
00174
00175 private:
00176 static ptr<reflection_list> reflection;
00177
00178 };
00179
00180
00181
00182 class ss_mul : public ss_binary_expr {
00183 public:
00184 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00185
00186
00187 static ptr< ss_mul > create (
00188 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00189 ptr< ss_type > a__ss_expression__type,
00190 ptr< ss_sp > a__ss_expression__psp,
00191 ptr< ss_sp > a__ss_expression__nsp,
00192 ptr< ss_expression > a__ss_binary_expr__left,
00193 ptr< ss_expression > a__ss_binary_expr__right);
00194
00195
00196
00197
00198 virtual ptr<reflection_list> reflection_get() const;
00199
00200 virtual ptr<field_list_list> field_values_get() const;
00201
00202 protected:
00203
00204 ss_mul (
00205 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00206 ptr< ss_type > a__ss_expression__type,
00207 ptr< ss_sp > a__ss_expression__psp,
00208 ptr< ss_sp > a__ss_expression__nsp,
00209 ptr< ss_expression > a__ss_binary_expr__left,
00210 ptr< ss_expression > a__ss_binary_expr__right);
00211
00212
00213 virtual void gc_mark();
00214
00215 private:
00216 static ptr<reflection_list> reflection;
00217
00218 };
00219
00220
00221
00222 class ss_div : public ss_binary_expr {
00223 public:
00224 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00225
00226
00227 static ptr< ss_div > create (
00228 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00229 ptr< ss_type > a__ss_expression__type,
00230 ptr< ss_sp > a__ss_expression__psp,
00231 ptr< ss_sp > a__ss_expression__nsp,
00232 ptr< ss_expression > a__ss_binary_expr__left,
00233 ptr< ss_expression > a__ss_binary_expr__right);
00234
00235
00236
00237
00238 virtual ptr<reflection_list> reflection_get() const;
00239
00240 virtual ptr<field_list_list> field_values_get() const;
00241
00242 protected:
00243
00244 ss_div (
00245 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00246 ptr< ss_type > a__ss_expression__type,
00247 ptr< ss_sp > a__ss_expression__psp,
00248 ptr< ss_sp > a__ss_expression__nsp,
00249 ptr< ss_expression > a__ss_binary_expr__left,
00250 ptr< ss_expression > a__ss_binary_expr__right);
00251
00252
00253 virtual void gc_mark();
00254
00255 private:
00256 static ptr<reflection_list> reflection;
00257
00258 };
00259
00260
00261
00262 class ss_mod : public ss_binary_expr {
00263 public:
00264 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00265
00266
00267 static ptr< ss_mod > create (
00268 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00269 ptr< ss_type > a__ss_expression__type,
00270 ptr< ss_sp > a__ss_expression__psp,
00271 ptr< ss_sp > a__ss_expression__nsp,
00272 ptr< ss_expression > a__ss_binary_expr__left,
00273 ptr< ss_expression > a__ss_binary_expr__right);
00274
00275
00276
00277
00278 virtual ptr<reflection_list> reflection_get() const;
00279
00280 virtual ptr<field_list_list> field_values_get() const;
00281
00282 protected:
00283
00284 ss_mod (
00285 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00286 ptr< ss_type > a__ss_expression__type,
00287 ptr< ss_sp > a__ss_expression__psp,
00288 ptr< ss_sp > a__ss_expression__nsp,
00289 ptr< ss_expression > a__ss_binary_expr__left,
00290 ptr< ss_expression > a__ss_binary_expr__right);
00291
00292
00293 virtual void gc_mark();
00294
00295 private:
00296 static ptr<reflection_list> reflection;
00297
00298 };
00299
00300
00301
00302 class ss_shr : public ss_binary_expr {
00303 public:
00304 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00305
00306
00307 static ptr< ss_shr > create (
00308 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00309 ptr< ss_type > a__ss_expression__type,
00310 ptr< ss_sp > a__ss_expression__psp,
00311 ptr< ss_sp > a__ss_expression__nsp,
00312 ptr< ss_expression > a__ss_binary_expr__left,
00313 ptr< ss_expression > a__ss_binary_expr__right);
00314
00315
00316
00317
00318 virtual ptr<reflection_list> reflection_get() const;
00319
00320 virtual ptr<field_list_list> field_values_get() const;
00321
00322 protected:
00323
00324 ss_shr (
00325 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00326 ptr< ss_type > a__ss_expression__type,
00327 ptr< ss_sp > a__ss_expression__psp,
00328 ptr< ss_sp > a__ss_expression__nsp,
00329 ptr< ss_expression > a__ss_binary_expr__left,
00330 ptr< ss_expression > a__ss_binary_expr__right);
00331
00332
00333 virtual void gc_mark();
00334
00335 private:
00336 static ptr<reflection_list> reflection;
00337
00338 };
00339
00340
00341
00342 class ss_shl : public ss_binary_expr {
00343 public:
00344 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00345
00346
00347 static ptr< ss_shl > create (
00348 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00349 ptr< ss_type > a__ss_expression__type,
00350 ptr< ss_sp > a__ss_expression__psp,
00351 ptr< ss_sp > a__ss_expression__nsp,
00352 ptr< ss_expression > a__ss_binary_expr__left,
00353 ptr< ss_expression > a__ss_binary_expr__right);
00354
00355
00356
00357
00358 virtual ptr<reflection_list> reflection_get() const;
00359
00360 virtual ptr<field_list_list> field_values_get() const;
00361
00362 protected:
00363
00364 ss_shl (
00365 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00366 ptr< ss_type > a__ss_expression__type,
00367 ptr< ss_sp > a__ss_expression__psp,
00368 ptr< ss_sp > a__ss_expression__nsp,
00369 ptr< ss_expression > a__ss_binary_expr__left,
00370 ptr< ss_expression > a__ss_binary_expr__right);
00371
00372
00373 virtual void gc_mark();
00374
00375 private:
00376 static ptr<reflection_list> reflection;
00377
00378 };
00379
00380
00381
00382 class ss_sbg : public ss_binary_expr {
00383 public:
00384 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00385
00386
00387 static ptr< ss_sbg > create (
00388 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00389 ptr< ss_type > a__ss_expression__type,
00390 ptr< ss_sp > a__ss_expression__psp,
00391 ptr< ss_sp > a__ss_expression__nsp,
00392 ptr< ss_expression > a__ss_binary_expr__left,
00393 ptr< ss_expression > a__ss_binary_expr__right);
00394
00395
00396
00397
00398 virtual ptr<reflection_list> reflection_get() const;
00399
00400 virtual ptr<field_list_list> field_values_get() const;
00401
00402 protected:
00403
00404 ss_sbg (
00405 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00406 ptr< ss_type > a__ss_expression__type,
00407 ptr< ss_sp > a__ss_expression__psp,
00408 ptr< ss_sp > a__ss_expression__nsp,
00409 ptr< ss_expression > a__ss_binary_expr__left,
00410 ptr< ss_expression > a__ss_binary_expr__right);
00411
00412
00413 virtual void gc_mark();
00414
00415 private:
00416 static ptr<reflection_list> reflection;
00417
00418 };
00419
00420
00421
00422 class ss_sbl : public ss_binary_expr {
00423 public:
00424 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00425
00426
00427 static ptr< ss_sbl > create (
00428 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00429 ptr< ss_type > a__ss_expression__type,
00430 ptr< ss_sp > a__ss_expression__psp,
00431 ptr< ss_sp > a__ss_expression__nsp,
00432 ptr< ss_expression > a__ss_binary_expr__left,
00433 ptr< ss_expression > a__ss_binary_expr__right);
00434
00435
00436
00437
00438 virtual ptr<reflection_list> reflection_get() const;
00439
00440 virtual ptr<field_list_list> field_values_get() const;
00441
00442 protected:
00443
00444 ss_sbl (
00445 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00446 ptr< ss_type > a__ss_expression__type,
00447 ptr< ss_sp > a__ss_expression__psp,
00448 ptr< ss_sp > a__ss_expression__nsp,
00449 ptr< ss_expression > a__ss_binary_expr__left,
00450 ptr< ss_expression > a__ss_binary_expr__right);
00451
00452
00453 virtual void gc_mark();
00454
00455 private:
00456 static ptr<reflection_list> reflection;
00457
00458 };
00459
00460
00461
00462 class ss_sbng : public ss_binary_expr {
00463 public:
00464 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00465
00466
00467 static ptr< ss_sbng > create (
00468 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00469 ptr< ss_type > a__ss_expression__type,
00470 ptr< ss_sp > a__ss_expression__psp,
00471 ptr< ss_sp > a__ss_expression__nsp,
00472 ptr< ss_expression > a__ss_binary_expr__left,
00473 ptr< ss_expression > a__ss_binary_expr__right);
00474
00475
00476
00477
00478 virtual ptr<reflection_list> reflection_get() const;
00479
00480 virtual ptr<field_list_list> field_values_get() const;
00481
00482 protected:
00483
00484 ss_sbng (
00485 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00486 ptr< ss_type > a__ss_expression__type,
00487 ptr< ss_sp > a__ss_expression__psp,
00488 ptr< ss_sp > a__ss_expression__nsp,
00489 ptr< ss_expression > a__ss_binary_expr__left,
00490 ptr< ss_expression > a__ss_binary_expr__right);
00491
00492
00493 virtual void gc_mark();
00494
00495 private:
00496 static ptr<reflection_list> reflection;
00497
00498 };
00499
00500
00501
00502 class ss_sbnl : public ss_binary_expr {
00503 public:
00504 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00505
00506
00507 static ptr< ss_sbnl > create (
00508 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00509 ptr< ss_type > a__ss_expression__type,
00510 ptr< ss_sp > a__ss_expression__psp,
00511 ptr< ss_sp > a__ss_expression__nsp,
00512 ptr< ss_expression > a__ss_binary_expr__left,
00513 ptr< ss_expression > a__ss_binary_expr__right);
00514
00515
00516
00517
00518 virtual ptr<reflection_list> reflection_get() const;
00519
00520 virtual ptr<field_list_list> field_values_get() const;
00521
00522 protected:
00523
00524 ss_sbnl (
00525 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00526 ptr< ss_type > a__ss_expression__type,
00527 ptr< ss_sp > a__ss_expression__psp,
00528 ptr< ss_sp > a__ss_expression__nsp,
00529 ptr< ss_expression > a__ss_binary_expr__left,
00530 ptr< ss_expression > a__ss_binary_expr__right);
00531
00532
00533 virtual void gc_mark();
00534
00535 private:
00536 static ptr<reflection_list> reflection;
00537
00538 };
00539
00540
00541
00542 class ss_sbne : public ss_binary_expr {
00543 public:
00544 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00545
00546
00547 static ptr< ss_sbne > create (
00548 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00549 ptr< ss_type > a__ss_expression__type,
00550 ptr< ss_sp > a__ss_expression__psp,
00551 ptr< ss_sp > a__ss_expression__nsp,
00552 ptr< ss_expression > a__ss_binary_expr__left,
00553 ptr< ss_expression > a__ss_binary_expr__right);
00554
00555
00556
00557
00558 virtual ptr<reflection_list> reflection_get() const;
00559
00560 virtual ptr<field_list_list> field_values_get() const;
00561
00562 protected:
00563
00564 ss_sbne (
00565 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00566 ptr< ss_type > a__ss_expression__type,
00567 ptr< ss_sp > a__ss_expression__psp,
00568 ptr< ss_sp > a__ss_expression__nsp,
00569 ptr< ss_expression > a__ss_binary_expr__left,
00570 ptr< ss_expression > a__ss_binary_expr__right);
00571
00572
00573 virtual void gc_mark();
00574
00575 private:
00576 static ptr<reflection_list> reflection;
00577
00578 };
00579
00580
00581
00582 class ss_sbe : public ss_binary_expr {
00583 public:
00584 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00585
00586
00587 static ptr< ss_sbe > create (
00588 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00589 ptr< ss_type > a__ss_expression__type,
00590 ptr< ss_sp > a__ss_expression__psp,
00591 ptr< ss_sp > a__ss_expression__nsp,
00592 ptr< ss_expression > a__ss_binary_expr__left,
00593 ptr< ss_expression > a__ss_binary_expr__right);
00594
00595
00596
00597
00598 virtual ptr<reflection_list> reflection_get() const;
00599
00600 virtual ptr<field_list_list> field_values_get() const;
00601
00602 protected:
00603
00604 ss_sbe (
00605 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00606 ptr< ss_type > a__ss_expression__type,
00607 ptr< ss_sp > a__ss_expression__psp,
00608 ptr< ss_sp > a__ss_expression__nsp,
00609 ptr< ss_expression > a__ss_binary_expr__left,
00610 ptr< ss_expression > a__ss_binary_expr__right);
00611
00612
00613 virtual void gc_mark();
00614
00615 private:
00616 static ptr<reflection_list> reflection;
00617
00618 };
00619
00620
00621
00622 class ss_band : public ss_binary_expr {
00623 public:
00624 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00625
00626
00627 static ptr< ss_band > create (
00628 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00629 ptr< ss_type > a__ss_expression__type,
00630 ptr< ss_sp > a__ss_expression__psp,
00631 ptr< ss_sp > a__ss_expression__nsp,
00632 ptr< ss_expression > a__ss_binary_expr__left,
00633 ptr< ss_expression > a__ss_binary_expr__right);
00634
00635
00636
00637
00638 virtual ptr<reflection_list> reflection_get() const;
00639
00640 virtual ptr<field_list_list> field_values_get() const;
00641
00642 protected:
00643
00644 ss_band (
00645 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00646 ptr< ss_type > a__ss_expression__type,
00647 ptr< ss_sp > a__ss_expression__psp,
00648 ptr< ss_sp > a__ss_expression__nsp,
00649 ptr< ss_expression > a__ss_binary_expr__left,
00650 ptr< ss_expression > a__ss_binary_expr__right);
00651
00652
00653 virtual void gc_mark();
00654
00655 private:
00656 static ptr<reflection_list> reflection;
00657
00658 };
00659
00660
00661
00662 class ss_bor : public ss_binary_expr {
00663 public:
00664 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00665
00666
00667 static ptr< ss_bor > create (
00668 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00669 ptr< ss_type > a__ss_expression__type,
00670 ptr< ss_sp > a__ss_expression__psp,
00671 ptr< ss_sp > a__ss_expression__nsp,
00672 ptr< ss_expression > a__ss_binary_expr__left,
00673 ptr< ss_expression > a__ss_binary_expr__right);
00674
00675
00676
00677
00678 virtual ptr<reflection_list> reflection_get() const;
00679
00680 virtual ptr<field_list_list> field_values_get() const;
00681
00682 protected:
00683
00684 ss_bor (
00685 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00686 ptr< ss_type > a__ss_expression__type,
00687 ptr< ss_sp > a__ss_expression__psp,
00688 ptr< ss_sp > a__ss_expression__nsp,
00689 ptr< ss_expression > a__ss_binary_expr__left,
00690 ptr< ss_expression > a__ss_binary_expr__right);
00691
00692
00693 virtual void gc_mark();
00694
00695 private:
00696 static ptr<reflection_list> reflection;
00697
00698 };
00699
00700
00701
00702 class ss_bxor : public ss_binary_expr {
00703 public:
00704 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00705
00706
00707 static ptr< ss_bxor > create (
00708 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00709 ptr< ss_type > a__ss_expression__type,
00710 ptr< ss_sp > a__ss_expression__psp,
00711 ptr< ss_sp > a__ss_expression__nsp,
00712 ptr< ss_expression > a__ss_binary_expr__left,
00713 ptr< ss_expression > a__ss_binary_expr__right);
00714
00715
00716
00717
00718 virtual ptr<reflection_list> reflection_get() const;
00719
00720 virtual ptr<field_list_list> field_values_get() const;
00721
00722 protected:
00723
00724 ss_bxor (
00725 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00726 ptr< ss_type > a__ss_expression__type,
00727 ptr< ss_sp > a__ss_expression__psp,
00728 ptr< ss_sp > a__ss_expression__nsp,
00729 ptr< ss_expression > a__ss_binary_expr__left,
00730 ptr< ss_expression > a__ss_binary_expr__right);
00731
00732
00733 virtual void gc_mark();
00734
00735 private:
00736 static ptr<reflection_list> reflection;
00737
00738 };
00739
00740
00741
00742 class ss_land : public ss_binary_expr {
00743 public:
00744 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00745
00746
00747 static ptr< ss_land > create (
00748 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00749 ptr< ss_type > a__ss_expression__type,
00750 ptr< ss_sp > a__ss_expression__psp,
00751 ptr< ss_sp > a__ss_expression__nsp,
00752 ptr< ss_expression > a__ss_binary_expr__left,
00753 ptr< ss_expression > a__ss_binary_expr__right);
00754
00755
00756
00757
00758 virtual ptr<reflection_list> reflection_get() const;
00759
00760 virtual ptr<field_list_list> field_values_get() const;
00761
00762 protected:
00763
00764 ss_land (
00765 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00766 ptr< ss_type > a__ss_expression__type,
00767 ptr< ss_sp > a__ss_expression__psp,
00768 ptr< ss_sp > a__ss_expression__nsp,
00769 ptr< ss_expression > a__ss_binary_expr__left,
00770 ptr< ss_expression > a__ss_binary_expr__right);
00771
00772
00773 virtual void gc_mark();
00774
00775 private:
00776 static ptr<reflection_list> reflection;
00777
00778 };
00779
00780
00781
00782 class ss_lor : public ss_binary_expr {
00783 public:
00784 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00785
00786
00787 static ptr< ss_lor > create (
00788 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00789 ptr< ss_type > a__ss_expression__type,
00790 ptr< ss_sp > a__ss_expression__psp,
00791 ptr< ss_sp > a__ss_expression__nsp,
00792 ptr< ss_expression > a__ss_binary_expr__left,
00793 ptr< ss_expression > a__ss_binary_expr__right);
00794
00795
00796
00797
00798 virtual ptr<reflection_list> reflection_get() const;
00799
00800 virtual ptr<field_list_list> field_values_get() const;
00801
00802 protected:
00803
00804 ss_lor (
00805 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00806 ptr< ss_type > a__ss_expression__type,
00807 ptr< ss_sp > a__ss_expression__psp,
00808 ptr< ss_sp > a__ss_expression__nsp,
00809 ptr< ss_expression > a__ss_binary_expr__left,
00810 ptr< ss_expression > a__ss_binary_expr__right);
00811
00812
00813 virtual void gc_mark();
00814
00815 private:
00816 static ptr<reflection_list> reflection;
00817
00818 };
00819
00820
00821
00822 class ss_arr_acc : public ss_binary_expr {
00823 public:
00824 virtual void accept_ss_expression_visitor( ptr< ss_expression_visitor > v );
00825
00826
00827 static ptr< ss_arr_acc > create (
00828 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00829 ptr< ss_type > a__ss_expression__type,
00830 ptr< ss_sp > a__ss_expression__psp,
00831 ptr< ss_sp > a__ss_expression__nsp,
00832 ptr< ss_expression > a__ss_binary_expr__left,
00833 ptr< ss_expression > a__ss_binary_expr__right);
00834
00835
00836
00837
00838 virtual ptr<reflection_list> reflection_get() const;
00839
00840 virtual ptr<field_list_list> field_values_get() const;
00841
00842 protected:
00843
00844 ss_arr_acc (
00845 ptr< ::lestes::std::source_location > a__ss_base_with_location__location,
00846 ptr< ss_type > a__ss_expression__type,
00847 ptr< ss_sp > a__ss_expression__psp,
00848 ptr< ss_sp > a__ss_expression__nsp,
00849 ptr< ss_expression > a__ss_binary_expr__left,
00850 ptr< ss_expression > a__ss_binary_expr__right);
00851
00852
00853 virtual void gc_mark();
00854
00855 private:
00856 static ptr<reflection_list> reflection;
00857
00858 };
00859
00860
00861 end_package(sem);
00862 end_package(cplus);
00863 end_package(lang);
00864 end_package(lestes);
00865
00866 #endif // lestes__lang__cplus__sem__ss_expr_binary_op_g_hh__included