diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a990a5..d024486 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,9 @@ Version 4.1.1-dev ----------------- -Nothing yet. +### Added + +* Support error recovery for missing return type (`function foo() : {}`). Version 4.1.0 (2018-10-10) -------------------------- diff --git a/grammar/php7.y b/grammar/php7.y index f7d32ef..7705113 100644 --- a/grammar/php7.y +++ b/grammar/php7.y @@ -477,6 +477,7 @@ optional_param_type: optional_return_type: /* empty */ { $$ = null; } | ':' type_expr { $$ = $2; } + | ':' error { $$ = null; } ; argument_list: diff --git a/lib/PhpParser/Parser/Php7.php b/lib/PhpParser/Parser/Php7.php index 768da72..a28a2c4 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 = 940; + protected $actionTableSize = 938; protected $gotoTableSize = 486; protected $invalidSymbol = 157; @@ -235,98 +235,98 @@ class Php7 extends \PhpParser\ParserAbstract protected $action = array( 586, 587, 588, 589, 590, 218, 591, 592, 593, 629, 630, 665, 32, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113,-32766,-32766,-32766, 881, 882, - 883, 880, 879, 878, 0,-32766,-32766,-32766,-32766,-32766, - -32766, 663, 824, 117, 24,-32766, 428,-32766,-32766,-32766, - -32766,-32766, 594, 914, 916,-32766, 9,-32766,-32766,-32766, - -32766,-32766,-32766, 857, 250, 350, 595, 596, 597, 598, - 599, 600, 601, 119, 250, 661, 881, 882, 883, 880, - 879, 878, 602, 603, 604, 605, 606, 607, 608, 609, + 109, 110, 111, 112, 113,-32766,-32766,-32766, 882, 883, + 884, 881, 880, 879, 0,-32766,-32766,-32766,-32766,-32766, + -32766, 663, 824, 117, 355,-32766, 428,-32766,-32766,-32766, + -32766,-32766, 594, 915, 917,-32766, 354,-32766,-32766,-32766, + -32766,-32766,-32766, 858, 800, 388, 595, 596, 597, 598, + 599, 600, 601, 353, 486, 661, 882, 883, 884, 881, + 880, 879, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 632, 633, 634, 635, 636, 624, 625, 626, 627, 628, 613, 614, 615, 616, 617, 618, 619, 655, 656, 657, 658, 659, 660, 620, 621, 622, 623, - 653, 644, 642, 643, 639, 640, 800, 631, 637, 638, + 653, 644, 642, 643, 639, 640, 350, 631, 637, 638, 645, 646, 648, 647, 649, 650, 45, 46, 405, 47, - 48, 641, 652, 651, -233, 49, 50, 231, 51,-32767, + 48, 641, 652, 651, -233, 49, 50, 299, 51,-32767, -32767,-32767,-32767, 93, 94, 95, 96, 97,-32766,-32766, - -32766, 42, -451, 25, -293, -293, 828, 829, 98, 99, - 100, 260, 241, 230, -453, 1047, 828, 829,-32766, 1013, - 873, 52, 53, 486, 101, 670, 242, 54, -238, 55, + -32766, 42, -452, 25, -294, -294, 1051, 217, 98, 99, + 100, 260, 241, 266, -454, 1048, 670, 295,-32766, 1014, + 874, 52, 53, 801, 101, 389, 292, 54, 834, 55, 223, 224, 56, 57, 58, 59, 60, 61, 62, 63, - -452, 25, 234, 64, 357,-32766,-32766,-32766, 990, 1014, - 1015, 407, -271, 1047, -488, 665, 265, 1013,-32766,-32766, - -32766, 746, 248, -451, 250,-32766, 420,-32766,-32766,-32766, - -32766, 388, -258, 1078, 277, -453, 365, -451,-32766, 1077, - -32766,-32766,-32766, 116, -451, 801, 291, 68, 665, -453, - 428, 292, 267, 1065, 417, 418, -453, -489, -456, 373, - 997, -452, 557, 419, 420, 1050, 1019, 1020, 1021, 1022, - 1016, 1017, 245, 764, -451, -452, 217, 429, 1023, 1018, - 362, 295, -452, 1047, -455, 66, 1009, 257,-32766, 262, - 267, 406, -136, -136, -136, -4, 746, 686, 687, 299, - 668, 735, 266, 1090, 37, 20, 408, -136, 409, -136, - 410, -136, 411, -136, 429, 412, 229, 362, 490, 38, - 39, 358, 359, 355, 40, 413, 828, 829, 65, 663, - 44, 290, 669, 414, 415, -451, -492, 33, 1047, 416, - 122, 346, 721, 769, 360, 361, 353, 1099, -91, -451, - 1100, 389,-32766,-32766,-32766, 354, -451, 121, 665, -488, - 267, 28, 226, 379, 1047, 228, 406, 746, 748, 555, - -136, 990,-32766, 219,-32766,-32766, 735, -258, 233, 37, - 20, 408, 351, 409, -495, 410, -495, 411, 665, 451, + -453, 25, 234, 64, 357,-32766,-32766,-32766, 991, 1015, + 1016, 407, -272, 1048, -489, 250, 490, 1014,-32766,-32766, + -32766, 746, 248, -452, 250,-32766, 420,-32766,-32766,-32766, + -32766, 451, -490, 1079, 379, -454, 365, -452,-32766, 1078, + -32766,-32766,-32766, 116, -452, 1100, 291, 68, 1101, -454, + 373, 277, 267, 557, 417, 418, -454, 119, -457, 9, + 998, -453, 24, 419, 420, 1066, 1020, 1021, 1022, 1023, + 1017, 1018, 245, 764, -452, -453, 265, 429, 1024, 1019, + 362, 665, -453, 356, -456, 66, 1010, 257, 1028, 262, + 267, 406, -136, -136, -136, -4, 746,-32766,-32766, 250, + 668, 735,-32766, 1091, 37, 20, 408, -136, 409, -136, + 410, -136, 411, -136, 74, 412, 229, 828, 829, 38, + 39, 358, 359, 669, 40, 413, 828, 829, 65, 231, + 44, 290, 242, 414, 415, -452, -492, 33, 1048, 416, + 219, 663, 721, 769, 360, 361, 114, 429, -238, -452, + 362, 134,-32766,-32766,-32766, 131, -452, 127, 665, -489, + 121, 28, 226, 122, 1048, 228, 406, 746, 748, 555, + -136, 991,-32766, 120,-32766,-32766, 735, -490, 233, 37, + 20, 408, 351, 409, -496, 410, -496, 411, 686, 687, 412, 249, 232, 428, 38, 39, 358, 359, 342, 40, - 413, 125, -489, 65, 256, 294, 290, 665, 414, 415, - 25, 30, 118, 74, 416, 267, 356, 678, 769, 360, - 361, 568, 1047, 428, 25, 127, 1013, 540, 123,-32766, - -32766,-32766, -176, 834, 124, -177, 1047, 406, 279, 746, - 1013, 267, 428, 748, 555, -4, 1027, 735, 665, 474, - 37, 20, 408, 281, 409, 990, 410, 115, 411,-32766, - -32766, 412, -218, -218, -218, 38, 39, 358, 359, 990, - 40, 413, 419, 420, 65, -491, 225, 290, 229, 414, - 415, -492, 569, 428, 114, 416, 419, 420, 721, 769, - 360, 361, 131, 541, 68, 133, 362, 130, 317, 267, - 859, 134, 227, 529, 530, 997, 517, 21, 68, 406, - 95, 96, 97, 267, 748, 555, -218, 120, 665, 735, - 665, 129, 37, 20, 408, 745, 409, 244, 410, -82, + 413, 828, 829, 65, 256, 294, 290, 665, 414, 415, + 25, 665, 118, 125, 416, 267, 115, 678, 769, 360, + 361, 568, 1048, -91, 25, 133, 1014, 540, 123,-32766, + -32766,-32766, 346, 835, 124, 569, 1048, 406, 279, 746, + 1014, 267, 428, 748, 555, -4, 428, 735, 665, 474, + 37, 20, 408, 129, 409, 991, 410, 745, 411, 517, + 21, 412, -218, -218, -218, 38, 39, 358, 359, 991, + 40, 413, 419, 420, 65, 243, 227, 290, 229, 414, + 415, -492, 1048, 428, 30, 416, 419, 420, 721, 769, + 360, 361, 281, 541, 68, -259, 362, 101, -177, 267, + 860, -82, 225, 230, 572, 998, 529, 530, 68, 406, + 95, 96, 97, 267, 748, 555, -218, -176, 665, 735, + 665, 760, 37, 20, 408, -493, 409, 241, 410, 537, 411, 686, 687, 412, -217, -217, -217, 38, 39, 358, - 359, 572, 40, 413, 665, 760, 65, 241, 746, 290, - 101, 414, 415, 428, 43, 428, 1066, 416, 398, 8, - 721, 769, 360, 361, 508, 509, 828, 829, 128, 75, - 76, 77, 858, 578, 665, 1101, 570, -176, -291, 428, - -177, 537, 666, 1047, 523, 663, 748, 555, -217, 31, + 359, 43, 40, 413, 665, 665, 65, 128, 746, 290, + -292, 414, 415, 428, 549, 428, 665, 416, 666, 267, + 721, 769, 360, 361, 398, 8, 130, 317, 888, 75, + 76, 77, 508, 509, 828, 829, 570, 663, 668, 428, + 428, 859, 578, 1048, 455, 1102, 748, 555, -217, 31, 123, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 887, 241, 990, 746, 406, 668, - -491, 455, 460,-32766, 518, 532, -80, 101, 735, 533, - 370, 37, 20, 408, 549, 409, 377, 410, 10, 411, - 507, 990, 412, 770, 524, 566, 38, 39, 358, 746, - 771, 40, 413, 261, 1029, 65, 264, 1026, 290, 12, - 267, 293, 373, -410, 258, 5, 416, 970, 347, 0, - 335, 348, 331, 259, 0, 0, 0, 563, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 406, 0, 0, - 0, 0, 0, 0, 0, 748, 555, 735, 330, 324, - 37, 20, 408, 457, 409, 762, 410, 853, 411, 556, - 870, 412, 726, 577, 36, 38, 39, 358, 746, 406, - 40, 413, 35, 576, 65, 803, 863, 290, 866, 735, - 787, 865, 37, 20, 408, 416, 409, 862, 410, 782, - 411, 724, 795, 412, 784, 854, 561, 38, 39, 358, - 746, 794, 40, 413, 864, 793, 65, 558, 341, 290, - 340, 560, 276, 275, 748, 555, 571, 416, 567, 565, - 564, 559, 514, 792, 753, 763, 755, 689, 562, 978, - 766, 1097, 1048, 722, 1096, 1098, 681, 768, 406, 746, - 680, 690, 767, 691, 688, 1095, 786, 555, 735, 1063, - 1041, 37, 20, 408, 1055, 409, 1060, 410, 573, 411, - 41, 34, 412, 27, 26, 23, 38, 39, 358, -454, - 406, 40, 413, -455, -456, 65, -478, -480, 290, 237, - 735, 345, 343, 37, 20, 408, 416, 409, 278, 410, - 240, 411, 239, 238, 412, 222, 221, 135, 38, 39, - 358, 132, 126, 40, 413, 73, 72, 65, 71, 406, - 290, 70, 69, 67, 1028, 748, 555, 954, 416, 735, - 957, 548, 37, 20, 408, 503, 409, 484, 410, 313, - 411, 252, 22, 412, 18, 13, -236, 38, 39, 358, - 982, 835, 40, 413, 1011, 953, 65, 748, 555, 290, - -32766,-32766,-32766, 1001, 546, 403, 396, 416, 394, 390, - 314, 19, 17, 16, -91, 15, 14, -233, -234, 0, - -32766, -422,-32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767, - -32767,-32767,-32767, 1010, 1093, 1054, 748, 555, 1040, 1039 + 97, 98, 99, 100,-32766, 241, 991, 746, 406, 460, + 532, 518, -80, 523, 370, 377, 507, 101, 735, 1067, + 10, 37, 20, 408, 533, 409, 524, 410, 991, 411, + -259, 264, 412, -177, 770, 561, 38, 39, 358, 746, + 771, 40, 413, 261, 12, 65, 293, 373, 290, 1030, + 267, 258, -176, 1027, 259, -411, 416, 5, 556, 971, + -493, 0, 0, 0, 0, 0, 0, 562, 0, 0, + 0, 0, 0, 0, 0, 347, 0, 406, 335, 854, + 348, 331, 330, 0, 324, 748, 555, 735, 457, 871, + 37, 20, 408, 762, 409, 726, 410, 577, 411, 558, + 36, 412, 35, 576, 803, 38, 39, 358, 746, 406, + 40, 413, 864, 867, 65, 787, 866, 290, 863, 735, + 782, 724, 37, 20, 408, 416, 409, 795, 410, 784, + 411, 855, 794, 412, 865, 793, 563, 38, 39, 358, + 746, 341, 40, 413, 340, 560, 65, 276, 275, 290, + 571, 567, 565, 564, 748, 555, 559, 416, 792, 753, + 763, 755, 689, 979, 766, 722, 1042, 1097, 566, 1099, + 681, 768, 680, 690, 767, 691, 688, 1096, 406, 746, + 1049, 1098, 1056, 1061, 1064, 573, 748, 555, 735, 955, + 41, 37, 20, 408, 34, 409, 27, 410, 26, 411, + 23, -455, 412, -456, -457, -479, 38, 39, 358, -481, + 406, 40, 413, 237, 345, 65, 343, 278, 290, 240, + 735, 239, 238, 37, 20, 408, 416, 409, 222, 410, + 221, 411, 135, 132, 412, 126, 73, 72, 38, 39, + 358, 71, 70, 40, 413, 69, 67, 65, 958, 406, + 290, 548, 503, 484, 313, 786, 555, 252, 416, 735, + 22, 18, 37, 20, 408, 13, 409, -236, 410, 983, + 411, 836, 1012, 412, 954, 1002, 546, 38, 39, 358, + 403, 396, 40, 413, 394, 390, 65, 748, 555, 290, + -32766,-32766,-32766, 314, 19, 17, -91, 416, 16, 15, + 14, -233, -234, 0, -423, 0, 514, 1011, 1094, 1055, + -32766, 1041,-32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767, + -32767,-32767,-32767, 1040, 0, 1029, 748, 555 ); protected $actionCheck = array( @@ -336,101 +336,101 @@ class Php7 extends \PhpParser\ParserAbstract 114, 115, 116, 117, 0, 8, 9, 10, 8, 9, 10, 77, 1, 13, 7, 28, 112, 30, 31, 32, 33, 34, 54, 56, 57, 28, 7, 30, 31, 32, - 33, 34, 35, 1, 28, 7, 68, 69, 70, 71, - 72, 73, 74, 7, 28, 77, 112, 113, 114, 115, + 33, 34, 35, 1, 29, 29, 68, 69, 70, 71, + 72, 73, 74, 7, 1, 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, 29, 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, 7, 14, 41, 42, 43, 44, 45, 46, 47, 48, 49, 8, 9, - 10, 67, 67, 67, 102, 103, 130, 131, 50, 51, - 52, 109, 54, 35, 67, 79, 130, 131, 28, 83, - 118, 47, 48, 1, 66, 1, 7, 53, 152, 55, + 10, 67, 67, 67, 102, 103, 1, 94, 50, 51, + 52, 109, 54, 67, 67, 79, 1, 7, 28, 83, + 118, 47, 48, 148, 66, 149, 7, 53, 1, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 67, 67, 68, 69, 70, 8, 9, 10, 112, 75, - 76, 77, 150, 79, 7, 77, 7, 83, 8, 9, + 76, 77, 150, 79, 7, 28, 48, 83, 8, 9, 10, 1, 128, 128, 28, 28, 130, 30, 31, 32, - 33, 29, 7, 1, 7, 128, 102, 142, 28, 7, - 30, 31, 32, 149, 149, 148, 112, 151, 77, 142, - 112, 7, 156, 1, 120, 121, 149, 7, 151, 146, - 1, 128, 149, 129, 130, 1, 132, 133, 134, 135, - 136, 137, 138, 1, 67, 142, 94, 143, 144, 145, - 146, 7, 149, 79, 151, 151, 1, 153, 8, 155, - 156, 71, 72, 73, 74, 0, 1, 102, 103, 7, - 79, 81, 67, 82, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 143, 95, 35, 146, 48, 99, - 100, 101, 102, 7, 104, 105, 130, 131, 108, 77, - 67, 111, 148, 113, 114, 128, 7, 13, 79, 119, - 29, 146, 122, 123, 124, 125, 7, 77, 152, 142, - 80, 149, 8, 9, 10, 7, 149, 15, 77, 152, - 156, 140, 141, 128, 79, 35, 71, 1, 148, 149, - 150, 112, 28, 13, 30, 31, 81, 152, 35, 84, - 85, 86, 123, 88, 152, 90, 154, 92, 77, 82, + 33, 82, 7, 1, 128, 128, 102, 142, 28, 7, + 30, 31, 32, 149, 149, 77, 112, 151, 80, 142, + 146, 7, 156, 149, 120, 121, 149, 7, 151, 7, + 1, 128, 7, 129, 130, 1, 132, 133, 134, 135, + 136, 137, 138, 1, 67, 142, 7, 143, 144, 145, + 146, 77, 149, 7, 151, 151, 1, 153, 139, 155, + 156, 71, 72, 73, 74, 0, 1, 8, 9, 28, + 79, 81, 8, 82, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 149, 95, 35, 130, 131, 99, + 100, 101, 102, 148, 104, 105, 130, 131, 108, 7, + 67, 111, 7, 113, 114, 128, 7, 13, 79, 119, + 13, 77, 122, 123, 124, 125, 15, 143, 152, 142, + 146, 15, 8, 9, 10, 15, 149, 15, 77, 152, + 15, 140, 141, 29, 79, 35, 71, 1, 148, 149, + 150, 112, 28, 15, 30, 31, 81, 152, 35, 84, + 85, 86, 123, 88, 152, 90, 154, 92, 102, 103, 95, 128, 35, 112, 99, 100, 101, 102, 103, 104, - 105, 149, 152, 108, 109, 142, 111, 77, 113, 114, - 67, 7, 149, 149, 119, 156, 7, 122, 123, 124, - 125, 149, 79, 112, 67, 15, 83, 77, 147, 8, - 9, 10, 7, 152, 149, 7, 79, 71, 143, 1, - 83, 156, 112, 148, 149, 150, 139, 81, 77, 78, - 84, 85, 86, 33, 88, 112, 90, 15, 92, 8, - 9, 95, 96, 97, 98, 99, 100, 101, 102, 112, - 104, 105, 129, 130, 108, 7, 35, 111, 35, 113, - 114, 152, 29, 112, 15, 119, 129, 130, 122, 123, - 124, 125, 15, 143, 151, 15, 146, 97, 98, 156, - 150, 15, 35, 72, 73, 1, 72, 73, 151, 71, - 47, 48, 49, 156, 148, 149, 150, 15, 77, 81, - 77, 29, 84, 85, 86, 29, 88, 29, 90, 29, + 105, 130, 131, 108, 109, 142, 111, 77, 113, 114, + 67, 77, 149, 149, 119, 156, 15, 122, 123, 124, + 125, 149, 79, 152, 67, 15, 83, 77, 147, 8, + 9, 10, 146, 152, 149, 29, 79, 71, 143, 1, + 83, 156, 112, 148, 149, 150, 112, 81, 77, 78, + 84, 85, 86, 29, 88, 112, 90, 29, 92, 72, + 73, 95, 96, 97, 98, 99, 100, 101, 102, 112, + 104, 105, 129, 130, 108, 29, 35, 111, 35, 113, + 114, 152, 79, 112, 7, 119, 129, 130, 122, 123, + 124, 125, 33, 143, 151, 7, 146, 66, 7, 156, + 150, 29, 35, 35, 29, 1, 72, 73, 151, 71, + 47, 48, 49, 156, 148, 149, 150, 7, 77, 81, + 77, 35, 84, 85, 86, 7, 88, 54, 90, 74, 92, 102, 103, 95, 96, 97, 98, 99, 100, 101, - 102, 29, 104, 105, 77, 35, 108, 54, 1, 111, - 66, 113, 114, 112, 67, 112, 152, 119, 102, 103, - 122, 123, 124, 125, 106, 107, 130, 131, 67, 8, - 9, 10, 148, 149, 77, 80, 29, 152, 79, 112, - 152, 74, 77, 79, 93, 77, 148, 149, 150, 28, + 102, 67, 104, 105, 77, 77, 108, 67, 1, 111, + 79, 113, 114, 112, 89, 112, 77, 119, 77, 156, + 122, 123, 124, 125, 102, 103, 97, 98, 79, 8, + 9, 10, 106, 107, 130, 131, 29, 77, 79, 112, + 112, 148, 149, 79, 82, 80, 148, 149, 150, 28, 147, 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, 112, 1, 71, 79, - 152, 82, 86, 82, 87, 91, 94, 66, 81, 96, - 102, 84, 85, 86, 89, 88, 94, 90, 94, 92, - 109, 112, 95, 123, 96, 29, 99, 100, 101, 1, - 123, 104, 105, 110, 139, 108, 126, 139, 111, 142, - 156, 142, 146, 142, 126, 142, 119, 153, 146, -1, - 146, 146, 146, 127, -1, -1, -1, 29, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 71, -1, -1, - -1, -1, -1, -1, -1, 148, 149, 81, 146, 146, - 84, 85, 86, 146, 88, 147, 90, 148, 92, 149, + 49, 50, 51, 52, 82, 54, 112, 1, 71, 86, + 91, 87, 94, 93, 102, 94, 109, 66, 81, 152, + 94, 84, 85, 86, 96, 88, 96, 90, 112, 92, + 152, 126, 95, 152, 123, 29, 99, 100, 101, 1, + 123, 104, 105, 110, 142, 108, 142, 146, 111, 139, + 156, 126, 152, 139, 127, 142, 119, 142, 149, 153, + 152, -1, -1, -1, -1, -1, -1, 29, -1, -1, + -1, -1, -1, -1, -1, 146, -1, 71, 146, 148, + 146, 146, 146, -1, 146, 148, 149, 81, 146, 148, + 84, 85, 86, 147, 88, 148, 90, 148, 92, 149, 148, 95, 148, 148, 148, 99, 100, 101, 1, 71, 104, 105, 148, 148, 108, 148, 148, 111, 148, 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, 150, 108, 149, 149, 111, - 149, 149, 149, 149, 148, 149, 149, 119, 149, 149, - 149, 149, 154, 150, 150, 150, 150, 150, 29, 150, + 92, 148, 148, 95, 148, 150, 29, 99, 100, 101, + 1, 149, 104, 105, 149, 149, 108, 149, 149, 111, + 149, 149, 149, 149, 148, 149, 149, 119, 150, 150, + 150, 150, 150, 150, 150, 150, 150, 150, 29, 150, 150, 150, 150, 150, 150, 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, 150, 150, 150, 150, 148, 149, 81, 152, + 151, 84, 85, 86, 151, 88, 151, 90, 151, 92, 151, 151, 95, 151, 151, 151, 99, 100, 101, 151, 71, 104, 105, 151, 151, 108, 151, 151, 111, 151, 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, 155, 148, 149, 152, 119, 81, + 101, 151, 151, 104, 105, 151, 151, 108, 152, 71, + 111, 152, 152, 152, 152, 148, 149, 152, 119, 81, 152, 152, 84, 85, 86, 152, 88, 152, 90, 152, 92, 152, 152, 95, 152, 152, 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, -1, - 28, 153, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 154, 154, 154, 148, 149, 154, 154 + 152, 152, 152, -1, 153, -1, 154, 154, 154, 154, + 28, 154, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 154, -1, 155, 148, 149 ); protected $actionBase = array( - 0, 220, 295, 366, 438, 285, 350, 606, -2, -2, - -36, -2, -2, 749, 616, 616, 547, 616, 717, 648, - 788, 788, 788, 281, 443, 441, 441, 467, 371, 441, - 467, 311, 330, 138, -66, -66, -66, -66, -66, -66, + 0, 220, 295, 366, 438, 285, 350, 596, -2, -2, + -36, -2, -2, 648, 749, 749, 547, 749, 616, 717, + 788, 788, 788, 281, 443, 467, 467, 441, 371, 467, + 441, 334, 330, 468, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, @@ -440,49 +440,49 @@ class Php7 extends \PhpParser\ParserAbstract -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, - -66, -66, -66, -66, -66, -66, 184, 184, 97, 182, - 324, 729, 718, 725, 732, 733, 727, 715, 360, 645, - 632, 492, 650, 654, 656, 649, 723, 618, 730, 719, + -66, -66, -66, -66, -66, -66, 175, 175, 35, 73, + 324, 715, 706, 711, 719, 723, 712, 647, 327, 637, + 640, 424, 626, 642, 643, 644, 710, 762, 718, 709, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, - 561, 561, 561, 561, 561, 561, 280, 30, 451, 421, + 561, 561, 561, 561, 561, 561, 294, 30, 289, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, 150, 150, 150, 344, 210, 207, 197, 17, 95, 27, 892, 892, 892, 892, 892, 108, 108, 108, 108, 357, 357, 343, 62, 96, 96, 96, 96, 96, 96, 96, 96, 96, - 96, 96, 96, 96, 259, 463, 463, 36, 36, 36, - 36, 504, 196, 499, 46, 307, 515, 709, 252, 252, - 436, 107, 133, 118, 118, 118, 195, 539, 529, 529, - 529, 529, 221, 221, 529, 529, 270, 264, 232, 95, - 95, 263, 95, 95, 95, 429, 429, 429, 171, 113, - 541, 171, 562, 622, 548, 623, 533, 605, 94, 522, - 204, 528, 525, 204, 204, 204, 458, 434, 431, 762, - 184, 521, 184, 184, 184, 184, 678, 184, 184, 184, - 184, 184, 184, 202, 184, 41, 424, 97, 272, 272, - 420, 272, 493, 235, 614, 425, 404, 493, 493, 493, - 613, 611, 250, 225, -8, 609, 428, 456, 468, 329, - 497, 497, 508, 508, 535, 510, 497, 497, 497, 497, - 497, 664, 664, 508, 540, 508, 535, 659, 508, 510, - 508, 508, 497, 508, 664, 510, 66, 339, 244, 274, - 510, 348, 538, 497, 530, 530, 316, 508, 140, 508, - 37, 546, 664, 664, 546, 179, 510, 209, 575, 565, - 531, 558, 227, 498, 498, 58, 531, 409, 510, 498, - 49, 540, 292, 498, 34, 712, 711, 500, 710, 660, - 707, 681, 705, 560, 520, 527, 695, 694, 704, 662, - 663, 496, 557, 469, 442, 523, 487, 668, 528, 516, - 484, 484, 484, 487, 673, 484, 484, 484, 484, 484, - 484, 484, 484, 779, 519, 536, 502, 553, 542, 342, - 608, 518, 557, 557, 633, 768, 514, 505, 678, 751, - 701, 574, 410, 759, 692, 658, 552, 526, 691, 758, - 743, 612, 469, 742, 634, 501, 635, 557, 636, 484, - 675, 676, 785, 784, 672, 781, 764, 757, 524, 637, - 495, 780, 640, 739, 621, 620, 566, 763, 734, 756, - 641, 754, 642, 564, 537, 766, 491, 680, 687, 619, - 643, 644, 559, 477, 631, 630, 629, 700, 577, 761, - 534, 760, 765, 582, 603, 480, 627, 486, 597, 696, - 453, 507, 596, 594, 738, 626, 689, 593, 625, 752, - 532, 516, 517, 543, 544, 545, 617, 753, 512, 591, - 589, 583, 580, 624, 578, 0, 0, 0, 0, 0, + 96, 96, 96, 96, 259, 463, 463, 196, 196, 196, + 196, 504, 271, 187, 471, 149, 520, 780, 264, 264, + 444, 107, 133, 118, 118, 118, 286, 502, 526, 526, + 526, 526, 221, 221, 526, 526, 168, 165, 232, 95, + 95, 263, 95, 95, 95, 429, 429, 429, 204, 104, + 532, 204, 551, 617, 540, 618, 538, 595, 94, 539, + 403, 522, 544, 403, 403, 403, 466, 387, 434, 754, + 175, 523, 175, 175, 175, 175, 672, 175, 175, 175, + 175, 175, 175, 36, 175, 41, 433, 35, 272, 272, + 459, 272, 473, 106, 609, 510, 477, 473, 473, 473, + 608, 605, 225, 488, -8, 602, 491, 462, 329, 518, + 479, 479, 500, 500, 489, 486, 479, 479, 479, 479, + 479, 659, 659, 500, 499, 500, 489, 649, 500, 486, + 500, 500, 479, 500, 659, 486, 250, 66, 179, 170, + 486, 49, 535, 479, 515, 515, 37, 500, 322, 500, + 255, 537, 659, 659, 537, 325, 486, 269, 565, 559, + 517, 556, 244, 446, 446, 119, 517, 276, 486, 446, + 252, 499, 140, 446, 34, 705, 704, 472, 701, 653, + 700, 675, 696, 519, 521, 527, 689, 687, 695, 655, + 657, 428, 552, 331, 401, 525, 474, 660, 522, 511, + 431, 431, 431, 474, 663, 431, 431, 431, 431, 431, + 431, 431, 431, 763, 514, 533, 358, 548, 531, 345, + 560, 524, 552, 552, 625, 761, 516, 481, 672, 733, + 694, 564, 342, 752, 681, 645, 546, 545, 680, 751, + 732, 606, 331, 730, 627, 480, 629, 552, 630, 431, + 664, 668, 779, 767, 662, 765, 758, 743, 542, 631, + 505, 764, 632, 729, 614, 613, 562, 757, 725, 742, + 633, 739, 634, 557, 534, 760, 530, 673, 676, 612, + 635, 636, 541, 340, 641, 624, 623, 692, 566, 756, + 529, 753, 759, 577, 594, 410, 622, 336, 593, 691, + 406, 455, 591, 589, 727, 621, 678, 583, 620, 734, + 528, 511, 512, 543, 536, 465, 611, 738, 475, 582, + 580, 578, 575, 619, 574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 134, 134, 134, -2, -2, -2, 0, @@ -506,28 +506,28 @@ class Php7 extends \PhpParser\ParserAbstract 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, -3, 561, 561, -3, 561, 561, - 561, 561, 561, 561, 118, 118, 118, 118, 171, 171, - 171, -84, 171, 171, 171, 171, 171, 171, 171, 171, - 171, 171, 171, 171, 171, 171, 118, 118, 171, 171, - 171, 171, 171, 171, -84, 171, 221, 221, 221, 204, - 204, 171, 0, 0, 0, 0, 0, 497, 221, 171, - 171, 171, 171, 0, 0, 171, 171, 540, 204, 0, - 0, 0, 0, 0, 0, 0, 497, 497, 497, 0, - 497, 221, 0, 272, 184, 400, 400, 400, 400, 0, - 497, 0, 540, 497, 0, 0, 0, 0, 0, 0, - 510, 0, 664, 0, 0, 0, 0, 508, 0, 0, - 0, 0, 0, 0, 0, 0, 540, 0, 0, 0, - 0, 540, 0, 484, 0, 505, 0, 0, 484, 484, - 484, 505, 505, 0, 0, 0, 505 + 561, 561, 561, 561, 118, 118, 118, 118, 204, 204, + 204, -84, 204, 204, 204, 204, 204, 204, 204, 204, + 204, 204, 204, 204, 204, 204, 118, 118, 204, 204, + 204, 204, 204, 204, 204, -84, 221, 221, 221, 403, + 403, 204, 0, 0, 0, 0, 0, 479, 221, 204, + 204, 204, 204, 0, 0, 204, 204, 499, 403, 0, + 0, 0, 0, 0, 0, 0, 479, 479, 479, 0, + 479, 221, 0, 272, 175, 469, 469, 469, 469, 0, + 479, 0, 499, 479, 0, 0, 0, 0, 0, 0, + 486, 0, 659, 0, 0, 0, 0, 500, 0, 0, + 0, 0, 0, 0, 0, 0, 499, 0, 0, 0, + 0, 499, 0, 431, 0, 481, 0, 0, 431, 431, + 431, 481, 481, 0, 0, 0, 481 ); 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,32767, 93, 504, 504, 494,32767, 504, - 494,32767,32767,32767, 312, 312, 312,32767, 449, 449, - 449, 449, 449, 449, 449,32767,32767,32767,32767,32767, - 391,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 93, 505, 505, 495,32767, 505, + 495,32767,32767,32767, 313, 313, 313,32767, 450, 450, + 450, 450, 450, 450, 450,32767,32767,32767,32767,32767, + 392,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, @@ -536,50 +536,50 @@ class Php7 extends \PhpParser\ParserAbstract 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,32767, - 501,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 502,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 374, 375, 377, 378, 311, 450, 257, 500, 310, 129, - 268, 259, 210, 308, 242, 133, 339, 392, 341, 390, - 394, 340, 317, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 315, 316, 393, 371, 370, - 369, 337, 338, 314, 342, 344, 314, 343, 360, 361, - 358, 359, 362, 363, 364, 365, 366,32767,32767,32767, + 375, 376, 378, 379, 312, 451, 258, 501, 311, 129, + 269, 260, 210, 309, 242, 133, 340, 393, 342, 391, + 395, 341, 318, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 316, 317, 394, 372, 371, + 370, 338, 339, 315, 343, 345, 315, 344, 361, 362, + 359, 360, 363, 364, 365, 366, 367,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 93,32767,32767,32767, 351, 352, 249, 249, 249, - 249,32767, 249, 294,32767,32767,32767,32767,32767,32767, - 32767, 443, 368, 346, 347, 345,32767, 421,32767,32767, - 32767,32767,32767, 423,32767, 91,32767,32767,32767, 334, - 336, 415, 503, 318, 502,32767,32767, 93,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 418,32767, - 32767, 409, 91,32767,32767, 91, 173, 229, 231, 178, - 32767, 426,32767,32767,32767,32767,32767,32767,32767,32767, + 32767, 93,32767,32767,32767, 352, 353, 249, 249, 249, + 249,32767, 249,32767, 295,32767,32767,32767,32767,32767, + 32767, 444, 369, 347, 348, 346,32767, 422,32767,32767, + 32767,32767,32767, 424,32767, 91,32767,32767,32767, 335, + 337, 416, 504, 319, 503,32767,32767, 93,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 419,32767, + 32767, 410, 91,32767,32767, 91, 173, 229, 231, 178, + 32767, 427,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 356, 511,32767, 451,32767, 348, 349, 350, - 32767,32767, 451, 451, 451,32767, 451,32767, 451, 451, + 32767,32767, 357, 512,32767, 452,32767, 349, 350, 351, + 32767,32767, 452, 452, 452,32767, 452,32767, 452, 452, 32767,32767,32767,32767,32767, 178,32767,32767,32767,32767, - 93, 424, 424, 91, 91, 91, 91, 419,32767, 178, + 93, 425, 425, 91, 91, 91, 91, 420,32767, 178, 32767,32767,32767,32767,32767, 178, 90, 90, 90, 90, 178, 90, 193,32767, 191, 191, 90,32767, 92,32767, - 92, 195,32767, 465, 195, 90, 178, 90, 215, 215, - 400, 180, 92, 251, 251, 92, 400, 90, 178, 251, + 92, 195,32767, 466, 195, 90, 178, 90, 215, 215, + 401, 180, 92, 251, 251, 92, 401, 90, 178, 251, 90,32767, 90, 251,32767,32767,32767, 84,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 411,32767, 431,32767, 444, 463, 409,32767, - 354, 355, 357,32767, 453, 379, 380, 381, 382, 383, - 384, 385, 387,32767, 414,32767,32767, 86, 120, 267, - 32767, 509, 86, 412,32767, 509,32767,32767,32767,32767, + 32767,32767, 412,32767, 432,32767, 445, 464, 410,32767, + 355, 356, 358,32767, 454, 380, 381, 382, 383, 384, + 385, 386, 388,32767, 415,32767,32767, 86, 120, 268, + 32767, 510, 86, 413,32767, 510,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767, 86, 86,32767,32767, - 32767,32767, 490,32767, 510,32767, 451, 413,32767, 353, - 427, 470,32767,32767, 452,32767,32767,32767, 86,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 431,32767, - 32767,32767,32767,32767,32767, 451,32767,32767,32767,32767, - 32767,32767,32767, 307,32767,32767,32767,32767,32767,32767, - 32767,32767, 451,32767,32767, 241,32767,32767,32767,32767, + 32767,32767, 491,32767, 511,32767, 452, 414,32767, 354, + 428, 471,32767,32767, 453,32767,32767,32767, 86,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 432,32767, + 32767,32767,32767,32767,32767, 452,32767,32767,32767,32767, + 32767,32767,32767, 308,32767,32767,32767,32767,32767,32767, + 32767,32767, 452,32767,32767, 241,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 84, 60,32767, 287,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 135, 135, 3, 270, 3, - 270, 135, 135, 135, 270, 270, 135, 135, 135, 135, - 135, 135, 135, 168, 223, 226, 215, 215, 279, 135, + 84, 60,32767, 288,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767, 135, 135, 3, 271, 3, + 271, 135, 135, 135, 271, 271, 135, 135, 135, 135, + 135, 135, 135, 168, 223, 226, 215, 215, 280, 135, 135 ); @@ -588,7 +588,7 @@ class Php7 extends \PhpParser\ParserAbstract 167, 164, 164, 164, 164, 165, 165, 165, 165, 165, 165, 165, 160, 161, 162, 163, 179, 177, 180, 430, 431, 322, 432, 435, 436, 437, 438, 439, 440, 441, - 442, 901, 137, 141, 142, 143, 144, 145, 139, 146, + 442, 902, 137, 141, 142, 143, 144, 145, 139, 146, 147, 150, 176, 178, 181, 198, 201, 202, 204, 205, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 235, 236, 253, 254, 255, 327, 328, 329, 479, 183, @@ -597,42 +597,42 @@ class Php7 extends \PhpParser\ParserAbstract 171, 154, 155, 156, 172, 157, 200, 138, 173, 158, 174, 175, 159, 542, 203, 447, 551, 203, 743, 444, 304, 308, 459, 482, 483, 485, 444, 493, 496, 519, - 1087, 1087, 987, 481, 452, 452, 452, 472, 452, 698, - 472, 677, 692, 779, 779, 779, 779, 1087, 467, 773, + 1088, 1088, 988, 481, 452, 452, 452, 472, 452, 698, + 472, 677, 692, 779, 779, 779, 779, 1088, 467, 773, 780, 452, 433, 433, 433, 285, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 434, 434, 434, 676, 434, 434, 434, 434, 434, 434, 434, - 434, 434, 434, 434, 434, 434, 480, 869, 554, 319, - 664, 263, 536, 867, 321, 988, 247, 502, 282, 452, - 452, 515, 516, 1057, 1058, 466, 488, 452, 452, 452, - 3, 4, 465, 989, 1043, 712, 785, 575, 504, 506, - 837, 453, 520, 535, 538, 813, 545, 553, 809, 498, - 498, 1012, 477, 1012, 1012, 1012, 1012, 1012, 1012, 1012, - 1012, 1012, 1012, 1012, 1012, 1012, 703, 675, 976, 765, - 738, 977, 739, 1086, 1086, 499, 501, 547, 802, 783, - 783, 781, 783, 574, 679, 445, 811, 806, 473, 1079, - 1086, 876, 1102, 777, 316, 550, 478, 1067, 492, 703, - 302, 684, 703, 734, 729, 730, 744, 1089, 685, 731, - 682, 732, 733, 683, 877, 737, 306, 449, 521, 470, - 948, 833, 458, 821, 334, 522, 338, 468, 325, 325, + 434, 434, 434, 434, 434, 434, 480, 870, 554, 319, + 664, 877, 536, 868, 321, 989, 712, 502, 282, 452, + 452, 515, 516, 1058, 1059, 466, 488, 452, 452, 452, + 785, 263, 465, 990, 1044, 878, 247, 575, 504, 506, + 838, 453, 520, 535, 538, 813, 545, 553, 809, 498, + 498, 1013, 477, 1013, 1013, 1013, 1013, 1013, 1013, 1013, + 1013, 1013, 1013, 1013, 1013, 1013, 703, 675, 977, 765, + 738, 978, 739, 1087, 1087, 499, 501, 547, 802, 783, + 783, 781, 783, 574, 679, 445, 811, 806, 473, 478, + 1087, 492, 1103, 777, 316, 550, 3, 4, 1080, 703, + 1068, 684, 703, 734, 729, 730, 744, 1090, 685, 731, + 682, 732, 733, 683, 302, 737, 306, 449, 521, 470, + 949, 833, 458, 821, 334, 522, 338, 468, 325, 325, 269, 270, 272, 476, 332, 273, 333, 274, 336, 505, - 339, 525, 1056, 391, 826, 289, 539, 816, 816, 1074, - 694, 694, 510, 283, 312, 11, 704, 704, 704, 706, - 693, 991, 286, 287, 827, 827, 827, 827, 991, 827, - 696, 827, 699, 579, 1062, 1062, 526, 827, 842, 846, - 449, 984, 1053, 708, 790, 991, 991, 991, 991, 1053, - 979, 991, 991, 384, 399, 886, 1064, 1064, 707, 695, - 841, 495, 845, 0, 0, 751, 0, 788, 752, 0, - 0, 0, 0, 0, 0, 1049, 818, 0, 778, 0, - 0, 0, 0, 0, 0, 0, 0, 986, 884, 0, - 0, 711, 464, 983, 0, 0, 0, 0, 844, 0, - 0, 1051, 1051, 844, 0, 0, 0, 0, 0, 0, + 339, 525, 1057, 391, 826, 289, 539, 816, 816, 1075, + 694, 694, 510, 283, 699, 11, 704, 704, 704, 706, + 693, 992, 286, 287, 827, 827, 827, 827, 992, 827, + 827, 312, 696, 579, 1063, 1063, 526, 827, 843, 847, + 449, 985, 1054, 708, 790, 992, 992, 992, 992, 1054, + 980, 992, 992, 384, 399, 887, 1065, 1065, 707, 695, + 842, 495, 846, 0, 0, 751, 0, 788, 752, 0, + 0, 0, 0, 0, 0, 1050, 818, 0, 778, 0, + 0, 0, 0, 0, 0, 0, 0, 987, 885, 0, + 0, 711, 464, 984, 0, 0, 0, 0, 845, 0, + 0, 1052, 1052, 845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 446, 462, 0, 0, 0, 0, 0, 0, 0, 0, 0, 446, 0, 462, 0, 0, 305, 0, 450, 372, 0, 374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 702, 0, 1094 + 0, 0, 0, 702, 0, 1095 ); protected $gotoCheck = array( @@ -655,23 +655,23 @@ class Php7 extends \PhpParser\ParserAbstract 135, 135, 135, 135, 135, 135, 135, 135, 135, 137, 137, 137, 17, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 7, 7, 7, 69, - 5, 134, 7, 7, 69, 92, 134, 73, 69, 10, + 5, 111, 7, 7, 69, 92, 36, 73, 69, 10, 10, 73, 73, 141, 141, 10, 10, 10, 10, 10, - 37, 37, 39, 92, 92, 36, 40, 39, 39, 39, + 40, 134, 39, 92, 92, 111, 134, 39, 39, 39, 94, 10, 39, 39, 39, 39, 39, 39, 39, 86, 86, 86, 10, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 26, 16, 67, 67, 55, 67, 55, 147, 147, 68, 68, 68, 16, 16, - 16, 16, 16, 16, 13, 16, 16, 16, 136, 146, - 147, 111, 12, 76, 76, 76, 2, 143, 2, 26, - 52, 13, 26, 13, 13, 13, 13, 147, 13, 13, - 13, 13, 13, 13, 111, 13, 65, 12, 54, 53, + 16, 16, 16, 16, 13, 16, 16, 16, 136, 2, + 147, 2, 12, 76, 76, 76, 37, 37, 146, 26, + 143, 13, 26, 13, 13, 13, 13, 147, 13, 13, + 13, 13, 13, 13, 52, 13, 65, 12, 54, 53, 118, 90, 65, 88, 56, 56, 56, 65, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 12, 139, 65, 91, 20, 12, 85, 85, 85, - 26, 26, 24, 11, 19, 65, 26, 26, 26, 26, + 26, 26, 24, 11, 30, 65, 26, 26, 26, 26, 26, 63, 80, 80, 63, 63, 63, 63, 63, 63, - 28, 63, 30, 82, 8, 8, 23, 63, 96, 99, + 63, 19, 28, 82, 8, 8, 23, 63, 96, 99, 12, 127, 97, 32, 79, 63, 63, 63, 63, 97, 124, 63, 63, 71, 122, 114, 97, 97, 14, 14, 14, 72, 14, -1, -1, 63, -1, 14, 63, -1, @@ -688,40 +688,40 @@ class Php7 extends \PhpParser\ParserAbstract ); protected $gotoBase = array( - 0, 0, -281, 0, 0, 180, 0, 181, 106, 0, - -141, 54, 6, -19, 11, -253, 245, 170, 139, 45, - 69, 0, 0, 15, 56, 0, -10, 0, 58, 0, - 75, 0, 10, -23, 0, 0, 206, -369, 0, -344, - 197, 0, 0, 0, 0, 0, 93, 0, 0, 81, - 0, 0, 243, 77, 80, 235, 87, 0, 0, 0, + 0, 0, -288, 0, 0, 180, 0, 181, 106, 0, + -141, 54, 6, -19, 11, -253, 245, 170, 139, 62, + 69, 0, 0, 15, 56, 0, -10, 0, 60, 0, + 57, 0, 10, -23, 0, 0, 187, -303, 0, -344, + 191, 0, 0, 0, 0, 0, 93, 0, 0, 81, + 0, 0, 257, 77, 80, 235, 87, 0, 0, 0, 0, 0, 0, 107, 0, -63, 0, -70, 17, -205, 0, -2, -3, -363, 0, -115, 14, 0, 0, 9, -234, 0, 36, 0, 0, 110, 12, 0, 61, 0, - 57, 74, -169, 0, 196, 0, 63, 128, 0, 5, + 58, 74, -169, 0, 196, 0, 63, 128, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 51, 0, 0, 19, 0, 0, 0, 59, 0, + 0, -29, 0, 0, 19, 0, 0, 0, 59, 0, 0, 0, -22, 0, 18, 0, 0, 16, 0, 0, - 0, 0, 0, 0, -66, -65, 242, -48, 0, 73, - 0, -90, 0, 247, 0, 0, 240, 7, -116, 0, + 0, 0, 0, 0, -46, -65, 242, -48, 0, 73, + 0, -90, 0, 250, 0, 0, 249, 7, -116, 0, 0 ); protected $gotoDefault = array( -32768, 404, 582, 2, 583, 654, 662, 527, 421, 552, - 422, 448, 323, 736, 890, 756, 718, 719, 720, 309, + 422, 448, 323, 736, 891, 756, 718, 719, 720, 309, 349, 300, 307, 511, 500, 395, 705, 368, 697, 392, 700, 367, 709, 136, 528, 400, 713, 1, 715, 454, 747, 297, 723, 298, 531, 725, 461, 727, 728, 303, - 310, 311, 894, 469, 497, 740, 206, 463, 741, 296, - 742, 750, 320, 301, 378, 401, 315, 871, 487, 318, - 363, 381, 494, 489, 471, 998, 775, 387, 376, 789, + 310, 311, 895, 469, 497, 740, 206, 463, 741, 296, + 742, 750, 320, 301, 378, 401, 315, 872, 487, 318, + 363, 381, 494, 489, 471, 999, 775, 387, 376, 789, 284, 797, 580, 805, 808, 423, 424, 385, 820, 386, - 831, 825, 1006, 380, 836, 369, 843, 1038, 371, 847, - 220, 850, 344, 512, 337, 855, 856, 6, 861, 543, - 544, 7, 243, 397, 885, 513, 366, 900, 352, 967, - 969, 456, 393, 980, 375, 534, 402, 985, 1042, 364, + 831, 825, 1007, 380, 837, 369, 844, 1039, 371, 848, + 220, 851, 344, 512, 337, 856, 857, 6, 862, 543, + 544, 7, 244, 397, 886, 513, 366, 901, 352, 968, + 970, 456, 393, 981, 375, 534, 402, 986, 1043, 364, 425, 382, 271, 288, 246, 426, 443, 251, 427, 383, - 1045, 1052, 326, 1068, 268, 29, 1080, 1088, 280, 475, + 1046, 1053, 326, 1069, 268, 29, 1081, 1089, 280, 475, 491 ); @@ -751,13 +751,13 @@ class Php7 extends \PhpParser\ParserAbstract 82, 45, 45, 41, 41, 83, 43, 43, 84, 42, 42, 44, 44, 54, 54, 54, 54, 68, 68, 87, 87, 88, 88, 88, 90, 90, 91, 91, 91, 89, - 89, 69, 69, 92, 92, 93, 93, 94, 94, 94, - 50, 95, 95, 96, 51, 98, 98, 99, 99, 100, - 100, 73, 101, 101, 101, 101, 101, 106, 106, 107, - 107, 108, 108, 108, 108, 108, 109, 110, 110, 105, - 105, 102, 102, 104, 104, 112, 112, 111, 111, 111, - 111, 111, 111, 103, 113, 113, 115, 114, 114, 52, - 116, 116, 46, 46, 33, 33, 33, 33, 33, 33, + 89, 69, 69, 69, 92, 92, 93, 93, 94, 94, + 94, 50, 95, 95, 96, 51, 98, 98, 99, 99, + 100, 100, 73, 101, 101, 101, 101, 101, 106, 106, + 107, 107, 108, 108, 108, 108, 108, 109, 110, 110, + 105, 105, 102, 102, 104, 104, 112, 112, 111, 111, + 111, 111, 111, 111, 103, 113, 113, 115, 114, 114, + 52, 116, 116, 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, 33, 33, 33, 33, @@ -765,20 +765,20 @@ class Php7 extends \PhpParser\ParserAbstract 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 123, 117, 117, - 122, 122, 125, 126, 126, 127, 128, 128, 128, 75, - 75, 63, 63, 63, 118, 118, 118, 130, 130, 119, - 119, 121, 121, 121, 124, 124, 135, 135, 135, 86, - 137, 137, 137, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 49, - 49, 133, 133, 133, 129, 129, 129, 138, 138, 138, - 138, 138, 138, 56, 56, 56, 97, 97, 97, 97, - 141, 140, 132, 132, 132, 132, 132, 132, 131, 131, - 131, 139, 139, 139, 139, 85, 142, 142, 143, 143, - 143, 143, 143, 143, 143, 136, 145, 145, 144, 144, - 146, 146, 146, 146, 146, 134, 134, 134, 134, 148, - 149, 147, 147, 147, 147, 147, 147, 147, 150, 150, - 150, 150 + 33, 33, 33, 33, 33, 33, 33, 33, 123, 117, + 117, 122, 122, 125, 126, 126, 127, 128, 128, 128, + 75, 75, 63, 63, 63, 118, 118, 118, 130, 130, + 119, 119, 121, 121, 121, 124, 124, 135, 135, 135, + 86, 137, 137, 137, 120, 120, 120, 120, 120, 120, + 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + 49, 49, 133, 133, 133, 129, 129, 129, 138, 138, + 138, 138, 138, 138, 56, 56, 56, 97, 97, 97, + 97, 141, 140, 132, 132, 132, 132, 132, 132, 131, + 131, 131, 139, 139, 139, 139, 85, 142, 142, 143, + 143, 143, 143, 143, 143, 143, 136, 145, 145, 144, + 144, 146, 146, 146, 146, 146, 134, 134, 134, 134, + 148, 149, 147, 147, 147, 147, 147, 147, 147, 150, + 150, 150, 150 ); protected $ruleToLength = array( @@ -807,34 +807,34 @@ class Php7 extends \PhpParser\ParserAbstract 1, 1, 4, 0, 2, 5, 0, 2, 6, 0, 2, 0, 3, 1, 2, 1, 1, 2, 0, 1, 3, 4, 6, 4, 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, 1, 3, 4, 9, 3, 1, 1, 3, 0, - 2, 4, 5, 4, 4, 4, 3, 1, 1, 1, - 1, 1, 1, 0, 1, 1, 2, 1, 1, 1, - 1, 1, 1, 2, 1, 3, 1, 1, 3, 2, - 3, 1, 0, 1, 1, 3, 3, 3, 4, 1, - 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 1, 0, 2, 2, 2, 4, 1, 3, 1, 2, + 2, 2, 3, 1, 1, 2, 3, 1, 1, 3, + 2, 0, 1, 3, 4, 9, 3, 1, 1, 3, + 0, 2, 4, 5, 4, 4, 4, 3, 1, 1, + 1, 1, 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, 8, 9, 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, 1, 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, 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, 8, 9, 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, 1, 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() { @@ -1617,195 +1617,195 @@ class Php7 extends \PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(2-2)]; }, 253 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = null; }, 254 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 255 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 256 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 257 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 258 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 259 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 260 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 261 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 262 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 263 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 264 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 265 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 266 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 267 => function ($stackPos) { - $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 268 => function ($stackPos) { - $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 269 => function ($stackPos) { - if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } - }, - 270 => function ($stackPos) { $this->semValue = array(); }, + 255 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 256 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 257 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 258 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 259 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 260 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 261 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 262 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 263 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 264 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 265 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 266 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 267 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 268 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 269 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 270 => function ($stackPos) { + if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } + }, 271 => function ($stackPos) { + $this->semValue = array(); + }, + 272 => function ($stackPos) { $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $nop = null; }; if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 272 => function ($stackPos) { + 273 => function ($stackPos) { $this->semValue = new Stmt\Property($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkProperty($this->semValue, $stackPos-(3-1)); }, - 273 => function ($stackPos) { + 274 => function ($stackPos) { $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-1)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->checkClassConst($this->semValue, $stackPos-(4-1)); }, - 274 => function ($stackPos) { + 275 => function ($stackPos) { $this->semValue = new Stmt\ClassMethod($this->semStack[$stackPos-(9-4)], ['type' => $this->semStack[$stackPos-(9-1)], 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); $this->checkClassMethod($this->semValue, $stackPos-(9-1)); }, - 275 => function ($stackPos) { + 276 => function ($stackPos) { $this->semValue = new Stmt\TraitUse($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 276 => function ($stackPos) { + 277 => function ($stackPos) { $this->semValue = null; /* will be skipped */ }, - 277 => function ($stackPos) { - $this->semValue = array(); - }, 278 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = array(); }, 279 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 280 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = array(); }, 281 => 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)]; }, 282 => 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); }, 283 => 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); }, 284 => 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); }, 285 => 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); }, 286 => 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); }, 287 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); }, 288 => function ($stackPos) { - $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 289 => function ($stackPos) { - $this->semValue = null; + $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); }, 290 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = null; }, 291 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 292 => function ($stackPos) { - $this->semValue = 0; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 293 => function ($stackPos) { $this->semValue = 0; }, 294 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = 0; }, 295 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 296 => 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)]; }, 297 => 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)]; }, 298 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; }, 299 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; }, 300 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_STATIC; + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; }, 301 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + $this->semValue = Stmt\Class_::MODIFIER_STATIC; }, 302 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; }, 303 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = Stmt\Class_::MODIFIER_FINAL; }, 304 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-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 = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 307 => function ($stackPos) { - $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 308 => function ($stackPos) { - $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 309 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 310 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 311 => function ($stackPos) { + 305 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, + 306 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 307 => function ($stackPos) { + $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 308 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 309 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 310 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 311 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, 312 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 313 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array(); }, 314 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 315 => 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)]; }, 316 => function ($stackPos) { $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); @@ -1814,434 +1814,434 @@ 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); }, 318 => 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); }, 319 => 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); }, 320 => 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)]; }, 321 => 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); }, 322 => 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); }, 323 => 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); }, 324 => 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); }, 325 => 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); }, 326 => 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); }, 327 => 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); }, 328 => 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); }, 329 => 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); }, 330 => 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); }, 331 => 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); }, 332 => 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); }, 333 => 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); }, 334 => 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); }, 335 => 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); }, 336 => 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); }, 337 => 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); }, 338 => 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); }, 339 => 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); }, 340 => 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); }, 341 => 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); }, 342 => 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); }, 343 => 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); }, 344 => 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); }, 345 => 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); }, 346 => 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); }, 347 => 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); }, 348 => 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); }, 349 => 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); }, 350 => 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); }, 351 => 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); }, 352 => 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); }, 353 => 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); }, 354 => 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); }, 355 => 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); }, 356 => 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); }, 357 => 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); }, 358 => 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); }, 359 => 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); }, 360 => 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); }, 361 => 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); }, 362 => 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); }, 363 => 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); }, 364 => 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); }, 365 => 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); }, 366 => 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); }, 367 => 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); }, 368 => 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); }, 369 => 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)]; }, 370 => 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); }, 371 => 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); }, 372 => 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); }, 373 => 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); }, 374 => 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); }, 375 => 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); }, 376 => 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); }, 377 => 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); }, 378 => 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); }, 379 => 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); }, 380 => 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); }, 381 => 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); }, 382 => 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); }, 383 => 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); }, 384 => 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); }, 385 => 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); }, 386 => function ($stackPos) { + $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 387 => 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); }, - 387 => function ($stackPos) { + 388 => function ($stackPos) { $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 388 => function ($stackPos) { + 389 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 389 => function ($stackPos) { + 390 => function ($stackPos) { $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 390 => function ($stackPos) { + 391 => function ($stackPos) { $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 391 => function ($stackPos) { + 392 => function ($stackPos) { $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 392 => function ($stackPos) { + 393 => function ($stackPos) { $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 393 => function ($stackPos) { + 394 => function ($stackPos) { $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, - 394 => function ($stackPos) { + 395 => function ($stackPos) { $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 395 => function ($stackPos) { + 396 => function ($stackPos) { $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'uses' => $this->semStack[$stackPos-(8-6)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); }, - 396 => function ($stackPos) { + 397 => function ($stackPos) { $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'uses' => $this->semStack[$stackPos-(9-7)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, - 397 => function ($stackPos) { + 398 => 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); }, - 398 => function ($stackPos) { + 399 => function ($stackPos) { $this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 399 => function ($stackPos) { + 400 => function ($stackPos) { list($class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 400 => function ($stackPos) { + 401 => function ($stackPos) { $this->semValue = array(); }, - 401 => function ($stackPos) { + 402 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(4-3)]; }, - 402 => function ($stackPos) { + 403 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 403 => function ($stackPos) { + 404 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, - 404 => function ($stackPos) { + 405 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, - 405 => function ($stackPos) { - $this->semValue = new Expr\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, 406 => 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); }, 407 => function ($stackPos) { $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 408 => 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); }, 409 => 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); }, 410 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 411 => function ($stackPos) { $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, + 411 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, 412 => 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); }, 413 => 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); }, 414 => 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); }, 415 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 416 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 417 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; }, 418 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 419 => function ($stackPos) { - $this->semValue = null; - }, - 420 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 421 => function ($stackPos) { - $this->semValue = array(); - }, - 422 => function ($stackPos) { - $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); - }, - 423 => 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)]; - }, - 424 => function ($stackPos) { - $this->semValue = array(); - }, - 425 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 420 => function ($stackPos) { + $this->semValue = null; + }, + 421 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 422 => function ($stackPos) { + $this->semValue = array(); + }, + 423 => function ($stackPos) { + $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); + }, + 424 => 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)]; + }, + 425 => function ($stackPos) { + $this->semValue = array(); + }, 426 => 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)]; }, 427 => 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); }, 428 => 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); }, 429 => 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; + }, + 430 => 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); }, - 430 => function ($stackPos) { + 431 => 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); }, - 431 => function ($stackPos) { + 432 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 432 => function ($stackPos) { + 433 => 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); }, - 433 => function ($stackPos) { + 434 => function ($stackPos) { $this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 434 => function ($stackPos) { + 435 => function ($stackPos) { $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$stackPos-(1-1)]), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 435 => function ($stackPos) { + 436 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 436 => function ($stackPos) { + 437 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 437 => function ($stackPos) { + 438 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 438 => function ($stackPos) { + 439 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 439 => function ($stackPos) { + 440 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 440 => function ($stackPos) { + 441 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 441 => function ($stackPos) { + 442 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 442 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, 443 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 444 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 445 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 446 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], true); + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); }, 447 => function ($stackPos) { + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], true); + }, + 448 => 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); }, - 448 => function ($stackPos) { + 449 => function ($stackPos) { $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); }, - 449 => function ($stackPos) { - $this->semValue = null; - }, 450 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = null; }, 451 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 452 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 453 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 454 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 455 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 456 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 456 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, 457 => 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)]; }, 458 => 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); }, 459 => function ($stackPos) { $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); @@ -2250,186 +2250,189 @@ 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); }, 461 => 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); }, 462 => 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)]; }, 463 => 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); }, 464 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 465 => 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)]; }, 466 => 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); }, 467 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; + $this->semValue = substr($this->semStack[$stackPos-(1-1)], 1); }, 468 => 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)]; }, 469 => 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); }, 470 => 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; }, 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); + $var = $this->semStack[$stackPos-(1-1)]; $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; }, 472 => 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); }, 473 => 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); }, 474 => function ($stackPos) { $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 475 => 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); }, 476 => 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); }, 477 => function ($stackPos) { $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 478 => 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); }, 479 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 480 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 481 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 482 => function ($stackPos) { + 480 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(3-2)]; }, - 483 => function ($stackPos) { + 481 => function ($stackPos) { $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, + 482 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 483 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, 484 => 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); }, 485 => 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; }, 486 => 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); }, 487 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 488 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 489 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 490 => function ($stackPos) { $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, + 490 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, 491 => 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); + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 492 => 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); - }, - 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); }, + 493 => 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); + }, 494 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 495 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end] === null) array_pop($this->semValue); + $this->semValue = null; }, 496 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end] === null) array_pop($this->semValue); }, 497 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos]; }, 498 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = $this->semStack[$stackPos]; }, 499 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 500 => 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); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 501 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 502 => 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); + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 503 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 504 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 505 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = null; }, 506 => function ($stackPos) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 507 => 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)]; }, 508 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 509 => 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)]); }, 510 => 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); }, 511 => 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); }, 512 => 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)]; }, 513 => 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); }, 514 => 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); }, 515 => function ($stackPos) { $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 516 => 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); }, 517 => 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); }, 518 => 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)]; }, 519 => 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); }, 520 => 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); }, 521 => function ($stackPos) { + $this->semValue = $this->parseNumString('-' . $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 522 => 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 67c0ffe..ae3518d 100644 --- a/test/code/parser/errorHandling/recovery.test +++ b/test/code/parser/errorHandling/recovery.test @@ -1373,4 +1373,31 @@ array( ) ) ) +) +----- +