From fa99c3fbfb5bece11198ae0bc62f4ef2313dff18 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sat, 28 Apr 2018 22:31:45 +0200 Subject: [PATCH] Recover from foreach without as --- CHANGELOG.md | 5 +- grammar/php7.y | 2 + lib/PhpParser/Parser/Php7.php | 1845 +++++++++--------- test/code/parser/errorHandling/recovery.test | 43 + 4 files changed, 973 insertions(+), 922 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7309b31..7964e23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,10 @@ Version 4.0.2-dev ----------------- -Nothing yet. +### Added + +* Improved error recovery inside classes. +* Support error recovery for `foreach` without `as`. Version 4.0.1 (2018-03-25) -------------------------- diff --git a/grammar/php7.y b/grammar/php7.y index e1f692a..f46d90e 100644 --- a/grammar/php7.y +++ b/grammar/php7.y @@ -240,6 +240,8 @@ non_empty_statement: { $$ = Stmt\Foreach_[$3, $5[0], ['keyVar' => null, 'byRef' => $5[1], 'stmts' => $7]]; } | T_FOREACH '(' expr T_AS variable T_DOUBLE_ARROW foreach_variable ')' foreach_statement { $$ = Stmt\Foreach_[$3, $7[0], ['keyVar' => $5, 'byRef' => $7[1], 'stmts' => $9]]; } + | T_FOREACH '(' expr error ')' foreach_statement + { $$ = Stmt\Foreach_[$3, new Expr\Error(stackAttributes(#4)), ['stmts' => $6]]; } | T_DECLARE '(' declare_list ')' declare_statement { $$ = Stmt\Declare_[$3, $5]; } | T_TRY '{' inner_statement_list '}' catches optional_finally { $$ = Stmt\TryCatch[$3, $5, $6]; $this->checkTryCatch($$); } diff --git a/lib/PhpParser/Parser/Php7.php b/lib/PhpParser/Parser/Php7.php index 24d9001..f944655 100644 --- a/lib/PhpParser/Parser/Php7.php +++ b/lib/PhpParser/Parser/Php7.php @@ -18,16 +18,16 @@ use PhpParser\Node\Stmt; class Php7 extends \PhpParser\ParserAbstract { protected $tokenToSymbolMapSize = 392; - protected $actionTableSize = 952; - protected $gotoTableSize = 483; + protected $actionTableSize = 955; + protected $gotoTableSize = 484; protected $invalidSymbol = 157; protected $errorSymbol = 1; protected $defaultAction = -32766; protected $unexpectedTokenRule = 32767; - protected $YY2TBLSTATE = 333; - protected $numNonLeafStates = 584; + protected $YY2TBLSTATE = 334; + protected $numNonLeafStates = 586; protected $symbolToName = array( "EOF", @@ -233,110 +233,110 @@ class Php7 extends \PhpParser\ParserAbstract ); protected $action = array( - 589, 590, 591, 592, 593, 217, 594, 595, 596, 632, - 633, 487, 31, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112,-32766,-32766,-32766, 97, 98, - 99, 370, 243, 0, 557,-32766,-32766,-32766, 668, 855, - 1095, 666, 244, 1096, 100,-32766, 353,-32766,-32766,-32766, - -32766,-32766, 597, 912, 914,-32766, 352,-32766,-32766,-32766, - -32766,-32766,-32766, -484, 252, 673, 598, 599, 600, 601, - 602, 603, 604, 426, 252, 664, 879, 880, 881, 878, - 877, 876, 605, 606, 607, 608, 609, 610, 611, 612, - 613, 614, 615, 635, 636, 637, 638, 639, 627, 628, - 629, 630, 631, 616, 617, 618, 619, 620, 621, 622, - 658, 659, 660, 661, 662, 663, 623, 624, 625, 626, - 656, 647, 645, 646, 642, 643, 351, 634, 640, 641, - 648, 649, 651, 650, 652, 653, 44, 45, 403, 46, - 47, 644, 655, 654, -230, 48, 49, 262, 50, 252, - 879, 880, 881, 878, 877, 876, 871,-32767,-32767,-32767, - -32767, 92, 93, 94, 95, 96, 827, 828, 385, 1063, - 671, 689, 690, 1086, -448, 995, 827, 828,-32766,-32766, - -32766, 51, 52, 116, 1048, -288, -288, 53, -235, 54, - 225, 226, 55, 56, 57, 58, 59, 60, 61, 62, - -447, 24, 236, 63, 354,-32766,-32766,-32766, -484, 1012, - 1013, 405, 672, 1045, -483, 343, 350, 1011,-32766,-32766, - -32766, 748, 800, 227, 450,-32766, 347,-32766,-32766,-32766, - -32766, 27, 228, 976, 299, -448, 362, 295,-32766, 9, - -32766,-32766,-32766, 23, -176, 666, 291,-32766,-32766, -448, - 292, 827, 828, 1045, 415, 416, -448, 668, -451, 118, - 995, -447, 233, 417, 418, 668, 1017, 1018, 1019, 1020, - 1014, 1015, 247, -91, -446, -447, 28, 427, 1021, 1016, - 359, 1025, -447, 267, -450, 65, 988, 259, 386, 264, - 269, 404, -136, -136, -136, -4, 748, 348, 276,-32766, - 426, 738, 24, -175, 36, 19, 406, -136, 407, -136, - 408, -136, 409, -136, 1045, 410, 231, 124, 1011, 37, - 38, 355, 356, 427, 39, 411, 359, 1007, 64,-32766, - 269, 290, 73, 412, 413, -446, -288, -288, 1045, 414, - 121, 801, 724, 769, 357, 358, 32, 988, -495, -446, - -446, 218,-32766,-32766,-32766, -496, -446, 119, 668, -483, - 43, 538,-32766,-32766,-32766, 418, 404, 748, 750, 555, - -136, 988,-32766, 120,-32766,-32766, 738, -286, 235, 36, - 19, 406,-32766, 407, 767, 408, 67, 409, 668, -176, - 410, 269, 234, 426, 37, 38, 355, 356, 339, 39, - 411, 524, 525, 64, 258, 1045, 290,-32766, 412, 413, - 24, -446, -288, -288, 414, 269,-32766, 681, 769, 357, - 358, 251, 1045, 426, 24, -446, 1011, 539, 122, 114, - 359, 268, -446, 833, 857, 294, 1045, 404, 278, 748, - 1011, 231, 117, 750, 555, -4, 133, 738, -175, 41, - 36, 19, 406, 246, 407, 988, 408, 132, 409, 130, - 766, 410, -215, -215, -215, 37, 38, 355, 356, 988, - 39, 411, 417, 418, 64, 123, -487, 290, 229, 412, - 413, 29, 269, 668, -486, 414, 417, 418, 724, 769, - 357, 358, 376, -495, 67, -495, -288, -288, -254, 269, - -496, 1045, -496, 230, 113, 232, 668, 473, 67, 404, - 250, 511, 20, 269, 750, 555, -215, 126, 426, 738, - 668, 280, 36, 19, 406, -82, 407, 566, 408, 128, - 409, 115, 747, 410, -214, -214, -214, 37, 38, 355, - 356, 426, 39, 411, 768, 668, 64, 668, 748, 290, - 570, 412, 413, 122, 762, 426, 100, 414, 129, 316, - 724, 769, 357, 358,-32766,-32766,-32766, 689, 690, 74, - 75, 76, 94, 95, 96, 42, 562, 243, 269, 127, - 426, 533, 426, 396, 8, 671, 750, 555, -214, 30, - 885, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 666, 243, 668, 748, 404, 504, - 505, -487, 827, 828, 868, 571, 1064, 100, 738, -486, - 669, 36, 19, 406, 1097, 407, 459, 408, 512, 409, - 454,-32766, 410, -254, 548, 567, 37, 38, 355, 748, - 516, 39, 411, 856, 581, 64, 534, 216, 290, 263, - 374, 10, -80, 771, 367, 517, 414, 528, 770, 503, - 266, 1024, 260, 1027, 344, 261, 988, 559, 293, 345, - 5, 370, 22, -405, 12, 1026, 0, 404, 0, 332, - 0, 0, 0, 0, 0, 750, 555, 738, 328, 0, - 36, 19, 406, 0, 407, 0, 408, 0, 409, 0, - 0, 410, 0, 0, 0, 37, 38, 355, 748, 404, - 39, 411, 327, 321, 64, 456, 851, 290, 764, 738, - 862, 729, 36, 19, 406, 414, 407, 34, 408, 580, - 409, 579, 35, 410, 803, 787, 561, 37, 38, 355, - 748, 861, 39, 411, 864, 863, 64, 860, 782, 290, - 784, 727, 795, 852, 750, 555, 794, 414, 564, 563, - 558, 338, 337, 275, 274, 556, 577, 576, 560, 574, - 572, 569, 568, 565, 0, 793, 573, 792, 404, 748, - 869, 755, 725, 1092, 1094, 684, 750, 555, 738, 683, - 693, 36, 19, 406, 694, 407, 691, 408, 1093, 409, - 692, 757, 410, 1091, 1046, 1039, 37, 38, 355, 1053, - 404, 39, 411, 1058, 1061, 64, 975, 765, 290, 974, - 738, -475, -473, 36, 19, 406, 414, 407, -451, 408, - -450, 409, -449, 25, 410, 26, 33, 40, 37, 38, - 355, 66, 68, 39, 411, 342, 340, 64, 277, 404, - 290, 242, 241, 240, 239, 786, 555, 224, 414, 738, - 223, 134, 36, 19, 406, 131, 407, 125, 408, 72, - 409, 71, 70, 410, 69, 968, -233, 37, 38, 355, - 13, 17, 39, 411, 21, 254, 64, 750, 555, 290, - -32766,-32766,-32766, 952, 313, 483, 499, 414, 547, 955, - -231, 980, 834, 1009, 951, 999, 544, 401, 394, 392, - -32766, 387,-32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767, - -32767,-32767,-32767, 314, 18, 16, 750, 555, -91, 15, - 0, 14, -230, 0, -417, 0, 510, 1052, 1089, 1037, - 1038, 1008 + 591, 592, 593, 594, 595, 218, 596, 597, 598, 634, + 635, 489, 32, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113,-32766,-32766,-32766, 98, 99, + 100, 371, 244, 486, 559,-32766,-32766,-32766, 670, 858, + 1098, 668, 0, 1099, 101,-32766, 352,-32766,-32766,-32766, + -32766,-32766, 599, 915, 917,-32766, 351,-32766,-32766,-32766, + -32766,-32766,-32766, -485, 253, 675, 600, 601, 602, 603, + 604, 605, 606, 427, 253, 666, 882, 883, 884, 881, + 880, 879, 607, 608, 609, 610, 611, 612, 613, 614, + 615, 616, 617, 637, 638, 639, 640, 641, 629, 630, + 631, 632, 633, 618, 619, 620, 621, 622, 623, 624, + 660, 661, 662, 663, 664, 665, 625, 626, 627, 628, + 658, 649, 647, 648, 644, 645, 217, 636, 642, 643, + 650, 651, 653, 652, 654, 655, 45, 46, 404, 47, + 48, 646, 657, 656, -231, 49, 50, 263, 51, 253, + 882, 883, 884, 881, 880, 879, 874,-32767,-32767,-32767, + -32767, 93, 94, 95, 96, 97, 830, 831, 386, 1066, + 673, 1048, 998, 1089, -449, 998, 830, 831,-32766,-32766, + -32766, 52, 53, 117, 1051, -289, -289, 54, -236, 55, + 226, 227, 56, 57, 58, 59, 60, 61, 62, 63, + -448, 25, 237, 64, 355,-32766,-32766,-32766, -485, 1015, + 1016, 406, 674, 1048, -484, -496, 348, 1014,-32766,-32766, + -32766, 751, 9, 233, 300,-32766, 353,-32766,-32766,-32766, + -32766, 28, 229, 769, 296, -449, 363, -497,-32766, 354, + -32766,-32766,-32766, -255, -177, 668, 292, 277, 270, -449, + 1048, 830, 831, 1048, 416, 417, -449, 670, -452, 691, + 692, -448, 268, 418, 419, 670, 1020, 1021, 1022, 1023, + 1017, 1018, 248, -91, -447, -448, 245, 428, 1024, 1019, + 360, 122, -448, 991, -451, 66, 991, 260, 387, 265, + 270, 405, -136, -136, -136, -4, 751, 349, 451,-32766, + 427, 740, 25, 344, 37, 20, 407, -136, 408, -136, + 409, -136, 410, -136, 1048, 411, 232, 125, 1014, 38, + 39, 356, 357, 428, 40, 412, 360, 270, 65, 670, + 270, 291, 74, 413, 414, -447,-32766,-32766,-32766, 415, + 803, 42, 726, 772, 358, 359, 234, 991, -176, -447, + -447, 33,-32766,-32766,-32766, 1028, -447, 1010, 670, -484, + -496, 540, -496,-32766, 427, 419, 405, 751, 753, 557, + -136, 232,-32766, 219,-32766,-32766, 740, -287, 235, 37, + 20, 407, -497, 408, -497, 409, 68, 410, -255, -177, + 411, 270, 236, 427, 38, 39, 356, 357, 340, 40, + 412, 119, 251, 65, 259, -488, 291,-32766, 413, 414, + 25, -447, 29, 670, 415, 230,-32766, 683, 772, 358, + 359, 44, 1048, 116, 25, -447, 1014, 541, 123, 24, + 360, 293, -447, 836, 860, 1048, 1048, 405, 279, 751, + 1014,-32766,-32766, 753, 557, -4, 127, 740, 427, 114, + 37, 20, 407, 281, 408, 991, 409, 670, 410, 804, + 269, 411, -215, -215, -215, 38, 39, 356, 357, 991, + 40, 412, 418, 419, 65, 30, 228, 291, -487, 413, + 414, 115, 252, 123, 120, 415, 418, 419, 726, 772, + 358, 359, 427, -176, 68, 121, 295, -289, -289, 270, + -32766,-32766,-32766, 118, 134, 124, -289, -289, 68, 405, + -289, -289, 270, 270, 753, 557, -215, 131, 670, 740, + -32766, 377, 37, 20, 407, 133, 408, 129, 409, -82, + 410, 670, 474, 411, -216, -216, -216, 38, 39, 356, + 357, 572, 40, 412, 247, 770, 65, 568, 751, 291, + -488, 413, 414, 427, 771, 527, 528, 415, 979, 750, + 726, 772, 358, 359, 130, 317, 427, 513, 21, 75, + 76, 77, 95, 96, 97, 765, 563, 231, 691, 692, + 397, 8, 244, 506, 507, 101, 753, 557, -216, 31, + 43, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 671, 244, 128, 751, 405, 670, + 1067, 830, 831, -487, 536, 668, 1100, 101, 740, 871, + 573, 37, 20, 407, 670, 408, 455, 409, 888, 410, + -32766, 673, 411, 514, 550, 562, 38, 39, 356, 751, + 460, 40, 412, 519, 427, 65, 859, 583, 291, 530, + 10, 375, 505, -80, 991, 368, 415, 520, 531, 267, + 261, 1027, 262, 1030, 773, 264, 767, 561, -406, 329, + 5, 294, 240, 12, 567, 0, 0, 405, 0, 0, + 0, 0, 0, 774, 0, 789, 557, 740, 0, 0, + 37, 20, 407, 0, 408, 0, 409, 0, 410, 0, + 0, 411, 0, 0, 0, 38, 39, 356, 751, 405, + 40, 412, 333, 345, 65, 457, 346, 291, 328, 740, + 322, 371, 37, 20, 407, 415, 408, 36, 409, 581, + 410, 582, 731, 411, 866, 867, 564, 38, 39, 356, + 751, 864, 40, 412, 863, 787, 65, 865, 854, 291, + 729, 806, 798, 790, 753, 557, 785, 415, 797, 855, + 35, 388, 560, 275, 276, 338, 339, 578, 569, 576, + 574, 571, 570, 579, 566, 565, 558, 0, 405, 751, + 758, 872, 978, 768, 977, 760, 753, 557, 740, 694, + 1096, 37, 20, 407, 693, 408, 696, 409, 695, 410, + 575, 727, 411, 1095, 1097, 685, 38, 39, 356, 796, + 405, 40, 412, 1094, 1049, 65, 1042, 1056, 291, 1061, + 740, 1064, 795, 37, 20, 407, 415, 408, 686, 409, + 225, 410, 224, 135, 411, 132, 126, 73, 38, 39, + 356, 72, 71, 40, 412, 70, -476, 65, -474, 405, + 291, -452, 69, -451, -450, 753, 557, 23, 415, 740, + 26, 27, 37, 20, 407, 34, 408, 41, 409, 241, + 410, 242, 243, 411, 278, 341, 343, 38, 39, 356, + 67, 971, 40, 412, 13, 18, 65, 753, 557, 291, + -32766,-32766,-32766, 22, 255, 314, 484, 415, 501, 549, + 958, 983, -91, 837, 1012, 954, 1002, 546, 402, 395, + -32766, 393,-32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767, + -32767,-32767,-32767, -234, 315, 19, 753, 557, 17, 16, + 1029, 15, 955, 14, -231, -232, 0, -418, 0, 512, + 1092, 1055, 1011, 1041, 1040 ); protected $actionCheck = array( 2, 3, 4, 5, 6, 13, 8, 9, 10, 11, 12, 48, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 8, 9, 10, 50, 51, - 52, 146, 54, 0, 149, 8, 9, 10, 77, 1, - 77, 77, 7, 80, 66, 28, 7, 30, 31, 32, + 52, 146, 54, 1, 149, 8, 9, 10, 77, 1, + 77, 77, 0, 80, 66, 28, 7, 30, 31, 32, 33, 34, 54, 56, 57, 28, 7, 30, 31, 32, 33, 34, 35, 7, 28, 1, 68, 69, 70, 71, 72, 73, 74, 112, 28, 77, 112, 113, 114, 115, @@ -344,97 +344,97 @@ class Php7 extends \PhpParser\ParserAbstract 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 7, 129, 130, 131, + 122, 123, 124, 125, 126, 127, 94, 129, 130, 131, 132, 133, 134, 135, 136, 137, 2, 3, 4, 5, 6, 143, 144, 145, 152, 11, 12, 109, 14, 28, 112, 113, 114, 115, 116, 117, 118, 41, 42, 43, 44, 45, 46, 47, 48, 49, 130, 131, 29, 1, - 79, 102, 103, 82, 67, 1, 130, 131, 8, 9, + 79, 79, 1, 82, 67, 1, 130, 131, 8, 9, 10, 47, 48, 13, 1, 102, 103, 53, 152, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 67, 67, 68, 69, 70, 8, 9, 10, 152, 75, - 76, 77, 148, 79, 7, 146, 7, 83, 8, 9, - 10, 1, 29, 35, 82, 28, 7, 30, 31, 32, + 76, 77, 148, 79, 7, 7, 7, 83, 8, 9, + 10, 1, 7, 35, 7, 28, 7, 30, 31, 32, 33, 140, 141, 150, 7, 128, 102, 7, 28, 7, - 30, 31, 32, 7, 7, 77, 112, 8, 9, 142, - 7, 130, 131, 79, 120, 121, 149, 77, 151, 7, - 1, 128, 7, 129, 130, 77, 132, 133, 134, 135, + 30, 31, 32, 7, 7, 77, 112, 7, 156, 142, + 79, 130, 131, 79, 120, 121, 149, 77, 151, 102, + 103, 128, 7, 129, 130, 77, 132, 133, 134, 135, 136, 137, 138, 152, 67, 142, 7, 143, 144, 145, - 146, 139, 149, 7, 151, 151, 112, 153, 149, 155, - 156, 71, 72, 73, 74, 0, 1, 123, 7, 1, - 112, 81, 67, 7, 84, 85, 86, 87, 88, 89, + 146, 29, 149, 112, 151, 151, 112, 153, 149, 155, + 156, 71, 72, 73, 74, 0, 1, 123, 82, 1, + 112, 81, 67, 146, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 79, 95, 35, 149, 83, 99, - 100, 101, 102, 143, 104, 105, 146, 1, 108, 8, - 156, 111, 149, 113, 114, 128, 102, 103, 79, 119, - 29, 148, 122, 123, 124, 125, 13, 112, 7, 142, - 67, 13, 8, 9, 10, 7, 149, 15, 77, 152, - 67, 77, 8, 9, 10, 130, 71, 1, 148, 149, - 150, 112, 28, 15, 30, 31, 81, 79, 35, 84, - 85, 86, 28, 88, 150, 90, 151, 92, 77, 152, + 100, 101, 102, 143, 104, 105, 146, 156, 108, 77, + 156, 111, 149, 113, 114, 128, 8, 9, 10, 119, + 29, 67, 122, 123, 124, 125, 7, 112, 7, 142, + 67, 13, 8, 9, 10, 139, 149, 1, 77, 152, + 152, 77, 154, 8, 112, 130, 71, 1, 148, 149, + 150, 35, 28, 13, 30, 31, 81, 79, 35, 84, + 85, 86, 152, 88, 154, 90, 151, 92, 152, 152, 95, 156, 35, 112, 99, 100, 101, 102, 103, 104, - 105, 72, 73, 108, 109, 79, 111, 109, 113, 114, - 67, 128, 102, 103, 119, 156, 118, 122, 123, 124, - 125, 128, 79, 112, 67, 142, 83, 143, 147, 15, - 146, 67, 149, 152, 150, 142, 79, 71, 143, 1, - 83, 35, 149, 148, 149, 150, 15, 81, 152, 67, - 84, 85, 86, 29, 88, 112, 90, 15, 92, 15, - 150, 95, 96, 97, 98, 99, 100, 101, 102, 112, - 104, 105, 129, 130, 108, 149, 7, 111, 35, 113, - 114, 7, 156, 77, 7, 119, 129, 130, 122, 123, - 124, 125, 128, 152, 151, 154, 102, 103, 7, 156, - 152, 79, 154, 35, 15, 35, 77, 78, 151, 71, - 128, 72, 73, 156, 148, 149, 150, 15, 112, 81, - 77, 33, 84, 85, 86, 29, 88, 29, 90, 29, - 92, 149, 29, 95, 96, 97, 98, 99, 100, 101, - 102, 112, 104, 105, 150, 77, 108, 77, 1, 111, - 29, 113, 114, 147, 35, 112, 66, 119, 97, 98, - 122, 123, 124, 125, 8, 9, 10, 102, 103, 8, - 9, 10, 47, 48, 49, 67, 29, 54, 156, 67, - 112, 74, 112, 102, 103, 79, 148, 149, 150, 28, - 79, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 105, 7, 128, 108, 109, 7, 111, 109, 113, 114, + 67, 128, 7, 77, 119, 35, 118, 122, 123, 124, + 125, 67, 79, 149, 67, 142, 83, 143, 147, 7, + 146, 7, 149, 152, 150, 79, 79, 71, 143, 1, + 83, 8, 9, 148, 149, 150, 15, 81, 112, 15, + 84, 85, 86, 33, 88, 112, 90, 77, 92, 148, + 67, 95, 96, 97, 98, 99, 100, 101, 102, 112, + 104, 105, 129, 130, 108, 7, 35, 111, 7, 113, + 114, 15, 128, 147, 15, 119, 129, 130, 122, 123, + 124, 125, 112, 152, 151, 15, 142, 102, 103, 156, + 8, 9, 10, 149, 15, 149, 102, 103, 151, 71, + 102, 103, 156, 156, 148, 149, 150, 15, 77, 81, + 28, 128, 84, 85, 86, 15, 88, 29, 90, 29, + 92, 77, 78, 95, 96, 97, 98, 99, 100, 101, + 102, 29, 104, 105, 29, 150, 108, 29, 1, 111, + 152, 113, 114, 112, 150, 72, 73, 119, 150, 29, + 122, 123, 124, 125, 97, 98, 112, 72, 73, 8, + 9, 10, 47, 48, 49, 35, 29, 35, 102, 103, + 102, 103, 54, 106, 107, 66, 148, 149, 150, 28, + 67, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 77, 54, 77, 1, 71, 106, - 107, 152, 130, 131, 148, 149, 152, 66, 81, 152, - 77, 84, 85, 86, 80, 88, 86, 90, 87, 92, - 82, 82, 95, 152, 89, 29, 99, 100, 101, 1, - 93, 104, 105, 148, 149, 108, 91, 94, 111, 110, - 94, 94, 94, 123, 102, 96, 119, 96, 123, 109, - 126, 139, 126, 139, 146, 127, 112, 29, 142, 146, - 142, 146, 151, 142, 142, 155, -1, 71, -1, 146, - -1, -1, -1, -1, -1, 148, 149, 81, 146, -1, + 49, 50, 51, 52, 77, 54, 67, 1, 71, 77, + 152, 130, 131, 152, 74, 77, 80, 66, 81, 148, + 149, 84, 85, 86, 77, 88, 82, 90, 79, 92, + 82, 79, 95, 87, 89, 29, 99, 100, 101, 1, + 86, 104, 105, 93, 112, 108, 148, 149, 111, 91, + 94, 94, 109, 94, 112, 102, 119, 96, 96, 126, + 126, 139, 127, 139, 123, 110, 147, 29, 142, 146, + 142, 142, 151, 142, 149, -1, -1, 71, -1, -1, + -1, -1, -1, 123, -1, 148, 149, 81, -1, -1, 84, 85, 86, -1, 88, -1, 90, -1, 92, -1, -1, 95, -1, -1, -1, 99, 100, 101, 1, 71, - 104, 105, 146, 146, 108, 146, 148, 111, 147, 81, - 148, 148, 84, 85, 86, 119, 88, 148, 90, 148, + 104, 105, 146, 146, 108, 146, 146, 111, 146, 81, + 146, 146, 84, 85, 86, 119, 88, 148, 90, 148, 92, 148, 148, 95, 148, 148, 29, 99, 100, 101, 1, 148, 104, 105, 148, 148, 108, 148, 148, 111, - 148, 148, 148, 148, 148, 149, 148, 119, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 29, 149, - 149, 149, 149, 149, -1, 150, 150, 150, 71, 1, + 148, 148, 148, 148, 148, 149, 148, 119, 148, 148, + 148, 152, 149, 149, 149, 149, 149, 149, 29, 149, + 149, 149, 149, 149, 149, 149, 149, -1, 71, 1, 150, 150, 150, 150, 150, 150, 148, 149, 81, 150, 150, 84, 85, 86, 150, 88, 150, 90, 150, 92, 150, 150, 95, 150, 150, 150, 99, 100, 101, 150, 71, 104, 105, 150, 150, 108, 150, 150, 111, 150, - 81, 151, 151, 84, 85, 86, 119, 88, 151, 90, + 81, 150, 150, 84, 85, 86, 119, 88, 150, 90, 151, 92, 151, 151, 95, 151, 151, 151, 99, 100, 101, 151, 151, 104, 105, 151, 151, 108, 151, 71, 111, 151, 151, 151, 151, 148, 149, 151, 119, 81, 151, 151, 84, 85, 86, 151, 88, 151, 90, 151, - 92, 151, 151, 95, 151, 153, 152, 99, 100, 101, - 152, 152, 104, 105, 152, 152, 108, 148, 149, 111, + 92, 151, 151, 95, 151, 151, 151, 99, 100, 101, + 151, 153, 104, 105, 152, 152, 108, 148, 149, 111, 8, 9, 10, 152, 152, 152, 152, 119, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 28, 152, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 152, 152, 152, 148, 149, 152, 152, - -1, 152, 152, -1, 153, -1, 154, 154, 154, 154, - 154, 154 + 155, 152, 152, 152, 152, 152, -1, 153, -1, 154, + 154, 154, 154, 154, 154 ); protected $actionBase = array( - 0, 220, 295, 366, 438, 326, 284, 582, -2, -2, - -36, -2, -2, 749, 547, 616, 547, 648, 717, 788, - 788, 788, 281, 406, 188, 188, 443, 429, 188, 443, - 311, 468, 470, -39, -39, -39, -39, -39, -39, -39, + 0, 220, 295, 438, 366, 356, 284, 609, -2, -2, + -36, -2, -2, 616, 717, 717, 749, 717, 648, 547, + 788, 788, 788, 281, 336, 441, 441, 380, 454, 441, + 380, 252, 542, 188, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, @@ -444,53 +444,53 @@ class Php7 extends \PhpParser\ParserAbstract -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, - -39, -39, -39, -39, -39, 64, 64, 193, 333, 743, - 757, 753, 739, 738, 563, 752, 751, 338, 663, 664, - 500, 665, 669, 673, 674, 754, 792, 742, 756, 561, + -39, -39, -39, -39, -39, -39, 64, 64, 311, 32, + 338, 752, 758, 754, 743, 742, 753, 790, 360, 673, + 674, 498, 676, 677, 679, 681, 756, 795, 751, 757, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, - 561, 561, 561, 561, 561, 321, 170, 239, 556, 556, - 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, - 556, 556, 556, 556, 556, 556, 556, 354, 354, 354, - 344, 210, 207, 197, 17, 283, 27, 892, 892, 892, - 892, 892, 116, 116, 116, 116, 357, 357, 343, 394, - 234, 310, 83, 235, 235, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 235, 174, 525, 525, 36, - 36, 36, 36, 259, 121, 298, 46, 142, 534, 530, - 168, 168, 492, 107, 133, -22, -22, -22, 69, 558, - 564, 564, 564, 564, 91, 91, 564, 564, -37, 183, - 283, 283, 293, 283, 465, 465, 465, 180, -115, 559, - 180, 621, 569, 637, 571, 635, 382, 348, 341, 528, - 422, 562, 533, 422, 422, 422, 513, 439, 329, 786, - 64, 541, 64, 64, 64, 64, 713, 64, 64, 64, - 64, 64, 64, 139, 64, 505, 193, 488, 476, 523, - 364, 625, 296, 474, 523, 523, 523, 624, 623, 56, - 491, -8, 622, 237, 481, 477, 469, 539, 539, 537, - 537, 511, 519, 539, 539, 539, 539, 539, 531, 531, - 537, 506, 537, 511, 696, 537, 519, 537, 537, 539, - 537, 531, 519, 252, 209, 243, 230, 519, 119, 546, - 539, 544, 544, 49, 537, 255, 537, 236, 548, 531, - 531, 548, 35, 519, 276, 593, 591, 560, 581, 291, - 424, 506, 424, 219, 560, 39, 519, 424, 232, 506, - 227, 424, 33, 700, 701, 496, 733, 695, 731, 705, - 730, 626, 545, 540, 719, 716, 728, 694, 692, 503, - 579, 489, 414, 538, 508, 691, 562, 535, 490, 490, - 490, 508, 687, 490, 490, 490, 490, 490, 490, 490, - 490, 797, 269, 536, 550, 342, 577, 566, 358, 631, - 532, 579, 579, 642, 791, 732, 553, 713, 763, 726, - 589, 502, 782, 712, 636, 576, 552, 711, 781, 762, - 630, 489, 761, 643, 512, 644, 579, 645, 490, 681, - 680, 795, 796, 689, 793, 769, 543, 554, 794, 649, - 760, 628, 627, 594, 789, 734, 767, 650, 766, 583, - 551, 758, 557, 704, 707, 620, 654, 656, 578, 444, - 658, 724, 596, 787, 783, 790, 597, 618, 619, 442, - 634, 660, 431, 615, 720, 498, 507, 565, 614, 759, - 661, 633, 710, 613, 612, 679, 677, 764, 568, 535, - 542, 549, 567, 555, 632, 676, 765, 521, 610, 609, - 607, 606, 641, 603, 640, 0, 0, 0, 0, 0, + 561, 561, 561, 561, 561, 561, 355, 170, 433, 328, + 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, + 328, 328, 328, 328, 328, 328, 328, 328, 492, 492, + 492, 344, 210, 207, 197, 17, 283, 27, 892, 892, + 892, 892, 892, 116, 116, 116, 116, 343, 343, 357, + 404, 395, 83, 408, 235, 235, 235, 235, 235, 235, + 235, 235, 235, 235, 235, 235, 235, 174, 525, 525, + 36, 36, 36, 36, 171, 121, 298, 46, 216, 534, + 785, 168, 168, 491, 107, 133, -22, -22, -22, 157, + 554, 552, 552, 552, 552, 91, 91, 552, 552, -37, + 183, 283, 283, 354, 283, 476, 476, 476, 180, -115, + 558, 180, 623, 571, 682, 572, 669, 274, 230, 208, + 577, 92, 563, 580, 92, 92, 92, 477, 495, 483, + 760, 64, 536, 64, 64, 64, 64, 531, 64, 64, + 64, 64, 64, 64, 139, 64, 508, 311, 420, 481, + 528, 393, 624, 341, 468, 528, 528, 528, 625, 626, + 56, 236, -8, 627, 237, 478, 471, 398, 557, 557, + 548, 548, 559, 540, 557, 557, 557, 557, 557, 716, + 716, 548, 562, 548, 559, 726, 548, 540, 548, 548, + 557, 548, 716, 540, 394, 49, 424, 227, 540, 39, + 544, 557, 543, 543, 219, 548, 339, 548, 422, 545, + 716, 716, 545, 269, 540, 255, 591, 593, 553, 529, + 240, 515, 562, 515, 209, 553, 232, 540, 515, 215, + 562, 217, 515, 42, 739, 711, 500, 704, 724, 701, + 734, 700, 637, 551, 570, 691, 689, 696, 720, 719, + 530, 579, 434, 466, 538, 523, 713, 563, 585, 519, + 519, 519, 523, 710, 519, 519, 519, 519, 519, 519, + 519, 519, 798, 405, 539, 564, 469, 584, 567, 480, + 631, 532, 579, 579, 661, 794, 738, 537, 531, 764, + 695, 622, 431, 783, 728, 660, 582, 533, 730, 782, + 763, 630, 434, 762, 663, 549, 664, 579, 688, 519, + 707, 705, 800, 799, 712, 797, 791, 619, 576, 546, + 796, 665, 761, 628, 634, 589, 789, 781, 769, 658, + 767, 594, 556, 793, 560, 735, 733, 636, 656, 654, + 610, 502, 650, 694, 613, 787, 568, 786, 792, 615, + 620, 635, 510, 535, 649, 489, 621, 692, 518, 550, + 607, 614, 759, 645, 633, 731, 612, 644, 643, 765, + 569, 585, 541, 565, 566, 555, 632, 642, 766, 512, + 618, 606, 596, 597, 640, 603, 641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 134, 134, 134, 134, -2, - -2, -2, 0, 0, -2, 0, 0, 134, 134, 134, + 0, 0, 0, 0, 0, 0, 0, 134, 134, 134, + 134, -2, -2, -2, 0, 0, -2, 0, 0, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, @@ -502,141 +502,141 @@ class Php7 extends \PhpParser\ParserAbstract 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 134, 134, 134, 561, + 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, + 134, 134, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, + 561, 561, 561, 561, 561, 561, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, - 561, 561, 561, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 561, - 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, - 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, - 561, 561, 561, 561, 561, 561, -3, 561, 561, -3, - 561, 561, 561, 561, 561, 561, -22, -22, -22, -22, - 180, 180, 180, 38, 38, 38, 38, 180, 180, 180, + 561, 561, 561, 561, 561, 561, 561, 561, 561, -3, + 561, 561, -3, 561, 561, 561, 561, 561, 561, -22, + -22, -22, -22, 180, 180, 180, 38, 38, 38, 38, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, - 180, -22, -22, 180, 180, 180, 180, 180, 180, 38, - 180, 91, 91, 91, 422, 422, 180, 0, 0, 0, - 0, 0, 539, 91, 180, 180, 180, 180, 0, 0, - 180, 180, 506, 422, 0, 0, 0, 0, 539, 539, - 539, 0, 539, 91, 0, 64, 461, 461, 461, 461, - 0, 0, 0, 539, 0, 506, 539, 0, 0, 0, - 0, 0, 0, 519, 0, 531, 0, 0, 0, 0, - 537, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 506, 0, 490, 0, 553, 0, 0, 490, 490, - 490, 553, 553, 0, 0, 0, 553 + 180, 180, 180, 180, -22, -22, 180, 180, 180, 180, + 180, 180, 38, 180, 91, 91, 91, 92, 92, 180, + 0, 0, 0, 0, 0, 557, 91, 180, 180, 180, + 180, 0, 0, 180, 180, 562, 92, 0, 0, 0, + 0, 557, 557, 557, 0, 557, 91, 0, 64, 467, + 467, 467, 467, 0, 0, 0, 557, 0, 562, 557, + 0, 0, 0, 0, 0, 0, 540, 0, 716, 0, + 0, 0, 0, 548, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 562, 0, 519, 0, 537, 0, + 0, 519, 519, 519, 537, 537, 0, 0, 0, 537 ); protected $actionDefault = array( 3,32767,32767,32767,32767,32767,32767,32767,32767, 91, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 93, 497, 497, 489,32767, 497, 489, - 32767,32767,32767, 307, 307, 307,32767, 444, 444, 444, - 444, 444, 444, 444,32767,32767,32767,32767,32767, 386, + 32767,32767,32767,32767, 93, 498, 498, 490,32767, 498, + 490,32767,32767,32767, 308, 308, 308,32767, 445, 445, + 445, 445, 445, 445, 445,32767,32767,32767,32767,32767, + 387,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 91, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 91,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 494,32767, + 495,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 369, - 370, 372, 373, 306, 445, 253, 493, 305, 129, 264, - 255, 207, 303, 239, 133, 334, 387, 336, 385, 389, - 335, 312, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 326, 327, 310, 311, 388, 366, 365, 364, - 332, 333, 309, 337, 339, 309, 338, 355, 356, 353, - 354, 357, 358, 359, 360, 361,32767,32767,32767,32767, + 370, 371, 373, 374, 307, 446, 254, 494, 306, 129, + 265, 256, 208, 304, 240, 133, 335, 388, 337, 386, + 390, 336, 313, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 311, 312, 389, 367, 366, + 365, 333, 334, 310, 338, 340, 310, 339, 356, 357, + 354, 355, 358, 359, 360, 361, 362,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 93,32767,32767,32767, 346, 347, 245, - 245, 245, 245,32767, 245, 289,32767,32767,32767,32767, - 32767,32767,32767, 438, 363, 341, 342, 340,32767, 416, - 32767,32767,32767,32767,32767, 418,32767, 91,32767,32767, - 329, 331, 410, 313,32767,32767, 93,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 413, 446, 446,32767, - 32767, 404, 91,32767,32767, 91, 172, 226, 228, 177, - 32767, 421,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 351, - 504,32767, 446,32767, 343, 344, 345,32767,32767, 446, - 446, 446,32767, 446,32767, 446, 446,32767,32767,32767, - 32767,32767, 177,32767,32767,32767,32767, 93, 419, 419, - 91, 91, 91, 91, 414,32767, 177,32767,32767,32767, - 32767,32767, 177, 90, 90, 90, 90, 177, 90, 190, - 32767, 188, 188, 90,32767, 92,32767, 92, 192,32767, - 460, 192, 90, 177, 90, 212, 212, 395, 179, 92, - 247,32767, 247, 92, 395, 90, 177, 247, 90,32767, - 90, 247,32767,32767,32767, 84,32767,32767,32767,32767, + 32767,32767,32767,32767, 93,32767,32767,32767, 347, 348, + 246, 246, 246, 246,32767, 246, 290,32767,32767,32767, + 32767,32767,32767,32767, 439, 364, 342, 343, 341,32767, + 417,32767,32767,32767,32767,32767, 419,32767, 91,32767, + 32767, 330, 332, 411, 314,32767,32767, 93,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 414, 447, 447, + 32767,32767, 405, 91,32767,32767, 91, 173, 227, 229, + 178,32767, 422,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 406,32767, 426,32767, 439, 458, 404,32767, 349, 350, - 352,32767, 448, 374, 375, 376, 377, 378, 379, 380, - 382,32767, 490, 409,32767,32767, 86, 120, 263,32767, - 502, 86, 407,32767, 502,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 86, 86,32767,32767,32767, - 32767, 485,32767, 503,32767, 446, 408,32767, 348, 422, - 465,32767,32767, 447,32767,32767, 86,32767,32767,32767, - 32767,32767,32767,32767,32767, 426,32767,32767,32767,32767, - 32767, 446,32767,32767,32767,32767,32767,32767,32767, 302, - 32767,32767,32767,32767,32767, 446,32767,32767,32767, 238, + 352, 505,32767, 447,32767, 344, 345, 346,32767,32767, + 447, 447, 447,32767, 447,32767, 447, 447,32767,32767, + 32767,32767,32767, 178,32767,32767,32767,32767, 93, 420, + 420, 91, 91, 91, 91, 415,32767, 178,32767,32767, + 32767,32767,32767, 178, 90, 90, 90, 90, 178, 90, + 191,32767, 189, 189, 90,32767, 92,32767, 92, 193, + 32767, 461, 193, 90, 178, 90, 213, 213, 396, 180, + 92, 248,32767, 248, 92, 396, 90, 178, 248, 90, + 32767, 90, 248,32767,32767,32767, 84,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 84, 60, - 32767, 282,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 135, 135, 3, 3, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 266, 167, 266, 220, 266, 266, 223, 212, - 212, 274, 135, 135 + 32767, 407,32767, 427,32767, 440, 459, 405,32767, 350, + 351, 353,32767, 449, 375, 376, 377, 378, 379, 380, + 381, 383,32767, 491, 410,32767,32767, 86, 120, 264, + 32767, 503, 86, 408,32767, 503,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 86, 86,32767,32767, + 32767,32767, 486,32767, 504,32767, 447, 409,32767, 349, + 423, 466,32767,32767, 448,32767,32767,32767, 86,32767, + 32767,32767,32767,32767,32767,32767,32767, 427,32767,32767, + 32767,32767,32767, 447,32767,32767,32767,32767,32767,32767, + 32767, 303,32767,32767,32767,32767,32767,32767, 447,32767, + 32767,32767, 239,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 84, 60,32767, 283,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 135, 135, 3, + 3, 135, 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 135, 267, 168, 267, 221, 267, 267, + 224, 213, 213, 275, 135, 135 ); protected $goto = array( - 165, 165, 138, 138, 147, 148, 138, 147, 150, 181, - 166, 163, 163, 163, 163, 164, 164, 164, 164, 164, - 164, 164, 159, 160, 161, 162, 178, 176, 179, 428, - 429, 319, 430, 433, 434, 435, 436, 437, 438, 439, - 440, 899, 136, 139, 140, 141, 142, 143, 144, 145, - 146, 149, 175, 177, 180, 197, 200, 201, 203, 204, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 237, 238, 255, 256, 257, 324, 325, 326, 478, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 151, 196, 152, 167, 168, 169, 198, - 170, 153, 154, 155, 171, 156, 199, 137, 172, 157, - 173, 174, 158, 540, 202, 446, 550, 202, 745, 304, - 308, 458, 481, 482, 484, 490, 220, 985, 221, 222, - 715, 451, 451, 451, 480, 451, 680, 701, 679, 471, - 7, 695, 471, 431, 431, 431, 466, 283, 667, 451, - 431, 431, 431, 431, 431, 431, 431, 431, 431, 431, - 431, 431, 431, 432, 432, 432, 496, 498, 546, 742, + 166, 166, 140, 140, 148, 149, 140, 148, 151, 182, + 167, 164, 164, 164, 164, 165, 165, 165, 165, 165, + 165, 165, 160, 161, 162, 163, 179, 177, 180, 429, + 430, 320, 431, 434, 435, 436, 437, 438, 439, 440, + 441, 902, 137, 141, 142, 143, 144, 145, 139, 146, + 147, 150, 176, 178, 181, 198, 201, 202, 204, 205, + 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 238, 239, 256, 257, 258, 325, 326, 327, 479, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 152, 197, 153, 168, 169, 170, 199, + 171, 154, 155, 156, 172, 157, 200, 138, 173, 158, + 174, 175, 159, 542, 203, 447, 552, 203, 748, 305, + 309, 459, 482, 483, 485, 1086, 1086, 988, 498, 500, + 548, 452, 452, 452, 481, 452, 221, 681, 222, 223, + 7, 682, 1086, 432, 432, 432, 467, 284, 669, 452, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, - 432, 432, 432, 479, 867, 553, 706, 986, 520, 532, - 865, 493, 513, 531, 451, 451, 678, 318, 1055, 1056, - 465, 486, 451, 451, 451, 987, 1041, 802, 783, 781, - 783, 575, 836, 444, 811, 806, 452, 706, 477, 489, - 706, 495, 495, 1010, 785, 1083, 1083, 476, 1010, 1010, - 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, - 1010, 464, 1083, 472, 578, 500, 502, 527, 530, 535, - 536, 813, 543, 545, 552, 809, 554, 777, 315, 549, - 3, 4, 265, 682, 1075, 697, 697, 249, 1065, 302, - 306, 707, 707, 707, 709, 696, 457, 514, 1098, 469, - 946, 467, 687, 821, 737, 732, 733, 746, 832, 688, - 734, 685, 735, 736, 686, 1054, 740, 388, 825, 289, - 506, 448, 702, 312, 331, 515, 335, 281, 699, 582, - 11, 322, 322, 270, 271, 287, 475, 329, 273, 330, - 288, 333, 501, 336, 710, 698, 840, 537, 844, 816, - 816, 1072, 521, 788, 982, 1082, 1082, 977, 841, 711, - 284, 285, 818, 989, 778, 381, 826, 826, 826, 826, - 989, 826, 1082, 826, 790, 882, 1060, 1060, 714, 826, - 981, 448, 845, 397, 443, 1051, 1085, 989, 989, 989, - 989, 443, 1051, 989, 989, 875, 884, 0, 492, 1062, - 1062, 0, 0, 0, 753, 0, 0, 754, 779, 779, - 779, 779, 0, 0, 773, 780, 0, 0, 1047, 0, - 0, 519, 0, 0, 0, 0, 0, 0, 0, 984, - 0, 0, 463, 0, 0, 0, 0, 0, 0, 843, - 0, 0, 1049, 1049, 843, 0, 0, 0, 0, 0, + 432, 432, 432, 433, 433, 433, 1085, 1085, 495, 515, + 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, + 433, 433, 433, 1085, 444, 266, 708, 989, 1058, 1059, + 250, 444, 478, 491, 452, 452, 743, 1088, 744, 717, + 466, 488, 452, 452, 452, 990, 1044, 788, 782, 782, + 782, 782, 3, 4, 776, 783, 453, 708, 839, 473, + 708, 497, 497, 1013, 780, 316, 551, 477, 1013, 1013, + 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, + 1013, 465, 1078, 303, 580, 502, 504, 516, 533, 537, + 538, 816, 545, 547, 554, 812, 556, 1068, 472, 523, + 517, 472, 470, 684, 534, 699, 699, 949, 319, 824, + 307, 709, 709, 709, 711, 698, 458, 835, 1057, 1101, + 828, 468, 689, 492, 739, 734, 735, 749, 290, 690, + 736, 687, 737, 738, 688, 703, 742, 389, 508, 697, + 282, 313, 449, 844, 332, 518, 336, 701, 704, 584, + 11, 323, 323, 271, 272, 288, 476, 330, 274, 331, + 289, 334, 503, 337, 524, 712, 700, 843, 539, 847, + 480, 870, 555, 985, 791, 713, 535, 868, 980, 848, + 887, 285, 286, 821, 992, 781, 793, 829, 829, 829, + 829, 992, 829, 382, 829, 494, 885, 1063, 1063, 716, + 829, 984, 449, 398, 0, 0, 1054, 0, 992, 992, + 992, 992, 0, 1054, 992, 992, 878, 0, 680, 0, + 1065, 1065, 0, 0, 0, 756, 0, 0, 757, 805, + 786, 786, 784, 786, 577, 0, 445, 814, 809, 1050, + 0, 0, 522, 0, 0, 0, 0, 0, 0, 0, + 987, 0, 0, 464, 0, 0, 0, 0, 0, 0, + 846, 0, 0, 1052, 1052, 846, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 445, 461, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 445, 0, 461, 0, - 0, 305, 0, 449, 369, 0, 371, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 446, 462, 819, 819, + 1075, 0, 0, 0, 0, 0, 0, 446, 0, 462, + 0, 0, 306, 0, 450, 370, 0, 372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 705, 0, 1090 + 0, 707, 0, 1093 ); protected $gotoCheck = array( @@ -652,79 +652,79 @@ class Php7 extends \PhpParser\ParserAbstract 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 63, 56, 10, 8, 56, 13, 49, - 49, 49, 49, 49, 49, 15, 72, 91, 72, 72, - 36, 10, 10, 10, 96, 10, 18, 15, 17, 84, - 109, 15, 84, 133, 133, 133, 10, 79, 5, 10, + 49, 49, 49, 49, 49, 145, 145, 91, 67, 67, + 67, 10, 10, 10, 96, 10, 72, 17, 72, 72, + 109, 18, 145, 133, 133, 133, 10, 79, 5, 10, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 133, 133, 133, 135, 135, 135, 67, 67, 67, 55, + 133, 133, 133, 135, 135, 135, 144, 144, 46, 46, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 7, 7, 7, 26, 91, 68, 7, - 7, 46, 46, 68, 10, 10, 16, 68, 139, 139, - 10, 10, 10, 10, 10, 91, 91, 16, 16, 16, - 16, 16, 93, 16, 16, 16, 10, 26, 2, 2, - 26, 85, 85, 85, 40, 145, 145, 10, 85, 85, + 135, 135, 135, 144, 74, 132, 26, 91, 139, 139, + 132, 74, 2, 2, 10, 10, 55, 144, 55, 36, + 10, 10, 10, 10, 10, 91, 91, 40, 74, 74, + 74, 74, 37, 37, 74, 74, 10, 26, 93, 134, + 26, 85, 85, 85, 75, 75, 75, 10, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 39, 145, 134, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 75, 75, 75, - 37, 37, 132, 13, 143, 26, 26, 132, 141, 52, - 65, 26, 26, 26, 26, 26, 65, 54, 12, 53, - 116, 65, 13, 87, 13, 13, 13, 13, 89, 13, - 13, 13, 13, 13, 13, 137, 13, 65, 90, 20, - 24, 12, 30, 19, 56, 56, 56, 11, 28, 81, + 85, 39, 143, 52, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 141, 84, 68, + 54, 84, 53, 13, 68, 26, 26, 116, 68, 87, + 65, 26, 26, 26, 26, 26, 65, 89, 137, 12, + 90, 65, 13, 15, 13, 13, 13, 13, 20, 13, + 13, 13, 13, 13, 13, 15, 13, 65, 24, 15, + 11, 19, 12, 95, 56, 56, 56, 28, 30, 81, 65, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 14, 14, 14, 12, 14, 84, - 84, 84, 23, 14, 125, 144, 144, 122, 95, 32, - 79, 79, 14, 63, 14, 70, 63, 63, 63, 63, - 63, 63, 144, 63, 78, 14, 8, 8, 14, 63, - 14, 12, 98, 120, 74, 96, 144, 63, 63, 63, - 63, 74, 96, 63, 63, 109, 112, -1, 71, 96, - 96, -1, -1, -1, 63, -1, -1, 63, 74, 74, - 74, 74, -1, -1, 74, 74, -1, -1, 96, -1, - -1, 12, -1, -1, -1, -1, -1, -1, -1, 12, - -1, -1, 8, -1, -1, -1, -1, -1, -1, 96, - -1, -1, 96, 96, 96, -1, -1, -1, -1, -1, + 56, 56, 56, 56, 23, 14, 14, 14, 12, 14, + 7, 7, 7, 125, 14, 32, 7, 7, 122, 98, + 112, 79, 79, 14, 63, 14, 78, 63, 63, 63, + 63, 63, 63, 70, 63, 71, 14, 8, 8, 14, + 63, 14, 12, 120, -1, -1, 96, -1, 63, 63, + 63, 63, -1, 96, 63, 63, 109, -1, 16, -1, + 96, 96, -1, -1, -1, 63, -1, -1, 63, 16, + 16, 16, 16, 16, 16, -1, 16, 16, 16, 96, + -1, -1, 12, -1, -1, -1, -1, -1, -1, -1, + 12, -1, -1, 8, -1, -1, -1, -1, -1, -1, + 96, -1, -1, 96, 96, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 8, 8, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 8, -1, 8, -1, - -1, 8, -1, 8, 8, -1, 8, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 8, 8, 84, 84, + 84, -1, -1, -1, -1, -1, -1, 8, -1, 8, + -1, -1, 8, -1, 8, 8, -1, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 8, -1, 8 + -1, 8, -1, 8 ); protected $gotoBase = array( - 0, 0, -339, 0, 0, 138, 0, 178, 106, 0, - -143, 29, 10, -18, -40, -252, 194, 136, 134, 14, - 41, 0, 0, -6, 25, 0, -72, 0, 16, 0, - 26, 0, -11, -22, 0, 0, 121, -322, 0, -315, - 206, 0, 0, 0, 0, 0, 157, 0, 0, 81, - 0, 0, 233, 55, 60, 153, 88, 0, 0, 0, - 0, 0, 0, 107, 0, -86, 0, -74, -204, 0, - -27, -3, -448, 0, 128, -4, 0, 0, 2, -239, - 0, -7, 0, 0, 113, 5, 0, 39, 0, 42, - 46, -174, 0, 189, 0, 43, 129, 0, 11, 0, + 0, 0, -367, 0, 0, 138, 0, 325, 106, 0, + -144, 21, 10, -19, -40, -95, 376, 135, 139, 11, + 29, 0, 0, -15, 22, 0, -73, 0, 14, 0, + 31, 0, -16, -23, 0, 0, 190, -372, 0, -317, + 188, 0, 0, 0, 0, 0, 133, 0, 0, 80, + 0, 0, 206, 37, 42, 181, 87, 0, 0, 0, + 0, 0, 0, 107, 0, -87, 0, -113, -134, 0, + -20, -27, -440, 0, -53, -38, 0, 0, -7, -240, + 0, -8, 0, 0, 231, 4, 0, 24, 0, 30, + 27, -175, 0, 194, 0, 7, 129, 0, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, - 0, 0, 23, 0, 0, 0, 37, 0, 0, 0, - -31, 0, -12, 0, 0, -8, 0, 0, 0, 0, - 0, 0, 3, -73, 218, -53, 0, 44, 0, -95, - 0, 239, 0, 236, 87, -23, 0, 0 + 0, 0, -14, 0, 0, 0, 23, 0, 0, 0, + -32, 0, -12, 0, 0, -10, 0, 0, 0, 0, + 0, 0, -75, -74, 193, -54, 0, 26, 0, -106, + 0, 227, 0, 213, -83, -124, 0, 0 ); protected $gotoDefault = array( - -32768, 402, 585, 2, 586, 657, 665, 522, 419, 551, - 420, 447, 320, 739, 888, 758, 721, 722, 723, 309, - 346, 300, 307, 507, 497, 393, 708, 365, 700, 389, - 703, 364, 712, 135, 523, 398, 716, 1, 718, 453, - 749, 297, 726, 298, 526, 728, 460, 730, 731, 303, - 310, 311, 892, 468, 494, 741, 205, 462, 743, 296, - 744, 752, 317, 301, 375, 399, 391, 485, 518, 360, - 378, 491, 219, 470, 996, 775, 384, 373, 789, 282, - 797, 583, 805, 808, 421, 422, 382, 820, 383, 830, - 824, 1004, 377, 835, 366, 842, 1036, 368, 846, 849, - 341, 508, 334, 853, 854, 6, 859, 541, 542, 874, - 245, 395, 883, 509, 363, 898, 349, 965, 967, 455, - 390, 978, 372, 529, 400, 983, 1040, 361, 423, 379, - 272, 286, 248, 424, 441, 253, 425, 380, 1043, 1050, - 323, 1066, 442, 1076, 1084, 279, 474, 488 + -32768, 403, 587, 2, 588, 659, 667, 525, 420, 553, + 421, 448, 321, 741, 891, 761, 723, 724, 725, 310, + 347, 301, 308, 509, 499, 394, 710, 366, 702, 390, + 705, 365, 714, 136, 526, 399, 718, 1, 720, 454, + 752, 298, 728, 299, 529, 730, 461, 732, 733, 304, + 311, 312, 895, 469, 496, 745, 206, 463, 746, 297, + 747, 755, 318, 302, 376, 400, 392, 487, 521, 361, + 379, 493, 220, 471, 999, 778, 385, 374, 792, 283, + 800, 585, 808, 811, 422, 423, 383, 823, 384, 833, + 827, 1007, 378, 838, 367, 845, 1039, 369, 849, 852, + 342, 510, 335, 856, 857, 6, 862, 543, 544, 877, + 246, 396, 886, 511, 364, 901, 350, 968, 970, 456, + 391, 981, 373, 532, 401, 986, 1043, 362, 424, 380, + 273, 287, 249, 425, 442, 254, 426, 381, 1046, 1053, + 324, 1069, 443, 1079, 1087, 280, 475, 490 ); protected $ruleToNonTerminal = array( @@ -744,21 +744,21 @@ class Php7 extends \PhpParser\ParserAbstract 34, 35, 35, 36, 37, 37, 39, 38, 38, 38, 38, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 16, 16, 59, 59, 62, - 62, 61, 60, 60, 53, 64, 64, 65, 65, 66, - 66, 17, 18, 18, 18, 69, 69, 69, 70, 70, - 73, 73, 71, 71, 75, 76, 76, 47, 47, 55, - 55, 58, 58, 58, 57, 77, 77, 78, 48, 48, - 48, 48, 79, 79, 80, 80, 81, 81, 45, 45, - 41, 41, 82, 43, 43, 83, 42, 42, 44, 44, - 54, 54, 54, 54, 67, 67, 86, 86, 87, 87, - 89, 89, 90, 90, 90, 88, 88, 68, 68, 91, - 91, 92, 92, 93, 93, 93, 50, 94, 94, 95, - 51, 97, 97, 98, 98, 72, 72, 99, 99, 99, - 99, 99, 104, 104, 105, 105, 106, 106, 106, 106, - 106, 107, 108, 108, 103, 103, 100, 100, 102, 102, - 110, 110, 109, 109, 109, 109, 109, 109, 101, 111, - 111, 113, 112, 112, 52, 114, 114, 46, 46, 33, + 40, 40, 40, 40, 40, 40, 16, 16, 59, 59, + 62, 62, 61, 60, 60, 53, 64, 64, 65, 65, + 66, 66, 17, 18, 18, 18, 69, 69, 69, 70, + 70, 73, 73, 71, 71, 75, 76, 76, 47, 47, + 55, 55, 58, 58, 58, 57, 77, 77, 78, 48, + 48, 48, 48, 79, 79, 80, 80, 81, 81, 45, + 45, 41, 41, 82, 43, 43, 83, 42, 42, 44, + 44, 54, 54, 54, 54, 67, 67, 86, 86, 87, + 87, 89, 89, 90, 90, 90, 88, 88, 68, 68, + 91, 91, 92, 92, 93, 93, 93, 50, 94, 94, + 95, 51, 97, 97, 98, 98, 72, 72, 99, 99, + 99, 99, 99, 104, 104, 105, 105, 106, 106, 106, + 106, 106, 107, 108, 108, 103, 103, 100, 100, 102, + 102, 110, 110, 109, 109, 109, 109, 109, 109, 101, + 111, 111, 113, 112, 112, 52, 114, 114, 46, 46, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, @@ -767,19 +767,19 @@ class Php7 extends \PhpParser\ParserAbstract 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 121, 115, 115, 120, 120, 123, 124, 124, - 125, 126, 126, 126, 74, 74, 63, 63, 63, 116, - 116, 116, 128, 128, 117, 117, 119, 119, 119, 122, - 122, 133, 133, 133, 85, 135, 135, 135, 118, 118, + 33, 33, 33, 121, 115, 115, 120, 120, 123, 124, + 124, 125, 126, 126, 126, 74, 74, 63, 63, 63, + 116, 116, 116, 128, 128, 117, 117, 119, 119, 119, + 122, 122, 133, 133, 133, 85, 135, 135, 135, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 49, 49, 131, 131, 131, 127, - 127, 127, 136, 136, 136, 136, 136, 136, 56, 56, - 56, 96, 96, 96, 96, 139, 138, 130, 130, 130, - 130, 130, 130, 129, 129, 129, 137, 137, 137, 137, - 84, 140, 140, 141, 141, 141, 141, 141, 141, 141, - 134, 142, 142, 143, 143, 143, 143, 143, 132, 132, - 132, 132, 145, 146, 144, 144, 144, 144, 144, 144, - 144, 147, 147, 147, 147 + 118, 118, 118, 118, 118, 49, 49, 131, 131, 131, + 127, 127, 127, 136, 136, 136, 136, 136, 136, 56, + 56, 56, 96, 96, 96, 96, 139, 138, 130, 130, + 130, 130, 130, 130, 129, 129, 129, 137, 137, 137, + 137, 84, 140, 140, 141, 141, 141, 141, 141, 141, + 141, 134, 142, 142, 143, 143, 143, 143, 143, 132, + 132, 132, 132, 145, 146, 144, 144, 144, 144, 144, + 144, 144, 147, 147, 147, 147 ); protected $ruleToLength = array( @@ -798,43 +798,43 @@ class Php7 extends \PhpParser\ParserAbstract 1, 3, 1, 2, 1, 2, 2, 3, 1, 3, 2, 3, 1, 3, 2, 0, 1, 1, 1, 1, 1, 3, 7, 10, 5, 7, 9, 5, 3, 3, - 3, 3, 3, 3, 1, 2, 5, 7, 9, 5, - 6, 3, 3, 2, 1, 1, 1, 0, 2, 1, - 3, 8, 0, 4, 2, 1, 3, 0, 1, 0, - 1, 10, 7, 6, 5, 1, 2, 2, 0, 2, - 0, 2, 0, 2, 2, 1, 3, 1, 4, 1, - 4, 1, 1, 4, 2, 1, 3, 3, 3, 4, - 4, 5, 0, 2, 4, 3, 1, 1, 1, 4, - 0, 2, 5, 0, 2, 6, 0, 2, 0, 3, - 1, 2, 1, 1, 2, 0, 1, 3, 4, 6, - 1, 2, 1, 1, 1, 0, 1, 0, 2, 2, - 4, 1, 3, 1, 2, 2, 2, 3, 1, 1, - 2, 3, 1, 1, 3, 2, 0, 3, 4, 9, - 3, 1, 1, 3, 0, 2, 4, 5, 4, 4, - 4, 3, 1, 1, 1, 3, 1, 1, 0, 1, - 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, - 3, 1, 1, 3, 2, 3, 1, 0, 1, 1, - 3, 3, 3, 4, 1, 2, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, - 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 1, 2, 5, 7, 9, 6, + 5, 6, 3, 3, 2, 1, 1, 1, 0, 2, + 1, 3, 8, 0, 4, 2, 1, 3, 0, 1, + 0, 1, 10, 7, 6, 5, 1, 2, 2, 0, + 2, 0, 2, 0, 2, 2, 1, 3, 1, 4, + 1, 4, 1, 1, 4, 2, 1, 3, 3, 3, + 4, 4, 5, 0, 2, 4, 3, 1, 1, 1, + 4, 0, 2, 5, 0, 2, 6, 0, 2, 0, + 3, 1, 2, 1, 1, 2, 0, 1, 3, 4, + 6, 1, 2, 1, 1, 1, 0, 1, 0, 2, + 2, 4, 1, 3, 1, 2, 2, 2, 3, 1, + 1, 2, 3, 1, 1, 3, 2, 0, 3, 4, + 9, 3, 1, 1, 3, 0, 2, 4, 5, 4, + 4, 4, 3, 1, 1, 1, 3, 1, 1, 0, + 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, + 1, 3, 1, 1, 3, 2, 3, 1, 0, 1, + 1, 3, 3, 3, 4, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 5, 4, 3, 4, 4, 2, - 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 1, 3, 2, 1, 2, 4, 2, - 10, 11, 7, 3, 2, 0, 4, 2, 1, 3, - 2, 2, 2, 4, 1, 1, 1, 2, 3, 1, - 1, 1, 1, 1, 0, 3, 0, 1, 1, 0, - 1, 1, 3, 3, 3, 4, 1, 1, 1, 1, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 5, 4, 3, 4, 4, + 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 1, 3, 2, 1, 2, 4, + 2, 10, 11, 7, 3, 2, 0, 4, 2, 1, + 3, 2, 2, 2, 4, 1, 1, 1, 2, 3, + 1, 1, 1, 1, 1, 0, 3, 0, 1, 1, + 0, 1, 1, 3, 3, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 3, 2, 3, 3, 0, 1, 1, 3, 1, 1, - 3, 1, 1, 4, 4, 4, 1, 4, 1, 1, - 3, 1, 4, 2, 2, 1, 3, 1, 4, 4, - 3, 3, 3, 1, 3, 1, 1, 3, 1, 1, - 4, 3, 1, 1, 2, 1, 3, 4, 3, 0, - 1, 3, 1, 3, 1, 4, 2, 0, 2, 2, - 1, 2, 1, 1, 1, 4, 3, 3, 3, 6, - 3, 1, 1, 2, 1 + 1, 3, 2, 3, 3, 0, 1, 1, 3, 1, + 1, 3, 1, 1, 4, 4, 4, 1, 4, 1, + 1, 3, 1, 4, 2, 2, 1, 3, 1, 4, + 4, 3, 3, 3, 1, 3, 1, 1, 3, 1, + 1, 4, 3, 1, 1, 2, 1, 3, 4, 3, + 0, 1, 3, 1, 3, 1, 4, 2, 0, 2, + 2, 1, 2, 1, 1, 1, 4, 3, 3, 3, + 6, 3, 1, 1, 2, 1 ); protected function initReduceCallbacks() { @@ -1332,464 +1332,464 @@ class Php7 extends \PhpParser\ParserAbstract $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(9-3)], $this->semStack[$stackPos-(9-7)][0], ['keyVar' => $this->semStack[$stackPos-(9-5)], 'byRef' => $this->semStack[$stackPos-(9-7)][1], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, 159 => function ($stackPos) { - $this->semValue = new Stmt\Declare_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(6-3)], new Expr\Error($this->startAttributeStack[$stackPos-(6-4)] + $this->endAttributeStack[$stackPos-(6-4)]), ['stmts' => $this->semStack[$stackPos-(6-6)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, 160 => function ($stackPos) { - $this->semValue = new Stmt\TryCatch($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue); + $this->semValue = new Stmt\Declare_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, 161 => function ($stackPos) { - $this->semValue = new Stmt\Throw_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Stmt\TryCatch($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue); }, 162 => function ($stackPos) { - $this->semValue = new Stmt\Goto_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Stmt\Throw_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 163 => function ($stackPos) { - $this->semValue = new Stmt\Label($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Stmt\Goto_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 164 => function ($stackPos) { - $this->semValue = array(); /* means: no statement */ + $this->semValue = new Stmt\Label($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 165 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array(); /* means: no statement */ }, 166 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 167 => function ($stackPos) { $startAttributes = $this->startAttributeStack[$stackPos-(1-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; }; if ($this->semValue === null) $this->semValue = array(); /* means: no statement */ }, - 167 => function ($stackPos) { + 168 => function ($stackPos) { $this->semValue = array(); }, - 168 => function ($stackPos) { + 169 => function ($stackPos) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 169 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, 170 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 171 => function ($stackPos) { - $this->semValue = new Stmt\Catch_($this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); - }, - 172 => function ($stackPos) { - $this->semValue = null; - }, - 173 => function ($stackPos) { - $this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 174 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 175 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 176 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, + 172 => function ($stackPos) { + $this->semValue = new Stmt\Catch_($this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + }, + 173 => function ($stackPos) { + $this->semValue = null; + }, + 174 => function ($stackPos) { + $this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 175 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 176 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, 177 => function ($stackPos) { - $this->semValue = false; + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 178 => function ($stackPos) { - $this->semValue = true; - }, - 179 => function ($stackPos) { $this->semValue = false; }, - 180 => function ($stackPos) { + 179 => function ($stackPos) { $this->semValue = true; }, + 180 => function ($stackPos) { + $this->semValue = false; + }, 181 => function ($stackPos) { - $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(10-3)], ['byRef' => $this->semStack[$stackPos-(10-2)], 'params' => $this->semStack[$stackPos-(10-5)], 'returnType' => $this->semStack[$stackPos-(10-7)], 'stmts' => $this->semStack[$stackPos-(10-9)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); + $this->semValue = true; }, 182 => function ($stackPos) { + $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(10-3)], ['byRef' => $this->semStack[$stackPos-(10-2)], 'params' => $this->semStack[$stackPos-(10-5)], 'returnType' => $this->semStack[$stackPos-(10-7)], 'stmts' => $this->semStack[$stackPos-(10-9)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); + }, + 183 => function ($stackPos) { $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(7-2)], ['type' => $this->semStack[$stackPos-(7-1)], 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); $this->checkClass($this->semValue, $stackPos-(7-2)); }, - 183 => function ($stackPos) { + 184 => function ($stackPos) { $this->semValue = new Stmt\Interface_($this->semStack[$stackPos-(6-2)], ['extends' => $this->semStack[$stackPos-(6-3)], 'stmts' => $this->semStack[$stackPos-(6-5)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkInterface($this->semValue, $stackPos-(6-2)); }, - 184 => function ($stackPos) { + 185 => function ($stackPos) { $this->semValue = new Stmt\Trait_($this->semStack[$stackPos-(5-2)], ['stmts' => $this->semStack[$stackPos-(5-4)]], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 185 => function ($stackPos) { + 186 => function ($stackPos) { $this->semValue = 0; }, - 186 => function ($stackPos) { + 187 => function ($stackPos) { $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; }, - 187 => function ($stackPos) { + 188 => function ($stackPos) { $this->semValue = Stmt\Class_::MODIFIER_FINAL; }, - 188 => function ($stackPos) { - $this->semValue = null; - }, 189 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + $this->semValue = null; }, 190 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, 191 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + $this->semValue = array(); }, 192 => function ($stackPos) { - $this->semValue = array(); - }, - 193 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-2)]; }, - 194 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 195 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 196 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 197 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 198 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 199 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 200 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 201 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 202 => function ($stackPos) { - $this->semValue = null; - }, - 203 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 204 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 205 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 206 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 207 => function ($stackPos) { - $this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 208 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 209 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; - }, - 210 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 211 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(5-3)]; - }, - 212 => function ($stackPos) { + 193 => function ($stackPos) { $this->semValue = array(); }, + 194 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; + }, + 195 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 196 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 197 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 198 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 199 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 200 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 201 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 202 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 203 => function ($stackPos) { + $this->semValue = null; + }, + 204 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 205 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 206 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 207 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 208 => function ($stackPos) { + $this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 209 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 210 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-3)]; + }, + 211 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 212 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(5-3)]; + }, 213 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = array(); }, 214 => function ($stackPos) { - $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 215 => function ($stackPos) { - $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 216 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; + $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 217 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos]; }, 218 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + $this->semValue = $this->semStack[$stackPos]; }, 219 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); }, 220 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = $this->semStack[$stackPos-(4-2)]; }, 221 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 222 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(5-3)], is_array($this->semStack[$stackPos-(5-5)]) ? $this->semStack[$stackPos-(5-5)] : array($this->semStack[$stackPos-(5-5)]), $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 223 => function ($stackPos) { $this->semValue = array(); }, - 224 => function ($stackPos) { + 222 => function ($stackPos) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, + 223 => function ($stackPos) { + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(5-3)], is_array($this->semStack[$stackPos-(5-5)]) ? $this->semStack[$stackPos-(5-5)] : array($this->semStack[$stackPos-(5-5)]), $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 224 => function ($stackPos) { + $this->semValue = array(); + }, 225 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 226 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, 227 => function ($stackPos) { - $this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 228 => function ($stackPos) { $this->semValue = null; }, + 228 => function ($stackPos) { + $this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, 229 => function ($stackPos) { - $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = null; }, 230 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 231 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-2)], true); + $this->semValue = array($this->semStack[$stackPos-(1-1)], false); }, 232 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + $this->semValue = array($this->semStack[$stackPos-(2-2)], true); }, 233 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)], false); }, 234 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = array($this->semStack[$stackPos-(1-1)], false); }, 235 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 236 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semValue = array(); }, 237 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 238 => function ($stackPos) { - $this->semValue = new Node\Param($this->semStack[$stackPos-(4-4)], null, $this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->checkParam($this->semValue); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 239 => function ($stackPos) { - $this->semValue = new Node\Param($this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-3)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkParam($this->semValue); + $this->semValue = new Node\Param($this->semStack[$stackPos-(4-4)], null, $this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->checkParam($this->semValue); }, 240 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\Param($this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-3)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkParam($this->semValue); }, 241 => function ($stackPos) { - $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 242 => function ($stackPos) { - $this->semValue = $this->handleBuiltinTypes($this->semStack[$stackPos-(1-1)]); - }, - 243 => function ($stackPos) { - $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 244 => function ($stackPos) { - $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 245 => function ($stackPos) { - $this->semValue = null; - }, - 246 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 247 => function ($stackPos) { + 242 => function ($stackPos) { + $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 243 => function ($stackPos) { + $this->semValue = $this->handleBuiltinTypes($this->semStack[$stackPos-(1-1)]); + }, + 244 => function ($stackPos) { + $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 245 => function ($stackPos) { + $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 246 => function ($stackPos) { $this->semValue = null; }, + 247 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, 248 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + $this->semValue = null; }, 249 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, 250 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 251 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 252 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 253 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 254 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 255 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 256 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 257 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 258 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 259 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 260 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 261 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 262 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 263 => function ($stackPos) { - $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 264 => function ($stackPos) { - $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 265 => function ($stackPos) { - if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } - }, - 266 => function ($stackPos) { $this->semValue = array(); }, + 251 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 252 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 253 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 254 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 255 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 256 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 257 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 258 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 259 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 260 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 261 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 262 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 263 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 264 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 265 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 266 => function ($stackPos) { + if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } + }, 267 => function ($stackPos) { - $this->semValue = new Stmt\Property($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkProperty($this->semValue, $stackPos-(3-1)); + $this->semValue = array(); }, 268 => function ($stackPos) { - $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-1)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->checkClassConst($this->semValue, $stackPos-(4-1)); + $this->semValue = new Stmt\Property($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkProperty($this->semValue, $stackPos-(3-1)); }, 269 => function ($stackPos) { + $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-1)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->checkClassConst($this->semValue, $stackPos-(4-1)); + }, + 270 => function ($stackPos) { $this->semValue = new Stmt\ClassMethod($this->semStack[$stackPos-(9-4)], ['type' => $this->semStack[$stackPos-(9-1)], 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); $this->checkClassMethod($this->semValue, $stackPos-(9-1)); }, - 270 => function ($stackPos) { + 271 => function ($stackPos) { $this->semValue = new Stmt\TraitUse($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 271 => function ($stackPos) { + 272 => function ($stackPos) { $this->semValue = null; /* will be skipped */ }, - 272 => function ($stackPos) { - $this->semValue = array(); - }, 273 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = array(); }, 274 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 275 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = array(); }, 276 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 277 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 278 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, 279 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 280 => function ($stackPos) { $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 281 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 282 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); }, 283 => function ($stackPos) { - $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); - }, - 284 => function ($stackPos) { - $this->semValue = null; - }, - 285 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 286 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 284 => function ($stackPos) { + $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); + }, + 285 => function ($stackPos) { + $this->semValue = null; + }, + 286 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, 287 => function ($stackPos) { - $this->semValue = 0; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 288 => function ($stackPos) { $this->semValue = 0; }, 289 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = 0; }, 290 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 291 => function ($stackPos) { - $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 292 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; + $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; }, 293 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; }, 294 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; }, 295 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_STATIC; + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; }, 296 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + $this->semValue = Stmt\Class_::MODIFIER_STATIC; }, 297 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; }, 298 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = Stmt\Class_::MODIFIER_FINAL; }, 299 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 300 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 301 => function ($stackPos) { - $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 302 => function ($stackPos) { - $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 303 => function ($stackPos) { - $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 304 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 305 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 306 => function ($stackPos) { + 300 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, + 301 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 302 => function ($stackPos) { + $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 303 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 304 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 305 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 306 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, 307 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 308 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array(); }, 309 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 310 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 311 => function ($stackPos) { $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); @@ -1798,437 +1798,437 @@ class Php7 extends \PhpParser\ParserAbstract $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 313 => function ($stackPos) { - $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 314 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 315 => function ($stackPos) { - $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 316 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 317 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 318 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 319 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 320 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 321 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 322 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 323 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 324 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 325 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 326 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 327 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 328 => function ($stackPos) { - $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 329 => function ($stackPos) { - $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 330 => function ($stackPos) { - $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 331 => function ($stackPos) { - $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 332 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 333 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 334 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 335 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 336 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 337 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 338 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 339 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 340 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 341 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 342 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 343 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 344 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 345 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 346 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 347 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 348 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 349 => function ($stackPos) { - $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 350 => function ($stackPos) { - $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 351 => function ($stackPos) { - $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 352 => function ($stackPos) { - $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 353 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 354 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 355 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 356 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 357 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 358 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 359 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 360 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 361 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 362 => function ($stackPos) { - $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 363 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 364 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 365 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, 366 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 367 => function ($stackPos) { - $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 368 => function ($stackPos) { - $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 369 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 370 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 371 => function ($stackPos) { - $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 372 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 373 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 374 => function ($stackPos) { - $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 375 => function ($stackPos) { - $this->semValue = new Expr\Cast\Double($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 376 => function ($stackPos) { - $this->semValue = new Expr\Cast\String_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Double($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 377 => function ($stackPos) { - $this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\String_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 378 => function ($stackPos) { - $this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 379 => function ($stackPos) { - $this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 380 => function ($stackPos) { - $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 381 => function ($stackPos) { + $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 382 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strtolower($this->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; $this->semValue = new Expr\Exit_($this->semStack[$stackPos-(2-2)], $attrs); }, - 382 => function ($stackPos) { + 383 => function ($stackPos) { $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 383 => function ($stackPos) { + 384 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 384 => function ($stackPos) { + 385 => function ($stackPos) { $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 385 => function ($stackPos) { + 386 => function ($stackPos) { $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 386 => function ($stackPos) { + 387 => function ($stackPos) { $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 387 => function ($stackPos) { + 388 => function ($stackPos) { $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 388 => function ($stackPos) { + 389 => function ($stackPos) { $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, - 389 => function ($stackPos) { + 390 => function ($stackPos) { $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 390 => function ($stackPos) { + 391 => function ($stackPos) { $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(10-2)], 'params' => $this->semStack[$stackPos-(10-4)], 'uses' => $this->semStack[$stackPos-(10-6)], 'returnType' => $this->semStack[$stackPos-(10-7)], 'stmts' => $this->semStack[$stackPos-(10-9)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); }, - 391 => function ($stackPos) { + 392 => function ($stackPos) { $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(11-3)], 'params' => $this->semStack[$stackPos-(11-5)], 'uses' => $this->semStack[$stackPos-(11-7)], 'returnType' => $this->semStack[$stackPos-(11-8)], 'stmts' => $this->semStack[$stackPos-(11-10)]], $this->startAttributeStack[$stackPos-(11-1)] + $this->endAttributes); }, - 392 => function ($stackPos) { + 393 => function ($stackPos) { $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes), $this->semStack[$stackPos-(7-2)]); $this->checkClass($this->semValue[0], -1); }, - 393 => function ($stackPos) { + 394 => function ($stackPos) { $this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 394 => function ($stackPos) { + 395 => function ($stackPos) { list($class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 395 => function ($stackPos) { + 396 => function ($stackPos) { $this->semValue = array(); }, - 396 => function ($stackPos) { + 397 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(4-3)]; }, - 397 => function ($stackPos) { + 398 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 398 => function ($stackPos) { + 399 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, - 399 => function ($stackPos) { + 400 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, - 400 => function ($stackPos) { - $this->semValue = new Expr\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, 401 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 402 => function ($stackPos) { $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 403 => function ($stackPos) { - $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 404 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 405 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 406 => function ($stackPos) { $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, + 406 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, 407 => function ($stackPos) { - $this->semValue = new Name\FullyQualified($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 408 => function ($stackPos) { - $this->semValue = new Name\Relative($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Name\FullyQualified($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 409 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Name\Relative($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 410 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 411 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 412 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; }, 413 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 414 => function ($stackPos) { - $this->semValue = null; - }, - 415 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 416 => function ($stackPos) { - $this->semValue = array(); - }, - 417 => function ($stackPos) { - $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); - }, - 418 => function ($stackPos) { - foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 419 => function ($stackPos) { - $this->semValue = array(); - }, - 420 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 415 => function ($stackPos) { + $this->semValue = null; + }, + 416 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 417 => function ($stackPos) { + $this->semValue = array(); + }, + 418 => function ($stackPos) { + $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); + }, + 419 => function ($stackPos) { + foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 420 => function ($stackPos) { + $this->semValue = array(); + }, 421 => function ($stackPos) { - $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 422 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 423 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], new Expr\Error($this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 424 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], new Expr\Error($this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->errorState = 2; + }, + 425 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT; $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $attrs); }, - 425 => function ($stackPos) { + 426 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG; $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $attrs); }, - 426 => function ($stackPos) { + 427 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 427 => function ($stackPos) { + 428 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$stackPos-(1-1)][0] === "'" || ($this->semStack[$stackPos-(1-1)][1] === "'" && ($this->semStack[$stackPos-(1-1)][0] === 'b' || $this->semStack[$stackPos-(1-1)][0] === 'B')) ? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED); $this->semValue = new Scalar\String_(Scalar\String_::parse($this->semStack[$stackPos-(1-1)]), $attrs); }, - 428 => function ($stackPos) { + 429 => function ($stackPos) { $this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 429 => function ($stackPos) { + 430 => function ($stackPos) { $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$stackPos-(1-1)]), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 430 => function ($stackPos) { + 431 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 431 => function ($stackPos) { + 432 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 432 => function ($stackPos) { + 433 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 433 => function ($stackPos) { + 434 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 434 => function ($stackPos) { + 435 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 435 => function ($stackPos) { + 436 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 436 => function ($stackPos) { + 437 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 437 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, 438 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 439 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 440 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 441 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];; $this->semValue = new Scalar\String_(Scalar\String_::parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)]), $attrs); }, - 441 => function ($stackPos) { + 442 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$stackPos-(2-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$stackPos-(2-1)], $matches); $attrs['docLabel'] = $matches[1];; $this->semValue = new Scalar\String_('', $attrs); }, - 442 => function ($stackPos) { + 443 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs); }, - 443 => function ($stackPos) { + 444 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];; foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, null, true); } } $s->value = preg_replace('~(\r\n|\n|\r)\z~', '', $s->value); if ('' === $s->value) array_pop($this->semStack[$stackPos-(3-2)]);; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs); }, - 444 => function ($stackPos) { - $this->semValue = null; - }, 445 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = null; }, 446 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 447 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 448 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 449 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 450 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 451 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 451 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, 452 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 453 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 454 => function ($stackPos) { $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); @@ -2237,180 +2237,183 @@ class Php7 extends \PhpParser\ParserAbstract $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 456 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 457 => function ($stackPos) { - $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 458 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 459 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 460 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 461 => function ($stackPos) { - $this->semValue = substr($this->semStack[$stackPos-(1-1)], 1); + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 462 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; + $this->semValue = substr($this->semStack[$stackPos-(1-1)], 1); }, 463 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(4-3)]; }, 464 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 465 => function ($stackPos) { - $var = $this->semStack[$stackPos-(1-1)]; $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); $this->errorState = 2; }, 466 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $var = $this->semStack[$stackPos-(1-1)]; $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; }, 467 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 468 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 469 => function ($stackPos) { $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 470 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 471 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 472 => function ($stackPos) { $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 473 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 474 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 475 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 476 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 477 => function ($stackPos) { + 475 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(3-2)]; }, - 478 => function ($stackPos) { + 476 => function ($stackPos) { $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, + 477 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 478 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, 479 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 480 => function ($stackPos) { - $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; }, 481 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 482 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 483 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 484 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 485 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 486 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 487 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 488 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 489 => function ($stackPos) { - $this->semValue = null; - }, - 490 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end] === null) array_pop($this->semValue); - }, - 491 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, - 492 => function ($stackPos) { + 483 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, - 493 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 494 => function ($stackPos) { + 484 => function ($stackPos) { $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 495 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 496 => function ($stackPos) { + 485 => function ($stackPos) { $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 497 => function ($stackPos) { + 486 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 487 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 488 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 489 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 490 => function ($stackPos) { $this->semValue = null; }, + 491 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end] === null) array_pop($this->semValue); + }, + 492 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 493 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 494 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 495 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 496 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 497 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, 498 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = null; }, 499 => function ($stackPos) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 500 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 501 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 502 => function ($stackPos) { - $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); }, 503 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 504 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 505 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 506 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 507 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 508 => function ($stackPos) { $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 509 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 510 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, 511 => function ($stackPos) { - $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 512 => function ($stackPos) { - $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 513 => function ($stackPos) { - $this->semValue = $this->parseNumString('-' . $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 514 => function ($stackPos) { + $this->semValue = $this->parseNumString('-' . $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 515 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, ]; diff --git a/test/code/parser/errorHandling/recovery.test b/test/code/parser/errorHandling/recovery.test index affdad4..f1c774a 100644 --- a/test/code/parser/errorHandling/recovery.test +++ b/test/code/parser/errorHandling/recovery.test @@ -986,4 +986,47 @@ array( ) ) ) +) +----- +