diff --git a/grammar/php.y b/grammar/php.y index e55f6e03e1..6cb5b78ea8 100644 --- a/grammar/php.y +++ b/grammar/php.y @@ -1068,10 +1068,8 @@ expr: | T_OBJECT_CAST expr { $$ = Expr\Cast\Object_ [$2]; } | T_BOOL_CAST expr { $$ = Expr\Cast\Bool_ [$2]; } | T_UNSET_CAST expr { $$ = Expr\Cast\Unset_ [$2]; } - | T_EXIT exit_expr - { $attrs = attributes(); - $attrs['kind'] = strtolower($1) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; - $$ = new Expr\Exit_($2, $attrs); } + | T_EXIT ctor_arguments + { $$ = $this->createExitExpr($1, #1, $2, attributes()); } | '@' expr { $$ = Expr\ErrorSuppress[$2]; } | scalar | '`' backticks_expr '`' { $$ = Expr\ShellExec[$2]; } @@ -1176,11 +1174,6 @@ class_name_or_var: | fully_dereferenceable ; -exit_expr: - /* empty */ { $$ = null; } - | '(' optional_expr ')' { $$ = $2; } -; - backticks_expr: /* empty */ { $$ = array(); } | encaps_string_part diff --git a/lib/PhpParser/Parser/Php7.php b/lib/PhpParser/Parser/Php7.php index 5e558531ab..15d6cbf7ad 100644 --- a/lib/PhpParser/Parser/Php7.php +++ b/lib/PhpParser/Parser/Php7.php @@ -161,16 +161,16 @@ class Php7 extends \PhpParser\ParserAbstract public const T_ATTRIBUTE = 396; protected int $tokenToSymbolMapSize = 397; - protected int $actionTableSize = 1282; - protected int $gotoTableSize = 725; + protected int $actionTableSize = 1279; + protected int $gotoTableSize = 723; protected int $invalidSymbol = 169; protected int $errorSymbol = 1; protected int $defaultAction = -32766; protected int $unexpectedTokenRule = 32767; - protected int $YY2TBLSTATE = 437; - protected int $numNonLeafStates = 743; + protected int $YY2TBLSTATE = 436; + protected int $numNonLeafStates = 741; protected array $symbolToName = array( "EOF", @@ -388,135 +388,134 @@ class Php7 extends \PhpParser\ParserAbstract ); protected array $action = array( - 133, 134, 135, 587, 136, 137, 1326, 755, 756, 757, - 138, 38, 866, -367, 867, -367,-32766,-32766,-32766,-32767, - -32767,-32767,-32767, 102, 103, 104, 105, 106, 1116, 1117, - 1118, 1115, 1114, 1113, 1119, 749, 748,-32766, 0,-32766, + 128, 129, 130, 564, 131, 132, 1322, 753, 754, 755, + 133, 38, 864, -367, 865, -367,-32766,-32766,-32766,-32767, + -32767,-32767,-32767, 101, 102, 103, 104, 105, 1114, 1115, + 1116, 1113, 1112, 1111, 1117, 747, 746,-32766, 0,-32766, -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, - -32767,-32766,-32766,-32766, 1031, 758,-32766,-32766,-32766, 945, - 292, -610, 838,-32766,-32766,-32766,-32766, 1092, -610, 265, - 139, 406, 762, 763, 764, 765, 994,-32766, 431,-32766, - -32766,-32766,-32766,-32766,-32766, 819, 766, 767, 768, 769, - 770, 771, 772, 773, 774, 775, 795, 588, 796, 797, - 798, 799, 787, 788, 347, 348, 790, 791, 776, 777, - 778, 780, 781, 782, 358, 822, 823, 824, 825, 826, - 589, 783, 784, 590, 591,-32766, 807, 805, 806, 818, - 802, 803, -328, -194, 592, 593, 801, 594, 595, 596, - 597, 839, 598, 599, 1361, 1346,-32766, 1040, 841, 804, - 600, 601, 1345, 140, 2, 133, 134, 135, 587, 136, - 137, 1064, 755, 756, 757, 138, 38, -110, 1040, 82, - 485, 291, -110, 328, -110,-32766,-32766,-32766, 830, 307, + -32767,-32766,-32766,-32766, 1029, 756,-32766,-32766,-32766, 943, + 291, -608, 836,-32766,-32766,-32766,-32766, 1090, -608, 264, + 134, 384, 760, 761, 762, 763, 992,-32766, 425,-32766, + -32766,-32766,-32766,-32766,-32766, 817, 764, 765, 766, 767, + 768, 769, 770, 771, 772, 773, 793, 565, 794, 795, + 796, 797, 785, 786, 345, 346, 788, 789, 774, 775, + 776, 778, 779, 780, 357, 820, 821, 822, 823, 824, + 566, 781, 782, 567, 568,-32766, 805, 803, 804, 816, + 800, 801, -328, -194, 569, 570, 799, 571, 572, 573, + 574, 837, 575, 576, 1357, 1342,-32766, 1038, 839, 802, + 577, 578, 1341, 135, 2, 128, 129, 130, 564, 131, + 132, 1062, 753, 754, 755, 133, 38, -110, 1038, 81, + 484, 290, -110, 327, -110,-32766,-32766,-32766, 828, 306, -32766,-32766, -110, -110, -110, -110, -110, -110, -110, -110, - 749, 748, 291, 107, 108, 109,-32766, 275,-32766,-32766, - -32766,-32766,-32766,-32766,-32766, 995, 26, 36, 249, 110, - 758,-32766,-32766,-32766, 1116, 1117, 1118, 1115, 1114, 1113, - 1119, -610, 729, -610, 265, 139, 406, 762, 763, 764, - 765, -342,-32766, 431,-32766,-32766,-32766,-32766, 749, 748, - 819, 766, 767, 768, 769, 770, 771, 772, 773, 774, - 775, 795, 588, 796, 797, 798, 799, 787, 788, 347, - 348, 790, 791, 776, 777, 778, 780, 781, 782, 358, - 822, 823, 824, 825, 826, 589, 783, 784, 590, 591, - 611, 807, 805, 806, 818, 802, 803, -328, -194, 592, - 593, 801, 594, 595, 596, 597, 35, 598, 599, 151, - 83, 84, 85, 486, 804, 600, 601, 840, 149, 779, - 750, 751, 752, 753, 754, -607, 755, 756, 757, 792, - 793, 37, -607, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 1037, 275,-32766, - -32766,-32766, 963, 964,-32766,-32766,-32766, 965, -193, 127, - 110, 384, 383, 959, 758,-32766,-32766,-32766, 129, 1040, - -32766, 425,-32766,-32766,-32766, 1262, 238, 145, 759, 760, - 761, 762, 763, 764, 765, 252,-32766, 828,-32766,-32766, - -561, 561, 311, 284, 819, 766, 767, 768, 769, 770, - 771, 772, 773, 774, 775, 795, 817, 796, 797, 798, - 799, 787, 788, 789, 816, 790, 791, 776, 777, 778, - 780, 781, 782, 821, 822, 823, 824, 825, 826, 827, - 783, 784, 785, 786, -563, 807, 805, 806, 818, 802, - 803, -85, 239, 794, 800, 801, 808, 809, 811, 810, - 947, 812, 813, 1296, -561, -561, 839, 617, 804, 815, - 814, 50, 51, 52, 517, 53, 54, 104, 105, 106, - -561, 55, 56, 924, 57, -607, 924, -607, 461, 462, - 463, 292, -567,-32766, -561, 393, 1371, 7, 313, 1372, - 359, 382, 383, 1093, 24, 947, -559, 741, -563, -563, - 835, 425, 325, 719,-32766, 1063, 720, -85, 341, 58, - 59,-32766, 152, -193, -558, 60, 1108, 61, 246, 247, - 62, 63, 64, 65, 66, 67, 68, 69, -563, 28, - 267, 70, 446, 518, 288, 364, 75, 1290, 1291, 519, - 1342, 839, 328, 1284, 300, 1288, 42, 19, 520, 866, - 521, 867, 522, 342, 523, 924, 914, 524, 525, 914, - -559, -559, 44, 45, 447, 379, 378,-32766, 46, 526, - 1027, 1026, 1025, 1028, 370, 340, -559, 836, -558, -558, - -601, 1248, -601, 528, 529, 530, 1255,-32766, -566, 1040, - -559, -272, 1037, 832, -558, 532, 533, 372, 1276, 1277, - 1278, 1279, 1281, 1273, 1274, 299, -565, 376, -558, 1040, - 48, 1280, 1275, 291, 1040, 1257, 1256, 1258, 300, 830, - 1037, 71, 1253, 391, 839, 323, 324, 328, 924, -153, - -153, -153, 926, 661, 20, 926, 714, 442, 914, 714, - 680, 681, 1040, 1039, -153, 443, -153, 444, -153, 445, - -153, 845, 288, 28, 267, -87, 431, -84, 721, -78, - 377, 941, 1257, 1256, 1258, 839, 284, 749, 748, 1288, - 834, 963, 964, 154, 301, 302, 527, 716, 329, 924, - 155, 900, 959, -110, -110, -110, 32, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 28, 268, 694, 142, 126, 1248, 141, 328, 156, 724, - 328, 914, 839, 158, 926, 33, 1288, -73, 714, -153, - 533, -78, 1276, 1277, 1278, 1279, 1281, 1273, 1274, 1164, - 1166, -58, 1257, 1256, 1258, 1280, 1275, -560, 695, 924, - -557, 1094, 470, 471, -57, 73, 150, 409, 380, 381, - 324, 328, 1248, 385, 386, 652, 653, 749, 748, 696, - 697, 124, 914, 924, -4, 924, 532, 533, -72, 1276, - 1277, 1278, 1279, 1281, 1273, 1274, 125, 130, 1257, 1256, - 1258, 131, 1280, 1275, 284, 144, 159, 980, 160, 749, - 748, 714, 73, 731,-32766, 161, 162, 324, 328, 163, - 1255, -560, -560, -302, -557, -557, -71,-32766,-32766,-32766, - 289,-32766, -70,-32766, 290,-32766, -69, -560,-32766, -557, - -557, -68, 914,-32766,-32766,-32766,-32766, -67, -66,-32766, - -32766, -560, 1255, -65, -557,-32766, 422, -46, 926,-32766, - -32766,-32766, 714,-32766,-32766,-32766, 914,-32766, 914, -298, - -32766, -18, 148, 274, 285,-32766,-32766,-32766, 730, 733, - 923,-32766,-32766, 147, 275, 280, 281,-32766, 422, 286, - 377, 287, 438, 28, 268, 74,-32766, 298, 334, 293, - 110, 963, 964, -557, -557, 839, 527, 294, 49, 1288, - 690, 531, 959, -110, -110, -110, 146, 830, 926, -557, - -32766, 839, 714, 683, 705, 566, 667, 1123, 668, 23, - 960, 650, 572, -557, 308, 10, 1373, -50, 305, 312, - 615, 306, 926, 1295, 926, 1248, 714, 662, 714, -4, - 707,-32766, 467, 943, -521, 1285, 496, 1221, 1297, -511, - 533, 684, 1276, 1277, 1278, 1279, 1281, 1273, 1274, 132, - 0, 8, 303, 304, 27, 1280, 1275, -595, 300, 1289, - -32766, 838, 0, 0, 0, 73, 1255, 0, 375, 0, - 324, 328, 0,-32766,-32766,-32766, 0,-32766, 0,-32766, - 0,-32766, 128, 0,-32766, 0, 0, 0, 0,-32766, - -32766,-32766,-32766, 0, 374,-32766,-32766, 0, 1255, 0, - 924,-32766, 422, -275, 0,-32766,-32766,-32766, 40,-32766, - -32766,-32766, 41,-32766, 738, 739,-32766, 858, 905, 924, - 1004,-32766,-32766,-32766,-32766, 981, 988,-32766,-32766, 978, - 1255, 989, 903,-32766, 422, 976, 1097,-32766,-32766,-32766, - 1100,-32766,-32766,-32766, 1101,-32766, 850, 1098,-32766, 1099, - 1105, -273, 491,-32766,-32766,-32766,-32766, 1312, 1330,-32766, - -32766, 1364, 1255, 579, 655,-32766, 422, -594, -593,-32766, - -32766,-32766, -567,-32766,-32766,-32766, -566,-32766, -565, -564, - -32766, -505, 1, 914, 29,-32766,-32766,-32766, 30, 39, - 1262,-32766,-32766, 43, 47, 72, 76,-32766, 422, -250, - -250, -250, 914, 77, 78, 377,-32766, 1262, 79, 80, - 81, 143, 328, 153, 157, 244, 963, 964, -249, -249, - -249, 527, 330, 359, 377, 360, 900, 959, -110, -110, - -110, 361, 362, 363, 364, 963, 964, -16, 365, 366, - 527, 367, 368, 369, 0, 900, 959, -110, -110, -110, - 371, 439, 560, 0, -272,-32766, 12, 13, 14, 926, - 15, 1255, 34, 714, -250, 17, 408, 487,-32766,-32766, - -32766, 839,-32766, 488,-32766, 495,-32766, 498, 926,-32766, - 499, 735, 714, -249,-32766,-32766,-32766, 500, 839, 501, - -32766,-32766, 505, 506, 507, 515,-32766, 422, 577, 700, - 1266, 1204, 1286, 1066, 1065,-32766, -110, -110, 1046, 1243, - 1042, -110, -277, -102, 11, 16, 21, -110, 297, 407, - 608, 612, 641, -110, -110, 706,-32766, 1208, -110, 1261, - 1205, 1343, 0, 322, -110, 373, 715, 718, 722, 723, - 725, 726, 727,-32766, 728, 0, 732, 717, 300, 901, - 1368, 75, 1370, 861, 0, 860, 869, 328, 953, 996, - 868, 1369, 952, 950, 951, 300, 954, 1236, 75, 934, - 944, 0, 932, 986, 328, 987, 639, 1367, 1324, 1313, - 1331, 1340 + 747, 746, 290, 106, 107, 108,-32766, 274,-32766,-32766, + -32766,-32766,-32766,-32766,-32766, 993, 26, 36, 248, 109, + 756,-32766,-32766,-32766, 1114, 1115, 1116, 1113, 1112, 1111, + 1117, -608, 727, -608, 264, 134, 384, 760, 761, 762, + 763, -342,-32766, 425,-32766,-32766,-32766,-32766, 747, 746, + 817, 764, 765, 766, 767, 768, 769, 770, 771, 772, + 773, 793, 565, 794, 795, 796, 797, 785, 786, 345, + 346, 788, 789, 774, 775, 776, 778, 779, 780, 357, + 820, 821, 822, 823, 824, 566, 781, 782, 567, 568, + 610, 805, 803, 804, 816, 800, 801, -328, -194, 569, + 570, 799, 571, 572, 573, 574, 35, 575, 576, 150, + 82, 83, 84, 485, 802, 577, 578, 838, 148, 777, + 748, 749, 750, 751, 752, -605, 753, 754, 755, 790, + 791, 37, -605, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 1035, 274,-32766, + -32766,-32766, 961, 962,-32766,-32766,-32766, 963, -193, 126, + 109, 383, 382, 957, 756,-32766,-32766,-32766, 136, 1038, + -32766, 424,-32766,-32766,-32766, 1260, 237, 145, 757, 758, + 759, 760, 761, 762, 763, 251,-32766, 826,-32766,-32766, + -559, 560, 310, 283, 817, 764, 765, 766, 767, 768, + 769, 770, 771, 772, 773, 793, 815, 794, 795, 796, + 797, 785, 786, 787, 814, 788, 789, 774, 775, 776, + 778, 779, 780, 819, 820, 821, 822, 823, 824, 825, + 781, 782, 783, 784, -561, 805, 803, 804, 816, 800, + 801, -85, 238, 792, 798, 799, 806, 807, 809, 808, + 945, 810, 811, 1292, -559, -559, 837, 616, 802, 813, + 812, 49, 50, 51, 516, 52, 53, 103, 104, 105, + -559, 54, 55, 922, 56, -605, 922, -605, 460, 461, + 462, 291, -565,-32766, -559, 393, 1367, 7, 312, 1368, + 358, 381, 382, 1091, 24, 945, -557, 739, -561, -561, + 833, 424, 324, 717,-32766, 1061, 718, -85, 340, 57, + 58,-32766, 151, -193, -556, 59, 1106, 60, 245, 246, + 61, 62, 63, 64, 65, 66, 67, 68, -561, 28, + 266, 69, 440, 517, 287, 363, 74, 1286, 1287, 518, + 1338, 837, 327, 1280, 299, 1284, 42, 19, 519, 864, + 520, 865, 521, 341, 522, 922, 912, 523, 524, 912, + -557, -557, 44, 45, 446, 378, 377,-32766, 46, 525, + 1025, 1024, 1023, 1026, 369, 339, -557, 834, -556, -556, + -599, 1246, -599, 527, 528, 529, 1253,-32766, -564, 1038, + -557, -272, 1035, 830, -556, 531, 532, 371, 1272, 1273, + 1274, 1275, 1277, 1269, 1270, 298, -563, 375, -556, 1038, + 47, 1276, 1271, 290, 1038, 1255, 1254, 1256, 299, 828, + 1035, 70, 1251, 391, 837, 322, 323, 327, 922, -153, + -153, -153, 924, 659, 20, 924, 712, 442, 912, 712, + 678, 679, 1038, 1037, -153, 443, -153, 444, -153, 445, + -153, 843, 287, 28, 266, -87, 425, -84, 719, -78, + 376, 939, 1255, 1254, 1256, 837, 283, 747, 746, 1284, + 832, 961, 962, 153, 300, 301, 526, 714, 328, 922, + 154, 898, 957, -110, -110, -110, 32, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 28, 267, 692, 141, 125, 1246, 140, 327, 155, 722, + 327, 912, 837, 157, 924, 33, 1284, -73, 712, -153, + 532, -78, 1272, 1273, 1274, 1275, 1277, 1269, 1270, 1162, + 1164, -58, 1255, 1254, 1256, 1276, 1271, -558, 693, 922, + -555, 1092, 470, 471, -57, 72, 149, 408, 379, 380, + 323, 327, 1246, 385, 386, 650, 651, 747, 746, 694, + 695, 123, 912, 922, -4, 922, 531, 532, -72, 1272, + 1273, 1274, 1275, 1277, 1269, 1270, 124, 137, 1255, 1254, + 1256, 138, 1276, 1271, 283, 144, 158, 978, 159, 747, + 746, 712, 72, 729,-32766, 160, 161, 323, 327, 162, + 1253, -558, -558, -302, -555, -555, -71,-32766,-32766,-32766, + 288,-32766, -70,-32766, 289,-32766, -69, -558,-32766, -555, + -555, -68, 912,-32766,-32766,-32766,-32766, -67, -66,-32766, + -32766, -558, 1253, -65, -555,-32766, 421, -46, 924,-32766, + -32766,-32766, 712,-32766,-32766,-32766, 912,-32766, 912, -298, + -32766, -18, 142, 273, 284,-32766,-32766,-32766, 728, 731, + 921,-32766,-32766, 147, 274, 279, 280,-32766, 421, 285, + 376, 286, 437, 28, 267, 73,-32766, 297, 333, 292, + 109, 961, 962, -555, -555, 837, 526, 293, 48, 1284, + 688, 530, 957, -110, -110, -110, 146, 828, 924, -555, + -32766, 837, 712, 681, 703, 581, 665, 1121, 666, 23, + 958, 648, 587, -555, 307, 10, 1369, -50, 304, 311, + 614, 305, 924, 1291, 924, 1246, 712, 660, 712, -4, + 705,-32766, 467, 941, -521, 1281, 495, 1219, 1293, -511, + 532, 682, 1272, 1273, 1274, 1275, 1277, 1269, 1270, 139, + 0, 8, 302, 303, 27, 1276, 1271, -593, 299, 1285, + -32766, 836, 0, 0, 0, 72, 1253, 0, 374, 0, + 323, 327, 0,-32766,-32766,-32766, 0,-32766, 0,-32766, + 0,-32766, 127, 0,-32766, 0, 0, 0, 0,-32766, + -32766,-32766,-32766, 0, 373,-32766,-32766, 0, 1253, 0, + 922,-32766, 421, -275, 0,-32766,-32766,-32766, 40,-32766, + -32766,-32766, 41,-32766, 736, 737,-32766, 856, 903, 922, + 1002,-32766,-32766,-32766,-32766, 979, 986,-32766,-32766, 976, + 1253, 987, 901,-32766, 421, 974, 1095,-32766,-32766,-32766, + 1098,-32766,-32766,-32766, 1099,-32766, 848, 1096,-32766, 1097, + 1103, -273, 490,-32766,-32766,-32766,-32766, 1308, 1326,-32766, + -32766, 1360, 1253, 594, 653,-32766, 421, -592, -591,-32766, + -32766,-32766, -565,-32766,-32766,-32766, -564,-32766, -563, -562, + -32766, -505, 1, 912, 29,-32766,-32766,-32766, 30, 39, + 1260,-32766,-32766, 43, 71, 75, 76,-32766, 421, -250, + -250, -250, 912, 77, 78, 376,-32766, 1260, 79, 80, + 143, 152, 327, 156, 243, 329, 961, 962, -249, -249, + -249, 526, 358, 359, 376, 360, 898, 957, -110, -110, + -110, 361, 362, 363, 364, 961, 962, -16, 365, 366, + 526, 367, 368, 370, 0, 898, 957, -110, -110, -110, + 438, 559, 733, -272, 12,-32766, 13, 14, 15, 924, + 17, 1253, 34, 712, -250, 407, 486, 487,-32766,-32766, + -32766, 837,-32766, 494,-32766, 497,-32766, 498, 924,-32766, + 499, 899, 712, -249,-32766,-32766,-32766, 500, 837, 504, + -32766,-32766, 505, 506, 514, 592,-32766, 421, 698, 1064, + 1202, 1282, 1063, 1044, 1241,-32766, -110, -110, 1040, -277, + -102, -110, 11, 16, 21, 296, 406, -110, 606, 611, + 639, 704, 1206, -110, -110, 1259,-32766, 1203, -110, 1339, + 1364, 321, 372, 713, -110, 716, 720, 721, 723, 724, + 725, 726, 730,-32766, 715, 0, 0, 1366, 299, 859, + 858, 74, 867, 951, 0, 994, 866, 327, 1365, 950, + 948, 949, 952, 1234, 932, 299, 942, 930, 74, 984, + 985, 0, 637, 1363, 327, 1320, 1309, 1327, 1336 ); protected array $actionCheck = array( @@ -635,7 +634,7 @@ class Php7 extends \PhpParser\ParserAbstract 102, 122, 162, 162, 106, 162, 127, 128, 129, 130, 131, 162, 162, 162, 162, 117, 118, 31, 162, 162, 122, 162, 162, 162, -1, 127, 128, 129, 130, 131, - 162, 162, 162, -1, 163, 74, 163, 163, 163, 160, + 162, 162, 165, 163, 163, 74, 163, 163, 163, 160, 163, 80, 164, 164, 165, 163, 163, 163, 87, 88, 89, 82, 91, 163, 93, 163, 95, 163, 160, 98, 163, 165, 164, 165, 103, 104, 105, 163, 82, 163, @@ -643,12 +642,11 @@ class Php7 extends \PhpParser\ParserAbstract 163, 163, 163, 163, 163, 124, 117, 118, 163, 163, 163, 122, 163, 163, 163, 163, 163, 128, 163, 163, 163, 163, 163, 117, 118, 163, 137, 163, 122, 163, - 163, 163, -1, 164, 128, 164, 164, 164, 164, 164, - 164, 164, 164, 137, 164, -1, 164, 164, 159, 165, + 165, 164, 164, 164, 128, 164, 164, 164, 164, 164, + 164, 164, 164, 137, 164, -1, -1, 165, 159, 165, 165, 162, 165, 165, -1, 165, 165, 168, 165, 165, 165, 165, 165, 165, 165, 159, 165, 165, 162, 165, - 165, -1, 165, 165, 168, 165, 165, 165, 165, 165, - 165, 165 + 165, -1, 165, 165, 168, 165, 165, 165, 165 ); protected array $actionBase = array( @@ -668,68 +666,67 @@ class Php7 extends \PhpParser\ParserAbstract 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, - 1081, 1081, 1081, 1081, 147, 45, 279, 701, 1055, 1064, - 1057, 1066, 1052, 1051, 1056, 1058, 1067, 1112, 1113, 832, - 1114, 1115, 1111, 1116, 1059, 903, 1053, 1062, 291, 291, + 1081, 1081, 1081, 147, 45, 279, 701, 1052, 1059, 1055, + 1062, 1050, 1049, 1053, 1056, 1064, 1108, 1110, 832, 1111, + 1112, 1107, 1113, 1057, 903, 1051, 1058, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 57, 345, 171, 42, 42, + 291, 291, 291, 291, 57, 345, 171, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 630, 630, - 54, 54, 54, 356, 803, 583, 803, 803, 803, 803, - 803, 803, 803, 803, 340, 202, 670, 47, 166, 166, - 7, 7, 7, 7, 7, 1106, 66, 1089, 1089, -25, - -25, -25, -25, 451, 504, 374, 393, -93, 30, 385, - 231, 231, 417, 417, 476, 476, 9, 9, 476, 476, - 476, 471, 471, 471, 471, 320, 426, 444, -94, 306, - 794, 539, 539, 539, 539, 794, 794, 794, 794, 791, - 792, 794, 794, 794, 667, 749, 749, 818, 140, 140, - 140, 749, 443, 59, 59, 443, 235, 59, 5, 406, - 367, 782, 255, 419, 367, 364, 540, 314, 60, 805, - 642, 805, 1050, 328, 815, 815, 373, 806, 686, 890, - 1083, 1068, 808, 1108, 841, 1110, 349, 608, 628, 1049, - 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, - 944, 201, 1050, 420, 944, 944, 944, 201, 201, 201, - 201, 201, 201, 201, 201, 201, 201, 644, 420, 558, + 42, 42, 42, 42, 42, 42, 42, 630, 630, 54, + 54, 54, 356, 803, 583, 803, 803, 803, 803, 803, + 803, 803, 803, 340, 202, 670, 47, 166, 166, 7, + 7, 7, 7, 7, 1106, 66, 1089, 1089, -25, -25, + -25, -25, 451, 504, 374, 393, -93, 30, 385, 231, + 231, 417, 417, 476, 476, 9, 9, 476, 476, 476, + 471, 471, 471, 471, 320, 426, 444, -94, 306, 794, + 539, 539, 539, 539, 794, 794, 794, 794, 791, 792, + 794, 794, 794, 667, 749, 749, 818, 140, 140, 140, + 749, 443, 59, 59, 443, 235, 59, 5, 406, 367, + 782, 255, 419, 367, 364, 540, 314, 60, 805, 642, + 805, 1047, 328, 815, 815, 806, 686, 373, 890, 1080, + 1066, 808, 1104, 841, 1105, 349, 608, 628, 1046, 1046, + 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 944, + 201, 1047, 420, 944, 944, 944, 201, 201, 201, 201, + 201, 201, 201, 201, 820, 201, 201, 644, 420, 558, 565, 420, 843, 201, 147, 789, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 820, 139, 147, 45, - 58, 58, 333, 53, 58, 58, 58, 58, 147, 147, - 147, 147, 642, 807, 758, 647, 766, 350, 807, 807, - 807, 410, 124, 428, 125, 768, 814, 379, 817, 817, - 825, 920, 817, 819, 817, 825, 932, 817, 817, 920, - 920, 799, 920, 360, 629, 500, 599, 637, 920, 384, - 817, 817, 817, 817, 787, 920, 639, 817, 377, 369, - 817, 817, 787, 786, 823, 146, 788, 920, 920, 920, - 787, 589, 788, 788, 788, 854, 855, 798, 822, 494, - 480, 643, 288, 623, 822, 822, 817, 615, 798, 822, - 798, 822, 778, 822, 822, 822, 798, 822, 819, 545, - 822, 770, 772, 641, 198, 822, 38, 933, 934, 624, - 941, 927, 942, 989, 946, 947, 1072, 919, 953, 931, - 948, 990, 926, 922, 829, 745, 760, 801, 784, 917, - 811, 811, 811, 910, 914, 811, 811, 811, 811, 811, - 811, 811, 811, 745, 774, 844, 816, 963, 761, 765, - 1035, 776, 1084, 771, 961, 1037, 949, 848, 769, 1002, - 969, 1016, 1069, 970, 971, 1003, 1038, 857, 1039, 1085, - 826, 1087, 1088, 885, 976, 1073, 811, 933, 947, 626, - 931, 948, 926, 922, 802, 797, 790, 796, 785, 781, - 737, 775, 821, 1040, 906, 795, 896, 972, 916, 745, - 897, 993, 998, 1004, 1010, 1071, 835, 833, 900, 1090, - 977, 979, 980, 1074, 1041, 1075, 852, 994, 840, 1012, - 839, 1091, 1014, 1017, 1024, 1026, 1076, 1093, 1077, 905, - 1078, 858, 837, 888, 810, 1094, 285, 834, 836, 850, - 988, 498, 960, 1080, 1095, 1096, 1029, 1030, 1031, 1097, - 1098, 951, 860, 995, 809, 997, 991, 865, 866, 659, - 842, 1045, 830, 831, 777, 666, 694, 1099, 1101, 1102, - 952, 827, 813, 869, 871, 1046, 773, 1047, 1104, 699, - 872, 1105, 1036, 779, 780, 705, 728, 715, 783, 838, - 1082, 804, 800, 812, 981, 780, 828, 875, 1107, 876, - 880, 884, 1032, 887, 0, 0, 0, 0, 0, 0, + 147, 147, 147, 147, 147, 147, 139, 147, 45, 58, + 58, 333, 53, 58, 58, 58, 58, 147, 147, 147, + 147, 642, 807, 758, 647, 410, 766, 350, 807, 807, + 807, 124, 428, 125, 768, 814, 379, 817, 817, 825, + 920, 920, 817, 819, 817, 825, 817, 817, 920, 920, + 799, 920, 360, 629, 500, 599, 637, 920, 384, 817, + 817, 817, 817, 787, 920, 146, 639, 817, 377, 369, + 817, 817, 787, 786, 823, 788, 920, 920, 920, 787, + 589, 788, 788, 788, 854, 855, 798, 822, 494, 480, + 643, 288, 623, 822, 822, 817, 615, 798, 822, 798, + 822, 778, 822, 822, 822, 798, 822, 819, 545, 822, + 770, 772, 641, 198, 822, 38, 932, 933, 624, 934, + 927, 941, 988, 942, 946, 1069, 919, 952, 931, 947, + 989, 926, 922, 829, 745, 760, 801, 784, 917, 811, + 811, 811, 910, 914, 811, 811, 811, 811, 811, 811, + 811, 811, 745, 774, 844, 816, 961, 761, 765, 1032, + 776, 1016, 771, 960, 932, 946, 626, 931, 947, 926, + 922, 802, 797, 790, 796, 785, 781, 737, 775, 821, + 1036, 948, 848, 769, 997, 963, 987, 1067, 969, 970, + 1002, 1037, 857, 1038, 1065, 826, 1082, 1084, 885, 972, + 1071, 811, 906, 795, 896, 971, 916, 745, 897, 1039, + 991, 998, 1003, 1004, 1068, 835, 833, 900, 1085, 976, + 977, 979, 1072, 1073, 852, 993, 840, 1010, 839, 1087, + 1012, 1014, 1017, 1024, 1074, 1088, 1075, 905, 1076, 858, + 837, 888, 810, 1090, 285, 834, 836, 850, 981, 498, + 953, 1077, 1091, 1093, 1026, 1029, 1030, 1094, 1095, 949, + 860, 994, 809, 995, 990, 865, 866, 659, 842, 1040, + 830, 831, 777, 666, 694, 1096, 1097, 1098, 951, 827, + 813, 869, 871, 1041, 773, 1045, 1099, 699, 872, 1101, + 1035, 779, 780, 705, 728, 715, 783, 838, 1078, 804, + 800, 812, 980, 780, 828, 875, 1102, 876, 880, 884, + 1031, 887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 459, 459, 459, 459, 459, 459, - 307, 307, 307, 307, 459, 459, 459, 459, 459, 459, - 459, 307, 459, 459, 459, 307, 307, 0, 0, 307, - 0, 459, 459, 459, 459, 459, 459, 459, 459, 459, + 0, 0, 459, 459, 459, 459, 459, 459, 307, 307, + 307, 307, 459, 459, 459, 459, 459, 459, 459, 307, + 459, 459, 459, 307, 307, 0, 0, 307, 0, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, @@ -742,180 +739,181 @@ class Php7 extends \PhpParser\ParserAbstract 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, + 459, 459, 459, 459, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 291, 291, 291, 291, 291, 291, 291, 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 506, 506, 291, 291, 291, 291, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 291, 291, 0, - 291, 291, 291, 291, 291, 291, 291, 291, 506, 799, - 506, 506, 140, 140, 140, 140, 506, 506, 506, -88, - -88, 506, 235, 506, 506, 140, 140, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 0, 0, - 0, 420, 59, 506, 819, 819, 819, 819, 506, 506, - 506, 506, 59, 59, 506, 506, 506, 0, 0, 0, - 0, 0, 0, 0, 0, 420, 0, 0, 420, 0, - 0, 819, 819, 506, 235, 799, 144, 506, 0, 0, - 0, 0, 420, 819, 420, 201, 817, 59, 59, 817, - 201, 201, 58, 147, 144, 645, 645, 645, 645, 0, - 0, 642, 799, 799, 799, 799, 799, 799, 799, 799, - 799, 799, 799, 819, 0, 799, 0, 819, 819, 819, + 291, 291, 291, 291, 291, 291, 291, 291, 506, 506, + 291, 291, 291, 291, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 291, 291, 0, 291, 291, 291, + 291, 291, 291, 291, 291, 506, 799, 506, 506, 140, + 140, 140, 140, 506, 506, 506, -88, -88, 506, 235, + 506, 506, 140, 140, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 0, 0, 0, 420, 59, + 506, 819, 819, 819, 819, 506, 506, 506, 506, 59, + 59, 506, 506, 506, 0, 0, 0, 0, 0, 0, + 0, 0, 420, 0, 0, 420, 0, 0, 819, 819, + 506, 235, 799, 144, 506, 0, 0, 0, 0, 420, + 819, 420, 201, 817, 59, 59, 201, 201, 817, 58, + 147, 144, 645, 645, 645, 645, 0, 0, 642, 799, + 799, 799, 799, 799, 799, 799, 799, 799, 799, 799, + 819, 0, 799, 0, 819, 819, 819, 0, 0, 0, + 0, 0, 0, 0, 0, 920, 0, 0, 0, 0, + 0, 0, 0, 819, 0, 0, 920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 819, 0, 0, 920, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 932, - 0, 0, 0, 0, 0, 0, 819, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 811, 835, 0, 835, - 0, 811, 811, 811, 0, 0, 0, 0, 842, 773 + 0, 0, 0, 819, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 811, 835, 0, 0, 835, 0, 811, + 811, 811, 0, 0, 0, 842, 773 ); protected array $actionDefault = array( 3,32767, 102,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 100,32767, 613, 613, - 613, 613,32767,32767, 254, 102,32767,32767, 480, 397, - 397, 397,32767,32767, 555, 555, 555, 555, 555, 555, - 32767,32767,32767,32767,32767,32767, 480,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 100,32767, 611, 611, + 611, 611,32767,32767, 254, 102,32767,32767, 480, 397, + 397, 397,32767,32767, 553, 553, 553, 553, 553,32767, + 32767,32767,32767,32767,32767, 480,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 36, 7, + 8, 10, 11, 49, 17, 324, 100,32767,32767,32767, + 32767,32767,32767,32767,32767, 102,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 100, - 32767,32767,32767, 36, 7, 8, 10, 11, 49, 17, - 324,32767,32767,32767,32767, 102,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 604,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 606,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 385, 484, 463, + 464, 466, 467, 396, 554, 610, 327, 607, 329, 395, + 145, 339, 330, 242, 258, 485, 259, 486, 489, 490, + 215, 382, 149, 150, 427, 481, 429, 479, 483, 428, + 402, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 400, 401, 482,32767,32767, 460, + 459, 458, 425,32767,32767,32767,32767,32767,32767,32767, + 32767, 102,32767, 426, 430, 399, 433, 431, 432, 449, + 450, 447, 448, 451,32767,32767,32767,32767, 452, 453, + 454, 455, 316,32767,32767, 366, 364, 316, 111,32767, + 32767, 440, 441,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 497, 547, 457,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 385, 484, - 463, 464, 466, 467, 396, 556, 612, 327, 609, 395, - 145, 339, 329, 242, 330, 258, 485, 259, 486, 489, - 490, 215, 382, 149, 150, 427, 481, 429, 479, 483, - 428, 402, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 400, 401, 482,32767,32767, - 460, 459, 458, 425,32767,32767,32767,32767,32767,32767, - 32767,32767, 102,32767, 426, 430, 399, 433, 431, 432, - 449, 450, 447, 448, 451,32767,32767,32767,32767, 452, - 453, 454, 455, 316,32767,32767, 366, 364, 316, 111, - 32767,32767, 440, 441,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 497, 549, 457,32767,32767, + 102,32767, 100, 549, 422, 424, 517, 435, 436, 434, + 403,32767, 522,32767, 102,32767, 524,32767,32767,32767, + 32767,32767,32767,32767, 548,32767, 555, 555,32767, 510, + 100, 195,32767,32767, 523, 195, 195,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 618, 510, 110, 110, + 110, 110, 110, 110, 110, 110, 110, 110, 110,32767, + 195, 110,32767,32767,32767, 100, 195, 195, 195, 195, + 195, 195, 195, 195, 525, 195, 195, 190,32767, 268, + 270, 102, 572, 195,32767, 527,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 102,32767, 100, 551, 422, 424, 517, 435, 436, - 434, 403,32767, 524,32767, 102,32767, 526,32767,32767, - 32767,32767,32767,32767,32767, 550,32767, 557, 557,32767, - 510, 100, 195,32767,32767, 525,32767, 195, 195,32767, - 32767,32767,32767,32767,32767,32767,32767, 620, 510, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 32767, 195, 110,32767,32767,32767, 100, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 190,32767, 268, - 270, 102, 574, 195,32767, 529,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 522,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 510, 445, 138,32767, 138, 557, 437, 438, - 439, 512, 557, 557, 557, 312, 289,32767,32767,32767, - 32767, 527, 100, 100, 100, 100, 522,32767,32767,32767, - 32767, 111, 496, 99, 99, 99, 99, 99, 103, 101, - 32767,32767,32767,32767, 223,32767, 99,32767, 101, 101, - 32767,32767, 223, 225, 212, 101, 227,32767, 578, 579, - 223, 101, 227, 227, 227, 247, 247, 499, 318, 101, - 99, 101, 101, 197, 318, 318,32767, 101, 499, 318, - 499, 318, 199, 318, 318, 318, 499, 318,32767, 101, - 318, 214, 385, 99, 99, 318,32767,32767,32767, 512, - 32767,32767,32767,32767,32767,32767,32767, 222,32767,32767, - 32767,32767,32767,32767,32767,32767, 544,32767, 562, 576, - 443, 444, 446, 561, 559, 468, 469, 470, 471, 472, - 473, 474, 476, 608,32767, 516,32767,32767,32767, 338, - 32767, 618,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 619, - 32767, 557,32767,32767,32767,32767, 442, 9, 74, 505, - 42, 43, 51, 57, 533, 534, 535, 536, 530, 531, - 537, 532,32767,32767, 539, 584,32767,32767, 558, 611, - 32767,32767,32767,32767,32767,32767, 138,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 544,32767, - 136,32767,32767,32767,32767,32767,32767,32767,32767, 540, - 32767,32767,32767, 557,32767,32767,32767,32767, 314, 311, + 32767, 510, 445, 138,32767, 512, 138, 555, 437, 438, + 439, 555, 555, 555, 312, 289,32767,32767,32767,32767, + 525, 525, 100, 100, 100, 100,32767,32767,32767,32767, + 111, 496, 99, 99, 99, 99, 99, 103, 101,32767, + 32767,32767,32767, 223,32767, 101, 99,32767, 101, 101, + 32767,32767, 223, 225, 212, 227,32767, 576, 577, 223, + 101, 227, 227, 227, 247, 247, 499, 318, 101, 99, + 101, 101, 197, 318, 318,32767, 101, 499, 318, 499, + 318, 199, 318, 318, 318, 499, 318,32767, 101, 318, + 214, 385, 99, 99, 318,32767,32767,32767, 512,32767, + 32767,32767,32767,32767,32767,32767, 222,32767,32767,32767, + 32767,32767,32767,32767,32767, 542,32767, 560, 574, 443, + 444, 446, 559, 557, 468, 469, 470, 471, 472, 473, + 474, 476, 606,32767, 516,32767,32767,32767, 338,32767, + 616,32767,32767,32767, 9, 74, 505, 42, 43, 51, + 57, 531, 532, 533, 534, 528, 529, 535, 530,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 557,32767,32767,32767, - 32767,32767, 291,32767, 308,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 617,32767, 555,32767,32767,32767, + 32767, 442, 537, 582,32767,32767, 556, 609,32767,32767, + 32767,32767,32767,32767,32767, 138,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 542,32767, 136,32767, + 32767,32767,32767,32767,32767,32767,32767, 538,32767,32767, + 32767, 555,32767,32767,32767,32767, 314, 311,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 381, 512, 294, 296, 297,32767,32767, - 32767,32767, 360,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 152, 152, 3, 3, 341, 152, - 152, 152, 341, 341, 152, 341, 341, 341, 152, 152, - 152, 152, 152, 152, 280, 185, 262, 265, 247, 247, - 152, 352, 152 + 32767,32767,32767,32767, 555,32767,32767,32767,32767,32767, + 291,32767, 308,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767, 381, 512, 294, 296, 297,32767,32767,32767,32767, + 360,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767, 152, 152, 3, 3, 341, 152, 152, 152, + 341, 341, 152, 341, 341, 341, 152, 152, 152, 152, + 152, 152, 280, 185, 262, 265, 247, 247, 152, 352, + 152 ); protected array $goto = array( - 197, 197, 1038, 1069, 701, 353, 856, 433, 666, 479, - 1332, 1333, 710, 427, 321, 315, 316, 337, 581, 432, - 338, 434, 643, 897, 855, 897, 897, 167, 167, 167, - 167, 221, 198, 194, 194, 177, 179, 216, 194, 194, - 194, 194, 194, 195, 195, 195, 195, 195, 195, 189, - 190, 191, 192, 193, 218, 216, 219, 540, 541, 423, - 542, 545, 546, 547, 548, 549, 550, 551, 552, 1150, - 168, 169, 170, 196, 171, 172, 173, 166, 174, 175, - 176, 178, 215, 217, 220, 240, 243, 254, 255, 257, - 258, 259, 260, 261, 262, 263, 264, 269, 270, 271, - 272, 282, 283, 318, 319, 320, 428, 429, 430, 586, + 196, 196, 1036, 502, 699, 503, 1067, 432, 664, 624, + 661, 509, 708, 427, 320, 314, 315, 336, 596, 431, + 337, 433, 641, 895, 853, 895, 895, 166, 166, 166, + 166, 220, 197, 193, 193, 176, 178, 215, 193, 193, + 193, 193, 193, 194, 194, 194, 194, 194, 188, 189, + 190, 191, 192, 217, 215, 218, 539, 540, 422, 541, + 544, 545, 546, 547, 548, 549, 550, 551, 1148, 167, + 168, 169, 195, 170, 171, 172, 165, 173, 174, 175, + 177, 214, 216, 219, 239, 242, 253, 254, 256, 257, + 258, 259, 260, 261, 262, 263, 268, 269, 270, 271, + 281, 282, 317, 318, 319, 428, 429, 430, 601, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 180, 237, 181, 199, 200, - 201, 241, 189, 190, 191, 192, 193, 218, 1150, 202, - 182, 183, 184, 203, 199, 185, 242, 204, 202, 165, - 205, 206, 186, 207, 208, 209, 187, 210, 211, 188, - 212, 213, 214, 859, 614, 629, 632, 633, 634, 635, - 656, 657, 658, 712, 469, 469, 279, 279, 279, 279, - 857, 628, 628, 469, 626, 663, 605, 1287, 1287, 1287, - 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1230, 948, 852, - 482, 1231, 1234, 949, 1235, 1111, 1112, 864, 484, 913, - 908, 909, 922, 865, 910, 862, 911, 912, 863, 1041, - 1041, 916, 979, 686, 956, 421, 357, 1033, 1049, 1050, - 831, 1091, 1086, 1087, 1088, 465, 357, 357, 356, 356, - 356, 356, 1199, 890, 553, 553, 553, 553, 578, 609, - 357, 357, 852, 344, 357, 837, 1374, 354, 355, 917, - 1254, 918, 1254, 1254, 971, 412, 709, 559, 1038, 1038, - 1254, 357, 357, 1038, 351, 1038, 1038, 345, 344, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 1339, 1339, 1339, 1339, 698, 1254, 837, 833, 837, 1347, - 1254, 1254, 1254, 1254, 1047, 1048, 1254, 1254, 1254, 698, - 1000, 564, 557, 698, 604, 1104, 1357, 1357, 555, 1318, - 555, 555, 1044, 1043, 713, 930, 327, 310, 555, 931, - 511, 704, 946, 1102, 1357, 946, 636, 638, 640, 460, - 512, 343, 557, 564, 573, 574, 346, 584, 607, 621, - 622, 1360, 1360, 458, 872, 582, 619, 25, 973, 973, - 973, 973, 1334, 1335, 458, 967, 974, 1306, 1306, 884, - 559, 852, 871, 1306, 1306, 1306, 1306, 1306, 1306, 1306, - 1306, 1306, 1306, 1303, 1303, 426, 441, 616, 396, 1303, - 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 544, - 544, 5, 576, 6, 665, 544, 544, 544, 544, 544, - 544, 544, 544, 544, 544, 1003, 1147, 1062, 975, 440, - 736, 687, 671, 556, 1012, 1007, 339, 558, 568, 849, - 877, 558, 962, 568, 405, 1247, 399, 464, 451, 451, - 451, 451, 620, 1329, 874, 1329, 1329, 1245, 1075, 472, - 585, 473, 474, 1329, 1017, 1017, 882, 571, 1022, 1365, - 1366, 737, 642, 644, 740, 886, 664, 1122, 1079, 0, - 688, 691, 1014, 699, 708, 1010, 984, 1029, 0, 1341, - 1341, 1341, 1341, 543, 543, 880, 250, 250, 0, 543, - 0, 543, 543, 543, 543, 543, 543, 543, 543, 0, - 326, 276, 326, 326, 0, 0, 1325, 435, 0, 0, - 1249, 0, 435, 248, 248, 248, 248, 245, 251, 0, - 1045, 1045, 503, 0, 504, 670, 1056, 1052, 1053, 0, - 510, 0, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 0, 0, 451, 0, 0, 1077, 0, - 410, 411, 1327, 1327, 1077, 675, 1271, 676, 0, 414, - 415, 416, 0, 689, 1250, 1251, 417, 935, 1137, 0, - 0, 349, 0, 847, 624, 885, 873, 1074, 1078, 0, - 1019, 659, 660, 0, 677, 678, 679, 982, 876, 0, - 669, 998, 1252, 1315, 1316, 0, 870, 398, 401, 565, - 606, 610, 0, 0, 0, 0, 0, 0, 1244, 0, - 0, 972, 0, 0, 0, 0, 0, 0, 0, 0, + 232, 233, 234, 235, 179, 236, 180, 188, 189, 190, + 191, 192, 217, 1148, 198, 199, 200, 201, 240, 181, + 182, 202, 183, 203, 199, 184, 241, 198, 164, 204, + 205, 185, 206, 207, 208, 186, 209, 210, 187, 211, + 212, 213, 857, 613, 627, 630, 631, 632, 633, 654, + 655, 656, 710, 352, 854, 343, 278, 278, 278, 278, + 835, 626, 626, 478, 1328, 1329, 603, 1283, 1283, 1283, + 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1228, 946, 344, + 343, 1229, 1232, 947, 1233, 855, 915, 862, 916, 911, + 906, 907, 920, 863, 908, 860, 909, 910, 861, 1001, + 914, 835, 973, 835, 734, 356, 977, 555, 1010, 1005, + 1089, 1084, 1085, 1086, 420, 356, 356, 355, 355, 355, + 355, 602, 1102, 657, 658, 481, 675, 676, 677, 356, + 356, 711, 483, 356, 829, 1370, 459, 510, 702, 1252, + 1100, 1252, 1252, 888, 469, 469, 558, 1036, 1036, 1252, + 356, 356, 1036, 469, 1036, 1036, 1109, 1110, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1335, + 1335, 1335, 1335, 696, 1252, 870, 831, 464, 593, 1252, + 1252, 1252, 1252, 441, 1197, 1252, 1252, 1252, 696, 563, + 556, 882, 696, 554, 869, 554, 554, 1039, 1039, 1314, + 350, 684, 954, 554, 928, 1031, 1047, 1048, 929, 1343, + 426, 944, 615, 1353, 1353, 5, 944, 6, 998, 511, + 342, 556, 563, 588, 589, 347, 599, 605, 457, 620, + 621, 1353, 396, 971, 971, 971, 971, 25, 591, 457, + 965, 972, 969, 411, 707, 1302, 1302, 1060, 1356, 1356, + 558, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, + 1302, 1299, 1299, 398, 401, 604, 608, 1299, 1299, 1299, + 1299, 1299, 1299, 1299, 1299, 1299, 1299, 543, 543, 1042, + 1041, 850, 663, 543, 543, 543, 543, 543, 543, 543, + 543, 543, 543, 634, 636, 638, 552, 552, 552, 552, + 1145, 607, 1045, 1046, 353, 354, 557, 583, 439, 326, + 309, 557, 685, 583, 1245, 399, 463, 450, 450, 450, + 450, 847, 1325, 669, 1325, 1325, 1330, 1331, 472, 600, + 473, 474, 1325, 338, 850, 960, 880, 586, 875, 1361, + 1362, 735, 640, 642, 597, 618, 662, 872, 405, 619, + 686, 689, 1012, 697, 706, 1008, 1020, 1073, 1337, 1337, + 1337, 1337, 542, 542, 878, 249, 249, 1243, 542, 738, + 542, 542, 542, 542, 542, 542, 542, 542, 325, 275, + 325, 325, 479, 1077, 884, 1321, 0, 982, 1027, 1120, + 1247, 0, 247, 247, 247, 247, 244, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1120, 889, 0, 0, 0, 0, + 0, 450, 450, 450, 450, 450, 450, 450, 450, 450, + 450, 450, 0, 0, 450, 0, 0, 1075, 0, 409, + 410, 1323, 1323, 1075, 673, 0, 674, 0, 413, 414, + 415, 0, 687, 1248, 1249, 416, 1235, 0, 0, 0, + 348, 609, 845, 850, 933, 1135, 0, 0, 0, 1235, + 0, 0, 883, 871, 1072, 1076, 1017, 0, 0, 0, + 0, 1250, 1311, 1312, 874, 980, 667, 996, 0, 0, + 0, 0, 868, 434, 0, 0, 0, 0, 434, 0, + 0, 0, 0, 0, 1242, 0, 1043, 1043, 970, 0, + 0, 668, 1054, 1050, 1051, 1015, 1015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1118, 887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -923,12 +921,12 @@ class Php7 extends \PhpParser\ParserAbstract 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 253, 253 + 0, 252, 252 ); protected array $gotoCheck = array( - 42, 42, 73, 128, 73, 97, 26, 66, 66, 183, - 183, 183, 9, 66, 66, 66, 66, 66, 66, 66, + 42, 42, 73, 160, 73, 160, 128, 66, 66, 56, + 56, 160, 9, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 25, 25, 25, 25, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, @@ -943,55 +941,55 @@ class Php7 extends \PhpParser\ParserAbstract 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 15, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 154, 154, 23, 23, 23, 23, - 27, 108, 108, 154, 56, 56, 131, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 79, 79, 22, - 84, 79, 79, 79, 79, 145, 145, 15, 84, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 89, - 89, 15, 49, 89, 89, 43, 14, 89, 89, 89, - 6, 15, 15, 15, 15, 156, 14, 14, 24, 24, - 24, 24, 156, 45, 107, 107, 107, 107, 179, 107, - 14, 14, 22, 175, 14, 12, 14, 97, 97, 65, - 73, 65, 73, 73, 93, 93, 93, 14, 73, 73, - 73, 14, 14, 73, 186, 73, 73, 175, 175, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 9, 9, 9, 9, 7, 73, 12, 7, 12, 188, - 73, 73, 73, 73, 120, 120, 73, 73, 73, 7, - 103, 76, 76, 7, 8, 8, 189, 189, 19, 14, - 19, 19, 119, 119, 8, 73, 176, 176, 19, 73, - 8, 8, 9, 8, 189, 9, 85, 85, 85, 83, - 14, 76, 76, 76, 76, 76, 76, 76, 76, 76, - 76, 189, 189, 19, 35, 2, 2, 76, 19, 19, - 19, 19, 185, 185, 19, 19, 19, 177, 177, 35, - 14, 22, 35, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 178, 178, 13, 83, 13, 62, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 178, 180, - 180, 46, 104, 46, 64, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 180, 50, 155, 115, 50, 113, - 50, 117, 121, 50, 50, 50, 29, 9, 9, 18, - 39, 9, 92, 9, 28, 14, 9, 9, 23, 23, - 23, 23, 80, 131, 37, 131, 131, 167, 130, 9, - 9, 9, 9, 131, 107, 107, 9, 48, 110, 9, - 9, 48, 48, 48, 99, 41, 48, 148, 133, -1, - 48, 48, 48, 48, 48, 48, 96, 114, -1, 131, - 131, 131, 131, 163, 163, 9, 5, 5, -1, 163, - -1, 163, 163, 163, 163, 163, 163, 163, 163, -1, - 24, 24, 24, 24, -1, -1, 131, 118, -1, -1, - 20, -1, 118, 5, 5, 5, 5, 5, 5, -1, - 118, 118, 160, -1, 160, 118, 118, 118, 118, -1, - 160, -1, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, -1, -1, 23, -1, -1, 131, -1, - 82, 82, 131, 131, 131, 82, 20, 82, -1, 82, - 82, 82, -1, 82, 20, 20, 82, 17, 17, -1, - -1, 82, -1, 20, 17, 16, 16, 16, 16, -1, - 17, 86, 86, -1, 86, 86, 86, 16, 17, -1, - 17, 17, 20, 20, 20, -1, 17, 59, 59, 59, - 59, 59, -1, -1, -1, -1, -1, -1, 17, -1, - -1, 16, -1, -1, -1, -1, -1, -1, -1, -1, + 42, 42, 15, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 97, 26, 174, 23, 23, 23, 23, + 12, 108, 108, 182, 182, 182, 131, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 79, 79, 174, + 174, 79, 79, 79, 79, 27, 65, 15, 65, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 50, + 15, 12, 50, 12, 50, 14, 49, 50, 50, 50, + 15, 15, 15, 15, 43, 14, 14, 24, 24, 24, + 24, 8, 8, 86, 86, 84, 86, 86, 86, 14, + 14, 8, 84, 14, 6, 14, 83, 8, 8, 73, + 8, 73, 73, 45, 154, 154, 14, 73, 73, 73, + 14, 14, 73, 154, 73, 73, 145, 145, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 9, + 9, 9, 9, 7, 73, 35, 7, 156, 178, 73, + 73, 73, 73, 83, 156, 73, 73, 73, 7, 76, + 76, 35, 7, 19, 35, 19, 19, 89, 89, 14, + 185, 89, 89, 19, 73, 89, 89, 89, 73, 187, + 13, 9, 13, 188, 188, 46, 9, 46, 103, 14, + 76, 76, 76, 76, 76, 76, 76, 76, 19, 76, + 76, 188, 62, 19, 19, 19, 19, 76, 104, 19, + 19, 19, 93, 93, 93, 176, 176, 115, 188, 188, + 14, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 177, 177, 59, 59, 59, 59, 177, 177, 177, + 177, 177, 177, 177, 177, 177, 177, 179, 179, 119, + 119, 22, 64, 179, 179, 179, 179, 179, 179, 179, + 179, 179, 179, 85, 85, 85, 107, 107, 107, 107, + 155, 107, 120, 120, 97, 97, 9, 9, 113, 175, + 175, 9, 117, 9, 14, 9, 9, 23, 23, 23, + 23, 18, 131, 121, 131, 131, 184, 184, 9, 9, + 9, 9, 131, 29, 22, 92, 9, 48, 39, 9, + 9, 48, 48, 48, 2, 2, 48, 37, 28, 80, + 48, 48, 48, 48, 48, 48, 110, 130, 131, 131, + 131, 131, 162, 162, 9, 5, 5, 166, 162, 99, + 162, 162, 162, 162, 162, 162, 162, 162, 24, 24, + 24, 24, 157, 133, 41, 131, -1, 96, 114, 148, + 20, -1, 5, 5, 5, 5, 5, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 16, 16, -1, -1, -1, -1, + -1, 23, 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, -1, -1, 23, -1, -1, 131, -1, 82, + 82, 131, 131, 131, 82, -1, 82, -1, 82, 82, + 82, -1, 82, 20, 20, 82, 20, -1, -1, -1, + 82, 17, 20, 22, 17, 17, -1, -1, -1, 20, + -1, -1, 16, 16, 16, 16, 17, -1, -1, -1, + -1, 20, 20, 20, 17, 16, 17, 17, -1, -1, + -1, -1, 17, 118, -1, -1, -1, -1, 118, -1, + -1, -1, -1, -1, 17, -1, 118, 118, 16, -1, + -1, 118, 118, 118, 118, 107, 107, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 16, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -999,53 +997,53 @@ class Php7 extends \PhpParser\ParserAbstract -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 5, 5 + -1, 5, 5 ); protected array $gotoBase = array( - 0, 0, -361, 0, 0, 485, 207, 287, 306, -11, - 0, 0, -43, 46, -73, -187, 121, 99, 118, 53, - 115, 0, -80, 173, 235, 20, 2, 176, 95, 128, - 0, 0, 0, 0, 0, -19, 0, 103, 0, 105, - 0, 23, -1, 203, 0, 217, -339, 0, -258, 205, - 404, 0, 0, 0, 0, 0, 144, 0, 0, 552, - 0, 0, 346, 0, 165, 246, -231, 0, 0, 0, - 0, 0, 0, -5, 0, 0, -36, 0, 0, -213, - 96, -196, 56, 60, -272, -146, -141, 0, 0, -61, - 0, 0, 101, -42, 0, 0, 32, -481, 0, 55, - 0, 0, 0, 275, 359, 0, 0, 216, -57, 0, - 86, 0, 0, 141, -35, 143, 0, 137, 234, 42, - 18, 131, 0, 0, 0, 0, 0, 0, 1, 0, - 72, 178, 0, 25, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -71, 0, 0, 22, 0, - 0, 0, 0, 0, 140, 171, -33, 0, 0, 0, - 24, 0, 0, 245, 0, 0, 0, 76, 0, 0, - 0, 0, 0, 0, 0, -46, 3, 129, 145, 219, - 161, 0, 0, -293, 0, -12, 244, 0, 268, 7, - 0, 0 + 0, 0, -250, 0, 0, 484, 231, 286, 233, -11, + 0, 0, -117, -8, -73, -187, 129, 106, 131, 49, + 115, 0, 123, 173, 234, 20, 170, 201, 130, 156, + 0, 0, 0, 0, 0, -77, 0, 127, 0, 134, + 0, 62, -1, 212, 0, 237, -403, 0, -256, 209, + 208, 0, 0, 0, 0, 0, -31, 0, 0, 338, + 0, 0, 310, 0, 164, 193, -230, 0, 0, 0, + 0, 0, 0, -5, 0, 0, -36, 0, 0, -212, + 122, -196, 56, -22, -227, -68, -477, 0, 0, 38, + 0, 0, 125, 57, 0, 0, 63, -312, 0, 81, + 0, 0, 0, 303, 315, 0, 0, 388, -56, 0, + 105, 0, 0, 151, -3, 94, 0, 149, 331, 120, + 137, 153, 0, 0, 0, 0, 0, 0, 4, 0, + 102, 178, 0, 60, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 64, 0, + 0, 0, 0, 0, 230, 176, 30, 61, 0, 0, + -494, 0, 245, 0, 0, 0, 117, 0, 0, 0, + 0, 0, 0, 0, -123, 107, 128, 144, 269, 160, + 0, 0, -118, 0, 73, 290, 0, 298, 25, 0, + 0 ); protected array $gotoDefault = array( - -32768, 516, 744, 4, 745, 939, 820, 829, 602, 534, - 711, 350, 630, 424, 1323, 915, 1136, 583, 848, 1263, - 1237, 459, 851, 332, 734, 927, 898, 899, 402, 388, - 394, 400, 654, 631, 497, 883, 455, 875, 489, 878, - 454, 887, 164, 420, 514, 891, 3, 894, 562, 925, - 977, 389, 902, 390, 682, 904, 567, 906, 907, 397, - 403, 404, 1141, 575, 627, 919, 256, 569, 920, 387, - 921, 929, 392, 395, 692, 468, 508, 502, 413, 1106, - 570, 613, 651, 448, 476, 625, 637, 623, 483, 436, - 418, 331, 961, 969, 490, 466, 983, 352, 991, 742, - 1149, 645, 492, 999, 646, 1006, 1009, 535, 536, 481, - 1021, 273, 1024, 493, 1030, 22, 672, 1035, 1036, 673, - 647, 1058, 648, 674, 649, 1060, 475, 603, 1068, 456, - 1076, 1311, 457, 1080, 266, 1083, 278, 419, 437, 1089, - 1090, 9, 1096, 702, 703, 18, 277, 513, 1121, 693, - -32768,-32768,-32768,-32768, 453, 1148, 452, 1218, 1220, 563, - 494, 1238, 480, 295, 1241, 685, 509, 1246, 449, 1314, - 450, 537, 477, 317, 538, 1358, 309, 335, 314, 554, - 296, 336, 539, 478, 1320, 1328, 333, 31, 1348, 1359, - 580, 618 + -32768, 515, 742, 4, 743, 937, 818, 827, 579, 533, + 709, 349, 628, 423, 1319, 913, 1134, 598, 846, 1261, + 1267, 458, 849, 331, 732, 925, 896, 897, 402, 388, + 394, 400, 652, 629, 496, 881, 454, 873, 488, 876, + 453, 885, 163, 419, 513, 889, 3, 892, 561, 923, + 975, 389, 900, 390, 680, 902, 582, 904, 905, 397, + 403, 404, 1139, 590, 625, 917, 255, 584, 918, 387, + 919, 927, 392, 395, 690, 468, 507, 501, 412, 1104, + 585, 612, 649, 447, 475, 623, 635, 622, 482, 435, + 417, 330, 959, 967, 489, 466, 981, 351, 989, 740, + 1147, 643, 491, 997, 644, 1004, 1007, 534, 535, 480, + 1019, 272, 1022, 492, 1028, 22, 670, 1033, 1034, 671, + 645, 1056, 646, 672, 647, 1058, 465, 580, 1066, 455, + 1074, 1307, 456, 1078, 265, 1081, 277, 418, 436, 1087, + 1088, 9, 1094, 700, 701, 18, 276, 512, 1119, 691, + -32768,-32768,-32768,-32768, 452, 1146, 451, 1216, 1218, 562, + 493, 1236, 294, 1239, 683, 508, 1244, 448, 1310, 449, + 536, 476, 316, 537, 1354, 308, 334, 313, 553, 295, + 335, 538, 477, 1316, 1324, 332, 31, 1344, 1355, 595, + 617 ); protected array $ruleToNonTerminal = array( @@ -1098,21 +1096,20 @@ class Php7 extends \PhpParser\ParserAbstract 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 161, 163, 163, 164, 155, 155, 160, - 160, 165, 166, 166, 167, 168, 169, 169, 169, 169, + 42, 42, 42, 161, 162, 162, 163, 155, 155, 160, + 160, 164, 165, 165, 166, 167, 168, 168, 168, 168, 19, 19, 73, 73, 73, 73, 156, 156, 156, 156, - 171, 171, 157, 157, 159, 159, 159, 162, 162, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 178, - 178, 178, 108, 180, 180, 180, 180, 158, 158, 158, - 158, 158, 158, 158, 158, 59, 59, 174, 174, 174, - 174, 174, 181, 181, 170, 170, 170, 170, 182, 182, - 182, 182, 182, 182, 74, 74, 66, 66, 66, 66, - 131, 131, 131, 131, 185, 184, 173, 173, 173, 173, - 173, 173, 173, 172, 172, 172, 183, 183, 183, 183, - 107, 179, 187, 187, 186, 186, 188, 188, 188, 188, - 188, 188, 188, 188, 176, 176, 176, 176, 175, 190, - 189, 189, 189, 189, 189, 189, 189, 189, 191, 191, - 191, 191 + 170, 170, 159, 159, 159, 157, 157, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 177, 177, 177, + 108, 179, 179, 179, 179, 158, 158, 158, 158, 158, + 158, 158, 158, 59, 59, 173, 173, 173, 173, 173, + 180, 180, 169, 169, 169, 169, 181, 181, 181, 181, + 181, 181, 74, 74, 66, 66, 66, 66, 131, 131, + 131, 131, 184, 183, 172, 172, 172, 172, 172, 172, + 172, 171, 171, 171, 182, 182, 182, 182, 107, 178, + 186, 186, 185, 185, 187, 187, 187, 187, 187, 187, + 187, 187, 175, 175, 175, 175, 174, 189, 188, 188, + 188, 188, 188, 188, 188, 188, 190, 190, 190, 190 ); protected array $ruleToLength = array( @@ -1168,18 +1165,17 @@ class Php7 extends \PhpParser\ParserAbstract 10, 9, 10, 8, 3, 2, 2, 1, 1, 0, 4, 2, 1, 3, 2, 1, 2, 2, 2, 4, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, - 1, 1, 0, 3, 0, 1, 1, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 5, 3, 3, 4, 1, 1, 3, 1, 1, 1, - 1, 1, 3, 2, 3, 0, 1, 1, 3, 1, - 1, 1, 1, 1, 1, 3, 1, 1, 1, 4, - 4, 1, 4, 4, 0, 1, 1, 1, 3, 3, - 1, 4, 2, 2, 1, 3, 1, 4, 4, 3, - 3, 3, 3, 1, 3, 1, 1, 3, 1, 1, - 4, 1, 1, 1, 3, 1, 1, 2, 1, 3, - 4, 3, 2, 0, 2, 2, 1, 2, 1, 1, - 1, 4, 3, 3, 3, 3, 6, 3, 1, 1, - 2, 1 + 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 3, 5, 3, + 3, 4, 1, 1, 3, 1, 1, 1, 1, 1, + 3, 2, 3, 0, 1, 1, 3, 1, 1, 1, + 1, 1, 1, 3, 1, 1, 1, 4, 4, 1, + 4, 4, 0, 1, 1, 1, 3, 3, 1, 4, + 2, 2, 1, 3, 1, 4, 4, 3, 3, 3, + 3, 1, 3, 1, 1, 3, 1, 1, 4, 1, + 1, 1, 3, 1, 1, 2, 1, 3, 4, 3, + 2, 0, 2, 2, 1, 2, 1, 1, 1, 4, + 3, 3, 3, 3, 6, 3, 1, 1, 2, 1 ); protected function initReduceCallbacks(): void { @@ -2375,9 +2371,7 @@ protected function initReduceCallbacks(): void { $self->semValue = new Expr\Cast\Unset_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 475 => static function ($self, $stackPos) { - $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]); - $attrs['kind'] = strtolower($self->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; - $self->semValue = new Expr\Exit_($self->semStack[$stackPos-(2-2)], $attrs); + $self->semValue = $self->createExitExpr($self->semStack[$stackPos-(2-1)], $stackPos-(2-1), $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 476 => static function ($self, $stackPos) { $self->semValue = new Expr\ErrorSuppress($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); @@ -2501,287 +2495,281 @@ protected function initReduceCallbacks(): void { 520 => null, 521 => null, 522 => static function ($self, $stackPos) { - $self->semValue = null; - }, - 523 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; - }, - 524 => static function ($self, $stackPos) { $self->semValue = array(); }, - 525 => static function ($self, $stackPos) { + 523 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); foreach ($self->semValue as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; }, - 526 => static function ($self, $stackPos) { + 524 => static function ($self, $stackPos) { foreach ($self->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 527 => static function ($self, $stackPos) { + 525 => static function ($self, $stackPos) { $self->semValue = array(); }, - 528 => null, - 529 => static function ($self, $stackPos) { + 526 => null, + 527 => static function ($self, $stackPos) { $self->semValue = new Expr\ConstFetch($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 530 => static function ($self, $stackPos) { + 528 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Line($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 531 => static function ($self, $stackPos) { + 529 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\File($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 532 => static function ($self, $stackPos) { + 530 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Dir($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 533 => static function ($self, $stackPos) { + 531 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Class_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 534 => static function ($self, $stackPos) { + 532 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Trait_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 535 => static function ($self, $stackPos) { + 533 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Method($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 536 => static function ($self, $stackPos) { + 534 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Function_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 537 => static function ($self, $stackPos) { + 535 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Namespace_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 538 => static function ($self, $stackPos) { + 536 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Property($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 539 => static function ($self, $stackPos) { + 537 => static function ($self, $stackPos) { $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 540 => static function ($self, $stackPos) { + 538 => static function ($self, $stackPos) { $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 541 => static function ($self, $stackPos) { + 539 => static function ($self, $stackPos) { $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)])), $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 542 => static function ($self, $stackPos) { + 540 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_SHORT; $self->semValue = new Expr\Array_($self->semStack[$stackPos-(3-2)], $attrs); }, - 543 => static function ($self, $stackPos) { + 541 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_LONG; $self->semValue = new Expr\Array_($self->semStack[$stackPos-(4-3)], $attrs); $self->createdArrays->attach($self->semValue); }, - 544 => static function ($self, $stackPos) { + 542 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(1-1)]; $self->createdArrays->attach($self->semValue); }, - 545 => static function ($self, $stackPos) { + 543 => static function ($self, $stackPos) { $self->semValue = Scalar\String_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->supportsUnicodeEscapes()); }, - 546 => static function ($self, $stackPos) { + 544 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; foreach ($self->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', $self->phpVersion->supportsUnicodeEscapes()); } }; $self->semValue = new Scalar\InterpolatedString($self->semStack[$stackPos-(3-2)], $attrs); }, - 547 => static function ($self, $stackPos) { + 545 => static function ($self, $stackPos) { $self->semValue = $self->parseLNumber($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->allowsInvalidOctals()); }, - 548 => static function ($self, $stackPos) { + 546 => static function ($self, $stackPos) { $self->semValue = Scalar\Float_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, + 547 => null, + 548 => null, 549 => null, - 550 => null, - 551 => null, - 552 => static function ($self, $stackPos) { + 550 => static function ($self, $stackPos) { $self->semValue = $self->parseDocString($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)]), true); }, - 553 => static function ($self, $stackPos) { + 551 => static function ($self, $stackPos) { $self->semValue = $self->parseDocString($self->semStack[$stackPos-(2-1)], '', $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(2-2)], $self->tokenEndStack[$stackPos-(2-2)]), true); }, - 554 => static function ($self, $stackPos) { + 552 => static function ($self, $stackPos) { $self->semValue = $self->parseDocString($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)]), true); }, - 555 => static function ($self, $stackPos) { + 553 => static function ($self, $stackPos) { $self->semValue = null; }, - 556 => null, - 557 => null, - 558 => static function ($self, $stackPos) { + 554 => null, + 555 => null, + 556 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, + 557 => null, + 558 => null, 559 => null, 560 => null, 561 => null, 562 => null, - 563 => null, - 564 => null, - 565 => static function ($self, $stackPos) { + 563 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, + 564 => null, + 565 => null, 566 => null, - 567 => null, - 568 => null, - 569 => static function ($self, $stackPos) { + 567 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 570 => static function ($self, $stackPos) { + 568 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 571 => null, - 572 => static function ($self, $stackPos) { + 569 => null, + 570 => static function ($self, $stackPos) { $self->semValue = new Expr\MethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 573 => static function ($self, $stackPos) { + 571 => static function ($self, $stackPos) { $self->semValue = new Expr\NullsafeMethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 574 => static function ($self, $stackPos) { + 572 => static function ($self, $stackPos) { $self->semValue = null; }, + 573 => null, + 574 => null, 575 => null, - 576 => null, - 577 => null, - 578 => static function ($self, $stackPos) { + 576 => static function ($self, $stackPos) { $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 579 => static function ($self, $stackPos) { + 577 => static function ($self, $stackPos) { $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 580 => null, - 581 => static function ($self, $stackPos) { + 578 => null, + 579 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 582 => static function ($self, $stackPos) { + 580 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 583 => static function ($self, $stackPos) { + 581 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])), $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 584 => static function ($self, $stackPos) { + 582 => static function ($self, $stackPos) { $var = $self->semStack[$stackPos-(1-1)]->name; $self->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])) : $var; }, - 585 => static function ($self, $stackPos) { + 583 => static function ($self, $stackPos) { $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 586 => null, - 587 => static function ($self, $stackPos) { + 584 => null, + 585 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 588 => static function ($self, $stackPos) { + 586 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 589 => static function ($self, $stackPos) { + 587 => static function ($self, $stackPos) { $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 590 => static function ($self, $stackPos) { + 588 => static function ($self, $stackPos) { $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 591 => static function ($self, $stackPos) { + 589 => static function ($self, $stackPos) { $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 592 => static function ($self, $stackPos) { + 590 => static function ($self, $stackPos) { $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, + 591 => null, + 592 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; + }, 593 => null, - 594 => static function ($self, $stackPos) { + 594 => null, + 595 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 595 => null, 596 => null, 597 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; - }, - 598 => null, - 599 => static function ($self, $stackPos) { $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 600 => static function ($self, $stackPos) { + 598 => static function ($self, $stackPos) { $self->semValue = new Expr\List_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); $self->semValue->setAttribute('kind', Expr\List_::KIND_LIST); $self->postprocessList($self->semValue); }, - 601 => static function ($self, $stackPos) { + 599 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(1-1)]; $end = count($self->semValue)-1; if ($self->semValue[$end]->value instanceof Expr\Error) array_pop($self->semValue); }, - 602 => null, - 603 => static function ($self, $stackPos) { + 600 => null, + 601 => static function ($self, $stackPos) { /* do nothing -- prevent default action of $$=$self->semStack[$1]. See $551. */ }, - 604 => static function ($self, $stackPos) { + 602 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 605 => static function ($self, $stackPos) { + 603 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 606 => static function ($self, $stackPos) { + 604 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 607 => static function ($self, $stackPos) { + 605 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 608 => static function ($self, $stackPos) { + 606 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 609 => static function ($self, $stackPos) { + 607 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(3-3)], $self->semStack[$stackPos-(3-1)], false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 610 => static function ($self, $stackPos) { + 608 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(4-4)], $self->semStack[$stackPos-(4-1)], true, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 611 => static function ($self, $stackPos) { + 609 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(3-3)], $self->semStack[$stackPos-(3-1)], false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 612 => static function ($self, $stackPos) { + 610 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]), true); }, - 613 => static function ($self, $stackPos) { + 611 => static function ($self, $stackPos) { /* Create an Error node now to remember the position. We'll later either report an error, or convert this into a null element, depending on whether this is a creation or destructuring context. */ $attrs = $self->createEmptyElemAttributes($self->tokenPos); $self->semValue = new Node\ArrayItem(new Expr\Error($attrs), null, false, $attrs); }, - 614 => static function ($self, $stackPos) { + 612 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 615 => static function ($self, $stackPos) { + 613 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 616 => static function ($self, $stackPos) { + 614 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 617 => static function ($self, $stackPos) { + 615 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)]); }, - 618 => static function ($self, $stackPos) { + 616 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]); $attrs['rawValue'] = $self->semStack[$stackPos-(1-1)]; $self->semValue = new Node\InterpolatedStringPart($self->semStack[$stackPos-(1-1)], $attrs); }, - 619 => static function ($self, $stackPos) { + 617 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 620 => null, - 621 => static function ($self, $stackPos) { + 618 => null, + 619 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 622 => static function ($self, $stackPos) { + 620 => static function ($self, $stackPos) { $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 623 => static function ($self, $stackPos) { + 621 => static function ($self, $stackPos) { $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 624 => static function ($self, $stackPos) { + 622 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 625 => static function ($self, $stackPos) { + 623 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 626 => static function ($self, $stackPos) { + 624 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); }, - 627 => static function ($self, $stackPos) { + 625 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 628 => static function ($self, $stackPos) { + 626 => static function ($self, $stackPos) { $self->semValue = new Scalar\String_($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 629 => static function ($self, $stackPos) { + 627 => static function ($self, $stackPos) { $self->semValue = $self->parseNumString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 630 => static function ($self, $stackPos) { + 628 => static function ($self, $stackPos) { $self->semValue = $self->parseNumString('-' . $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 631 => null, + 629 => null, ]; } } diff --git a/lib/PhpParser/Parser/Php8.php b/lib/PhpParser/Parser/Php8.php index adaec8c91c..2f3627b964 100644 --- a/lib/PhpParser/Parser/Php8.php +++ b/lib/PhpParser/Parser/Php8.php @@ -162,15 +162,15 @@ class Php8 extends \PhpParser\ParserAbstract protected int $tokenToSymbolMapSize = 397; protected int $actionTableSize = 1278; - protected int $gotoTableSize = 660; + protected int $gotoTableSize = 658; protected int $invalidSymbol = 169; protected int $errorSymbol = 1; protected int $defaultAction = -32766; protected int $unexpectedTokenRule = 32767; - protected int $YY2TBLSTATE = 442; - protected int $numNonLeafStates = 754; + protected int $YY2TBLSTATE = 441; + protected int $numNonLeafStates = 752; protected array $symbolToName = array( "EOF", @@ -388,134 +388,134 @@ class Php8 extends \PhpParser\ParserAbstract ); protected array $action = array( - 131, 132, 133, 592, 134, 135, 1338, 766, 767, 768, - 136, 38,-32766,-32766,-32766, 1005,-32766,-32766,-32766,-32766, - -32766, 389, 388, 841,-32767,-32767,-32767,-32767, 102, 103, - 104, 430, 956,-32766, 0, 760, 759,-32766, 852,-32766, + 126, 127, 128, 569, 129, 130, 1334, 764, 765, 766, + 131, 38,-32766,-32766,-32766, 1003,-32766,-32766,-32766,-32766, + -32766, 388, 387, 839,-32767,-32767,-32767,-32767, 101, 102, + 103, 429, 954,-32766, 0, 758, 757,-32766, 850,-32766, -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, - -32767,-32766,-32766,-32766, 24, 769,-32766,-32766,-32766, 1128, - 1129, 1130, 1127, 1126, 1125, 1131, -328, 1104, 843, 263, - 137, 411, 773, 774, 775, 776, 1120,-32766, 436,-32766, - -32766,-32766,-32766,-32766, 158, 830, 777, 778, 779, 780, - 781, 782, 783, 784, 785, 786, 806, 593, 807, 808, - 809, 810, 798, 799, 345, 346, 801, 802, 787, 788, - 789, 791, 792, 793, 360, 833, 834, 835, 836, 837, - 594, 794, 795, 595, 596, -194, 818, 816, 817, 829, - 813, 814,-32766, 1042, 597, 598, 812, 599, 600, 601, - 602, -193, 603, 604, 1006, 845, 466, 467, 468, 815, - 605, 606, 723, 138, 1051, 131, 132, 133, 592, 134, - 135, 1075, 766, 767, 768, 136, 38, -110, 850, 82, - -85, 1372, -110, 322, -110,-32766,-32766,-32766, 291, 304, - 760, 759, -110, -110, -110, -110, -110, -110, -110, -110, - 760, 759,-32766,-32766,-32766, 736,-32766, 851,-32766,-32766, - -32766,-32766,-32766,-32766,-32766, 105, 106, 107, 108, 109, - 769, 273, 237,-32766, 2,-32766,-32766,-32766,-32766, 103, - 104, -328, 1297, 110, 263, 137, 411, 773, 774, 775, - 776, -342, 751, 436, 36, 247, -85, 877, 846, 878, - 830, 777, 778, 779, 780, 781, 782, 783, 784, 785, - 786, 806, 593, 807, 808, 809, 810, 798, 799, 345, - 346, 801, 802, 787, 788, 789, 791, 792, 793, 360, - 833, 834, 835, 836, 837, 594, 794, 795, 595, 596, - -194, 818, 816, 817, 829, 813, 814, 849, -562, 597, - 598, 812, 599, 600, 601, 602, -193, 603, 604,-32766, - 83, 84, 85, 850, 815, 605, 606, 162, 147, 790, - 761, 762, 763, 764, 765, 847, 766, 767, 768, 803, - 804, 37, 26, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 1048, 273,-32766, - -32766,-32766, -562, -562, 616, 387, 388,-32766,-32766,-32766, - 110, -272, 126, 35, 769, 430, 974, 975, -562, 1051, - -32766, 976,-32766,-32766,-32766, 490, 127, 970, 770, 771, - 772, 773, 774, 775, 776, 139, 1105, 839, 143, 322, - 749, 436, 1275, 282, 830, 777, 778, 779, 780, 781, - 782, 783, 784, 785, 786, 806, 828, 807, 808, 809, - 810, 798, 799, 800, 827, 801, 802, 787, 788, 789, - 791, 792, 793, 832, 833, 834, 835, 836, 837, 838, - 794, 795, 796, 797, 149, 818, 816, 817, 829, 813, - 814, 566, -565, 805, 811, 812, 819, 820, 822, 821, - 236, 823, 824, 1144,-32766,-32766,-32766, 741, 815, 826, - 825, 50, 51, 52, 522, 53, 54, 1270, 1269, 1271, - -32766, 55, 56, 850, 57,-32766, 1106,-32766,-32766, 1048, - 150, 292, 1128, 1129, 1130, 1127, 1126, 1125, 1131, 250, - 974, 975, 1051, 1357, 308, 976, -563, -601, 1353, -601, - 1356, 1051, -368, 1309, -368, 1074, -565, -565, 491, 310, - 58, 59, 622, 319, 935, 60, 958, 61, 244, 245, - 62, 63, 64, 65, 66, 67, 68, 69,-32766, 28, - 265, 70, 451, 523, 286,-32766,-32766, 1303, 1304, 524, - 1382, 850, 48, 1383, 726, 1301, 42, 19, 525, 935, - 526, 339, 527, 75, 528, 935, 361, 529, 530, 322, - -563, -563, 44, 45, 452, 384, 383,-32766, 46, 531, - 1038, 1037, 1036, 1039, 373, 338, -563, 841, 340, 727, - 398, 1261, 7, 533, 534, 535, 1268, -561, -569, 1051, - 760, 759, 323,-32766, -560, 537, 538, 925, 1289, 1290, - 1291, 1292, 1294, 1286, 1287, 296, 298, 299, 877, 958, - 878, 1293, 1288, 291,-32766, 1270, 1269, 1271, 297, 375, - 1048, 71, 1266, 28, 266, 317, 318, 322, 381, -153, - -153, -153, 925, 935, 396, 850, 666, 20, 925, 1301, - 685, 686, 1051, 1050, -153, 447, -153, 448, -153, 366, - -153, -561, -561, 148, 414, 152, 475, 476, -560, -560, - 382, 140, 1270, 1269, 1271, 322, 282, -561, 385, 386, - 449, 974, 975, 937, -560, 1261, 532, 721, 450, -568, - 856, 911, 970, -110, -110, -110, -567, 390, 391, 537, - 538, 153, 1289, 1290, 1291, 1292, 1294, 1286, 1287, 657, - 658, 760, 759, 154, 286, 1293, 1288, 156, 937, 33, - -78, -87, 721, -559, 937, 73, 925, 49, 721, -153, - 318, 322, 32, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, -58, -57,-32766, 124, - -4, 935, 292, 125, 1268, 128, 129, 142, 760, 759, - 157,-32766,-32766,-32766, 699,-32766, -84,-32766, 159,-32766, - 160, 161,-32766, -78, 935, 1177, 1179,-32766,-32766,-32766, - -73, 935, -72,-32766,-32766, 287, -559, -559, -559,-32766, - 427, 300, 301, -71, -70,-32766, -69, -68,-32766, -67, - 700, 1268, 937, -559, 728, -66, 721, 380,-32766,-32766, - -32766, 731,-32766, 935,-32766, -65,-32766, -46, -18,-32766, - 146, 701, 702, 272,-32766,-32766,-32766, 283, 737, 74, - -32766,-32766, 740, 934, 925, 145,-32766, 427,-32766, 273, - 1270, 1269, 1271, 738, -302,-32766, 282, 288, -298, 280, - -559, -559, 281, 28, 265, 284, 382, 925, 443, 285, - 1051, 328, 293, 295, 925, 850, -559, 974, 975, 1301, - 294, 695, 532, 952, 110, 841, 144, 536, 970, -110, - -110, -110, 850, 710, 291, 712, 28, 266, 571, 1135, - 673, 1384, 688, 305, 655, 970, 925, 971, 850, 577, - -32766, 10, 1301, 302, 309, 1261, 1308, 672, 667, 303, - 937, 1310,-32766, 954, 721, -4, 23, 849, 472, 501, - 538, 1298, 1289, 1290, 1291, 1292, 1294, 1286, 1287, 689, - -50, 620, -595, 991, 0, 1293, 1288, 721, 1261, 861, - 937, -523, 0, 0, 721, 73, 1325, 297, 0, 0, - 318, 322, 0, 538, 0, 1289, 1290, 1291, 1292, 1294, - 1286, 1287, 130, 0, 0, 0, 0, 0, 1293, 1288, - 0, 0, 937,-32766, 0, 0, 721, -513, 73, 1268, - 8, 27, 379, 318, 322, -594,-32766,-32766,-32766, 1342, - -32766, 0,-32766, 0,-32766, 1375, 40,-32766, 41, 746, - 747, 869,-32766,-32766,-32766,-32766, 916, 1015,-32766,-32766, - 992, 1268, 999, 935,-32766, 427, 989, 1000,-32766,-32766, - -32766, 914,-32766,-32766,-32766, 987,-32766, 1109, 1112,-32766, - 1113, 1110, 935, 1146,-32766,-32766,-32766,-32766, 1111, 1117, - -32766,-32766, 660, 1268, -593, -569,-32766, 427, -568, -567, - -32766,-32766,-32766, -566,-32766,-32766,-32766, -507,-32766, 1, - 29,-32766, 30, 39, 43, 496,-32766,-32766,-32766,-32766, - 47, 72,-32766,-32766, 76, 1268, 584, 77,-32766, 427, - 78, 79,-32766,-32766,-32766, 80,-32766,-32766,-32766, 81, - -32766, 141, 151,-32766, 155, 242, 925, 324,-32766,-32766, - -32766, 361, 362, 1275,-32766,-32766, 363, 364, 365, 366, - -32766, 427, -250, -250, -250, 925, 367, 368, 382,-32766, - 1275, 369, 370, 371, 374, 1302, 444, 565, 372, 974, - 975, -249, -249, -249, 532, -275, -273, 382, -272, 911, - 970, -110, -110, -110, 12, 13, 14, 15, 974, 975, - -16, 17, 355, 532, 413, 492, 493, 500, 911, 970, - -110, -110, -110, 503, 504, 505, 506, 510,-32766, 511, - 512, 519, 937, 582, 1268, 34, 721, -250, 705, 1279, - 1217,-32766,-32766,-32766, 850,-32766, 1299,-32766, 1077,-32766, - 1076, 937,-32766, 1057, 743, 721, -249,-32766,-32766,-32766, - 1256, 850, 1053,-32766,-32766, -277, -102, 11, 16,-32766, - 427, 21, 313, 412, 613, 617, 646, 711,-32766, -110, - -110, 1221, 1274, 1218, -110, 1354, 912, 316, 376, 722, - -110, 725, 729, 730, 732, 733, -110, -110, 734,-32766, - 735, -110, 739, 751, 724, 752, 0, -110, 1379, 1381, - 872, 871, 880, 964, 1007, 879,-32766, 1380, 963, 322, - 961, 297, 962, 965, 75, 1249, 945, 0, 955, 943, - 322, 1145, 1141, 1098, 997, 998, 644, 1378, 297, 1336, - 1351, 75, 1234, 0, 0, 0, 0, 322 + -32767,-32766,-32766,-32766, 24, 767,-32766,-32766,-32766, 1126, + 1127, 1128, 1125, 1124, 1123, 1129, -328, 1102, 841, 262, + 132, 389, 771, 772, 773, 774, 1118,-32766, 430,-32766, + -32766,-32766,-32766,-32766, 157, 828, 775, 776, 777, 778, + 779, 780, 781, 782, 783, 784, 804, 570, 805, 806, + 807, 808, 796, 797, 343, 344, 799, 800, 785, 786, + 787, 789, 790, 791, 359, 831, 832, 833, 834, 835, + 571, 792, 793, 572, 573, -194, 816, 814, 815, 827, + 811, 812,-32766, 1040, 574, 575, 810, 576, 577, 578, + 579, -193, 580, 581, 1004, 843, 465, 466, 467, 813, + 582, 583, 721, 133, 1049, 126, 127, 128, 569, 129, + 130, 1073, 764, 765, 766, 131, 38, -110, 848, 81, + -85, 1368, -110, 321, -110,-32766,-32766,-32766, 290, 303, + 758, 757, -110, -110, -110, -110, -110, -110, -110, -110, + 758, 757,-32766,-32766,-32766, 734,-32766, 849,-32766,-32766, + -32766,-32766,-32766,-32766,-32766, 104, 105, 106, 107, 108, + 767, 272, 236,-32766, 2,-32766,-32766,-32766,-32766, 102, + 103, -328, 1293, 109, 262, 132, 389, 771, 772, 773, + 774, -342, 749, 430, 36, 246, -85, 875, 844, 876, + 828, 775, 776, 777, 778, 779, 780, 781, 782, 783, + 784, 804, 570, 805, 806, 807, 808, 796, 797, 343, + 344, 799, 800, 785, 786, 787, 789, 790, 791, 359, + 831, 832, 833, 834, 835, 571, 792, 793, 572, 573, + -194, 816, 814, 815, 827, 811, 812, 847, -560, 574, + 575, 810, 576, 577, 578, 579, -193, 580, 581,-32766, + 82, 83, 84, 848, 813, 582, 583, 161, 146, 788, + 759, 760, 761, 762, 763, 845, 764, 765, 766, 801, + 802, 37, 26, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 1046, 272,-32766, + -32766,-32766, -560, -560, 615, 386, 387,-32766,-32766,-32766, + 109, -272, 125, 35, 767, 429, 972, 973, -560, 1049, + -32766, 974,-32766,-32766,-32766, 489, 134, 968, 768, 769, + 770, 771, 772, 773, 774, 138, 1103, 837, 143, 321, + 747, 430, 1273, 281, 828, 775, 776, 777, 778, 779, + 780, 781, 782, 783, 784, 804, 826, 805, 806, 807, + 808, 796, 797, 798, 825, 799, 800, 785, 786, 787, + 789, 790, 791, 830, 831, 832, 833, 834, 835, 836, + 792, 793, 794, 795, 148, 816, 814, 815, 827, 811, + 812, 565, -563, 803, 809, 810, 817, 818, 820, 819, + 235, 821, 822, 1142,-32766,-32766,-32766, 739, 813, 824, + 823, 49, 50, 51, 521, 52, 53, 1268, 1267, 1269, + -32766, 54, 55, 848, 56,-32766, 1104,-32766,-32766, 1046, + 149, 291, 1126, 1127, 1128, 1125, 1124, 1123, 1129, 249, + 972, 973, 1049, 1353, 307, 974, -561, -599, 1349, -599, + 1352, 1049, -368, 1305, -368, 1072, -563, -563, 490, 309, + 57, 58, 621, 318, 933, 59, 956, 60, 243, 244, + 61, 62, 63, 64, 65, 66, 67, 68,-32766, 28, + 264, 69, 445, 522, 285,-32766,-32766, 1299, 1300, 523, + 1378, 848, 47, 1379, 724, 1297, 42, 19, 524, 933, + 525, 338, 526, 74, 527, 933, 360, 528, 529, 321, + -561, -561, 44, 45, 451, 383, 382,-32766, 46, 530, + 1036, 1035, 1034, 1037, 372, 337, -561, 839, 339, 725, + 398, 1259, 7, 532, 533, 534, 1266, -559, -567, 1049, + 758, 757, 322,-32766, -558, 536, 537, 923, 1285, 1286, + 1287, 1288, 1290, 1282, 1283, 295, 297, 298, 875, 956, + 876, 1289, 1284, 290,-32766, 1268, 1267, 1269, 296, 374, + 1046, 70, 1264, 28, 265, 316, 317, 321, 380, -153, + -153, -153, 923, 933, 396, 848, 664, 20, 923, 1297, + 683, 684, 1049, 1048, -153, 447, -153, 448, -153, 365, + -153, -559, -559, 147, 413, 151, 475, 476, -558, -558, + 381, 139, 1268, 1267, 1269, 321, 281, -559, 384, 385, + 449, 972, 973, 935, -558, 1259, 531, 719, 450, -566, + 854, 909, 968, -110, -110, -110, -565, 390, 391, 536, + 537, 152, 1285, 1286, 1287, 1288, 1290, 1282, 1283, 655, + 656, 758, 757, 153, 285, 1289, 1284, 155, 935, 33, + -78, -87, 719, -557, 935, 72, 923, 48, 719, -153, + 317, 321, 32, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, -58, -57,-32766, 123, + -4, 933, 291, 124, 1266, 135, 136, 142, 758, 757, + 156,-32766,-32766,-32766, 697,-32766, -84,-32766, 158,-32766, + 159, 160,-32766, -78, 933, 1175, 1177,-32766,-32766,-32766, + -73, 933, -72,-32766,-32766, 286, -557, -557, -557,-32766, + 426, 299, 300, -71, -70,-32766, -69, -68,-32766, -67, + 698, 1266, 935, -557, 726, -66, 719, 379,-32766,-32766, + -32766, 729,-32766, 933,-32766, -65,-32766, -46, -18,-32766, + 140, 699, 700, 271,-32766,-32766,-32766, 282, 735, 73, + -32766,-32766, 738, 932, 923, 145,-32766, 426,-32766, 272, + 1268, 1267, 1269, 736, -302,-32766, 281, 287, -298, 279, + -557, -557, 280, 28, 264, 283, 381, 923, 442, 284, + 1049, 327, 292, 294, 923, 848, -557, 972, 973, 1297, + 293, 693, 531, 950, 109, 839, 144, 535, 968, -110, + -110, -110, 848, 708, 290, 710, 28, 265, 586, 1133, + 671, 1380, 686, 304, 653, 968, 923, 969, 848, 592, + -32766, 10, 1297, 301, 308, 1259, 1304, 670, 665, 302, + 935, 1306,-32766, 952, 719, -4, 23, 847, 472, 500, + 537, 1294, 1285, 1286, 1287, 1288, 1290, 1282, 1283, 687, + -50, 619, -593, 989, 0, 1289, 1284, 719, 1259, 859, + 935, -523, 0, 0, 719, 72, 1321, 296, 0, 0, + 317, 321, 0, 537, 0, 1285, 1286, 1287, 1288, 1290, + 1282, 1283, 137, 0, 0, 0, 0, 0, 1289, 1284, + 0, 0, 935,-32766, 0, 0, 719, -513, 72, 1266, + 8, 27, 378, 317, 321, -592,-32766,-32766,-32766, 1338, + -32766, 0,-32766, 0,-32766, 1371, 40,-32766, 41, 744, + 745, 867,-32766,-32766,-32766,-32766, 914, 1013,-32766,-32766, + 990, 1266, 997, 933,-32766, 426, 987, 998,-32766,-32766, + -32766, 912,-32766,-32766,-32766, 985,-32766, 1107, 1110,-32766, + 1111, 1108, 933, 1144,-32766,-32766,-32766,-32766, 1109, 1115, + -32766,-32766, 658, 1266, -591, -567,-32766, 426, -566, -565, + -32766,-32766,-32766, -564,-32766,-32766,-32766, -507,-32766, 1, + 29,-32766, 30, 39, 43, 495,-32766,-32766,-32766,-32766, + 71, 75,-32766,-32766, 76, 1266, 599, 77,-32766, 426, + 78, 79,-32766,-32766,-32766, 80,-32766,-32766,-32766, 141, + -32766, 150, 154,-32766, 241, 323, 923, 360,-32766,-32766, + -32766, 361, 362, 1273,-32766,-32766, 363, 364, 365, 366, + -32766, 426, -250, -250, -250, 923, 367, 368, 381,-32766, + 1273, 369, 370, 373, 443, 1298, 564, 371, 0, 972, + 973, -249, -249, -249, 531, -275, -273, 381, -272, 909, + 968, -110, -110, -110, 12, 13, 14, 15, 972, 973, + -16, 17, 354, 531, 412, 491, 492, 499, 909, 968, + -110, -110, -110, 502, 503, 504, 505, 509,-32766, 510, + 511, 518, 935, 597, 1266, 34, 719, -250, 703, 1075, + 1215,-32766,-32766,-32766, 848,-32766, 1295,-32766, 1074,-32766, + 1055, 935,-32766, 1254, 741, 719, -249,-32766,-32766,-32766, + 1051, 848, -277,-32766,-32766, -102, 11, 16, 21,-32766, + 426, 312, 411, 611, 616, 644, 709, 1219,-32766, -110, + -110, 1272, 1216, 1350, -110, 315, 375, 720, 723, 727, + -110, 728, 730, 731, 732, 733, -110, -110, 737,-32766, + 749, -110, 722, 750, 0, 910, 1375, -110, 1377, 870, + 869, 878, 962, 1005, 877, 1376,-32766, 961, 959, 321, + 960, 296, 963, 1247, 74, 943, 953, 0, 941, 1143, + 321, 1139, 1096, 995, 996, 642, 1374, 1332, 296, 1347, + 0, 74, 1232, 0, 0, 0, 0, 321 ); protected array $actionCheck = array( @@ -630,7 +630,7 @@ class Php8 extends \PhpParser\ParserAbstract 95, 162, 162, 98, 162, 162, 84, 162, 103, 104, 105, 162, 162, 1, 109, 110, 162, 162, 162, 162, 115, 116, 100, 101, 102, 84, 162, 162, 106, 124, - 1, 162, 162, 162, 162, 167, 162, 162, 162, 117, + 1, 162, 162, 162, 162, 167, 162, 162, -1, 117, 118, 100, 101, 102, 122, 163, 163, 106, 163, 127, 128, 129, 130, 131, 163, 163, 163, 163, 117, 118, 31, 163, 163, 122, 163, 163, 163, 163, 127, 128, @@ -640,13 +640,13 @@ class Php8 extends \PhpParser\ParserAbstract 163, 160, 98, 163, 165, 164, 165, 103, 104, 105, 163, 82, 163, 109, 110, 163, 163, 163, 163, 115, 116, 163, 163, 163, 163, 163, 163, 163, 124, 117, - 118, 163, 163, 163, 122, 163, 165, 164, 164, 164, + 118, 163, 163, 163, 122, 164, 164, 164, 164, 164, 128, 164, 164, 164, 164, 164, 117, 118, 164, 137, - 164, 122, 164, 164, 164, 164, -1, 128, 165, 165, + 164, 122, 164, 164, -1, 165, 165, 128, 165, 165, 165, 165, 165, 165, 165, 165, 137, 165, 165, 168, 165, 159, 165, 165, 162, 165, 165, -1, 165, 165, 168, 165, 165, 165, 165, 165, 165, 165, 159, 165, - 165, 162, 166, -1, -1, -1, -1, 168 + -1, 162, 166, -1, -1, -1, -1, 168 ); protected array $actionBase = array( @@ -666,69 +666,68 @@ class Php8 extends \PhpParser\ParserAbstract 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, - 1084, 1084, 1084, 37, -16, 353, 1069, 695, 1039, 1048, - 1041, 1049, 1035, 1034, 1040, 1042, 1050, 1102, 1104, 794, - 1101, 1105, 1043, 871, 1038, 1044, 863, 291, 291, 291, + 1084, 1084, 37, -16, 353, 1066, 695, 1038, 1044, 1040, + 1048, 1034, 1033, 1039, 1041, 1049, 1101, 1102, 794, 1100, + 1104, 1042, 871, 1035, 1043, 863, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 290, 348, 10, 42, 42, 42, 42, + 291, 291, 290, 348, 10, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 553, 553, 3, 3, - 3, 445, 806, 773, 806, 806, 806, 806, 806, 806, - 806, 806, 340, 183, 47, 706, 166, 166, 7, 7, - 7, 7, 7, 1109, 66, 1092, 1092, -20, -20, -20, - -20, 451, 504, 391, -47, 143, 396, 170, 712, 249, - 231, 231, 363, 363, 16, 16, 363, 363, 363, 154, - 154, 354, 354, 354, 354, 131, 356, 765, 497, 497, - 497, 497, 765, 765, 765, 765, 754, 948, 765, 765, - 765, 426, 517, 524, 484, 484, 502, 86, 86, 502, - 757, 86, 5, 460, 477, 759, -85, 336, 477, 956, - 218, 643, 643, 647, 643, 643, 643, 751, 562, 751, - 1033, 394, 805, 805, 487, 776, 739, 869, 1070, 1052, - 780, 1099, 819, 1100, 1071, 293, 17, 372, 472, 522, - 732, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, - 1032, 1032, 1032, 1081, 143, 1033, 158, 1097, 1098, 1081, - 1081, 1081, 143, 143, 143, 143, 143, 143, 143, 143, + 42, 42, 42, 42, 42, 553, 553, 3, 3, 3, + 445, 806, 773, 806, 806, 806, 806, 806, 806, 806, + 806, 340, 183, 47, 706, 166, 166, 7, 7, 7, + 7, 7, 1109, 66, 1092, 1092, -20, -20, -20, -20, + 451, 504, 391, -47, 143, 396, 170, 712, 249, 231, + 231, 363, 363, 16, 16, 363, 363, 363, 154, 154, + 354, 354, 354, 354, 131, 356, 765, 497, 497, 497, + 497, 765, 765, 765, 765, 754, 948, 765, 765, 765, + 426, 517, 524, 484, 484, 502, 86, 86, 502, 757, + 86, 5, 460, 477, 759, -85, 336, 477, 955, 218, + 643, 643, 647, 643, 643, 643, 751, 562, 751, 1032, + 394, 805, 805, 776, 739, 487, 869, 1068, 1050, 780, + 1098, 819, 1099, 1069, 293, 17, 372, 472, 522, 732, + 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, + 1029, 1029, 1081, 143, 1032, 158, 1096, 1097, 1081, 1081, + 1081, 143, 143, 143, 143, 143, 143, 143, 143, 777, 143, 143, 588, 158, 561, 565, 158, 816, 143, 37, 817, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 777, 344, 37, -16, 31, 31, 226, 132, 31, - 31, 31, 68, 31, 37, 37, 37, 562, 772, 735, - 581, 767, 133, 772, 772, 772, 139, 58, 198, 117, - 799, 803, 474, 785, 785, 797, 887, 785, 790, 785, - 797, 898, 785, 785, 887, 887, 778, 887, 368, 637, - 543, 620, 639, 887, 486, 785, 785, 785, 785, 762, - 887, 662, 785, 481, 380, 785, 785, 762, 761, 786, - 206, 766, 887, 887, 887, 762, 611, 766, 766, 766, - 829, 830, 771, 782, 505, 501, 672, 355, 825, 782, - 782, 785, 626, 771, 782, 771, 782, 748, 782, 782, - 782, 771, 782, 790, 570, 782, 734, 670, 314, 782, - 785, 34, 899, 902, 680, 905, 891, 908, 954, 909, - 913, 1055, 885, 923, 892, 917, 955, 890, 888, 792, - 723, 727, 820, 781, 881, 795, 795, 795, 873, 876, - 795, 795, 795, 795, 795, 795, 795, 795, 723, 750, - 822, 789, 930, 729, 730, 1000, 749, 1051, 1106, 929, - 1006, 919, 826, 731, 978, 934, 1019, 1053, 935, 936, - 981, 1007, 831, 1013, 1073, 796, 1074, 1075, 768, 944, - 1057, 795, 899, 913, 725, 892, 917, 890, 888, 774, - 764, 756, 758, 755, 753, 741, 752, 779, 1015, 872, - 760, 775, 937, 877, 723, 818, 971, 1001, 982, 983, - 1054, 811, 798, 824, 1076, 945, 949, 950, 1058, 1017, - 1059, 828, 972, 962, 984, 812, 1077, 990, 991, 992, - 993, 1060, 1078, 1061, 813, 1064, 836, 808, 963, 801, - 1079, 420, 810, 814, 823, 952, 466, 925, 1066, 1080, - 1082, 994, 996, 997, 1083, 1085, 920, 837, 973, 788, - 974, 965, 840, 842, 641, 815, 1020, 804, 807, 800, - 677, 689, 1087, 1088, 1090, 922, 787, 784, 846, 847, - 1027, 738, 1029, 1091, 693, 851, 1093, 1005, 742, 744, - 694, 721, 720, 745, 783, 1068, 821, 769, 809, 951, - 744, 791, 855, 1094, 857, 858, 860, 998, 861, 979, - 1096, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 37, 344, 37, -16, 31, 31, 226, 132, 31, 31, + 31, 68, 31, 37, 37, 37, 562, 772, 735, 581, + 139, 767, 133, 772, 772, 772, 58, 198, 117, 799, + 803, 474, 785, 785, 797, 887, 887, 785, 790, 785, + 797, 785, 785, 887, 887, 778, 887, 368, 637, 543, + 620, 639, 887, 486, 785, 785, 785, 785, 762, 887, + 206, 662, 785, 481, 380, 785, 785, 762, 761, 786, + 766, 887, 887, 887, 762, 611, 766, 766, 766, 829, + 830, 771, 782, 505, 501, 672, 355, 825, 782, 782, + 785, 626, 771, 782, 771, 782, 748, 782, 782, 782, + 771, 782, 790, 570, 782, 734, 670, 314, 782, 785, + 34, 898, 899, 680, 902, 891, 905, 952, 908, 909, + 1053, 885, 922, 892, 913, 954, 890, 888, 792, 723, + 727, 820, 781, 881, 795, 795, 795, 873, 876, 795, + 795, 795, 795, 795, 795, 795, 795, 723, 750, 822, + 789, 929, 729, 730, 1000, 749, 1070, 1106, 925, 898, + 909, 725, 892, 913, 890, 888, 774, 764, 756, 758, + 755, 753, 741, 752, 779, 1006, 917, 826, 731, 978, + 930, 1019, 1051, 934, 935, 981, 1007, 831, 1013, 1071, + 796, 1073, 1074, 768, 937, 1054, 795, 872, 760, 775, + 936, 877, 723, 818, 1015, 971, 1001, 982, 983, 1052, + 811, 798, 824, 1075, 944, 945, 949, 1055, 1057, 828, + 972, 962, 984, 812, 1076, 990, 991, 992, 993, 1058, + 1077, 1059, 813, 1060, 836, 808, 963, 801, 1078, 420, + 810, 814, 823, 951, 466, 923, 1061, 1079, 1080, 994, + 996, 997, 1082, 1083, 919, 837, 973, 788, 974, 965, + 840, 842, 641, 815, 1017, 804, 807, 800, 677, 689, + 1085, 1087, 1088, 920, 787, 784, 846, 847, 1020, 738, + 1027, 1090, 693, 851, 1091, 1005, 742, 744, 694, 721, + 720, 745, 783, 1064, 821, 769, 809, 950, 744, 791, + 855, 1093, 857, 858, 860, 998, 861, 979, 1094, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 459, 459, 459, 459, 459, - 459, 307, 307, 307, 307, 459, 459, 459, 459, 459, - 459, 459, 307, 459, 459, 459, 307, 307, 0, 0, - 307, 0, 459, 459, 459, 459, 459, 459, 459, 459, + 0, 0, 0, 459, 459, 459, 459, 459, 459, 307, + 307, 307, 307, 459, 459, 459, 459, 459, 459, 459, + 307, 459, 459, 459, 307, 307, 0, 0, 307, 0, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, @@ -741,187 +740,188 @@ class Php8 extends \PhpParser\ParserAbstract 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, + 459, 459, 459, 459, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 291, 291, 291, 291, 291, 291, 291, 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 506, 506, 291, 291, 291, 291, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 291, 291, 291, 0, - 291, 291, 291, 291, 291, 291, 291, 506, 778, 506, - 506, 154, 154, 154, 154, 506, 506, 506, 366, 366, - 366, 154, 506, 778, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 0, 0, 506, 506, 506, 506, 158, - 86, 506, 790, 790, 790, 790, 506, 506, 506, 506, - 86, 86, 506, 506, 506, 0, 0, 0, 154, 154, - 158, 0, 0, 158, 373, 0, 790, 790, 506, 373, - 778, 492, 506, 293, 0, 0, 0, 0, 0, 0, - 0, 158, 790, 158, 143, 785, 86, 86, 785, 143, - 143, 31, 37, 492, 552, 552, 552, 552, 37, 0, - 0, 0, 0, 0, 562, 778, 778, 778, 778, 778, - 778, 778, 778, 778, 778, 778, 778, 790, 0, 778, - 0, 778, 778, 790, 790, 790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 790, 0, 0, 887, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 898, 0, 0, 0, 0, - 0, 0, 790, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 795, 811, 0, 811, 0, 795, 795, 795, - 0, 0, 0, 0, 815, 738 + 0, 0, 0, 0, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 506, 506, 291, + 291, 291, 291, 506, 506, 506, 506, 506, 506, 506, + 506, 506, 506, 291, 291, 291, 0, 291, 291, 291, + 291, 291, 291, 291, 506, 778, 506, 506, 154, 154, + 154, 154, 506, 506, 506, 366, 366, 366, 154, 506, + 778, 506, 506, 506, 506, 506, 506, 506, 506, 506, + 0, 0, 506, 506, 506, 506, 158, 86, 506, 790, + 790, 790, 790, 506, 506, 506, 506, 86, 86, 506, + 506, 506, 0, 0, 0, 154, 154, 158, 0, 0, + 158, 373, 0, 790, 790, 506, 373, 778, 492, 506, + 293, 0, 0, 0, 0, 0, 0, 0, 158, 790, + 158, 143, 785, 86, 86, 143, 143, 785, 31, 37, + 492, 552, 552, 552, 552, 37, 0, 0, 0, 0, + 0, 562, 778, 778, 778, 778, 778, 778, 778, 778, + 778, 778, 778, 778, 790, 0, 778, 0, 778, 778, + 790, 790, 790, 0, 0, 0, 0, 0, 0, 0, + 0, 887, 0, 0, 0, 0, 0, 0, 0, 790, + 0, 0, 887, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 790, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 795, + 811, 0, 0, 811, 0, 795, 795, 795, 0, 0, + 0, 815, 738 ); protected array $actionDefault = array( 3,32767, 102,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 100,32767, 613, 613, - 613, 613,32767,32767, 254, 102,32767,32767, 482, 399, - 399, 399,32767,32767, 557, 557, 557, 557, 557, 557, - 32767,32767,32767,32767,32767,32767, 482,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 100,32767, 611, 611, + 611, 611,32767,32767, 254, 102,32767,32767, 482, 399, + 399, 399,32767,32767, 555, 555, 555, 555, 555,32767, + 32767,32767,32767,32767,32767, 482,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 100,32767,32767, - 32767, 36, 7, 8, 10, 11, 49, 17, 324,32767, + 32767,32767,32767,32767,32767,32767, 36, 7, 8, 10, + 11, 49, 17, 324, 100,32767,32767,32767,32767,32767, 32767,32767,32767, 102,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 386, 606,32767,32767, + 32767,32767,32767,32767,32767, 386, 604,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 486, 465, 466, - 468, 469, 398, 558, 612, 327, 609, 397, 145, 339, - 329, 242, 330, 258, 487, 259, 488, 491, 492, 215, - 383, 149, 150, 429, 483, 431, 481, 485, 430, 404, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 402, 403, 484,32767,32767, 462, 461, - 460, 427,32767,32767,32767,32767,32767,32767,32767,32767, - 102,32767, 428, 432, 435, 401, 433, 434, 451, 452, - 449, 450, 453,32767,32767,32767,32767, 454, 455, 456, - 457, 316,32767,32767, 367, 195, 365, 436, 316, 111, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 442, - 443,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 102,32767, - 100, 499, 551, 459, 437, 438,32767, 526,32767, 102, - 32767, 528,32767,32767,32767,32767,32767,32767,32767,32767, - 553, 424, 426, 519, 607, 405, 610,32767, 512, 100, - 195,32767,32767, 527,32767, 195, 195,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 552,32767, 620, - 512, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110,32767, 195, 110,32767, 110, 110,32767, - 32767, 100, 195, 195, 195, 195, 195, 195, 195, 195, - 195, 195, 190,32767, 268, 270, 102, 575, 195,32767, - 531,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 524,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 386,32767,32767,32767,32767, 512, 447, 138, - 32767, 138, 559, 439, 440, 441, 514, 559, 559, 559, - 312, 289,32767,32767,32767,32767, 529, 100, 100, 100, - 100, 524,32767,32767,32767,32767, 111, 498, 99, 99, - 99, 99, 99, 103, 101,32767,32767,32767,32767, 223, - 32767, 99,32767, 101, 101,32767,32767, 223, 225, 212, - 101, 227,32767, 579, 580, 223, 101, 227, 227, 227, - 247, 247, 501, 318, 101, 99, 101, 101, 197, 318, - 318,32767, 101, 501, 318, 501, 318, 199, 318, 318, - 318, 501, 318,32767, 101, 318, 214, 99, 99, 318, - 32767,32767,32767,32767, 514,32767,32767,32767,32767,32767, - 32767,32767, 222,32767,32767,32767,32767,32767,32767,32767, - 32767, 546,32767, 564, 577, 445, 446, 448, 563, 561, - 470, 471, 472, 473, 474, 475, 476, 478, 608,32767, - 518,32767,32767,32767, 338,32767, 618,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 486, 465, 466, 468, + 469, 398, 556, 610, 327, 607, 329, 397, 145, 339, + 330, 242, 258, 487, 259, 488, 491, 492, 215, 383, + 149, 150, 429, 483, 431, 481, 485, 430, 404, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 402, 403, 484,32767,32767, 462, 461, 460, + 427,32767,32767,32767,32767,32767,32767,32767,32767, 102, + 32767, 428, 432, 435, 401, 433, 434, 451, 452, 449, + 450, 453,32767,32767,32767,32767, 454, 455, 456, 457, + 316,32767,32767, 367, 195, 365, 436, 316, 111,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 442, 443, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 619,32767, 559,32767,32767,32767, - 32767, 444, 9, 74, 507, 42, 43, 51, 57, 535, - 536, 537, 538, 532, 533, 539, 534,32767,32767, 541, - 585,32767,32767, 560, 611,32767,32767,32767,32767,32767, - 32767, 138,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 546,32767, 136,32767,32767,32767,32767, - 32767,32767,32767,32767, 542,32767,32767,32767, 559,32767, - 32767,32767,32767, 314, 311,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 102,32767, 100, + 499, 549, 459, 437, 438,32767, 524,32767, 102,32767, + 526,32767,32767,32767,32767,32767,32767,32767,32767, 551, + 424, 426, 519, 605, 405, 608,32767, 512, 100, 195, + 32767,32767, 525, 195, 195,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 550,32767, 618, 512, + 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, + 110, 110,32767, 195, 110,32767, 110, 110,32767,32767, + 100, 195, 195, 195, 195, 195, 195, 195, 195, 527, + 195, 195, 190,32767, 268, 270, 102, 573, 195,32767, + 529,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 559,32767,32767,32767,32767,32767, 291,32767, 308, + 32767, 386,32767,32767,32767,32767, 512, 447, 138,32767, + 514, 138, 557, 439, 440, 441, 557, 557, 557, 312, + 289,32767,32767,32767,32767, 527, 527, 100, 100, 100, + 100,32767,32767,32767,32767, 111, 498, 99, 99, 99, + 99, 99, 103, 101,32767,32767,32767,32767, 223,32767, + 101, 99,32767, 101, 101,32767,32767, 223, 225, 212, + 227,32767, 577, 578, 223, 101, 227, 227, 227, 247, + 247, 501, 318, 101, 99, 101, 101, 197, 318, 318, + 32767, 101, 501, 318, 501, 318, 199, 318, 318, 318, + 501, 318,32767, 101, 318, 214, 99, 99, 318,32767, + 32767,32767,32767, 514,32767,32767,32767,32767,32767,32767, + 32767, 222,32767,32767,32767,32767,32767,32767,32767,32767, + 544,32767, 562, 575, 445, 446, 448, 561, 559, 470, + 471, 472, 473, 474, 475, 476, 478, 606,32767, 518, + 32767,32767,32767, 338,32767, 616,32767,32767,32767, 9, + 74, 507, 42, 43, 51, 57, 533, 534, 535, 536, + 530, 531, 537, 532,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 617, + 32767, 557,32767,32767,32767,32767, 444, 539, 583,32767, + 32767, 558, 609,32767,32767,32767,32767,32767,32767,32767, + 138,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767, 544,32767, 136,32767,32767,32767,32767,32767,32767, + 32767,32767, 540,32767,32767,32767, 557,32767,32767,32767, + 32767, 314, 311,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 557, + 32767,32767,32767,32767,32767, 291,32767, 308,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 382, 514, - 294, 296, 297,32767,32767,32767,32767, 361,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 152, 152, 3, 3, 341, 152, 152, 152, 341, - 341, 152, 341, 341, 341, 152, 152, 152, 152, 152, - 152, 152, 280, 185, 262, 265, 247, 247, 152, 353, - 152, 384, 384, 393 + 32767,32767,32767,32767,32767,32767, 382, 514, 294, 296, + 297,32767,32767,32767,32767, 361,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 152, + 152, 3, 3, 341, 152, 152, 152, 341, 341, 152, + 341, 341, 341, 152, 152, 152, 152, 152, 152, 152, + 280, 185, 262, 265, 247, 247, 152, 353, 152, 384, + 384, 393 ); protected array $goto = array( - 195, 195, 1049, 928, 706, 929, 1080, 438, 671, 279, - 279, 279, 279, 432, 335, 331, 332, 334, 586, 437, - 336, 439, 648, 908, 866, 908, 908, 167, 167, 167, - 167, 219, 196, 192, 192, 177, 179, 214, 192, 192, - 192, 192, 192, 193, 193, 193, 193, 193, 193, 187, - 188, 189, 190, 191, 216, 214, 217, 545, 546, 428, - 547, 550, 551, 552, 553, 554, 555, 556, 557, 1163, - 168, 169, 170, 194, 171, 172, 173, 165, 174, 175, - 176, 178, 213, 215, 218, 238, 241, 252, 253, 254, - 256, 257, 258, 259, 260, 261, 262, 267, 268, 269, - 270, 277, 289, 290, 314, 315, 433, 434, 435, 591, + 194, 194, 1047, 431, 704, 620, 1078, 437, 669, 278, + 278, 278, 278, 432, 334, 330, 331, 333, 601, 436, + 335, 438, 646, 906, 864, 906, 906, 166, 166, 166, + 166, 218, 195, 191, 191, 176, 178, 213, 191, 191, + 191, 191, 191, 192, 192, 192, 192, 192, 186, 187, + 188, 189, 190, 215, 213, 216, 544, 545, 427, 546, + 549, 550, 551, 552, 553, 554, 555, 556, 1161, 167, + 168, 169, 193, 170, 171, 172, 164, 173, 174, 175, + 177, 212, 214, 217, 237, 240, 251, 252, 253, 255, + 256, 257, 258, 259, 260, 261, 266, 267, 268, 269, + 276, 288, 289, 313, 314, 433, 434, 435, 606, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 197, 198, 199, 239, - 187, 188, 189, 190, 191, 216, 1163, 200, 180, 181, - 182, 201, 197, 183, 240, 202, 200, 164, 203, 204, - 184, 205, 206, 207, 185, 208, 209, 166, 210, 211, - 212, 186, 715, 870, 610, 1014, 848, 867, 986, 1097, - 744, 342, 576, 561, 1023, 1018, 745, 647, 649, 1055, - 1054, 669, 863, 868, 359, 693, 696, 1025, 704, 713, - 1021, 720, 343, 342, 359, 359, 1052, 1052, 691, 967, - 631, 668, 1044, 1060, 1061, 359, 359, 487, 848, 359, - 848, 1385, 990, 351, 875, 489, 924, 919, 920, 933, - 876, 921, 873, 922, 923, 874, 564, 426, 927, 863, - 359, 359, 403, 406, 570, 611, 615, 520, 842, 1103, - 1099, 1100, 619, 634, 637, 638, 639, 640, 661, 662, - 663, 717, 719, 356, 356, 356, 356, 508, 1267, 509, - 1267, 1267, 1123, 1148, 1124, 515, 1049, 1049, 1267, 456, - 456, 456, 456, 1049, 901, 1049, 1049, 1049, 1049, 1049, - 1049, 1049, 1049, 1049, 465, 1330, 1049, 1049, 1049, 1049, - 664, 665, 1267, 682, 683, 684, 583, 1267, 1267, 1267, - 1267, 349, 470, 1267, 1267, 1267, 422, 569, 562, 1212, - 248, 248, 558, 558, 558, 558, 431, 614, 621, 941, - 633, 633, 5, 942, 6, 446, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 564, 246, 246, 246, - 246, 243, 249, 1358, 341, 562, 569, 578, 579, 344, - 589, 612, 626, 627, 1011, 474, 474, 1243, 959, 863, - 25, 1244, 1247, 960, 474, 1248, 401, 456, 456, 456, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 1368, - 1368, 456, 581, 456, 456, 670, 560, 1160, 560, 560, - 484, 1343, 1344, 1073, 1368, 445, 560, 1319, 1319, 703, - 692, 1260, 844, 1319, 1319, 1319, 1319, 1319, 1319, 1319, - 1319, 1319, 1319, 676, 703, 1371, 1371, 860, 703, 1341, - 463, 1341, 1341, 321, 307, 984, 984, 984, 984, 1341, - 337, 463, 978, 985, 888, 1316, 1316, 1350, 1350, 1350, - 1350, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, - 1316, 973, 549, 549, 1352, 1352, 1352, 1352, 549, 549, - 549, 549, 549, 549, 549, 549, 549, 549, 352, 353, - 982, 417, 714, 641, 643, 645, 548, 548, 1337, 410, - 957, 625, 548, 957, 548, 548, 548, 548, 548, 548, - 548, 548, 415, 416, 1262, 1058, 1059, 680, 885, 681, - 1143, 419, 420, 421, 1258, 694, 1086, 883, 423, 1033, - 946, 1150, 347, 320, 274, 320, 320, 629, 587, 624, - 1028, 1028, 748, 1030, 895, 1345, 1346, 882, 897, 1088, - 1090, 887, 1040, 674, 1009, 1339, 1339, 1088, 995, 881, - 1284, 378, 1134, 0, 0, 251, 251, 0, 1263, 1264, - 0, 1257, 609, 1116, 0, 0, 0, 858, 896, 884, - 1085, 1089, 718, 0, 0, 0, 0, 0, 516, 709, - 993, 1114, 0, 0, 0, 0, 1265, 1327, 1328, 0, - 0, 0, 563, 573, 0, 0, 563, 0, 573, 0, - 0, 404, 469, 0, 983, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 477, 590, 478, 479, 0, 0, - 0, 893, 440, 0, 1376, 1377, 1132, 900, 0, 440, - 0, 0, 0, 0, 0, 1056, 1056, 753, 753, 0, - 0, 0, 675, 1067, 1063, 1064, 0, 0, 0, 0, - 891, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 329 + 230, 231, 232, 233, 234, 186, 187, 188, 189, 190, + 215, 1161, 196, 197, 198, 199, 238, 179, 180, 200, + 181, 201, 197, 182, 239, 196, 163, 202, 203, 183, + 204, 205, 206, 184, 207, 208, 165, 209, 210, 211, + 185, 713, 868, 608, 341, 591, 469, 865, 1095, 743, + 645, 647, 866, 1210, 667, 350, 629, 666, 691, 694, + 1023, 702, 711, 1019, 718, 342, 341, 988, 358, 557, + 557, 557, 557, 926, 612, 927, 1364, 1364, 358, 358, + 1050, 1050, 689, 965, 425, 486, 1042, 1058, 1059, 358, + 358, 1364, 488, 358, 873, 1381, 922, 917, 918, 931, + 874, 919, 871, 920, 921, 872, 861, 925, 474, 474, + 563, 840, 1367, 1367, 358, 358, 519, 474, 1101, 1097, + 1098, 618, 632, 635, 636, 637, 638, 659, 660, 661, + 715, 717, 355, 355, 355, 355, 5, 1265, 6, 1265, + 1265, 403, 406, 609, 613, 1047, 1047, 1265, 455, 455, + 455, 455, 1047, 861, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 899, 846, 1047, 1047, 1047, 1047, 598, + 1326, 1265, 701, 1053, 1052, 842, 1265, 1265, 1265, 1265, + 1056, 1057, 1265, 1265, 1265, 568, 561, 701, 1241, 957, + 421, 701, 1242, 1245, 958, 1354, 1246, 559, 939, 559, + 559, 881, 940, 631, 631, 348, 846, 559, 846, 1296, + 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 893, + 464, 563, 880, 340, 561, 568, 593, 594, 345, 604, + 610, 462, 625, 626, 320, 306, 982, 982, 982, 982, + 25, 1009, 462, 976, 983, 401, 455, 455, 455, 455, + 455, 455, 455, 455, 455, 455, 455, 455, 1315, 1315, + 455, 446, 455, 455, 1315, 1315, 1315, 1315, 1315, 1315, + 1315, 1315, 1315, 1315, 247, 247, 1026, 1026, 602, 623, + 1312, 1312, 596, 861, 1158, 1258, 1312, 1312, 1312, 1312, + 1312, 1312, 1312, 1312, 1312, 1312, 1071, 1337, 444, 1337, + 1337, 245, 245, 245, 245, 242, 248, 1337, 668, 351, + 352, 1341, 1342, 548, 548, 1346, 1346, 1346, 1346, 548, + 548, 548, 548, 548, 548, 548, 548, 548, 548, 674, + 547, 547, 1348, 1348, 1348, 1348, 547, 690, 547, 547, + 547, 547, 547, 547, 547, 547, 336, 1260, 662, 663, + 886, 680, 681, 682, 858, 971, 1333, 883, 955, 414, + 415, 1141, 410, 955, 678, 624, 679, 439, 418, 419, + 420, 1256, 692, 1031, 439, 422, 507, 1084, 508, 346, + 1054, 1054, 746, 1038, 514, 484, 1088, 673, 1065, 1061, + 1062, 319, 273, 319, 319, 614, 895, 993, 944, 1148, + 1261, 1262, 1132, 1248, 1121, 1146, 1122, 1086, 377, 856, + 1028, 0, 0, 1335, 1335, 1086, 1248, 0, 885, 0, + 672, 1007, 894, 882, 1083, 1087, 879, 0, 1263, 1323, + 1324, 607, 1114, 0, 0, 991, 0, 0, 1255, 0, + 0, 716, 483, 1339, 1340, 0, 1012, 515, 707, 984, + 1112, 742, 0, 0, 560, 1021, 1016, 0, 981, 0, + 562, 588, 980, 416, 712, 562, 0, 588, 0, 404, + 468, 639, 641, 643, 0, 0, 0, 0, 0, 0, + 1130, 898, 477, 605, 478, 479, 0, 0, 0, 0, + 891, 0, 0, 1372, 1373, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 751, 751, 0, 250, 250, + 0, 0, 0, 0, 0, 0, 0, 0, 889, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 328 ); protected array $gotoCheck = array( - 42, 42, 73, 65, 73, 65, 128, 66, 66, 23, + 42, 42, 73, 13, 73, 13, 128, 66, 66, 23, 23, 23, 23, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 25, 25, 25, 25, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, @@ -937,102 +937,102 @@ class Php8 extends \PhpParser\ParserAbstract 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 9, 15, 131, 50, 12, 26, 50, 15, - 50, 175, 48, 50, 50, 50, 48, 48, 48, 119, - 119, 48, 22, 27, 14, 48, 48, 48, 48, 48, - 48, 48, 175, 175, 14, 14, 89, 89, 89, 89, - 56, 56, 89, 89, 89, 14, 14, 84, 12, 14, - 12, 14, 49, 97, 15, 84, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 14, 43, 15, 22, - 14, 14, 59, 59, 59, 59, 59, 76, 6, 15, - 15, 15, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 24, 24, 24, 24, 160, 73, 160, - 73, 73, 146, 146, 146, 160, 73, 73, 73, 23, - 23, 23, 23, 73, 45, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 83, 14, 73, 73, 73, 73, - 86, 86, 73, 86, 86, 86, 179, 73, 73, 73, - 73, 186, 156, 73, 73, 73, 14, 76, 76, 156, - 5, 5, 107, 107, 107, 107, 13, 107, 13, 73, - 108, 108, 46, 73, 46, 83, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 14, 5, 5, 5, - 5, 5, 5, 188, 76, 76, 76, 76, 76, 76, - 76, 76, 76, 76, 103, 154, 154, 79, 79, 22, - 76, 79, 79, 79, 154, 79, 62, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 189, - 189, 23, 104, 23, 23, 64, 19, 155, 19, 19, - 183, 183, 183, 115, 189, 113, 19, 177, 177, 7, - 117, 14, 7, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 121, 7, 189, 189, 18, 7, 131, - 19, 131, 131, 176, 176, 19, 19, 19, 19, 131, - 29, 19, 19, 19, 39, 178, 178, 9, 9, 9, - 9, 178, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 92, 180, 180, 131, 131, 131, 131, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 180, 97, 97, - 93, 93, 93, 85, 85, 85, 163, 163, 131, 28, - 9, 80, 163, 9, 163, 163, 163, 163, 163, 163, - 163, 163, 82, 82, 20, 120, 120, 82, 37, 82, - 153, 82, 82, 82, 167, 82, 130, 35, 82, 110, - 17, 17, 82, 24, 24, 24, 24, 17, 2, 2, - 107, 107, 99, 17, 35, 185, 185, 35, 41, 131, - 133, 17, 114, 17, 17, 131, 131, 131, 96, 17, - 20, 138, 149, -1, -1, 5, 5, -1, 20, 20, - -1, 17, 8, 8, -1, -1, -1, 20, 16, 16, - 16, 16, 8, -1, -1, -1, -1, -1, 8, 8, - 16, 8, -1, -1, -1, -1, 20, 20, 20, -1, - -1, -1, 9, 9, -1, -1, 9, -1, 9, -1, - -1, 9, 9, -1, 16, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 9, 9, 9, 9, -1, -1, - -1, 9, 118, -1, 9, 9, 16, 16, -1, 118, - -1, -1, -1, -1, -1, 118, 118, 24, 24, -1, - -1, -1, 118, 118, 118, 118, -1, -1, -1, -1, - 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 9 + 42, 9, 15, 131, 174, 48, 156, 26, 15, 48, + 48, 48, 27, 156, 48, 97, 56, 56, 48, 48, + 48, 48, 48, 48, 48, 174, 174, 49, 14, 107, + 107, 107, 107, 65, 107, 65, 188, 188, 14, 14, + 89, 89, 89, 89, 43, 84, 89, 89, 89, 14, + 14, 188, 84, 14, 15, 14, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 22, 15, 154, 154, + 14, 6, 188, 188, 14, 14, 76, 154, 15, 15, + 15, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 24, 24, 24, 24, 46, 73, 46, 73, + 73, 59, 59, 59, 59, 73, 73, 73, 23, 23, + 23, 23, 73, 22, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 45, 12, 73, 73, 73, 73, 178, + 14, 73, 7, 119, 119, 7, 73, 73, 73, 73, + 120, 120, 73, 73, 73, 76, 76, 7, 79, 79, + 14, 7, 79, 79, 79, 187, 79, 19, 73, 19, + 19, 35, 73, 108, 108, 185, 12, 19, 12, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 35, + 83, 14, 35, 76, 76, 76, 76, 76, 76, 76, + 76, 19, 76, 76, 175, 175, 19, 19, 19, 19, + 76, 103, 19, 19, 19, 62, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 176, 176, + 23, 83, 23, 23, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 5, 5, 107, 107, 2, 2, + 177, 177, 104, 22, 155, 14, 177, 177, 177, 177, + 177, 177, 177, 177, 177, 177, 115, 131, 113, 131, + 131, 5, 5, 5, 5, 5, 5, 131, 64, 97, + 97, 184, 184, 179, 179, 9, 9, 9, 9, 179, + 179, 179, 179, 179, 179, 179, 179, 179, 179, 121, + 162, 162, 131, 131, 131, 131, 162, 117, 162, 162, + 162, 162, 162, 162, 162, 162, 29, 20, 86, 86, + 39, 86, 86, 86, 18, 92, 131, 37, 9, 82, + 82, 153, 28, 9, 82, 80, 82, 118, 82, 82, + 82, 166, 82, 110, 118, 82, 160, 130, 160, 82, + 118, 118, 99, 114, 160, 157, 133, 118, 118, 118, + 118, 24, 24, 24, 24, 17, 41, 96, 17, 17, + 20, 20, 149, 20, 146, 146, 146, 131, 138, 20, + 17, -1, -1, 131, 131, 131, 20, -1, 17, -1, + 17, 17, 16, 16, 16, 16, 17, -1, 20, 20, + 20, 8, 8, -1, -1, 16, -1, -1, 17, -1, + -1, 8, 182, 182, 182, -1, 50, 8, 8, 50, + 8, 50, -1, -1, 50, 50, 50, -1, 16, -1, + 9, 9, 93, 93, 93, 9, -1, 9, -1, 9, + 9, 85, 85, 85, -1, -1, -1, -1, -1, -1, + 16, 16, 9, 9, 9, 9, -1, -1, -1, -1, + 9, -1, -1, 9, 9, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 24, 24, -1, 5, 5, + -1, -1, -1, -1, -1, -1, -1, -1, 9, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 9 ); protected array $gotoBase = array( - 0, 0, -205, 0, 0, 309, 215, 392, 544, 139, - 0, 0, -129, -21, -112, -185, 99, 37, 109, 123, - 94, 0, -97, 6, 250, 20, 163, 179, 142, 135, - 0, 0, 0, 0, 0, 131, 0, 159, 0, 115, - 0, 81, -1, 205, 0, 248, -426, 0, -550, 195, - 154, 0, 0, 0, 0, 0, 160, 0, 0, 187, - 0, 0, 324, 0, 148, -10, -229, 0, 0, 0, - 0, 0, 0, -5, 0, 0, -38, 0, 0, -58, - 137, -120, -7, 5, -270, -14, -439, 0, 0, -84, - 0, 0, 126, 167, 0, 0, 89, -278, 0, 108, - 0, 0, 0, 319, 339, 0, 0, 284, 84, 0, - 134, 0, 0, 117, 110, 121, 0, 118, 341, -101, - 211, 122, 0, 0, 0, 0, 0, 0, 4, 0, - 125, 156, 0, 82, 0, 0, 0, 0, -211, 0, - 0, 0, 0, 0, 0, 0, -12, 0, 0, 92, - 0, 0, 0, 145, 321, 144, 36, 0, 0, 0, - -246, 0, 0, 240, 0, 0, 0, 130, 0, 0, - 0, 0, 0, 0, 0, -125, 106, 161, 199, 267, - 216, 0, 0, 91, 0, 146, 271, 0, 312, 73, - 0, 0 + 0, 0, -323, 0, 0, 393, 208, 285, 543, 138, + 0, 0, -10, -333, -107, -185, 84, 45, 167, 55, + 67, 0, -52, 6, 249, 20, 163, 168, 146, 172, + 0, 0, 0, 0, 0, -54, 0, 139, 0, 152, + 0, 69, -1, 182, 0, 257, -490, 0, -555, 170, + 555, 0, 0, 0, 0, 0, 136, 0, 0, 216, + 0, 0, 323, 0, 192, 180, -228, 0, 0, 0, + 0, 0, 0, -5, 0, 0, -38, 0, 0, -106, + 140, -120, -19, 62, -272, 105, -259, 0, 0, -79, + 0, 0, 151, 280, 0, 0, 68, -315, 0, 89, + 0, 0, 0, 326, 359, 0, 0, 161, 88, 0, + 119, 0, 0, 141, 82, 145, 0, 176, 217, 14, + 17, 159, 0, 0, 0, 0, 0, 0, 4, 0, + 117, 155, 0, 58, 0, 0, 0, 0, -222, 0, + 0, 0, 0, 0, 0, 0, 251, 0, 0, 72, + 0, 0, 0, 127, 194, 162, -99, 59, 0, 0, + -6, 0, 215, 0, 0, 0, 118, 0, 0, 0, + 0, 0, 0, 0, -131, 38, 143, 165, 260, 198, + 0, 0, 264, 0, 53, 295, 0, 284, -109, 0, + 0 ); protected array $gotoDefault = array( - -32768, 521, 755, 4, 756, 950, 831, 840, 607, 539, - 716, 348, 635, 429, 1335, 926, 1149, 588, 859, 1276, - 1250, 464, 862, 326, 742, 938, 909, 910, 407, 393, - 399, 405, 659, 636, 502, 894, 460, 886, 494, 889, - 459, 898, 163, 425, 518, 902, 3, 905, 567, 936, - 988, 394, 913, 395, 687, 915, 572, 917, 918, 402, - 408, 409, 1154, 580, 632, 930, 255, 574, 931, 392, - 932, 940, 397, 400, 697, 473, 513, 507, 418, 1118, - 575, 618, 656, 453, 481, 630, 642, 628, 488, 441, - 424, 325, 972, 980, 495, 471, 994, 350, 1002, 750, - 1162, 650, 497, 1010, 651, 1017, 1020, 540, 541, 486, - 1032, 271, 1035, 498, 1041, 22, 677, 1046, 1047, 678, - 652, 1069, 653, 679, 654, 1071, 480, 608, 1079, 461, - 1087, 1324, 462, 1091, 264, 1094, 278, 354, 377, 442, - 1101, 1102, 9, 1108, 707, 708, 18, 276, 517, 1133, - 698, 1139, 275, 1142, 458, 1161, 457, 1231, 1233, 568, - 499, 1251, 485, 311, 1254, 690, 514, 1259, 454, 1326, - 455, 542, 482, 333, 543, 1369, 306, 357, 330, 559, - 312, 358, 544, 483, 1332, 1340, 327, 31, 1359, 1370, - 585, 623 + -32768, 520, 753, 4, 754, 948, 829, 838, 584, 538, + 714, 347, 633, 428, 1331, 924, 1147, 603, 857, 1274, + 1280, 463, 860, 325, 740, 936, 907, 908, 407, 393, + 399, 405, 657, 634, 501, 892, 459, 884, 493, 887, + 458, 896, 162, 424, 517, 900, 3, 903, 566, 934, + 986, 394, 911, 395, 685, 913, 587, 915, 916, 402, + 408, 409, 1152, 595, 630, 928, 254, 589, 929, 392, + 930, 938, 397, 400, 695, 473, 512, 506, 417, 1116, + 590, 617, 654, 452, 480, 628, 640, 627, 487, 440, + 423, 324, 970, 978, 494, 471, 992, 349, 1000, 748, + 1160, 648, 496, 1008, 649, 1015, 1018, 539, 540, 485, + 1030, 270, 1033, 497, 1039, 22, 675, 1044, 1045, 676, + 650, 1067, 651, 677, 652, 1069, 470, 585, 1077, 460, + 1085, 1320, 461, 1089, 263, 1092, 277, 353, 376, 441, + 1099, 1100, 9, 1106, 705, 706, 18, 275, 516, 1131, + 696, 1137, 274, 1140, 457, 1159, 456, 1229, 1231, 567, + 498, 1249, 310, 1252, 688, 513, 1257, 453, 1322, 454, + 541, 481, 332, 542, 1365, 305, 356, 329, 558, 311, + 357, 543, 482, 1328, 1336, 326, 31, 1355, 1366, 600, + 622 ); protected array $ruleToNonTerminal = array( @@ -1085,21 +1085,20 @@ class Php8 extends \PhpParser\ParserAbstract 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 161, 163, 163, 164, 155, - 155, 160, 160, 165, 166, 166, 167, 168, 169, 169, - 169, 169, 19, 19, 73, 73, 73, 73, 156, 156, - 156, 156, 171, 171, 157, 157, 159, 159, 159, 162, - 162, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 178, 178, 178, 108, 180, 180, 180, 180, 158, - 158, 158, 158, 158, 158, 158, 158, 59, 59, 174, - 174, 174, 174, 174, 181, 181, 170, 170, 170, 170, - 182, 182, 182, 182, 182, 74, 74, 66, 66, 66, - 66, 131, 131, 131, 131, 185, 184, 173, 173, 173, - 173, 173, 173, 172, 172, 172, 183, 183, 183, 183, - 107, 179, 187, 187, 186, 186, 188, 188, 188, 188, - 188, 188, 188, 188, 176, 176, 176, 176, 175, 190, - 189, 189, 189, 189, 189, 189, 189, 189, 191, 191, - 191, 191 + 42, 42, 42, 42, 42, 161, 162, 162, 163, 155, + 155, 160, 160, 164, 165, 165, 166, 167, 168, 168, + 168, 168, 19, 19, 73, 73, 73, 73, 156, 156, + 156, 156, 170, 170, 159, 159, 159, 157, 157, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 177, + 177, 177, 108, 179, 179, 179, 179, 158, 158, 158, + 158, 158, 158, 158, 158, 59, 59, 173, 173, 173, + 173, 173, 180, 180, 169, 169, 169, 169, 181, 181, + 181, 181, 181, 74, 74, 66, 66, 66, 66, 131, + 131, 131, 131, 184, 183, 172, 172, 172, 172, 172, + 172, 171, 171, 171, 182, 182, 182, 182, 107, 178, + 186, 186, 185, 185, 187, 187, 187, 187, 187, 187, + 187, 187, 175, 175, 175, 175, 174, 189, 188, 188, + 188, 188, 188, 188, 188, 188, 190, 190, 190, 190 ); protected array $ruleToLength = array( @@ -1155,18 +1154,17 @@ class Php8 extends \PhpParser\ParserAbstract 9, 9, 10, 9, 10, 8, 3, 2, 2, 1, 1, 0, 4, 2, 1, 3, 2, 1, 2, 2, 2, 4, 1, 1, 1, 1, 1, 1, 1, 1, - 3, 1, 1, 1, 0, 3, 0, 1, 1, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 3, 5, 3, 3, 4, 1, 1, 3, 1, - 1, 1, 1, 1, 3, 2, 3, 0, 1, 1, - 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, - 1, 4, 1, 4, 4, 0, 1, 1, 1, 3, - 3, 1, 4, 2, 2, 1, 3, 1, 4, 3, - 3, 3, 3, 1, 3, 1, 1, 3, 1, 1, - 4, 1, 1, 1, 3, 1, 1, 2, 1, 3, - 4, 3, 2, 0, 2, 2, 1, 2, 1, 1, - 1, 4, 3, 3, 3, 3, 6, 3, 1, 1, - 2, 1 + 3, 1, 1, 1, 0, 1, 1, 0, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, + 5, 3, 3, 4, 1, 1, 3, 1, 1, 1, + 1, 1, 3, 2, 3, 0, 1, 1, 3, 1, + 1, 1, 1, 1, 1, 3, 1, 1, 1, 4, + 1, 4, 4, 0, 1, 1, 1, 3, 3, 1, + 4, 2, 2, 1, 3, 1, 4, 3, 3, 3, + 3, 1, 3, 1, 1, 3, 1, 1, 4, 1, + 1, 1, 3, 1, 1, 2, 1, 3, 4, 3, + 2, 0, 2, 2, 1, 2, 1, 1, 1, 4, + 3, 3, 3, 3, 6, 3, 1, 1, 2, 1 ); protected function initReduceCallbacks(): void { @@ -2369,9 +2367,7 @@ protected function initReduceCallbacks(): void { $self->semValue = new Expr\Cast\Unset_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 477 => static function ($self, $stackPos) { - $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]); - $attrs['kind'] = strtolower($self->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; - $self->semValue = new Expr\Exit_($self->semStack[$stackPos-(2-2)], $attrs); + $self->semValue = $self->createExitExpr($self->semStack[$stackPos-(2-1)], $stackPos-(2-1), $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 478 => static function ($self, $stackPos) { $self->semValue = new Expr\ErrorSuppress($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); @@ -2495,281 +2491,275 @@ protected function initReduceCallbacks(): void { 522 => null, 523 => null, 524 => static function ($self, $stackPos) { - $self->semValue = null; - }, - 525 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; - }, - 526 => static function ($self, $stackPos) { $self->semValue = array(); }, - 527 => static function ($self, $stackPos) { + 525 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); foreach ($self->semValue as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; }, - 528 => static function ($self, $stackPos) { + 526 => static function ($self, $stackPos) { foreach ($self->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 529 => static function ($self, $stackPos) { + 527 => static function ($self, $stackPos) { $self->semValue = array(); }, - 530 => null, - 531 => static function ($self, $stackPos) { + 528 => null, + 529 => static function ($self, $stackPos) { $self->semValue = new Expr\ConstFetch($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 532 => static function ($self, $stackPos) { + 530 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Line($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 533 => static function ($self, $stackPos) { + 531 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\File($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 534 => static function ($self, $stackPos) { + 532 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Dir($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 535 => static function ($self, $stackPos) { + 533 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Class_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 536 => static function ($self, $stackPos) { + 534 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Trait_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 537 => static function ($self, $stackPos) { + 535 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Method($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 538 => static function ($self, $stackPos) { + 536 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Function_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 539 => static function ($self, $stackPos) { + 537 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Namespace_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 540 => static function ($self, $stackPos) { + 538 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Property($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 541 => static function ($self, $stackPos) { + 539 => static function ($self, $stackPos) { $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 542 => static function ($self, $stackPos) { + 540 => static function ($self, $stackPos) { $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 543 => static function ($self, $stackPos) { + 541 => static function ($self, $stackPos) { $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)])), $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 544 => static function ($self, $stackPos) { + 542 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_SHORT; $self->semValue = new Expr\Array_($self->semStack[$stackPos-(3-2)], $attrs); }, - 545 => static function ($self, $stackPos) { + 543 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_LONG; $self->semValue = new Expr\Array_($self->semStack[$stackPos-(4-3)], $attrs); $self->createdArrays->attach($self->semValue); }, - 546 => static function ($self, $stackPos) { + 544 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(1-1)]; $self->createdArrays->attach($self->semValue); }, - 547 => static function ($self, $stackPos) { + 545 => static function ($self, $stackPos) { $self->semValue = Scalar\String_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->supportsUnicodeEscapes()); }, - 548 => static function ($self, $stackPos) { + 546 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; foreach ($self->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', $self->phpVersion->supportsUnicodeEscapes()); } }; $self->semValue = new Scalar\InterpolatedString($self->semStack[$stackPos-(3-2)], $attrs); }, - 549 => static function ($self, $stackPos) { + 547 => static function ($self, $stackPos) { $self->semValue = $self->parseLNumber($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->allowsInvalidOctals()); }, - 550 => static function ($self, $stackPos) { + 548 => static function ($self, $stackPos) { $self->semValue = Scalar\Float_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, + 549 => null, + 550 => null, 551 => null, - 552 => null, - 553 => null, - 554 => static function ($self, $stackPos) { + 552 => static function ($self, $stackPos) { $self->semValue = $self->parseDocString($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)]), true); }, - 555 => static function ($self, $stackPos) { + 553 => static function ($self, $stackPos) { $self->semValue = $self->parseDocString($self->semStack[$stackPos-(2-1)], '', $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(2-2)], $self->tokenEndStack[$stackPos-(2-2)]), true); }, - 556 => static function ($self, $stackPos) { + 554 => static function ($self, $stackPos) { $self->semValue = $self->parseDocString($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)]), true); }, - 557 => static function ($self, $stackPos) { + 555 => static function ($self, $stackPos) { $self->semValue = null; }, - 558 => null, - 559 => null, - 560 => static function ($self, $stackPos) { + 556 => null, + 557 => null, + 558 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, + 559 => null, + 560 => null, 561 => null, 562 => null, 563 => null, 564 => null, - 565 => null, - 566 => null, - 567 => static function ($self, $stackPos) { + 565 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, + 566 => null, + 567 => null, 568 => null, - 569 => null, - 570 => null, - 571 => static function ($self, $stackPos) { + 569 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 572 => null, - 573 => static function ($self, $stackPos) { + 570 => null, + 571 => static function ($self, $stackPos) { $self->semValue = new Expr\MethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 574 => static function ($self, $stackPos) { + 572 => static function ($self, $stackPos) { $self->semValue = new Expr\NullsafeMethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 575 => static function ($self, $stackPos) { + 573 => static function ($self, $stackPos) { $self->semValue = null; }, + 574 => null, + 575 => null, 576 => null, - 577 => null, - 578 => null, - 579 => static function ($self, $stackPos) { + 577 => static function ($self, $stackPos) { $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 580 => static function ($self, $stackPos) { + 578 => static function ($self, $stackPos) { $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 581 => null, - 582 => static function ($self, $stackPos) { + 579 => null, + 580 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 583 => static function ($self, $stackPos) { + 581 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 584 => static function ($self, $stackPos) { + 582 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])), $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 585 => static function ($self, $stackPos) { + 583 => static function ($self, $stackPos) { $var = $self->semStack[$stackPos-(1-1)]->name; $self->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])) : $var; }, - 586 => static function ($self, $stackPos) { + 584 => static function ($self, $stackPos) { $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 587 => null, - 588 => static function ($self, $stackPos) { + 585 => null, + 586 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 589 => static function ($self, $stackPos) { + 587 => static function ($self, $stackPos) { $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 590 => static function ($self, $stackPos) { + 588 => static function ($self, $stackPos) { $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 591 => static function ($self, $stackPos) { + 589 => static function ($self, $stackPos) { $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 592 => static function ($self, $stackPos) { + 590 => static function ($self, $stackPos) { $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, + 591 => null, + 592 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; + }, 593 => null, - 594 => static function ($self, $stackPos) { + 594 => null, + 595 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 595 => null, 596 => null, 597 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; - }, - 598 => null, - 599 => static function ($self, $stackPos) { $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 600 => static function ($self, $stackPos) { + 598 => static function ($self, $stackPos) { $self->semValue = new Expr\List_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); $self->semValue->setAttribute('kind', Expr\List_::KIND_LIST); $self->postprocessList($self->semValue); }, - 601 => static function ($self, $stackPos) { + 599 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(1-1)]; $end = count($self->semValue)-1; if ($self->semValue[$end]->value instanceof Expr\Error) array_pop($self->semValue); }, - 602 => null, - 603 => static function ($self, $stackPos) { + 600 => null, + 601 => static function ($self, $stackPos) { /* do nothing -- prevent default action of $$=$self->semStack[$1]. See $551. */ }, - 604 => static function ($self, $stackPos) { + 602 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 605 => static function ($self, $stackPos) { + 603 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 606 => static function ($self, $stackPos) { + 604 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 607 => static function ($self, $stackPos) { + 605 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 608 => static function ($self, $stackPos) { + 606 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 609 => static function ($self, $stackPos) { + 607 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(3-3)], $self->semStack[$stackPos-(3-1)], false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 610 => static function ($self, $stackPos) { + 608 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(4-4)], $self->semStack[$stackPos-(4-1)], true, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 611 => static function ($self, $stackPos) { + 609 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(3-3)], $self->semStack[$stackPos-(3-1)], false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 612 => static function ($self, $stackPos) { + 610 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]), true); }, - 613 => static function ($self, $stackPos) { + 611 => static function ($self, $stackPos) { /* Create an Error node now to remember the position. We'll later either report an error, or convert this into a null element, depending on whether this is a creation or destructuring context. */ $attrs = $self->createEmptyElemAttributes($self->tokenPos); $self->semValue = new Node\ArrayItem(new Expr\Error($attrs), null, false, $attrs); }, - 614 => static function ($self, $stackPos) { + 612 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 615 => static function ($self, $stackPos) { + 613 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 616 => static function ($self, $stackPos) { + 614 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 617 => static function ($self, $stackPos) { + 615 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)]); }, - 618 => static function ($self, $stackPos) { + 616 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]); $attrs['rawValue'] = $self->semStack[$stackPos-(1-1)]; $self->semValue = new Node\InterpolatedStringPart($self->semStack[$stackPos-(1-1)], $attrs); }, - 619 => static function ($self, $stackPos) { + 617 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 620 => null, - 621 => static function ($self, $stackPos) { + 618 => null, + 619 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 622 => static function ($self, $stackPos) { + 620 => static function ($self, $stackPos) { $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 623 => static function ($self, $stackPos) { + 621 => static function ($self, $stackPos) { $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 624 => static function ($self, $stackPos) { + 622 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 625 => static function ($self, $stackPos) { + 623 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 626 => static function ($self, $stackPos) { + 624 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); }, - 627 => static function ($self, $stackPos) { + 625 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 628 => static function ($self, $stackPos) { + 626 => static function ($self, $stackPos) { $self->semValue = new Scalar\String_($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 629 => static function ($self, $stackPos) { + 627 => static function ($self, $stackPos) { $self->semValue = $self->parseNumString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 630 => static function ($self, $stackPos) { + 628 => static function ($self, $stackPos) { $self->semValue = $self->parseNumString('-' . $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 631 => null, + 629 => null, ]; } } diff --git a/lib/PhpParser/ParserAbstract.php b/lib/PhpParser/ParserAbstract.php index 68bf0e5e70..3d1e4eed20 100644 --- a/lib/PhpParser/ParserAbstract.php +++ b/lib/PhpParser/ParserAbstract.php @@ -7,6 +7,7 @@ * turn is based on work by Masato Bito. */ +use PhpParser\Node\Arg; use PhpParser\Node\Expr; use PhpParser\Node\Expr\Array_; use PhpParser\Node\Expr\Cast\Double; @@ -1195,6 +1196,32 @@ protected function checkPropertyHookModifiers(int $a, int $b, int $modifierPos): } } + /** @param array $args */ + private function isSimpleExit(array $args): bool { + if (\count($args) === 0) { + return true; + } + if (\count($args) === 1) { + $arg = $args[0]; + return $arg instanceof Arg && $arg->name === null && + $arg->byRef === false && $arg->unpack === false; + } + return false; + } + + /** + * @param array $args + * @param array $attrs + */ + protected function createExitExpr(string $name, int $namePos, array $args, array $attrs): Expr { + if ($this->isSimpleExit($args)) { + // Create Exit node for backwards compatibility. + $attrs['kind'] = strtolower($name) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; + return new Expr\Exit_(\count($args) === 1 ? $args[0]->value : null, $attrs); + } + return new Expr\FuncCall(new Name($name, $this->getAttributesAt($namePos)), $args, $attrs); + } + /** * Creates the token map. * diff --git a/test/code/parser/expr/exit.test b/test/code/parser/expr/exit.test index ced97a4d0e..623a41b8e7 100644 --- a/test/code/parser/expr/exit.test +++ b/test/code/parser/expr/exit.test @@ -7,6 +7,13 @@ exit('Die!'); die; die(); die('Exit!'); + +exit(status: 42); +exit(...$args); +exit($a, $b); +\exit($a); +exit(...); +DIE($a, $b); ----- array( 0: Stmt_Expression( @@ -43,4 +50,118 @@ array( ) ) ) + 6: Stmt_Expression( + expr: Expr_FuncCall( + name: Name( + name: exit + ) + args: array( + 0: Arg( + name: Identifier( + name: status + ) + value: Scalar_Int( + value: 42 + ) + byRef: false + unpack: false + ) + ) + ) + ) + 7: Stmt_Expression( + expr: Expr_FuncCall( + name: Name( + name: exit + ) + args: array( + 0: Arg( + name: null + value: Expr_Variable( + name: args + ) + byRef: false + unpack: true + ) + ) + ) + ) + 8: Stmt_Expression( + expr: Expr_FuncCall( + name: Name( + name: exit + ) + args: array( + 0: Arg( + name: null + value: Expr_Variable( + name: a + ) + byRef: false + unpack: false + ) + 1: Arg( + name: null + value: Expr_Variable( + name: b + ) + byRef: false + unpack: false + ) + ) + ) + ) + 9: Stmt_Expression( + expr: Expr_FuncCall( + name: Name_FullyQualified( + name: exit + ) + args: array( + 0: Arg( + name: null + value: Expr_Variable( + name: a + ) + byRef: false + unpack: false + ) + ) + ) + ) + 10: Stmt_Expression( + expr: Expr_FuncCall( + name: Name( + name: exit + ) + args: array( + 0: VariadicPlaceholder( + ) + ) + ) + ) + 11: Stmt_Expression( + expr: Expr_FuncCall( + name: Name( + name: DIE + ) + args: array( + 0: Arg( + name: null + value: Expr_Variable( + name: a + ) + byRef: false + unpack: false + ) + 1: Arg( + name: null + value: Expr_Variable( + name: b + ) + byRef: false + unpack: false + ) + ) + ) + ) )