diff --git a/grammar/php7.y b/grammar/php7.y index 43d5b66..e1f692a 100644 --- a/grammar/php7.y +++ b/grammar/php7.y @@ -514,7 +514,7 @@ static_var: ; class_statement_list: - class_statement_list class_statement { push($1, $2); } + class_statement_list class_statement { if ($2 !== null) { push($1, $2); } } | /* empty */ { init(); } ; @@ -527,6 +527,7 @@ class_statement: { $$ = Stmt\ClassMethod[$4, ['type' => $1, 'byRef' => $3, 'params' => $6, 'returnType' => $8, 'stmts' => $9]]; $this->checkClassMethod($$, #1); } | T_USE class_name_list trait_adaptations { $$ = Stmt\TraitUse[$2, $3]; } + | error { $$ = null; /* will be skipped */ } ; trait_adaptations: diff --git a/lib/PhpParser/Parser/Php7.php b/lib/PhpParser/Parser/Php7.php index 80b0c3f..24d9001 100644 --- a/lib/PhpParser/Parser/Php7.php +++ b/lib/PhpParser/Parser/Php7.php @@ -18,7 +18,7 @@ use PhpParser\Node\Stmt; class Php7 extends \PhpParser\ParserAbstract { protected $tokenToSymbolMapSize = 392; - protected $actionTableSize = 946; + protected $actionTableSize = 952; protected $gotoTableSize = 483; protected $invalidSymbol = 157; @@ -234,257 +234,259 @@ class Php7 extends \PhpParser\ParserAbstract protected $action = array( 589, 590, 591, 592, 593, 217, 594, 595, 596, 632, - 633, 1047, 31, 101, 102, 103, 104, 105, 106, 107, + 633, 487, 31, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,-32766,-32766,-32766, 97, 98, - 99, 0, 243, 28, -285,-32766,-32766,-32766,-32766,-32766, - -32766, 666, 229, 116, 100,-32766, 118,-32766,-32766,-32766, - -32766,-32766, 597, 911, 913,-32766,-32766,-32766,-32766,-32766, - -32766,-32766,-32766, 267,-32766, 276, 598, 599, 600, 601, - 602, 603, 604,-32766, 252, 664, 878, 879, 880, 877, - 876, 875, 605, 606, 607, 608, 609, 610, 611, 612, + 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, 673, 634, 640, 641, + 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, 1044, 50,-32767, - -32767,-32767,-32767, 92, 93, 94, 95, 96, 262, 73, - 121, 878, 879, 880, 877, 876, 875, 870, 668, 450, - -445, 353, 994, 23, -447, 994, 827, 828, 538, 800, - 223, 51, 52,-32766,-32766,-32766, 9, 53, 292, 54, - 221, 222, 55, 56, 57, 58, 59, 60, 61, 62, - -446, 24, 236, 63, 354,-32766,-32766,-32766, 668, 1011, - 1012, 405, 1062, 1044, -482, 689, 690, 1010,-32766,-32766, - -32766, 748, 668, 226, 269,-32766, 1024,-32766,-32766,-32766, - -32766, -445, 29, 130, 427, -447, 362, 359,-32766, 126, - -32766,-32766,-32766, 426, 539, -445, 291, 359, 244, -447, - 1044, 856, -445, 1044, 415, 416, -447, 426, -450, 343, - 252, -446, -176, 417, 418, 668, 1016, 1017, 1018, 1019, - 1013, 1014, 247, 672, -445, -446, -254, 427, 1020, 1015, - 359, 352, -446, 987, -449, 65, 987, 259, 666, 264, - 269, 404, -136, -136, -136, -4, 748, 348, 801, 252, - 426, 738, 24, 668, 36, 19, 406, -136, 407, -136, - 408, -136, 409, -136, 1044, 410, 227, 351, 1010, 37, - 38, 355, 356, 120, 39, 411, 385, 269, 64, 350, - 269, 290, 487, 412, 413, -445, -486, -495, 426, 414, - -32766,-32766, 724, 769, 357, 358, 347, 987, 370, -445, - 43, 557,-32766,-32766,-32766, 268, -445, 1006, 668, -482, - 124, 1094, 827, 828, 1095, 418, 404, 748, 750, 555, - -136, 227,-32766, 32,-32766,-32766, 738, 1063, 230, 36, - 19, 406, -494, 407, -235, 408, 67, 409, 524, 525, - 410, 269, 231, 426, 37, 38, 355, 356, 339, 39, - 411, 827, 828, 64, 258, -485, 290, -176, 412, 413, - 24, 251, 299, 668, 414, 41, 376, 681, 769, 357, - 358, -254, 1044, -91, 24, 294, 1010, -483, 122, -175, - 295, 671, 117, 833, 1085, 1044, 1044, 404, 278, 748, - 1010, 511, 20, 750, 555, -4, 386, 738, 426, 218, - 36, 19, 406, 128, 407, 987, 408, 119, 409, 129, - 316, 410, -215, -215, -215, 37, 38, 355, 356, 987, - 39, 411, 417, 418, 64, 132, 250, 290, 133, 412, - 413, -486, -495, 122, -495, 414, 417, 418, 724, 769, - 357, 358, 27, 224, 67, 689, 690, 115, 113, 269, - -32766,-32766,-32766, 225, 114, 123, 668, 473, 67, 404, - 396, 8, 269, 269, 750, 555, -215, 504, 505, 738, - -32766, 280, 36, 19, 406, 246, 407, -494, 408, -494, - 409, 827, 828, 410, -214, -214, -214, 37, 38, 355, - 356, 426, 39, 411, 566, 668, 64, -82, 748, 290, - -485, 412, 413, 94, 95, 96, 570, 414, 855, 581, - 724, 769, 357, 358, 867, 571, 747, 762, 243, 74, - 75, 76, -483, 100, -175, 127, 560, 228, 42, 533, - 426, 666, 671, 454,-32766, 459, 750, 555, -214, 30, - 668, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 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, 884, 243, 669, 748, 404, 668, - 1096, 512, 548, 516, 517, 216, 367, 100, 738, 534, - 374, 36, 19, 406, 503, 407, 263, 408, 10, 409, - -80, 528, 410, 770, 771, 567, 37, 38, 355, 748, - 261, 39, 411, 987, 426, 64, 1026, 764, 290, 767, - 35, 1023, 456, 0, 0, 327, 414, 0, 0, 266, - 0, -404, 0, 0, 260, 0, 0, 561, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, - 0, 12, 5, 293, 0, 750, 555, 738, 321, 332, - 36, 19, 406, 344, 407, 370, 408, 572, 409, 328, - 345, 410, 766, 579, 580, 37, 38, 355, 748, 404, - 39, 411, 729, 861, 64, 851, 803, 290, 787, 738, - 794, 852, 36, 19, 406, 414, 407, 727, 408, 795, - 409, 860, 863, 410, 862, 859, 562, 37, 38, 355, - 748, 784, 39, 411, 782, 34, 64, 338, 569, 290, - 568, 565, 564, 563, 750, 555, 558, 414, 274, 275, - 337, 574, 577, 576, 556, 0, 975, 792, 559, 793, - 768, 573, 868, 755, 974, 765, 973, 757, 404, 748, - 725, 1091, 1093, 684, 683, 693, 786, 555, 738, 694, - 691, 36, 19, 406, 1092, 407, 692, 408, 1060, 409, - 1090, 1045, 410, 1038, 1052, 1057, 37, 38, 355, 22, - 404, 39, 411, -474, -472, 64, -450, -449, 290, -448, - 738, 25, 26, 36, 19, 406, 414, 407, 33, 408, - 40, 409, 66, 68, 410, 342, 340, 277, 37, 38, - 355, 242, 241, 39, 411, 240, 239, 64, 220, 404, - 290, 219, 134, 131, 125, 750, 555, 72, 414, 738, - 71, 70, 36, 19, 406, 69, 407, -233, 408, 13, - 409, 17, 21, 410, 254, 951, 313, 37, 38, 355, - 483, 499, 39, 411, 547, 954, 64, 750, 555, 290, - -32766,-32766,-32766, 979, 834, 1008, 950, 414, -91, 998, - 544, 401, 394, 392, 387, 314, 18, 16, 15, 14, - -32766, -230,-32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767, - -32767,-32767,-32767, -231, 510, 967, 750, 555, -416, 1025, - 1051, 1088, 0, 1036, 1037, 1007 + 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 ); protected $actionCheck = array( 2, 3, 4, 5, 6, 13, 8, 9, 10, 11, - 12, 1, 15, 16, 17, 18, 19, 20, 21, 22, + 12, 48, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 8, 9, 10, 50, 51, - 52, 0, 54, 7, 79, 8, 9, 10, 8, 9, - 10, 77, 7, 13, 66, 28, 7, 30, 31, 32, - 33, 34, 54, 56, 57, 28, 8, 30, 31, 32, - 33, 34, 35, 7, 109, 7, 68, 69, 70, 71, - 72, 73, 74, 118, 28, 77, 112, 113, 114, 115, + 52, 146, 54, 0, 149, 8, 9, 10, 77, 1, + 77, 77, 7, 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, 116, 117, 84, 85, 86, 87, 88, 89, 90, 91, 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, 1, 129, 130, 131, + 122, 123, 124, 125, 126, 127, 7, 129, 130, 131, 132, 133, 134, 135, 136, 137, 2, 3, 4, 5, - 6, 143, 144, 145, 152, 11, 12, 79, 14, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 109, 149, - 29, 112, 113, 114, 115, 116, 117, 118, 77, 82, - 67, 7, 1, 7, 67, 1, 130, 131, 77, 29, - 35, 47, 48, 8, 9, 10, 7, 53, 7, 55, + 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, + 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, 77, 75, - 76, 77, 1, 79, 7, 102, 103, 83, 8, 9, - 10, 1, 77, 35, 156, 28, 139, 30, 31, 32, - 33, 128, 7, 15, 143, 128, 102, 146, 28, 15, - 30, 31, 32, 112, 143, 142, 112, 146, 7, 142, - 79, 150, 149, 79, 120, 121, 149, 112, 151, 146, - 28, 128, 7, 129, 130, 77, 132, 133, 134, 135, - 136, 137, 138, 148, 67, 142, 7, 143, 144, 145, - 146, 7, 149, 112, 151, 151, 112, 153, 77, 155, - 156, 71, 72, 73, 74, 0, 1, 123, 148, 28, - 112, 81, 67, 77, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 79, 95, 35, 7, 83, 99, - 100, 101, 102, 15, 104, 105, 29, 156, 108, 7, - 156, 111, 48, 113, 114, 128, 7, 7, 112, 119, - 8, 9, 122, 123, 124, 125, 7, 112, 146, 142, - 67, 149, 8, 9, 10, 67, 149, 1, 77, 152, - 149, 77, 130, 131, 80, 130, 71, 1, 148, 149, - 150, 35, 28, 13, 30, 31, 81, 152, 35, 84, - 85, 86, 7, 88, 152, 90, 151, 92, 72, 73, + 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, + 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, + 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, + 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, 95, 156, 35, 112, 99, 100, 101, 102, 103, 104, - 105, 130, 131, 108, 109, 7, 111, 152, 113, 114, - 67, 128, 7, 77, 119, 67, 128, 122, 123, 124, - 125, 152, 79, 152, 67, 142, 83, 7, 147, 7, - 7, 79, 149, 152, 82, 79, 79, 71, 143, 1, - 83, 72, 73, 148, 149, 150, 149, 81, 112, 13, - 84, 85, 86, 29, 88, 112, 90, 15, 92, 97, - 98, 95, 96, 97, 98, 99, 100, 101, 102, 112, - 104, 105, 129, 130, 108, 15, 128, 111, 15, 113, - 114, 152, 152, 147, 154, 119, 129, 130, 122, 123, - 124, 125, 140, 141, 151, 102, 103, 149, 15, 156, - 8, 9, 10, 35, 15, 149, 77, 78, 151, 71, - 102, 103, 156, 156, 148, 149, 150, 106, 107, 81, - 28, 33, 84, 85, 86, 29, 88, 152, 90, 154, - 92, 130, 131, 95, 96, 97, 98, 99, 100, 101, - 102, 112, 104, 105, 29, 77, 108, 29, 1, 111, - 152, 113, 114, 47, 48, 49, 29, 119, 148, 149, - 122, 123, 124, 125, 148, 149, 29, 35, 54, 8, - 9, 10, 152, 66, 152, 67, 29, 35, 67, 74, - 112, 77, 79, 82, 82, 86, 148, 149, 150, 28, - 77, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 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, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 79, 54, 77, 1, 71, 77, - 80, 87, 89, 93, 96, 94, 102, 66, 81, 91, - 94, 84, 85, 86, 109, 88, 110, 90, 94, 92, - 94, 96, 95, 123, 123, 29, 99, 100, 101, 1, - 127, 104, 105, 112, 112, 108, 139, 147, 111, 150, - 148, 139, 146, -1, -1, 146, 119, -1, -1, 126, - -1, 142, -1, -1, 126, -1, -1, 29, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 71, -1, -1, - -1, 142, 142, 142, -1, 148, 149, 81, 146, 146, - 84, 85, 86, 146, 88, 146, 90, 149, 92, 146, - 146, 95, 150, 148, 148, 99, 100, 101, 1, 71, - 104, 105, 148, 148, 108, 148, 148, 111, 148, 81, + 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, + 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, 92, 148, 148, 95, 148, 148, 29, 99, 100, 101, - 1, 148, 104, 105, 148, 148, 108, 149, 149, 111, - 149, 149, 149, 149, 148, 149, 149, 119, 149, 149, - 149, 149, 149, 149, 149, -1, 150, 150, 29, 150, - 150, 150, 150, 150, 150, 150, 150, 150, 71, 1, + 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, 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, 151, - 71, 104, 105, 151, 151, 108, 151, 151, 111, 151, + 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, 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, 152, 90, 152, - 92, 152, 152, 95, 152, 152, 152, 99, 100, 101, + 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, 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, 154, 153, 148, 149, 153, 155, - 154, 154, -1, 154, 154, 154 + 38, 39, 40, 152, 152, 152, 148, 149, 152, 152, + -1, 152, 152, -1, 153, -1, 154, 154, 154, 154, + 154, 154 ); protected $actionBase = array( - 0, 220, 295, 366, 438, 356, 101, 575, -2, -2, - -36, -2, -2, 547, 717, 616, 717, 749, 648, 788, - 788, 788, 281, 336, 145, 145, 468, 429, 145, 468, - 131, 188, 542, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 125, 125, 150, 360, 732, - 743, 738, 729, 727, 531, 734, 733, 436, 660, 661, - 424, 663, 664, 665, 658, 739, 780, 730, 742, 561, + 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, + -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, -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, -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, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, - 561, 561, 561, 561, 561, 48, 30, 332, 175, 175, - 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, - 175, 175, 175, 175, 175, 175, 175, 492, 492, 492, - 344, 210, 207, 197, 17, 103, 27, 892, 892, 892, - 892, 892, 108, 108, 108, 108, 343, 343, 357, 235, - 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, - 235, 235, 630, 509, 562, 626, 174, 506, 506, 232, - 232, 232, 232, 171, 271, -45, 46, 87, 517, 784, - 211, 211, 401, 107, 133, -22, -22, -22, 113, 501, - 541, 541, 541, 541, 352, 352, 541, 541, 284, 10, - 103, 103, 283, 103, 393, 393, 393, 91, 202, 502, - 91, 617, 528, 627, 545, 629, 348, 330, 375, 557, - 68, 524, 564, 68, 68, 68, 411, 369, 316, 756, - 125, 529, 125, 125, 125, 125, 705, 125, 125, 125, - 125, 125, 125, 297, 125, 410, 150, 488, 416, 514, - 288, 619, 422, 225, 514, 514, 514, 620, 621, 420, - 269, -8, 608, 255, 408, 398, 329, 513, 513, 504, - 504, 535, 532, 513, 513, 513, 513, 513, 668, 668, - 504, 503, 504, 535, 689, 504, 532, 504, 504, 513, - 504, 668, 532, 39, 322, 181, 423, 532, 310, 548, - 513, 543, 543, 274, 504, 35, 504, 166, 523, 668, - 668, 523, 241, 532, 56, 565, 566, 525, 510, 58, - 496, 503, 496, 339, 525, 164, 532, 496, 179, 503, - 405, 496, 31, 691, 692, 518, 724, 687, 720, 695, - 719, 625, 520, 521, 710, 707, 716, 681, 680, 537, - 516, 483, 489, 550, 511, 678, 524, 559, 507, 507, - 507, 511, 675, 507, 507, 507, 507, 507, 507, 507, - 507, 791, 26, 551, 499, 442, 552, 536, 308, 558, - 522, 516, 516, 640, 785, 782, 539, 705, 757, 713, - 607, 224, 764, 704, 631, 519, 563, 701, 763, 754, - 622, 483, 753, 641, 508, 642, 516, 643, 507, 673, - 672, 789, 790, 676, 786, 762, 553, 540, 787, 644, - 752, 624, 623, 512, 767, 725, 761, 645, 760, 574, - 534, 781, 530, 694, 696, 614, 649, 650, 577, 218, - 654, 712, 578, 766, 765, 769, 580, 582, 613, 460, - 612, 656, 463, 583, 711, 515, 505, 538, 591, 751, - 637, 611, 700, 589, 603, 636, 635, 758, 546, 559, - 549, 526, 544, 533, 609, 634, 759, 527, 606, 597, - 596, 594, 633, 593, 632, 0, 0, 0, 0, 0, + 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, 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, @@ -509,26 +511,26 @@ class Php7 extends \PhpParser\ParserAbstract 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, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 49, 49, 49, 49, - 91, -22, -22, 91, 91, 91, 91, 91, 91, 49, - 91, 352, 352, 352, 68, 68, 91, 0, 0, 0, - 0, 0, 513, 352, 91, 91, 91, 91, 0, 0, - 91, 91, 503, 68, 0, 0, 0, 0, 513, 513, - 513, 0, 513, 352, 0, 125, 362, 362, 362, 362, - 0, 0, 0, 513, 0, 503, 513, 0, 0, 0, - 0, 0, 0, 532, 0, 668, 0, 0, 0, 0, - 504, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 503, 0, 507, 0, 539, 0, 0, 507, 507, - 507, 539, 539, 0, 0, 0, 539 + 180, 180, 180, 38, 38, 38, 38, 180, 180, 180, + 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 ); 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, 496, 496, 488,32767, 496, 488, - 32767,32767,32767, 306, 306, 306,32767, 443, 443, 443, - 443, 443, 443, 443,32767,32767,32767,32767,32767, 385, + 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,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, @@ -537,52 +539,52 @@ class Php7 extends \PhpParser\ParserAbstract 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, 493,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 494,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 368, - 369, 371, 372, 305, 444, 253, 492, 304, 129, 264, - 255, 207, 302, 239, 133, 333, 386, 335, 384, 388, - 334, 311, 315, 316, 317, 318, 319, 320, 321, 322, - 323, 324, 325, 326, 309, 310, 387, 365, 364, 363, - 331, 332, 308, 336, 338, 308, 337, 354, 355, 352, - 353, 356, 357, 358, 359, 360,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 93, - 32767,32767, 287, 287, 287, 287,32767, 345, 346, 245, - 245, 245, 245,32767, 245, 288,32767,32767,32767,32767, - 32767,32767,32767, 437, 362, 340, 341, 339,32767, 415, - 32767,32767,32767,32767,32767, 417,32767, 91,32767,32767, - 328, 330, 409, 312,32767,32767, 93,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 412, 445, 445,32767, - 32767, 403, 91,32767,32767, 91, 172, 226, 228, 177, - 32767, 420,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 350, - 503,32767, 445,32767, 342, 343, 344,32767,32767, 445, - 445, 445,32767, 445,32767, 445, 445,32767,32767,32767, - 32767,32767, 177,32767,32767,32767,32767, 93, 418, 418, - 91, 91, 91, 91, 413,32767, 177,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, + 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, - 459, 192, 90, 177, 90, 212, 212, 394, 179, 92, - 247,32767, 247, 92, 394, 90, 177, 247, 90,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,32767,32767,32767,32767,32767,32767, - 405,32767, 425,32767, 438, 457, 403,32767, 348, 349, - 351,32767, 447, 373, 374, 375, 376, 377, 378, 379, - 381,32767, 489, 408,32767,32767, 86, 120, 263,32767, - 501, 86, 406,32767, 501,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, 484,32767, 502,32767, 445, 407,32767, 347, 421, - 464,32767,32767, 446,32767,32767, 86,32767,32767,32767, - 32767,32767,32767,32767,32767, 425,32767,32767,32767,32767, - 32767, 445,32767,32767,32767,32767,32767,32767,32767, 301, - 32767,32767,32767,32767,32767, 445,32767,32767,32767, 238, + 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, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767, 84, 60, - 32767, 281,32767,32767,32767,32767,32767,32767,32767,32767, + 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, 273, 135, 135 + 212, 274, 135, 135 ); protected $goto = array( @@ -590,7 +592,7 @@ class Php7 extends \PhpParser\ParserAbstract 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, 898, 136, 139, 140, 141, 142, 143, 144, 145, + 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, @@ -598,43 +600,43 @@ class Php7 extends \PhpParser\ParserAbstract 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, 678, 233, 283, 234, 235, - 715, 451, 451, 451, 480, 451, 802, 783, 781, 783, - 575, 7, 444, 811, 806, 471, 466, 680, 471, 451, + 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, 431, 431, 431, 432, 432, 432, 432, + 431, 431, 431, 432, 432, 432, 496, 498, 546, 742, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, - 432, 432, 496, 498, 546, 265, 706, 710, 698, 840, - 249, 844, 493, 513, 451, 451, 788, 777, 315, 549, - 465, 486, 451, 451, 451, 818, 679, 778, 479, 866, - 553, 667, 1054, 1055, 532, 864, 452, 706, 881, 984, - 706, 714, 742, 980, 477, 489, 785, 476, 495, 495, - 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, - 1009, 1009, 1009, 1009, 464, 1081, 1081, 578, 500, 502, - 527, 530, 535, 536, 813, 543, 545, 552, 809, 554, - 3, 4, 1081, 682, 836, 697, 697, 472, 1074, 302, - 514, 707, 707, 707, 709, 696, 1084, 1097, 1064, 985, - 469, 945, 687, 490, 737, 732, 733, 746, 821, 688, - 734, 685, 735, 736, 686, 701, 740, 986, 1040, 695, - 448, 832, 1053, 289, 331, 515, 335, 322, 322, 270, - 271, 287, 475, 329, 273, 330, 288, 333, 501, 336, - 284, 285, 1082, 1082, 520, 825, 537, 506, 281, 531, - 702, 312, 699, 318, 841, 816, 816, 1071, 582, 1082, - 521, 981, 976, 988, 711, 883, 826, 826, 826, 826, - 988, 826, 845, 826, 492, 790, 1059, 1059, 381, 826, - 448, 397, 0, 0, 443, 1050, 0, 988, 988, 988, - 988, 443, 1050, 988, 988, 306, 874, 0, 0, 1061, - 1061, 457, 0, 0, 753, 0, 467, 754, 779, 779, - 779, 779, 0, 0, 773, 780, 0, 0, 1046, 0, - 519, 0, 388, 0, 0, 0, 0, 0, 983, 0, - 0, 0, 463, 0, 0, 11, 0, 0, 0, 843, - 0, 0, 1048, 1048, 843, 0, 0, 0, 0, 0, + 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, 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, 0, 0, 0, 0, - 705, 0, 1089 + 705, 0, 1090 ); protected $gotoCheck = array( @@ -650,36 +652,36 @@ 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, 16, 72, 79, 72, 72, - 36, 10, 10, 10, 96, 10, 16, 16, 16, 16, - 16, 109, 16, 16, 16, 84, 10, 18, 84, 10, + 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, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, - 133, 133, 133, 133, 133, 133, 135, 135, 135, 135, + 133, 133, 133, 135, 135, 135, 67, 67, 67, 55, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 67, 67, 67, 132, 26, 14, 14, 14, - 132, 14, 46, 46, 10, 10, 14, 75, 75, 75, - 10, 10, 10, 10, 10, 14, 17, 14, 7, 7, - 7, 5, 139, 139, 7, 7, 10, 26, 14, 91, - 26, 14, 55, 14, 2, 2, 40, 10, 85, 85, + 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, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 39, 144, 144, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 37, 37, 144, 13, 93, 26, 26, 134, 143, 52, - 54, 26, 26, 26, 26, 26, 144, 12, 141, 91, - 53, 116, 13, 15, 13, 13, 13, 13, 87, 13, - 13, 13, 13, 13, 13, 15, 13, 91, 91, 15, - 12, 89, 137, 20, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 79, 79, 145, 145, 68, 90, 12, 24, 11, 68, - 30, 19, 28, 68, 95, 84, 84, 84, 81, 145, - 23, 125, 122, 63, 32, 112, 63, 63, 63, 63, - 63, 63, 98, 63, 71, 78, 8, 8, 70, 63, - 12, 120, -1, -1, 74, 96, -1, 63, 63, 63, - 63, 74, 96, 63, 63, 65, 109, -1, -1, 96, - 96, 65, -1, -1, 63, -1, 65, 63, 74, 74, + 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, + 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, - 12, -1, 65, -1, -1, -1, -1, -1, 12, -1, - -1, -1, 8, -1, -1, 65, -1, -1, -1, 96, + -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, -1, 8, 8, -1, -1, -1, @@ -690,39 +692,39 @@ class Php7 extends \PhpParser\ParserAbstract ); protected $gotoBase = array( - 0, 0, -333, 0, 0, 201, 0, 203, 106, 0, - -143, 50, 9, -18, -177, -94, 123, 204, 145, 42, - 45, 0, 0, 2, 52, 0, -72, 0, 40, 0, - 54, 0, -6, -22, 0, 0, 121, -322, 0, -312, - 208, 0, 0, 0, 0, 0, 158, 0, 0, 81, - 0, 0, 233, 60, 53, 206, 88, 0, 0, 0, - 0, 0, 0, 107, 0, 19, 0, -58, -68, 0, - -14, -27, -448, 0, 128, -64, 0, 0, 3, -259, - 0, 22, 0, 0, 119, 12, 0, 44, 0, 55, - 73, -82, 0, 241, 0, 39, 129, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, - 0, 0, -8, 0, 0, 0, 38, 0, 0, 0, - -33, 0, -7, 0, 0, -1, 0, 0, 0, 0, - 0, 0, -74, -66, 242, -50, 0, 51, 0, -81, - 0, 249, 0, 240, -3, 74, 0, 0 + 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, 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 ); protected $gotoDefault = array( -32768, 402, 585, 2, 586, 657, 665, 522, 419, 551, - 420, 447, 320, 739, 887, 758, 721, 722, 723, 309, + 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, 891, 468, 494, 741, 205, 462, 743, 296, + 310, 311, 892, 468, 494, 741, 205, 462, 743, 296, 744, 752, 317, 301, 375, 399, 391, 485, 518, 360, - 378, 491, 232, 470, 995, 775, 384, 373, 789, 282, + 378, 491, 219, 470, 996, 775, 384, 373, 789, 282, 797, 583, 805, 808, 421, 422, 382, 820, 383, 830, - 824, 1003, 377, 835, 366, 842, 1035, 368, 846, 849, - 341, 508, 334, 853, 854, 6, 858, 541, 542, 873, - 245, 395, 882, 509, 363, 897, 349, 964, 966, 455, - 390, 977, 372, 529, 400, 982, 1039, 361, 423, 379, - 272, 286, 248, 424, 441, 253, 425, 380, 1042, 1049, - 323, 1065, 442, 1075, 1083, 279, 474, 488 + 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 ); protected $ruleToNonTerminal = array( @@ -753,10 +755,10 @@ class Php7 extends \PhpParser\ParserAbstract 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, 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, + 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, 33, @@ -765,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, 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, + 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, 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( @@ -808,31 +810,31 @@ class Php7 extends \PhpParser\ParserAbstract 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, 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, 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, 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 + 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, 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() { @@ -1651,7 +1653,7 @@ class Php7 extends \PhpParser\ParserAbstract $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) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + 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(); @@ -1670,121 +1672,121 @@ class Php7 extends \PhpParser\ParserAbstract $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) { - $this->semValue = array(); + $this->semValue = null; /* will be skipped */ }, 272 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 273 => function ($stackPos) { $this->semValue = array(); }, + 273 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, 274 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = array(); }, 275 => 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)]; }, 276 => 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); }, 277 => 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); }, 278 => 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); }, 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); }, 280 => 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); }, 281 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); }, 282 => function ($stackPos) { - $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); - }, - 283 => function ($stackPos) { - $this->semValue = null; - }, - 284 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 285 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 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 = 0; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 287 => function ($stackPos) { $this->semValue = 0; }, 288 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = 0; }, 289 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 290 => 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)]; }, 291 => 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)]; }, 292 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; }, 293 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; }, 294 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_STATIC; + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; }, 295 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + $this->semValue = Stmt\Class_::MODIFIER_STATIC; }, 296 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; }, 297 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = Stmt\Class_::MODIFIER_FINAL; }, 298 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 299 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 300 => function ($stackPos) { - $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 301 => function ($stackPos) { - $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 302 => function ($stackPos) { - $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 303 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 304 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 305 => function ($stackPos) { + 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) { - $this->semValue = array(); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 307 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array(); }, 308 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 309 => 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)]; }, 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); @@ -1793,437 +1795,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); }, 312 => 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); }, 313 => 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); }, 314 => 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)]; }, 315 => 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); }, 316 => 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); }, 317 => 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); }, 318 => 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); }, 319 => 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); }, 320 => 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); }, 321 => 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); }, 322 => 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); }, 323 => 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); }, 324 => 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); }, 325 => 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); }, 326 => 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); }, 327 => 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); }, 328 => 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); }, 329 => 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); }, 330 => 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); }, 331 => 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); }, 332 => 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); }, 333 => 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); }, 334 => 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); }, 335 => 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); }, 336 => 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); }, 337 => 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); }, 338 => 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); }, 339 => 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); }, 340 => 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); }, 341 => 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); }, 342 => 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); }, 343 => 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); }, 344 => 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); }, 345 => 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); }, 346 => 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); }, 347 => 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); }, 348 => 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); }, 349 => 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); }, 350 => 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); }, 351 => 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); }, 352 => 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); }, 353 => 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); }, 354 => 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); }, 355 => 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); }, 356 => 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); }, 357 => 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); }, 358 => 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); }, 359 => 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); }, 360 => 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); }, 361 => 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); }, 362 => 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); }, 363 => 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)]; }, 364 => 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); }, 365 => 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); }, 366 => 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); }, 367 => 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); }, 368 => 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); }, 369 => 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); }, 370 => 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); }, 371 => 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); }, 372 => 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); }, 373 => 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); }, 374 => 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); }, 375 => 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); }, 376 => 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); }, 377 => 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); }, 378 => 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); }, 379 => 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); }, 380 => function ($stackPos) { + $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 381 => 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); }, - 381 => function ($stackPos) { + 382 => function ($stackPos) { $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 382 => function ($stackPos) { + 383 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 383 => function ($stackPos) { + 384 => function ($stackPos) { $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 384 => function ($stackPos) { + 385 => function ($stackPos) { $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 385 => function ($stackPos) { + 386 => function ($stackPos) { $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 386 => function ($stackPos) { + 387 => function ($stackPos) { $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 387 => function ($stackPos) { + 388 => function ($stackPos) { $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, - 388 => function ($stackPos) { + 389 => function ($stackPos) { $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 389 => function ($stackPos) { + 390 => 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); }, - 390 => function ($stackPos) { + 391 => 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); }, - 391 => function ($stackPos) { + 392 => 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); }, - 392 => function ($stackPos) { + 393 => function ($stackPos) { $this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 393 => function ($stackPos) { + 394 => function ($stackPos) { list($class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 394 => function ($stackPos) { + 395 => function ($stackPos) { $this->semValue = array(); }, - 395 => function ($stackPos) { + 396 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(4-3)]; }, - 396 => function ($stackPos) { + 397 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 397 => function ($stackPos) { + 398 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, - 398 => function ($stackPos) { + 399 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, - 399 => function ($stackPos) { - $this->semValue = new Expr\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, 400 => 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); }, 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); }, 402 => 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); }, 403 => 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); }, 404 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 405 => function ($stackPos) { $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, + 405 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, 406 => 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); }, 407 => 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); }, 408 => 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); }, 409 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 410 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 411 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; }, 412 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 413 => function ($stackPos) { - $this->semValue = null; - }, - 414 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 415 => function ($stackPos) { - $this->semValue = array(); - }, - 416 => function ($stackPos) { - $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); - }, - 417 => 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)]; - }, - 418 => function ($stackPos) { - $this->semValue = array(); - }, - 419 => 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 = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 421 => 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); }, 422 => 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); }, 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; + }, + 424 => 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); }, - 424 => function ($stackPos) { + 425 => 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); }, - 425 => function ($stackPos) { + 426 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 426 => function ($stackPos) { + 427 => 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); }, - 427 => function ($stackPos) { + 428 => function ($stackPos) { $this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 428 => function ($stackPos) { + 429 => function ($stackPos) { $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$stackPos-(1-1)]), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 429 => function ($stackPos) { + 430 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 430 => function ($stackPos) { + 431 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 431 => function ($stackPos) { + 432 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 432 => function ($stackPos) { + 433 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 433 => function ($stackPos) { + 434 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 434 => function ($stackPos) { + 435 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 435 => function ($stackPos) { + 436 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 436 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, 437 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 438 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 439 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 440 => 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); }, - 440 => function ($stackPos) { + 441 => 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); }, - 441 => function ($stackPos) { + 442 => 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); }, - 442 => function ($stackPos) { + 443 => 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); }, - 443 => function ($stackPos) { - $this->semValue = null; - }, 444 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = null; }, 445 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 446 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 447 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 448 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 449 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 450 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 450 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, 451 => 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)]; }, 452 => 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); }, 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); @@ -2232,180 +2234,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); }, 455 => 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); }, 456 => 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)]; }, 457 => 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); }, 458 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 459 => 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)]; }, 460 => 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); }, 461 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; + $this->semValue = substr($this->semStack[$stackPos-(1-1)], 1); }, 462 => 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)]; }, 463 => 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); }, 464 => 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; }, 465 => 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; }, 466 => 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); }, 467 => 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); }, 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); }, 469 => 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); }, 470 => 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); }, 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); }, 472 => 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); }, 473 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 474 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 475 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 476 => function ($stackPos) { + 474 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(3-2)]; }, - 477 => function ($stackPos) { + 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) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, 478 => 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); }, 479 => 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; }, 480 => 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); }, 481 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 482 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 483 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 484 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 485 => 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); - }, - 486 => 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); - }, - 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 = null; - }, - 489 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end] === null) array_pop($this->semValue); - }, - 490 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, - 491 => function ($stackPos) { + 482 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, - 492 => 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); - }, - 493 => function ($stackPos) { + 483 => function ($stackPos) { $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 494 => 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); - }, - 495 => function ($stackPos) { + 484 => function ($stackPos) { $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 496 => function ($stackPos) { + 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) { + $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) { + $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) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, 497 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = null; }, 498 => function ($stackPos) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 499 => 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)]; }, 500 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 501 => 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)]); }, 502 => 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); }, 503 => 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); }, 504 => 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)]; }, 505 => 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); }, 506 => 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); }, 507 => function ($stackPos) { $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 508 => 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); }, 509 => 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); }, 510 => 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)]; }, 511 => 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); }, 512 => 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); }, 513 => function ($stackPos) { + $this->semValue = $this->parseNumString('-' . $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 514 => 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 02c176b..affdad4 100644 --- a/test/code/parser/errorHandling/recovery.test +++ b/test/code/parser/errorHandling/recovery.test @@ -952,4 +952,38 @@ array( ) ) ) +) +----- +