From beba9c528ff655cf99c6745990d071cbc8bc0423 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Fri, 19 Jul 2024 22:21:17 +0200 Subject: [PATCH] Remove support for alternative array syntax in PHP 8 parser We cannot support both this syntax and property hooks. Drop support for the alternative syntax in the PHP 8 parser. The PHP 7 parser still supports it. --- grammar/php.y | 4 + lib/PhpParser/Parser/Php8.php | 1203 ++++++++--------- .../parser/expr/alternative_array_syntax.test | 335 +++++ .../parser/expr/fetchAndCall/funcCall.test | 17 +- .../expr/fetchAndCall/objectAccess.test | 42 +- .../expr/fetchAndCall/simpleArrayAccess.test | 11 - .../fetchAndCall/staticPropertyFetch.test | 18 +- test/code/parser/expr/new.test | 20 - test/code/parser/expr/newDeref.test | 52 +- test/code/parser/expr/uvs/constDeref.test | 47 +- test/code/parser/expr/uvs/new.test | 21 +- 11 files changed, 954 insertions(+), 816 deletions(-) create mode 100644 test/code/parser/expr/alternative_array_syntax.test diff --git a/grammar/php.y b/grammar/php.y index c9acbfa921..53af51dfad 100644 --- a/grammar/php.y +++ b/grammar/php.y @@ -1242,7 +1242,9 @@ callable_expr: callable_variable: simple_variable | array_object_dereferenceable '[' optional_expr ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } +#if PHP7 | array_object_dereferenceable '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } +#endif | function_call | array_object_dereferenceable T_OBJECT_OPERATOR property_name argument_list { $$ = Expr\MethodCall[$1, $3, $4]; } @@ -1284,7 +1286,9 @@ static_member: new_variable: simple_variable | new_variable '[' optional_expr ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } +#if PHP7 | new_variable '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } +#endif | new_variable T_OBJECT_OPERATOR property_name { $$ = Expr\PropertyFetch[$1, $3]; } | new_variable T_NULLSAFE_OBJECT_OPERATOR property_name { $$ = Expr\NullsafePropertyFetch[$1, $3]; } | class_name T_PAAMAYIM_NEKUDOTAYIM static_member_prop_name diff --git a/lib/PhpParser/Parser/Php8.php b/lib/PhpParser/Parser/Php8.php index b69bf2b64b..710c46f8de 100644 --- a/lib/PhpParser/Parser/Php8.php +++ b/lib/PhpParser/Parser/Php8.php @@ -161,16 +161,16 @@ class Php8 extends \PhpParser\ParserAbstract public const T_ATTRIBUTE = 396; protected int $tokenToSymbolMapSize = 397; - protected int $actionTableSize = 1276; - protected int $gotoTableSize = 706; + protected int $actionTableSize = 1278; + protected int $gotoTableSize = 631; 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 = 433; + protected int $numNonLeafStates = 739; protected array $symbolToName = array( "EOF", @@ -388,134 +388,134 @@ class Php8 extends \PhpParser\ParserAbstract ); protected array $action = array( - 133, 134, 135, 586, 136, 137, 1316, 755, 756, 757, - 138, 38,-32766,-32766,-32766, 945,-32766,-32766,-32766, 485, - 0, 384, 383, 830,-32767,-32767,-32767,-32767, 102, 103, - 104, 425, 239,-32766, 1093, 749, 748,-32766, 741,-32766, + 131, 132, 133, 582, 134, 135, 1311, 751, 752, 753, + 136, 38,-32766,-32766,-32766, 941,-32766,-32766,-32766, 481, + 0, 380, 379, 826,-32767,-32767,-32767,-32767, 102, 103, + 104, 421, 235,-32766, 1089, 745, 744,-32766, 737,-32766, -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, - -32767,-32766,-32766,-32766, 24, 758,-32766,-32766,-32766, 1116, - 1117, 1118, 1115, 1114, 1113, 1119, -328, 1092, 1031, 265, - 139, 406, 762, 763, 764, 765, 1108,-32766, 431,-32766, - -32766,-32766,-32766,-32766, 610, 819, 766, 767, 768, 769, - 770, 771, 772, 773, 774, 775, 795, 587, 796, 797, - 798, 799, 787, 788, 347, 348, 790, 791, 776, 777, - 778, 780, 781, 782, 358, 822, 823, 824, 825, 826, - 588, 783, 784, 589, 590, -194, 807, 805, 806, 818, - 802, 803, 2, -193, 591, 592, 801, 593, 594, 595, - 596, 26, 597, 598, 382, 383, 461, 462, 463, 804, - 599, 600, 486, 140, 425, 133, 134, 135, 586, 136, - 137, 1064, 755, 756, 757, 138, 38, -110, 839, 82, - 35, 1351, -110, 328, -110,-32766,-32766,-32766, 729, 308, - 238, -272, -110, -110, -110, -110, -110, -110, -110, -110, - 749, 748,-32766,-32766,-32766, 129,-32766, 301,-32766,-32766, + -32767,-32766,-32766,-32766, 24, 754,-32766,-32766,-32766, 1112, + 1113, 1114, 1111, 1110, 1109, 1115, -328, 1088, 1027, 261, + 137, 402, 758, 759, 760, 761, 1104,-32766, 427,-32766, + -32766,-32766,-32766,-32766, 606, 815, 762, 763, 764, 765, + 766, 767, 768, 769, 770, 771, 791, 583, 792, 793, + 794, 795, 783, 784, 341, 342, 786, 787, 772, 773, + 774, 776, 777, 778, 354, 818, 819, 820, 821, 822, + 584, 779, 780, 585, 586, -194, 803, 801, 802, 814, + 798, 799, 2, -193, 587, 588, 797, 589, 590, 591, + 592, 26, 593, 594, 378, 379, 457, 458, 459, 800, + 595, 596, 482, 138, 421, 131, 132, 133, 582, 134, + 135, 1060, 751, 752, 753, 136, 38, -110, 835, 82, + 35, 1345, -110, 319, -110,-32766,-32766,-32766, 725, 301, + 234, -272, -110, -110, -110, -110, -110, -110, -110, -110, + 745, 744,-32766,-32766,-32766, 127,-32766, 294,-32766,-32766, -32766,-32766,-32766,-32766,-32766, 105, 106, 107, 108, 109, - 758, 275, 841,-32766,-32766,-32766,-32766,-32766,-32766, 832, - 145, -328, 835, 110, 265, 139, 406, 762, 763, 764, - 765, -342, 994, 431, 36, 249, 1040, 866, 252, 867, - 819, 766, 767, 768, 769, 770, 771, 772, 773, 774, - 775, 795, 587, 796, 797, 798, 799, 787, 788, 347, - 348, 790, 791, 776, 777, 778, 780, 781, 782, 358, - 822, 823, 824, 825, 826, 588, 783, 784, 589, 590, - -194, 807, 805, 806, 818, 802, 803, 838, -193, 591, - 592, 801, 593, 594, 595, 596, 834, 597, 598, 836, - 83, 84, 85, 716, 804, 599, 600, 312, 149, 779, - 750, 751, 752, 753, 754, -600, 755, 756, 757, 792, - 793, 37, -600, 86, 87, 88, 89, 90, 91, 92, + 754, 271, 143,-32766,-32766,-32766,-32766,-32766,-32766, 828, + 248, -328, 831, 110, 261, 137, 402, 758, 759, 760, + 761, -342, 990, 427, 36, 245, 1036, 862,-32766, 863, + 815, 762, 763, 764, 765, 766, 767, 768, 769, 770, + 771, 791, 583, 792, 793, 794, 795, 783, 784, 341, + 342, 786, 787, 772, 773, 774, 776, 777, 778, 354, + 818, 819, 820, 821, 822, 584, 779, 780, 585, 586, + -194, 803, 801, 802, 814, 798, 799, 834, -193, 587, + 588, 797, 589, 590, 591, 592, 830, 593, 594, 832, + 83, 84, 85, 712, 800, 595, 596, 305, 147, 775, + 746, 747, 748, 749, 750, 556, 751, 752, 753, 788, + 789, 37, 943, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109,-32766, 275,-32766, - -32766,-32766, 1116, 1117, 1118, 1115, 1114, 1113, 1119, 314, - 110, 995, 325, 1037, 758,-32766,-32766,-32766, -85, 1040, - -32766, 840,-32766,-32766,-32766,-32766,-32766, 1332, 759, 760, - 761, 762, 763, 764, 765, 1040,-32766, 828,-32766,-32766, - -551, 431, 1252, 292, 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, -85, 807, 805, 806, 818, 802, - 803,-32766, -553, 794, 800, 801, 808, 809, 811, 810, - 560, 812, 813, 947, -551, -551, 830, 947, 804, 815, - 814, 50, 51, 52, 516, 53, 54, 1247, 1246, 1248, - -551, 55, 56, 839, 57, -600, 1094, -600,-32766, -597, - 341, 293, -557, 342, -551, 616, -597, 963, 964,-32766, - -32766,-32766, 965, 359, 127, 1336, -549, 364, 959,-32766, - 372, 293, 1335, 749, 748, 1063, -553, -553,-32766,-32766, - 58, 59, 1286, 1361, -548, 60, 1362, 61, 246, 247, + 103, 104, 105, 106, 107, 108, 109,-32766, 271,-32766, + -32766,-32766, 1112, 1113, 1114, 1111, 1110, 1109, 1115, 307, + 110, 991, 355, 1033, 754,-32766,-32766,-32766, 316, 1036, + -32766, 289,-32766,-32766,-32766, -85, 837, 1282, 755, 756, + 757, 758, 759, 760, 761, 1036,-32766, 824,-32766,-32766, + -551, 427, 1248, 288, 815, 762, 763, 764, 765, 766, + 767, 768, 769, 770, 771, 791, 813, 792, 793, 794, + 795, 783, 784, 785, 812, 786, 787, 772, 773, 774, + 776, 777, 778, 817, 818, 819, 820, 821, 822, 823, + 779, 780, 781, 782, 1033, 803, 801, 802, 814, 798, + 799, -85, 335, 790, 796, 797, 804, 805, 807, 806, + 336, 808, 809, 943, -551, -551, 1036,-32766, 800, 811, + 810, 50, 51, 52, 512, 53, 54, 1243, 1242, 1244, + -551, 55, 56, 835, 57,-32766, 1090, 920, 920, 1036, + 279, 289, -557, 959, 960, 612, 368, -367, 961, -367, + -32766,-32766,-32766, 360, 955, 126,-32766, 1330, 1326, 389, + 862, 7, 863, 288, 1329, 1059, 372, 715, 716, 387, + 58, 59, 284, 1355, 920, 60, 1356, 61, 242, 243, 62, 63, 64, 65, 66, 67, 68, 69,-32766, 28, - 267, 70, 446, 517, 287, 376, -553, 1280, 1281, 518, - 142, 839, 391, 1274, 328, 1278, 42, 19, 519, -367, - 520, -367, 521, 75, 522, 924, 442, 523, 524, 328, - -549, -549, 44, 45, 447, 379, 378,-32766, 46, 525, - 1027, 1026, 1025, 1028, 370, 340, -549, 443, -548, -548, - 393, 1238, 7, 527, 528, 529, 1245,-32766, -556, 1040, - -549, 329, 103, 104, -548, 531, 532, 444, 1266, 1267, - 1268, 1269, 1271, 1263, 1264, 300, -555, 445, -548, 1040, - 48, 1270, 1265, 292, 151, 1247, 1246, 1248, 301, 845, - 1037, 71, 1243, 152, 839, 323, 324, 328, 924, -153, - -153, -153, 866, 292, 867, 660, 20, 154, 914, -597, - -78, -597, 1040, 1039, -153, -591, -153, -591, -153, -58, - -153, 924, 287, 28, 267, 470, 471, 155, 719, 156, - 377, 158, 1247, 1246, 1248, 839, 283, 749, 748, 1278, - 33, 963, 964, -57, 302, 303, 526, 679, 680, 924, - 124, 900, 959, -110, -110, -110, 32, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 28, 268, 694, 125, 126, 1238, 141, 150, 409, 720, - 328, 914, 839, 130, 926, 131, 1278, 144, 714, -153, - 532, 159, 1266, 1267, 1268, 1269, 1271, 1263, 1264, 1154, - 1156, 1037, 380, 381, 914, 1270, 1265, -550, 695, 160, - -547, 385, 386, 651, 652, 73, 161, 162, 163, -87, - 324, 328, 1238, 1040, -302, -84, -78, 749, 748, 696, - 697, -298, 914, 924, -4, 924, 531, 532, -73, 1266, - 1267, 1268, 1269, 1271, 1263, 1264, 924, 283, 1247, 1246, - 1248, -72, 1270, 1265, 283, -71, -70, 926, -69, 749, - 748, 714, 73, 721,-32766, 281, -68, 324, 328, -67, - 1245, -550, -550, -66, -547, -547, 724,-32766,-32766,-32766, - 926,-32766, -65,-32766, 714,-32766, -46, -550,-32766, 924, - -547, -18, 148,-32766,-32766,-32766,-32766, 274, 284,-32766, - -32766, -550, 1245, -547, -547,-32766, 422, 730, 926,-32766, - -32766,-32766, 714,-32766,-32766,-32766, 914,-32766, 914, 731, - -32766, 733, 923, 147, 282,-32766,-32766,-32766, 285, 914, - 286,-32766,-32766, 334, 288, 275, 289,-32766, 422, 294, - 377, 295, 438, 28, 268, 74,-32766, 299, 941, 110, - 830, 963, 964, 146, 689, 839, 526, 839, 565, 1278, - 707, 530, 959, -110, -110, -110, 705, -547, -547, 1123, - -32766, 661, 914, 49, 667, 666, 682, 1363, 649, 306, - 960, 23, 313, -547, 1285, 10, 309, -50, 1287, 307, - -32766, 943, 980, 467, 926, 1238, 714, -547, 714, -4, - 683, 1275, 496, 571, -511, 926, 40, -501, 8, 714, - 532, -275, 1266, 1267, 1268, 1269, 1271, 1263, 1264, 132, - 838, 27, 301, 850, 735, 1270, 1265, 0, 0, 0, - -32766, 0, 0, 0, 0, 73, 1245, 304, 305, 0, - 324, 328, 0,-32766,-32766,-32766, 0,-32766, 926,-32766, - 0,-32766, 714, 375,-32766, 614, 374, 0, 0,-32766, - -32766,-32766,-32766, 0, 0,-32766,-32766, 128, 1245, 41, - 924,-32766, 422, 738, 739,-32766,-32766,-32766, 858,-32766, - -32766,-32766, 905,-32766, 1004, 981,-32766, 988, 978, 924, - 989,-32766,-32766,-32766,-32766, 903, 976,-32766,-32766, 1097, - 1245, 1100, 1101,-32766, 422, 1098, 1099,-32766,-32766,-32766, - 1105,-32766,-32766,-32766, 1302,-32766, 1320, -273,-32766, 1354, - 654, 34, 491,-32766,-32766,-32766,-32766, -585, -584,-32766, - -32766, -583, 1245, 578, -557,-32766, 422, -556, -555,-32766, - -32766,-32766, -554,-32766,-32766,-32766, -495,-32766, 1, 29, - -32766, 30, 39, 914, 43,-32766,-32766,-32766, 47, 72, - 1252,-32766,-32766, 76, 77, 78, 79,-32766, 422, -250, - -250, -250, 914, 80, 81, 377,-32766, 1252, 143, 153, - 157, 244, 1279, 330, 359, 360, 963, 964, -249, -249, - -249, 526, 361, 362, 377, 363, 900, 959, -110, -110, - -110, 364, 365, 366, 367, 963, 964, -16, 368, 369, - 526, 371, 439, 559, 1211, 900, 959, -110, -110, -110, - -272, 12, 13, 14, 15,-32766, 17, 408, 487, 926, - 488, 1245, 322, 714, -250, 495, 498, 499,-32766,-32766, - -32766, 839,-32766, 500,-32766, 501,-32766, 505, 926,-32766, - 506, 901, 714, -249,-32766,-32766,-32766, 507, 839, 514, - -32766,-32766, 576, 700, 1256, 1194,-32766, 422, 1276, 1066, - 1065, 1046, 1233, 1042, -277,-32766, -110, -110, -102, 11, - 16, -110, 21, 298, 407, 607, 611, -110, 640, 706, - 1198, 1251, 1195, -110, -110, 1333,-32766, 373, -110, 715, - 718, 722, 723, 725, -110, 726, 727, 728, 732, 717, - 0, 1358, 1360,-32766, 861, 860, 328, 869, 301, 953, - 996, 75, 868, 1359, 0, 952, 950, 328, 951, 954, - 1226, 934, 944, 932, 986, 301, 987, 638, 75, 1357, - 1314, 0, 1303, 1321, 328, 1330 + 263, 70, 442, 513, 283, 836, 438, 1276, 1277, 514, + 439, 835, -553, 440, 717, 1274, 42, 19, 515, 920, + 516, 441, 517, 75, 518, 920, 149, 519, 520, 319, + 910, 910, 44, 45, 443, 375, 374,-32766, 46, 521, + 1023, 1022, 1021, 1024, 366, 334, 1270, 826, -589, 720, + -589, 1234, 841, 523, 524, 525, 1241, -549, -78, 1036, + 745, 744,-32766,-32766, -548, 527, 528, 910, 1262, 1263, + 1264, 1265, 1267, 1259, 1260, 293, -553, -553, 745, 744, + 150, 1266, 1261, 288, 152, 1243, 1242, 1244, 294, 153, + 1033, 71, 1239, 28, 264, 314, 315, 319, 154, -153, + -153, -153, 910, 920, 156, 835, 922, 922, 910, 1274, + 710, 710, 1036, 1035, -153, 33, -153, -87, -153, -58, + -153, -549, -549, 103, 104, 656, 20, 835, -548, -548, + 373, 140, 1243, 1242, 1244, 319, 279, -549,-32766,-32766, + -57, 959, 960, 976, -548, 1234, 522, 710, 124, -556, + -84, 896, 955, -110, -110, -110, -555, 675, 676, 527, + 528, 125, 1262, 1263, 1264, 1265, 1267, 1259, 1260, 148, + 405, 745, 744, 128, 283, 1266, 1261, -550, 922, 376, + 377, 129, 710, -547, 922, 73, 910, 49, 710, -153, + 315, 319, 32, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 381, 382,-32766, 139, + -4, 920, 142, 319, 1241, 647, 648, 157, 745, 744, + 158,-32766,-32766,-32766, 690,-32766, -78,-32766, 48,-32766, + 159, 160,-32766, 161, 920, 1150, 1152,-32766,-32766,-32766, + -73, -550, -550,-32766,-32766, 285, -547, -547, -547,-32766, + 418, 297, 298, -72, -71,-32766, 320, -550,-32766, -70, + 691, 1241, 922, -547, 727, -69, 710, 371,-32766,-32766, + -32766, -68,-32766, -67,-32766, -66,-32766, -65, -46,-32766, + -18, 692, 693, 146,-32766,-32766,-32766, 270, 280, 74, + -32766,-32766, 295, 296, 910, 726,-32766, 418, 729, 919, + 1243, 1242, 1244, 145, -302,-32766, 279, 290, -298, 277, + -547, -547, 278, 28, 263, 281, 373, 910, 434, 282, + 466, 467, 325, 292, 937, 835, -547, 959, 960, 1274, + 291, 110, 522, 144, 826, 271, 685, 526, 955, -110, + -110, -110, 835, 1119, 561, 701, 28, 264, 657, 1357, + 23, 663, 645, 956, 300, 302,-32766,-32766, 835, 299, + 1281, 10, 1274, 306, 294, 1234, 1283, 703, -511, -583, + 922, 939, 40, 678, 710, -4, -501, 662, 567, 463, + 528, 0, 1262, 1263, 1264, 1265, 1267, 1259, 1260, 492, + -50, 679, 610, 922, -582, 1266, 1261, 710, 1234, -581, + 8, 834, 1207, 319, 0, 73, 0, 0, 41, 0, + 315, 319, 0, 528, 0, 1262, 1263, 1264, 1265, 1267, + 1259, 1260, 130, 0, 0, 0, 0, 0, 1266, 1261, + 0, 0, 0,-32766, 0, 27, 0, 0, 73, 1241, + 370, 0, 0, 315, 319, -557,-32766,-32766,-32766, 734, + -32766, -275,-32766, 0,-32766, 735, 854,-32766, 901, 1000, + 977, 984,-32766,-32766,-32766,-32766, 974, 985,-32766,-32766, + 899, 1241, 972, 920,-32766, 418, 1093, 1096,-32766,-32766, + -32766, 1097,-32766,-32766,-32766, 1094,-32766, 1095, 1101,-32766, + 1271, 846, 920, 1298,-32766,-32766,-32766,-32766, 1315, 1348, + -32766,-32766, 650, 1241, -556, -555,-32766, 418, -554, -495, + -32766,-32766,-32766, 1,-32766,-32766,-32766, 29,-32766, 30, + 39,-32766, 43, 47, 72, 487,-32766,-32766,-32766,-32766, + 76, 77,-32766,-32766, 78, 1241, 574, 79,-32766, 418, + 80, 81,-32766,-32766,-32766, 141,-32766,-32766,-32766, 151, + -32766, 155, 240,-32766, 321, 355, 910, 356,-32766,-32766, + -32766, 357, 358, 1248,-32766,-32766, 359, 360, 361, 362, + -32766, 418, -250, -250, -250, 910, 363, 364, 373,-32766, + 1248, 365, 367, 435, 555, 1275, 0, -273, -272, 959, + 960, -249, -249, -249, 522, 12, 13, 373, 14, 896, + 955, -110, -110, -110, 15, 17, 404, 483, 959, 960, + -16, 484, 491, 522, 494, 495, 496, 497, 896, 955, + -110, -110, -110, 501, 502, 503, 510, 572,-32766, 696, + 1252, 1190, 922, 1272, 1241, 34, 710, -250, 1062, 1061, + 1042,-32766,-32766,-32766, 835,-32766, 1229,-32766, 1038,-32766, + -277, 922,-32766, -102, 731, 710, -249,-32766,-32766,-32766, + 11, 835, 16,-32766,-32766, 21, 310, 403, 603,-32766, + 418, 607, 636, 702, 1194, 1247, 1191, 1327,-32766, -110, + -110, 313, 369, 711, -110, 714, 718, 719, 721, 722, + -110, 723, 724, 728, 713, 0, -110, -110, 897,-32766, + 1352, -110, 1354, 857, 856, 865, 949, -110, 992, 864, + 1353, 948, 946, 947, 950, 1222,-32766, 930, 940, 0, + 928, 294, 982, 983, 75, 634, 1351, 0, 1309, 1324, + 319, 0, 0, 0, 0, 0, 0, 0, 294, 0, + 0, 75, 0, 0, 0, 0, 0, 319 ); protected array $actionCheck = array( @@ -540,9 +540,9 @@ class Php8 extends \PhpParser\ParserAbstract 97, 163, 116, 117, 118, 119, 120, 121, 122, 123, 37, 38, 9, 10, 11, 8, 30, 159, 32, 33, 34, 35, 36, 37, 38, 51, 52, 53, 54, 55, - 57, 57, 1, 30, 116, 32, 33, 34, 35, 80, + 57, 57, 8, 30, 116, 32, 33, 34, 35, 80, 8, 163, 80, 69, 71, 72, 73, 74, 75, 76, - 77, 165, 31, 80, 148, 149, 138, 106, 8, 108, + 77, 165, 31, 80, 148, 149, 138, 106, 9, 108, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, @@ -550,184 +550,183 @@ class Php8 extends \PhpParser\ParserAbstract 163, 128, 129, 130, 131, 132, 133, 156, 163, 136, 137, 138, 139, 140, 141, 142, 157, 144, 145, 157, 9, 10, 11, 164, 151, 152, 153, 8, 155, 2, - 3, 4, 5, 6, 7, 1, 9, 10, 11, 12, - 13, 30, 8, 32, 33, 34, 35, 36, 37, 38, + 3, 4, 5, 6, 7, 85, 9, 10, 11, 12, + 13, 30, 122, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 116, 57, 9, 10, 11, 116, 117, 118, 119, 120, 121, 122, 8, - 69, 160, 8, 116, 57, 9, 10, 11, 31, 138, - 30, 160, 32, 33, 34, 9, 10, 1, 71, 72, + 69, 160, 162, 116, 57, 9, 10, 11, 8, 138, + 30, 30, 32, 33, 34, 31, 1, 147, 71, 72, 73, 74, 75, 76, 77, 138, 30, 80, 32, 33, 70, 80, 1, 162, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 97, 128, 129, 130, 131, 132, - 133, 9, 70, 136, 137, 138, 139, 140, 141, 142, - 85, 144, 145, 122, 134, 135, 80, 122, 151, 152, + 123, 124, 125, 126, 116, 128, 129, 130, 131, 132, + 133, 97, 8, 136, 137, 138, 139, 140, 141, 142, + 8, 144, 145, 122, 134, 135, 138, 116, 151, 152, 153, 2, 3, 4, 5, 6, 7, 156, 157, 158, - 150, 12, 13, 82, 15, 161, 165, 163, 116, 1, - 8, 30, 162, 8, 164, 52, 8, 117, 118, 9, - 10, 11, 122, 162, 14, 1, 70, 162, 128, 137, - 8, 30, 8, 37, 38, 1, 134, 135, 51, 52, - 51, 52, 147, 80, 70, 56, 83, 58, 59, 60, + 150, 12, 13, 82, 15, 116, 165, 1, 1, 138, + 162, 30, 162, 117, 118, 52, 8, 106, 122, 108, + 9, 10, 11, 162, 128, 14, 137, 1, 1, 106, + 106, 108, 108, 162, 8, 1, 8, 31, 31, 8, + 51, 52, 37, 80, 1, 56, 83, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 137, 70, - 71, 72, 73, 74, 30, 8, 164, 78, 79, 80, - 164, 82, 8, 1, 168, 86, 87, 88, 89, 106, - 91, 108, 93, 162, 95, 1, 8, 98, 99, 168, - 134, 135, 103, 104, 105, 106, 107, 116, 109, 110, - 119, 120, 121, 122, 115, 116, 150, 8, 134, 135, - 106, 122, 108, 124, 125, 126, 80, 116, 162, 138, - 164, 70, 49, 50, 150, 136, 137, 8, 139, 140, - 141, 142, 143, 144, 145, 146, 162, 8, 164, 138, - 70, 152, 153, 162, 14, 156, 157, 158, 159, 8, - 116, 162, 116, 14, 82, 166, 167, 168, 1, 75, - 76, 77, 106, 162, 108, 75, 76, 14, 84, 161, - 16, 163, 138, 137, 90, 161, 92, 163, 94, 16, - 96, 1, 30, 70, 71, 134, 135, 14, 31, 14, - 106, 14, 156, 157, 158, 82, 162, 37, 38, 86, - 14, 117, 118, 16, 134, 135, 122, 75, 76, 1, - 16, 127, 128, 129, 130, 131, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 70, 71, 80, 16, 164, 122, 164, 101, 102, 31, - 168, 84, 82, 16, 160, 16, 86, 16, 164, 165, - 137, 16, 139, 140, 141, 142, 143, 144, 145, 59, - 60, 116, 106, 107, 84, 152, 153, 70, 116, 16, - 70, 106, 107, 111, 112, 162, 16, 16, 16, 31, - 167, 168, 122, 138, 35, 31, 31, 37, 38, 137, - 138, 35, 84, 1, 0, 1, 136, 137, 31, 139, - 140, 141, 142, 143, 144, 145, 1, 162, 156, 157, - 158, 31, 152, 153, 162, 31, 31, 160, 31, 37, - 38, 164, 162, 31, 74, 35, 31, 167, 168, 31, - 80, 134, 135, 31, 134, 135, 31, 87, 88, 89, - 160, 91, 31, 93, 164, 95, 31, 150, 98, 1, - 150, 31, 31, 103, 104, 105, 74, 31, 31, 109, - 110, 164, 80, 70, 164, 115, 116, 31, 160, 87, - 88, 89, 164, 91, 124, 93, 84, 95, 84, 31, - 98, 31, 31, 31, 35, 103, 104, 105, 35, 84, - 35, 109, 110, 35, 37, 57, 37, 115, 116, 37, - 106, 37, 108, 70, 71, 155, 124, 113, 38, 69, - 80, 117, 118, 70, 77, 82, 122, 82, 89, 86, - 92, 127, 128, 129, 130, 131, 80, 134, 135, 82, - 85, 90, 84, 70, 100, 96, 94, 83, 113, 132, - 128, 97, 132, 150, 147, 151, 114, 31, 147, 133, - 137, 155, 160, 97, 160, 122, 164, 164, 164, 165, - 100, 161, 97, 154, 150, 160, 160, 150, 150, 164, - 137, 163, 139, 140, 141, 142, 143, 144, 145, 31, - 156, 150, 159, 161, 165, 152, 153, -1, -1, -1, - 74, -1, -1, -1, -1, 162, 80, 134, 135, -1, - 167, 168, -1, 87, 88, 89, -1, 91, 160, 93, - -1, 95, 164, 150, 98, 154, 150, -1, -1, 103, - 104, 105, 74, -1, -1, 109, 110, 164, 80, 160, - 1, 115, 116, 160, 160, 87, 88, 89, 160, 91, - 124, 93, 160, 95, 160, 160, 98, 160, 160, 1, - 160, 103, 104, 105, 74, 160, 160, 109, 110, 160, - 80, 160, 160, 115, 116, 160, 160, 87, 88, 89, - 160, 91, 124, 93, 161, 95, 161, 163, 98, 161, - 161, 164, 102, 103, 104, 105, 74, 162, 162, 109, - 110, 162, 80, 81, 162, 115, 116, 162, 162, 87, - 88, 89, 162, 91, 124, 93, 162, 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, 118, 100, 101, - 102, 122, 162, 162, 106, 162, 127, 128, 129, 130, - 131, 162, 162, 162, 162, 117, 118, 31, 162, 162, - 122, 162, 162, 162, 166, 127, 128, 129, 130, 131, - 163, 163, 163, 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, - 109, 110, 163, 163, 163, 163, 115, 116, 163, 163, - 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, 164, 122, 164, - 164, 164, 164, 164, 128, 164, 164, 164, 164, 164, - -1, 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, 165, - 165, -1, 165, 165, 168, 165 + 71, 72, 73, 74, 30, 160, 8, 78, 79, 80, + 8, 82, 70, 8, 31, 86, 87, 88, 89, 1, + 91, 8, 93, 162, 95, 1, 14, 98, 99, 168, + 84, 84, 103, 104, 105, 106, 107, 116, 109, 110, + 119, 120, 121, 122, 115, 116, 1, 80, 161, 31, + 163, 122, 8, 124, 125, 126, 80, 70, 16, 138, + 37, 38, 9, 10, 70, 136, 137, 84, 139, 140, + 141, 142, 143, 144, 145, 146, 134, 135, 37, 38, + 14, 152, 153, 162, 14, 156, 157, 158, 159, 14, + 116, 162, 116, 70, 71, 166, 167, 168, 14, 75, + 76, 77, 84, 1, 14, 82, 160, 160, 84, 86, + 164, 164, 138, 137, 90, 14, 92, 31, 94, 16, + 96, 134, 135, 49, 50, 75, 76, 82, 134, 135, + 106, 164, 156, 157, 158, 168, 162, 150, 51, 52, + 16, 117, 118, 160, 150, 122, 122, 164, 16, 162, + 31, 127, 128, 129, 130, 131, 162, 75, 76, 136, + 137, 16, 139, 140, 141, 142, 143, 144, 145, 101, + 102, 37, 38, 16, 30, 152, 153, 70, 160, 106, + 107, 16, 164, 70, 160, 162, 84, 70, 164, 165, + 167, 168, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 106, 107, 74, 164, + 0, 1, 16, 168, 80, 111, 112, 16, 37, 38, + 16, 87, 88, 89, 80, 91, 31, 93, 70, 95, + 16, 16, 98, 16, 1, 59, 60, 103, 104, 105, + 31, 134, 135, 109, 110, 37, 70, 134, 135, 115, + 116, 134, 135, 31, 31, 74, 70, 150, 124, 31, + 116, 80, 160, 150, 31, 31, 164, 150, 87, 88, + 89, 31, 91, 31, 93, 31, 95, 31, 31, 98, + 31, 137, 138, 31, 103, 104, 105, 31, 31, 155, + 109, 110, 134, 135, 84, 31, 115, 116, 31, 31, + 156, 157, 158, 31, 35, 124, 162, 37, 35, 35, + 134, 135, 35, 70, 71, 35, 106, 84, 108, 35, + 134, 135, 35, 113, 38, 82, 150, 117, 118, 86, + 37, 69, 122, 70, 80, 57, 77, 127, 128, 129, + 130, 131, 82, 82, 89, 80, 70, 71, 90, 83, + 97, 100, 113, 128, 133, 114, 85, 137, 82, 132, + 147, 151, 86, 132, 159, 122, 147, 92, 150, 162, + 160, 155, 160, 94, 164, 165, 150, 96, 154, 97, + 137, -1, 139, 140, 141, 142, 143, 144, 145, 97, + 31, 100, 154, 160, 162, 152, 153, 164, 122, 162, + 150, 156, 166, 168, -1, 162, -1, -1, 160, -1, + 167, 168, -1, 137, -1, 139, 140, 141, 142, 143, + 144, 145, 31, -1, -1, -1, -1, -1, 152, 153, + -1, -1, -1, 74, -1, 150, -1, -1, 162, 80, + 150, -1, -1, 167, 168, 162, 87, 88, 89, 160, + 91, 163, 93, -1, 95, 160, 160, 98, 160, 160, + 160, 160, 103, 104, 105, 74, 160, 160, 109, 110, + 160, 80, 160, 1, 115, 116, 160, 160, 87, 88, + 89, 160, 91, 124, 93, 160, 95, 160, 160, 98, + 161, 161, 1, 161, 103, 104, 105, 74, 161, 161, + 109, 110, 161, 80, 162, 162, 115, 116, 162, 162, + 87, 88, 89, 162, 91, 124, 93, 162, 95, 162, + 162, 98, 162, 162, 162, 102, 103, 104, 105, 74, + 162, 162, 109, 110, 162, 80, 81, 162, 115, 116, + 162, 162, 87, 88, 89, 162, 91, 124, 93, 162, + 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, -1, 163, 163, 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, + 129, 130, 131, 163, 163, 163, 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, 109, 110, 163, 163, 163, 163, 115, + 116, 163, 163, 163, 163, 163, 163, 163, 124, 117, + 118, 164, 164, 164, 122, 164, 164, 164, 164, 164, + 128, 164, 164, 164, 164, -1, 117, 118, 165, 137, + 165, 122, 165, 165, 165, 165, 165, 128, 165, 165, + 165, 165, 165, 165, 165, 165, 137, 165, 165, -1, + 165, 159, 165, 165, 162, 165, 165, -1, 165, 165, + 168, -1, -1, -1, -1, -1, -1, -1, 159, -1, + -1, 162, -1, -1, -1, -1, -1, 168 ); protected array $actionBase = array( - 0, -2, 153, 554, 764, 999, 1018, 622, 542, 311, - 139, 678, 775, 775, 818, 775, 627, 762, 876, 650, - 650, 650, 816, -57, 307, 307, 816, 307, 720, 720, - 720, 720, 752, 752, 950, 950, 982, 918, 886, 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, 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, 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, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, - 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, - 1081, 1081, 1081, 1081, 211, 201, 83, 656, 1050, 1057, - 1052, 1058, 1047, 1046, 1051, 1053, 1059, 1104, 1105, 822, - 1107, 1108, 1102, 1110, 1055, 889, 1049, 1056, 291, 291, + 0, -2, 153, 554, 740, 1002, 1021, 674, 575, 311, + 139, 477, 548, 548, 763, 548, 476, 513, 857, 632, + 632, 632, 795, -57, 307, 307, 795, 307, 664, 664, + 664, 664, 711, 711, 953, 953, 985, 921, 889, 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, 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, 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, 1084, 1084, + 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, + 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, + 1084, 1084, 375, 201, 83, 631, 1033, 1041, 1035, 1042, + 1029, 1027, 1034, 1038, 1043, 1091, 1093, 802, 1090, 1094, + 1039, 871, 1032, 1040, 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, 291, 291, 291, 432, 480, 366, 42, 42, + 291, 229, 481, 583, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 630, 630, - 3, 3, 3, 356, 803, 583, 803, 803, 803, 803, - 803, 803, 803, 803, 340, 183, 670, 47, 166, 166, - 7, 7, 7, 7, 7, 1106, 66, 1089, 1089, -20, - -20, -20, -20, 451, 504, 391, -47, 443, 543, 471, - 38, 615, 615, 247, 247, 231, 231, 247, 247, 247, - 154, 154, 98, 98, 98, 98, 320, 426, 444, 131, - 365, 783, 376, 376, 376, 376, 783, 783, 783, 783, - 771, 945, 783, 783, 783, 667, 763, 763, 833, 457, - 457, 763, 526, 86, 86, 526, 370, 86, 5, 433, - 362, 782, -85, 484, 362, 372, 540, 478, 314, 794, - 626, 794, 1045, 331, 815, 815, 335, 785, 737, 880, - 1075, 1062, 804, 1099, 830, 1101, 17, 521, 725, 1041, - 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, - 1078, 466, 1045, 142, 1078, 1078, 1078, 466, 466, 466, - 466, 466, 466, 466, 466, 466, 466, 632, 142, 560, - 602, 142, 828, 466, 211, 787, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 790, -12, 211, 201, - 14, 14, -126, 67, 14, 14, 14, 14, 211, 211, - 211, 211, 626, 808, 779, 635, 831, 125, 808, 808, - 808, 337, 58, 18, 117, 719, 726, 474, 800, 800, - 817, 916, 800, 805, 800, 817, 926, 800, 800, 916, - 916, 793, 916, 187, 548, 472, 527, 569, 916, 299, - 800, 800, 800, 800, 780, 916, 589, 800, 230, 212, - 800, 800, 780, 777, 797, 124, 786, 916, 916, 916, - 780, 492, 786, 786, 786, 843, 844, 795, 796, 354, - 351, 611, 162, 840, 796, 796, 800, 534, 795, 796, - 795, 796, 766, 796, 796, 796, 795, 796, 805, 475, - 796, 705, 599, 133, 796, 20, 927, 931, 718, 932, - 920, 933, 980, 934, 941, 1065, 914, 949, 922, 942, - 981, 919, 917, 821, 664, 687, 788, 784, 910, 810, - 810, 810, 902, 905, 810, 810, 810, 810, 810, 810, - 810, 810, 664, 770, 836, 799, 953, 697, 699, 1029, - 767, 1016, 978, 952, 1031, 946, 776, 701, 993, 960, - 789, 998, 961, 963, 994, 1032, 848, 1035, 1076, 813, - 1077, 1079, 792, 970, 1066, 810, 927, 941, 724, 922, - 942, 919, 917, 781, 772, 765, 768, 757, 755, 750, - 754, 791, 1036, 899, 895, 883, 969, 906, 664, 885, - 988, 887, 995, 997, 1063, 826, 824, 888, 1080, 971, - 972, 976, 1067, 1037, 1068, 839, 989, 778, 1002, 835, - 1082, 1003, 1004, 1010, 1012, 1069, 1084, 1071, 896, 1072, - 852, 811, 884, 809, 1085, 600, 823, 825, 834, 979, - 609, 951, 1073, 1087, 1088, 1014, 1017, 1024, 1090, 1091, - 947, 854, 990, 812, 991, 987, 855, 857, 623, 832, - 1038, 760, 819, 829, 643, 645, 1093, 1094, 1095, 948, - 806, 807, 858, 860, 1039, 827, 1040, 1096, 647, 865, - 723, 1097, 1030, 730, 731, 624, 657, 633, 732, 798, - 1074, 801, 802, 814, 977, 731, 820, 866, 1098, 869, - 871, 872, 1026, 875, 0, 0, 0, 0, 0, 0, + 42, 42, 42, 42, 553, 553, 3, 3, 3, 356, + 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, 381, 604, 341, 38, 318, 318, 247, + 247, 231, 231, 247, 247, 247, 154, 154, 98, 98, + 98, 98, 131, 230, 750, 497, 497, 497, 497, 750, + 750, 750, 750, 749, 948, 750, 750, 750, 320, 517, + 524, 617, 617, 394, 86, 86, 394, 366, 86, 5, + 433, 359, 755, -85, 417, 359, 637, 643, 643, 647, + 643, 643, 643, 775, 603, 775, 1020, 200, 801, 801, + 331, 777, 739, 858, 1060, 1044, 781, 1087, 821, 1088, + 17, 472, 688, 716, 725, 1017, 1017, 1017, 1017, 1017, + 1017, 1017, 1017, 1017, 1017, 1017, 765, 571, 1020, 142, + 765, 765, 765, 571, 571, 571, 571, 571, 571, 571, + 571, 571, 571, 634, 142, 580, 612, 142, 817, 571, + 375, 756, 375, 375, 375, 375, 375, 375, 375, 375, + 375, 375, 779, -12, 375, 201, 14, 14, -126, 67, + 14, 14, 14, 14, 375, 375, 375, 375, 603, 808, + 754, 630, 768, 125, 808, 808, 808, 344, 58, 18, + 117, 799, 803, 393, 784, 784, 791, 881, 784, 790, + 784, 791, 891, 784, 784, 881, 881, 735, 881, 187, + 528, 434, 498, 532, 881, 299, 784, 784, 784, 784, + 761, 881, 535, 784, 212, 204, 784, 784, 761, 757, + 787, 124, 751, 881, 881, 881, 761, 478, 751, 751, + 751, 819, 825, 769, 786, 360, 351, 574, 162, 816, + 786, 786, 784, 501, 769, 786, 769, 786, 746, 786, + 786, 786, 769, 786, 790, 442, 786, 731, 543, 133, + 786, 20, 892, 898, 616, 899, 888, 902, 951, 905, + 908, 1049, 877, 920, 890, 909, 952, 887, 885, 798, + 662, 675, 780, 748, 876, 792, 792, 792, 813, 872, + 792, 792, 792, 792, 792, 792, 792, 792, 662, 859, + 820, 785, 925, 687, 695, 994, 743, 1063, 766, 923, + 997, 913, 742, 726, 972, 929, 1019, 1047, 930, 934, + 973, 998, 826, 1000, 1065, 793, 1067, 1068, 860, 936, + 1051, 792, 892, 908, 649, 890, 909, 887, 885, 776, + 774, 770, 772, 764, 758, 752, 753, 782, 1005, 767, + 737, 862, 935, 873, 662, 867, 962, 1001, 974, 978, + 1048, 812, 796, 868, 1069, 937, 944, 945, 1052, 1006, + 1053, 778, 963, 818, 979, 822, 1070, 981, 982, 983, + 984, 1054, 1071, 1055, 762, 1057, 828, 788, 954, 811, + 1073, 542, 810, 814, 823, 950, 596, 922, 1058, 1074, + 1075, 990, 991, 992, 1076, 1077, 917, 829, 965, 809, + 971, 955, 830, 831, 600, 800, 1007, 804, 807, 738, + 605, 614, 1078, 1079, 1080, 919, 794, 789, 836, 837, + 1013, 475, 1015, 1082, 620, 840, 734, 1083, 996, 744, + 745, 572, 654, 633, 747, 805, 1059, 815, 771, 783, + 949, 745, 797, 842, 1085, 846, 847, 851, 993, 855, 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, 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, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, @@ -740,41 +739,42 @@ 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, 291, 291, 291, 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, 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, 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, 0, - 291, 291, 291, 291, 291, 291, 291, 291, 506, 793, - 506, 506, 154, 154, 154, 154, 506, 506, 506, 236, - 236, 154, 506, 370, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 0, 0, 506, 506, 506, 506, 0, - 0, 0, 142, 86, 506, 805, 805, 805, 805, 506, - 506, 506, 506, 86, 86, 506, 506, 506, 0, 0, - 0, 0, 154, 154, 0, 142, 0, 0, 142, 0, - 0, 805, 805, 506, 370, 793, 494, 506, 0, 0, - 0, 0, 142, 805, 142, 466, 800, 86, 86, 800, - 466, 466, 14, 211, 494, 606, 606, 606, 606, 0, - 0, 626, 793, 793, 793, 793, 793, 793, 793, 793, - 793, 793, 793, 805, 0, 793, 0, 805, 805, 805, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 805, 0, 0, 916, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 926, - 0, 0, 0, 0, 0, 0, 805, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 810, 826, 0, 826, - 0, 810, 810, 810, 0, 0, 0, 0, 832, 827 + 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, 735, 506, 506, 154, 154, 154, 154, 506, 506, + 506, 236, 236, 154, 506, 366, 506, 506, 506, 506, + 506, 506, 506, 506, 506, 0, 0, 506, 506, 506, + 506, 142, 86, 506, 790, 790, 790, 790, 506, 506, + 506, 506, 86, 86, 506, 506, 506, 0, 0, 0, + 154, 154, 142, 0, 0, 142, 0, 0, 790, 790, + 506, 366, 735, 496, 506, 0, 0, 0, 0, 0, + 0, 0, 142, 790, 142, 571, 784, 86, 86, 784, + 571, 571, 14, 375, 496, 598, 598, 598, 598, 0, + 0, 0, 0, 603, 735, 735, 735, 735, 735, 735, + 735, 735, 735, 735, 735, 790, 0, 735, 0, 790, + 790, 790, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 790, 0, 0, + 881, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 891, 0, 0, 0, 0, 0, 0, 790, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 792, 812, + 0, 812, 0, 792, 792, 792, 0, 0, 0, 0, + 800, 475 ); 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, 603, 603, - 603, 603,32767,32767, 254, 102,32767,32767, 470, 387, + 32767,32767,32767,32767,32767,32767, 100,32767, 601, 601, + 601, 601,32767,32767, 254, 102,32767,32767, 470, 387, 387, 387,32767,32767, 545, 545, 545, 545, 545, 545, 32767,32767,32767,32767,32767,32767, 470,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, @@ -783,149 +783,141 @@ class Php8 extends \PhpParser\ParserAbstract 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, 102,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,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767, 594,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 596,32767,32767, + 32767,32767,32767,32767, 474, 453, 454, 456, 457, 386, + 546, 600, 327, 597, 385, 145, 339, 329, 242, 330, + 258, 475, 259, 476, 479, 480, 215, 287, 382, 149, + 150, 417, 471, 419, 469, 473, 418, 392, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 390, 391, 472,32767,32767, 450, 449, 448, 415, + 32767,32767,32767,32767,32767,32767,32767,32767, 102,32767, + 416, 420, 423, 389, 421, 422, 439, 440, 437, 438, + 441,32767,32767,32767,32767, 442, 443, 444, 445, 316, + 32767,32767, 366, 364, 424, 316, 111,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 430, 431,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 474, 453, - 454, 456, 457, 386, 546, 602, 327, 599, 385, 145, - 339, 329, 242, 330, 258, 475, 259, 476, 479, 480, - 215, 287, 382, 149, 150, 417, 471, 419, 469, 473, - 418, 392, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 390, 391, 472,32767,32767, - 450, 449, 448, 415,32767,32767,32767,32767,32767,32767, - 32767,32767, 102,32767, 416, 420, 389, 423, 421, 422, - 439, 440, 437, 438, 441,32767,32767,32767,32767, 442, - 443, 444, 445, 316,32767,32767, 366, 364, 424, 316, - 111,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 430, 431,32767,32767,32767,32767, 487, 539, 447,32767, + 32767,32767,32767,32767,32767, 102,32767, 100, 487, 539, + 447, 425, 426,32767, 514,32767, 102,32767, 516,32767, + 32767,32767,32767,32767,32767,32767, 541, 412, 414, 507, + 595, 393, 598,32767, 500, 100, 195,32767,32767, 515, + 32767, 195, 195,32767,32767,32767,32767,32767,32767,32767, + 32767, 540,32767, 608, 500, 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, 563, 195, + 32767, 519,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767, 512,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 500, 435, + 138,32767, 138, 547, 427, 428, 429, 502, 547, 547, + 547, 312, 289,32767,32767,32767,32767, 517, 100, 100, + 100, 100, 512,32767,32767,32767,32767, 111, 486, 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, 567, 568, 223, 101, 227, 227, + 227, 247, 247, 489, 318, 101, 99, 101, 101, 197, + 318, 318,32767, 101, 489, 318, 489, 318, 199, 318, + 318, 318, 489, 318,32767, 101, 318, 214, 99, 99, + 318,32767,32767,32767, 502,32767,32767,32767,32767,32767, + 32767,32767, 222,32767,32767,32767,32767,32767,32767,32767, + 32767, 534,32767, 552, 565, 433, 434, 436, 551, 549, + 458, 459, 460, 461, 462, 463, 464, 466, 596,32767, + 506,32767,32767,32767, 338,32767, 606,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 102,32767, 100, 541, 412, 414, 507, 425, - 426, 393,32767, 514,32767, 102,32767, 516,32767,32767, - 32767,32767,32767,32767,32767, 540,32767, 547, 547,32767, - 500, 100, 195,32767,32767, 515,32767, 195, 195,32767, - 32767,32767,32767,32767,32767,32767,32767, 610, 500, 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, 564, 195,32767, 519,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 512,32767,32767,32767, + 32767,32767,32767,32767, 607,32767, 547,32767,32767,32767, + 32767, 432, 9, 74, 495, 42, 43, 51, 57, 523, + 524, 525, 526, 520, 521, 527, 522,32767,32767, 529, + 573,32767,32767, 548, 599,32767,32767,32767,32767,32767, + 32767, 138,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767, 534,32767, 136,32767,32767,32767,32767, + 32767,32767,32767,32767, 530,32767,32767,32767, 547,32767, + 32767,32767,32767, 314, 311,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 500, 435, 138,32767, 138, 547, 427, 428, - 429, 502, 547, 547, 547, 312, 289,32767,32767,32767, - 32767, 517, 100, 100, 100, 100, 512,32767,32767,32767, - 32767, 111, 486, 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, 568, 569, - 223, 101, 227, 227, 227, 247, 247, 489, 318, 101, - 99, 101, 101, 197, 318, 318,32767, 101, 489, 318, - 489, 318, 199, 318, 318, 318, 489, 318,32767, 101, - 318, 214, 99, 99, 318,32767,32767,32767, 502,32767, - 32767,32767,32767,32767,32767,32767, 222,32767,32767,32767, - 32767,32767,32767,32767,32767, 534,32767, 552, 566, 433, - 434, 436, 551, 549, 458, 459, 460, 461, 462, 463, - 464, 466, 598,32767, 506,32767,32767,32767, 338,32767, - 608,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 609,32767, - 547,32767,32767,32767,32767, 432, 9, 74, 495, 42, - 43, 51, 57, 523, 524, 525, 526, 520, 521, 527, - 522,32767,32767, 529, 574,32767,32767, 548, 601,32767, - 32767,32767,32767,32767,32767, 138,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 534,32767, 136, - 32767,32767,32767,32767,32767,32767,32767,32767, 530,32767, - 32767,32767, 547,32767,32767,32767,32767, 314, 311,32767, + 32767, 547,32767,32767,32767,32767,32767, 291,32767, 308, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 547,32767,32767,32767,32767, - 32767, 291,32767, 308,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 286,32767,32767, 381, + 502, 294, 296, 297,32767,32767,32767,32767, 360,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 286,32767,32767, 381, 502, 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 + 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( - 196, 196, 1038, 1069, 701, 353, 856, 433, 665, 479, - 1322, 1323, 710, 427, 321, 316, 317, 337, 580, 432, - 338, 434, 642, 897, 855, 897, 897, 167, 167, 167, - 167, 221, 197, 193, 193, 177, 179, 216, 193, 193, - 193, 193, 193, 194, 194, 194, 194, 194, 194, 188, - 189, 190, 191, 192, 218, 216, 219, 539, 540, 423, - 541, 544, 545, 546, 547, 548, 549, 550, 551, 1140, - 168, 169, 170, 195, 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, 278, 290, 291, 319, 320, 428, 429, 430, 585, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 180, 237, 181, 198, 199, - 200, 241, 188, 189, 190, 191, 192, 218, 1140, 201, - 182, 183, 184, 202, 198, 185, 242, 203, 201, 165, - 204, 205, 186, 206, 207, 208, 187, 209, 210, 211, - 212, 213, 214, 859, 613, 628, 631, 632, 633, 634, - 655, 656, 657, 712, 469, 469, 280, 280, 280, 280, - 837, 627, 627, 469, 625, 662, 604, 1277, 1277, 1277, - 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1041, 1041, 685, - 956, 465, 344, 1033, 1049, 1050, 857, 864, 1189, 913, - 908, 909, 922, 865, 910, 862, 911, 912, 863, 460, - 837, 916, 837, 935, 1127, 345, 344, 357, 1111, 1112, - 623, 1091, 1086, 1087, 1088, 979, 1019, 357, 357, 398, - 401, 564, 605, 609, 876, 421, 668, 998, 1044, 1043, - 357, 357, 870, 852, 357, 831, 1364, 354, 355, 917, - 1244, 918, 1244, 1244, 1234, 441, 577, 558, 1038, 1038, - 1244, 357, 357, 426, 1038, 615, 1038, 1038, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 327, 311, 1038, 1038, 1038, - 1038, 1329, 1329, 1329, 1329, 872, 1244, 356, 356, 356, - 356, 1244, 1244, 1244, 1244, 852, 890, 1244, 1244, 1244, - 884, 563, 556, 871, 603, 1104, 1047, 1048, 554, 1308, - 554, 554, 1324, 1325, 713, 930, 482, 351, 554, 931, - 511, 704, 946, 1102, 484, 946, 581, 618, 1347, 1347, - 690, 343, 556, 563, 572, 573, 346, 583, 606, 620, - 621, 971, 412, 709, 458, 1347, 503, 25, 504, 973, - 973, 973, 973, 1337, 510, 458, 967, 974, 1296, 1296, - 558, 1000, 1350, 1350, 1296, 1296, 1296, 1296, 1296, 1296, - 1296, 1296, 1296, 1296, 1293, 1293, 635, 637, 639, 396, - 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, - 543, 543, 5, 575, 6, 664, 543, 543, 543, 543, - 543, 543, 543, 543, 543, 543, 1137, 552, 552, 552, - 552, 1062, 608, 670, 852, 686, 339, 557, 567, 698, - 440, 557, 833, 567, 849, 1237, 399, 464, 451, 451, - 451, 451, 877, 1319, 698, 1319, 1319, 962, 698, 472, - 584, 473, 474, 1319, 405, 874, 882, 570, 619, 1355, - 1356, 737, 641, 643, 1235, 1075, 663, 250, 250, 1022, - 687, 691, 1014, 699, 708, 1010, 740, 886, 542, 542, - 1331, 1331, 1331, 1331, 542, 880, 542, 542, 542, 542, - 542, 542, 542, 542, 248, 248, 248, 248, 245, 251, - 410, 411, 435, 1239, 1079, 674, 1315, 675, 435, 414, - 415, 416, 984, 688, 1045, 1045, 417, 1122, 0, 0, - 349, 669, 1056, 1052, 1053, 658, 659, 0, 676, 677, - 678, 0, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 0, 0, 451, 0, 0, 1077, 1261, - 0, 0, 1317, 1317, 1077, 0, 0, 1240, 1241, 326, - 276, 326, 326, 0, 0, 0, 847, 885, 873, 1074, - 1078, 0, 1003, 0, 0, 975, 0, 736, 0, 982, - 555, 1012, 1007, 0, 0, 1242, 1305, 1306, 0, 1220, - 948, 0, 0, 1221, 1224, 949, 1225, 0, 0, 0, - 0, 0, 0, 972, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1120, 889, 1017, 1017, 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, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 192, 192, 1034, 1065, 697, 429, 661, 893, 851, 893, + 893, 423, 331, 327, 328, 330, 576, 428, 332, 430, + 638, 654, 655, 852, 672, 673, 674, 165, 165, 165, + 165, 217, 193, 189, 189, 175, 177, 212, 189, 189, + 189, 189, 189, 190, 190, 190, 190, 190, 190, 184, + 185, 186, 187, 188, 214, 212, 215, 535, 536, 419, + 537, 540, 541, 542, 543, 544, 545, 546, 547, 1136, + 166, 167, 168, 191, 169, 170, 171, 164, 172, 173, + 174, 176, 211, 213, 216, 236, 239, 250, 251, 252, + 254, 255, 256, 257, 258, 259, 260, 265, 266, 267, + 268, 274, 286, 287, 311, 312, 424, 425, 426, 581, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 194, 195, 196, 237, + 184, 185, 186, 187, 188, 214, 1136, 197, 178, 179, + 180, 198, 194, 181, 238, 199, 197, 163, 200, 201, + 182, 202, 203, 204, 183, 205, 206, 207, 208, 209, + 210, 706, 276, 276, 276, 276, 855, 338, 853, 623, + 623, 975, 1341, 1341, 600, 1273, 1273, 1273, 1273, 1273, + 1273, 1273, 1273, 1273, 1273, 1292, 1292, 1341, 339, 338, + 417, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, + 1292, 548, 548, 548, 548, 827, 604, 1344, 1344, 559, + 552, 886, 860, 456, 909, 904, 905, 918, 861, 906, + 858, 907, 908, 859, 465, 465, 912, 478, 350, 350, + 350, 350, 913, 465, 914, 480, 1087, 1082, 1083, 1084, + 848, 337, 552, 559, 568, 569, 340, 579, 602, 616, + 617, 573, 599, 1100, 437, 1331, 1240, 25, 1240, 1240, + 347, 422, 709, 611, 1034, 1034, 1240, 345, 507, 700, + 1034, 1098, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, + 1034, 461, 353, 1034, 1034, 1034, 1034, 848, 1185, 1240, + 621, 658, 353, 353, 1240, 1240, 1240, 1240, 996, 833, + 1240, 1240, 1240, 353, 353, 1107, 1108, 353, 550, 1358, + 550, 550, 5, 499, 6, 500, 926, 392, 550, 571, + 927, 506, 660, 554, 1289, 1289, 1133, 353, 353, 1058, + 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, + 833, 454, 833, 967, 408, 705, 969, 969, 969, 969, + 539, 539, 454, 963, 970, 436, 539, 539, 539, 539, + 539, 539, 539, 539, 539, 539, 566, 475, 1316, 1317, + 733, 637, 639, 1040, 1039, 659, 682, 1303, 333, 683, + 687, 1010, 695, 704, 1006, 246, 246, 1037, 1037, 681, + 952, 538, 538, 1029, 1045, 1046, 666, 538, 686, 538, + 538, 538, 538, 538, 538, 538, 538, 1013, 1013, 1043, + 1044, 848, 244, 244, 244, 244, 241, 247, 318, 304, + 447, 447, 447, 447, 631, 633, 635, 1314, 554, 1314, + 1314, 1318, 1319, 1323, 1323, 1323, 1323, 1314, 406, 407, + 845, 694, 873, 670, 829, 671, 958, 410, 411, 412, + 401, 684, 577, 614, 413, 870, 694, 1018, 343, 615, + 694, 1325, 1325, 1325, 1325, 609, 624, 627, 628, 629, + 630, 651, 652, 653, 708, 942, 1216, 944, 942, 1235, + 1217, 1220, 945, 1221, 868, 1310, 317, 272, 317, 317, + 1231, 882, 980, 1233, 1071, 881, 869, 1070, 1074, 880, + 999, 1075, 867, 971, 736, 732, 1118, 978, 551, 1008, + 1003, 0, 348, 349, 447, 447, 447, 447, 447, 447, + 447, 447, 447, 447, 447, 1257, 0, 447, 931, 1123, + 0, 968, 1073, 1236, 1237, 619, 1312, 1312, 1073, 0, + 0, 1015, 843, 394, 397, 560, 601, 605, 0, 872, + 0, 664, 994, 1116, 885, 0, 0, 866, 0, 0, + 0, 1238, 1300, 1301, 0, 0, 0, 0, 0, 1230, + 0, 431, 553, 563, 0, 0, 553, 431, 563, 0, + 0, 395, 460, 1041, 1041, 0, 0, 0, 0, 0, + 665, 1052, 1048, 1049, 468, 580, 469, 470, 0, 0, + 0, 878, 0, 0, 1349, 1350, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 249, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 253, 253 + 876 ); protected array $gotoCheck = array( - 42, 42, 73, 127, 73, 97, 26, 66, 66, 178, - 178, 178, 9, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 25, 25, 25, 25, 42, 42, 42, + 42, 42, 73, 127, 73, 66, 66, 25, 25, 25, + 25, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 86, 86, 26, 86, 86, 86, 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, @@ -939,105 +931,98 @@ 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, 15, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 149, 149, 23, 23, 23, 23, - 12, 108, 108, 149, 56, 56, 130, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 89, 89, 89, - 89, 151, 170, 89, 89, 89, 27, 15, 151, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 83, - 12, 15, 12, 17, 17, 170, 170, 14, 144, 144, - 17, 15, 15, 15, 15, 49, 17, 14, 14, 59, - 59, 59, 59, 59, 17, 43, 17, 17, 118, 118, - 14, 14, 17, 22, 14, 6, 14, 97, 97, 65, - 73, 65, 73, 73, 17, 83, 174, 14, 73, 73, - 73, 14, 14, 13, 73, 13, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 171, 171, 73, 73, 73, - 73, 9, 9, 9, 9, 35, 73, 24, 24, 24, - 24, 73, 73, 73, 73, 22, 45, 73, 73, 73, - 35, 76, 76, 35, 8, 8, 119, 119, 19, 14, - 19, 19, 180, 180, 8, 73, 84, 181, 19, 73, - 8, 8, 9, 8, 84, 9, 2, 2, 184, 184, - 14, 76, 76, 76, 76, 76, 76, 76, 76, 76, - 76, 93, 93, 93, 19, 184, 155, 76, 155, 19, - 19, 19, 19, 183, 155, 19, 19, 19, 172, 172, - 14, 103, 184, 184, 172, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 173, 173, 85, 85, 85, 62, + 42, 9, 23, 23, 23, 23, 15, 170, 27, 108, + 108, 49, 184, 184, 130, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 172, 172, 184, 170, 170, + 43, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 107, 107, 107, 107, 6, 107, 184, 184, 76, + 76, 45, 15, 83, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 149, 149, 15, 84, 24, 24, + 24, 24, 65, 149, 65, 84, 15, 15, 15, 15, + 22, 76, 76, 76, 76, 76, 76, 76, 76, 76, + 76, 174, 8, 8, 83, 183, 73, 76, 73, 73, + 97, 13, 8, 13, 73, 73, 73, 181, 8, 8, + 73, 8, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 151, 14, 73, 73, 73, 73, 22, 151, 73, + 56, 56, 14, 14, 73, 73, 73, 73, 103, 12, + 73, 73, 73, 14, 14, 144, 144, 14, 19, 14, + 19, 19, 46, 155, 46, 155, 73, 62, 19, 104, + 73, 155, 64, 14, 173, 173, 150, 14, 14, 114, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, - 175, 175, 46, 104, 46, 64, 175, 175, 175, 175, - 175, 175, 175, 175, 175, 175, 150, 107, 107, 107, - 107, 114, 107, 120, 22, 116, 29, 9, 9, 7, - 113, 9, 7, 9, 18, 14, 9, 9, 23, 23, - 23, 23, 39, 130, 7, 130, 130, 92, 7, 9, - 9, 9, 9, 130, 28, 37, 9, 48, 80, 9, - 9, 48, 48, 48, 162, 129, 48, 5, 5, 110, - 48, 48, 48, 48, 48, 48, 99, 41, 158, 158, - 130, 130, 130, 130, 158, 9, 158, 158, 158, 158, - 158, 158, 158, 158, 5, 5, 5, 5, 5, 5, - 82, 82, 117, 20, 132, 82, 130, 82, 117, 82, - 82, 82, 96, 82, 117, 117, 82, 147, -1, -1, - 82, 117, 117, 117, 117, 86, 86, -1, 86, 86, - 86, -1, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, -1, -1, 23, -1, -1, 130, 20, - -1, -1, 130, 130, 130, -1, -1, 20, 20, 24, - 24, 24, 24, -1, -1, -1, 20, 16, 16, 16, - 16, -1, 50, -1, -1, 50, -1, 50, -1, 16, - 50, 50, 50, -1, -1, 20, 20, 20, -1, 79, - 79, -1, -1, 79, 79, 79, 79, -1, -1, -1, - -1, -1, -1, 16, -1, -1, -1, -1, -1, -1, + 12, 19, 12, 93, 93, 93, 19, 19, 19, 19, + 175, 175, 19, 19, 19, 113, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 48, 178, 178, 178, + 48, 48, 48, 118, 118, 48, 116, 14, 29, 48, + 48, 48, 48, 48, 48, 5, 5, 89, 89, 89, + 89, 158, 158, 89, 89, 89, 120, 158, 14, 158, + 158, 158, 158, 158, 158, 158, 158, 107, 107, 119, + 119, 22, 5, 5, 5, 5, 5, 5, 171, 171, + 23, 23, 23, 23, 85, 85, 85, 130, 14, 130, + 130, 180, 180, 9, 9, 9, 9, 130, 82, 82, + 18, 7, 39, 82, 7, 82, 92, 82, 82, 82, + 28, 82, 2, 2, 82, 37, 7, 110, 82, 80, + 7, 130, 130, 130, 130, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 9, 79, 79, 9, 20, + 79, 79, 79, 79, 35, 130, 24, 24, 24, 24, + 162, 41, 96, 14, 129, 16, 16, 16, 16, 35, + 50, 132, 35, 50, 99, 50, 147, 16, 50, 50, + 50, -1, 97, 97, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 20, -1, 23, 17, 17, + -1, 16, 130, 20, 20, 17, 130, 130, 130, -1, + -1, 17, 20, 59, 59, 59, 59, 59, -1, 17, + -1, 17, 17, 16, 16, -1, -1, 17, -1, -1, + -1, 20, 20, 20, -1, -1, -1, -1, -1, 17, + -1, 117, 9, 9, -1, -1, 9, 117, 9, -1, + -1, 9, 9, 117, 117, -1, -1, -1, -1, -1, + 117, 117, 117, 117, 9, 9, 9, 9, -1, -1, + -1, 9, -1, -1, 9, 9, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 5, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 16, 16, 107, 107, -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, -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, -1, 5, 5 + 9 ); protected array $gotoBase = array( - 0, 0, -380, 0, 0, 466, 232, 422, 306, -11, - 0, 0, -119, -66, -73, -187, 113, -245, 122, 53, - 108, 0, -27, 173, 294, 20, 2, 202, 115, 127, - 0, 0, 0, 0, 0, -78, 0, 114, 0, 117, - 0, 35, -1, 223, 0, 280, -338, 0, -258, 218, - 561, 0, 0, 0, 0, 0, 144, 0, 0, 194, - 0, 0, 347, 0, 166, 246, -231, 0, 0, 0, - 0, 0, 0, -5, 0, 0, -36, 0, 0, 179, - 112, -196, 6, -61, -146, -96, -197, 0, 0, -84, - 0, 0, 116, 44, 0, 0, 68, -481, 0, 67, - 0, 0, 0, 336, 360, 0, 0, 389, -57, 0, - 97, 0, 0, 151, 147, 0, 142, 229, -33, 31, - 131, 0, 0, 0, 0, 0, 0, 1, 0, 89, - 178, 0, 61, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -48, 0, 0, 72, 0, 140, - 171, -67, 0, 0, 0, -142, 0, 0, 240, 0, - 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, - -98, -38, 130, 146, 237, 162, 0, 0, -294, 0, - -52, 297, 0, 332, 28, 0, 0 + 0, 0, -260, 0, 0, 384, 182, 434, 244, 138, + 0, 0, 7, -72, -11, -178, 45, 64, 135, 47, + 88, 0, -36, 159, 225, 4, 19, 164, 117, 86, + 0, 0, 0, 0, 0, 115, 0, 120, 0, 126, + 0, 53, -1, 168, 0, 185, -424, 0, -345, 154, + 489, 0, 0, 0, 0, 0, 250, 0, 0, 498, + 0, 0, 275, 0, 87, 219, -229, 0, 0, 0, + 0, 0, 0, -5, 0, 0, -132, 0, 0, 70, + 119, 109, -52, -63, -241, -54, -697, 0, 0, 110, + 0, 0, 124, 43, 0, 0, 52, -222, 0, 99, + 0, 0, 0, 263, 276, 0, 0, 173, -65, 0, + 89, 0, 0, 80, 59, 0, 97, 302, 96, 128, + 108, 0, 0, 0, 0, 0, 0, 1, 0, 122, + 166, 0, 62, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 33, 0, 0, 65, 0, 190, + 85, 17, 0, 0, 0, -181, 0, 0, 157, 0, + 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, + -126, 104, -49, 90, 222, 116, 0, 0, 71, 0, + 61, 237, 0, 224, -131, 0, 0 ); protected array $gotoDefault = array( - -32768, 515, 744, 4, 745, 939, 820, 829, 601, 533, - 711, 350, 629, 424, 1313, 915, 1126, 582, 848, 1253, - 1227, 459, 851, 332, 734, 927, 898, 899, 402, 388, - 394, 400, 653, 630, 497, 883, 455, 875, 489, 878, - 454, 887, 164, 420, 513, 891, 3, 894, 561, 925, - 977, 389, 902, 390, 681, 904, 566, 906, 907, 397, - 403, 404, 1131, 574, 626, 919, 256, 568, 920, 387, - 921, 929, 392, 395, 692, 468, 508, 502, 413, 1106, - 569, 612, 650, 448, 476, 624, 636, 622, 483, 436, - 418, 331, 961, 969, 490, 466, 983, 352, 991, 742, - 1139, 644, 492, 999, 645, 1006, 1009, 534, 535, 481, - 1021, 273, 1024, 493, 22, 671, 1035, 1036, 672, 646, - 1058, 647, 673, 648, 1060, 475, 602, 1068, 456, 1076, - 1301, 457, 1080, 266, 1083, 279, 419, 437, 1089, 1090, - 9, 1096, 702, 703, 18, 277, 512, 1121, 693, 453, - 1138, 452, 1208, 1210, 562, 494, 1228, 480, 296, 1231, - 684, 509, 1236, 449, 1304, 450, 536, 477, 318, 537, - 1348, 310, 335, 315, 553, 297, 336, 538, 478, 1310, - 1318, 333, 31, 1338, 1349, 579, 617 + -32768, 511, 740, 4, 741, 935, 816, 825, 597, 529, + 707, 344, 625, 420, 1308, 911, 1122, 578, 844, 1249, + 1223, 455, 847, 323, 730, 923, 894, 895, 398, 384, + 390, 396, 649, 626, 493, 879, 451, 871, 485, 874, + 450, 883, 162, 416, 509, 887, 3, 890, 557, 921, + 973, 385, 898, 386, 677, 900, 562, 902, 903, 393, + 399, 400, 1127, 570, 622, 915, 253, 564, 916, 383, + 917, 925, 388, 391, 688, 464, 504, 498, 409, 1102, + 565, 608, 646, 444, 472, 620, 632, 618, 479, 432, + 414, 322, 957, 965, 486, 462, 979, 346, 987, 738, + 1135, 640, 488, 995, 641, 1002, 1005, 530, 531, 477, + 1017, 269, 1020, 489, 22, 667, 1031, 1032, 668, 642, + 1054, 643, 669, 644, 1056, 471, 598, 1064, 452, 1072, + 1297, 453, 1076, 262, 1079, 275, 415, 433, 1085, 1086, + 9, 1092, 698, 699, 18, 273, 508, 1117, 689, 449, + 1134, 448, 1204, 1206, 558, 490, 1224, 476, 308, 1227, + 680, 505, 1232, 445, 1299, 446, 532, 473, 329, 533, + 1342, 303, 351, 326, 549, 309, 352, 534, 474, 1305, + 1313, 324, 31, 1332, 1343, 575, 613 ); protected array $ruleToNonTerminal = array( @@ -1097,13 +1082,12 @@ class Php8 extends \PhpParser\ParserAbstract 173, 173, 108, 175, 175, 175, 175, 153, 153, 153, 153, 153, 153, 153, 153, 59, 59, 169, 169, 169, 169, 169, 176, 176, 165, 165, 165, 165, 177, 177, - 177, 177, 177, 177, 74, 74, 66, 66, 66, 66, - 130, 130, 130, 130, 180, 179, 168, 168, 168, 168, - 168, 168, 168, 167, 167, 167, 178, 178, 178, 178, - 107, 174, 182, 182, 181, 181, 183, 183, 183, 183, - 183, 183, 183, 183, 171, 171, 171, 171, 170, 185, - 184, 184, 184, 184, 184, 184, 184, 184, 186, 186, - 186, 186 + 177, 177, 177, 74, 74, 66, 66, 66, 66, 130, + 130, 130, 130, 180, 179, 168, 168, 168, 168, 168, + 168, 167, 167, 167, 178, 178, 178, 178, 107, 174, + 182, 182, 181, 181, 183, 183, 183, 183, 183, 183, + 183, 183, 171, 171, 171, 171, 170, 185, 184, 184, + 184, 184, 184, 184, 184, 184, 186, 186, 186, 186 ); protected array $ruleToLength = array( @@ -1163,13 +1147,12 @@ class Php8 extends \PhpParser\ParserAbstract 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, 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 { @@ -2577,170 +2560,164 @@ protected function initReduceCallbacks(): void { 559 => 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])); }, - 560 => 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])); - }, - 561 => null, - 562 => static function ($self, $stackPos) { + 560 => null, + 561 => 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])); }, - 563 => static function ($self, $stackPos) { + 562 => 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])); }, - 564 => static function ($self, $stackPos) { + 563 => static function ($self, $stackPos) { $self->semValue = null; }, + 564 => null, 565 => null, 566 => null, - 567 => null, - 568 => static function ($self, $stackPos) { + 567 => 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])); }, - 569 => static function ($self, $stackPos) { + 568 => 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])); }, - 570 => null, - 571 => static function ($self, $stackPos) { + 569 => null, + 570 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 572 => static function ($self, $stackPos) { + 571 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 573 => static function ($self, $stackPos) { + 572 => 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; }, - 574 => static function ($self, $stackPos) { + 573 => 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; }, - 575 => static function ($self, $stackPos) { + 574 => 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])); }, - 576 => null, - 577 => static function ($self, $stackPos) { + 575 => null, + 576 => 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])); }, + 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])); + }, 578 => 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])); + $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])); }, 579 => 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])); + $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])); }, 580 => 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 => 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])); }, + 581 => null, 582 => 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])); + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 583 => null, - 584 => static function ($self, $stackPos) { + 584 => null, + 585 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 585 => null, 586 => null, 587 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; - }, - 588 => null, - 589 => static function ($self, $stackPos) { $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 590 => static function ($self, $stackPos) { + 588 => 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); }, - 591 => static function ($self, $stackPos) { + 589 => 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); }, - 592 => null, - 593 => static function ($self, $stackPos) { + 590 => null, + 591 => static function ($self, $stackPos) { /* do nothing -- prevent default action of $$=$self->semStack[$1]. See $551. */ }, - 594 => static function ($self, $stackPos) { + 592 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 595 => static function ($self, $stackPos) { + 593 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 596 => static function ($self, $stackPos) { + 594 => 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])); }, - 597 => static function ($self, $stackPos) { + 595 => 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])); }, - 598 => static function ($self, $stackPos) { + 596 => 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])); }, - 599 => static function ($self, $stackPos) { + 597 => 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])); }, - 600 => static function ($self, $stackPos) { + 598 => 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])); }, - 601 => static function ($self, $stackPos) { + 599 => 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])); }, - 602 => static function ($self, $stackPos) { + 600 => 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); }, - 603 => static function ($self, $stackPos) { + 601 => 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); }, - 604 => static function ($self, $stackPos) { + 602 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 605 => static function ($self, $stackPos) { + 603 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 606 => static function ($self, $stackPos) { + 604 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 607 => static function ($self, $stackPos) { + 605 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)]); }, - 608 => static function ($self, $stackPos) { + 606 => 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); }, - 609 => static function ($self, $stackPos) { + 607 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 610 => null, - 611 => static function ($self, $stackPos) { + 608 => null, + 609 => 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])); }, - 612 => static function ($self, $stackPos) { + 610 => 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])); }, - 613 => static function ($self, $stackPos) { + 611 => 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])); }, - 614 => static function ($self, $stackPos) { + 612 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 615 => static function ($self, $stackPos) { + 613 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 616 => static function ($self, $stackPos) { + 614 => 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])); }, - 617 => static function ($self, $stackPos) { + 615 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 618 => static function ($self, $stackPos) { + 616 => static function ($self, $stackPos) { $self->semValue = new Scalar\String_($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 619 => static function ($self, $stackPos) { + 617 => static function ($self, $stackPos) { $self->semValue = $self->parseNumString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 620 => static function ($self, $stackPos) { + 618 => static function ($self, $stackPos) { $self->semValue = $self->parseNumString('-' . $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 621 => null, + 619 => null, ]; } } diff --git a/test/code/parser/expr/alternative_array_syntax.test b/test/code/parser/expr/alternative_array_syntax.test new file mode 100644 index 0000000000..7bd3fad4fd --- /dev/null +++ b/test/code/parser/expr/alternative_array_syntax.test @@ -0,0 +1,335 @@ +Alternative array syntax +----- +b{'c'}; +$a->b(){'c'}; +A::$b{'c'}; +A{0}; +A::B{0}; +new $array{'className'}; +new $a->b{'c'}(); +----- +!!version=7.4 +array( + 0: Stmt_Expression( + expr: Expr_ArrayDimFetch( + var: Expr_Variable( + name: a + ) + dim: Scalar_String( + value: b + ) + ) + ) + 1: Stmt_Expression( + expr: Expr_FuncCall( + name: Expr_ArrayDimFetch( + var: Expr_Variable( + name: a + ) + dim: Scalar_String( + value: b + ) + ) + args: array( + ) + ) + ) + 2: Stmt_Expression( + expr: Expr_ArrayDimFetch( + var: Expr_PropertyFetch( + var: Expr_Variable( + name: a + ) + name: Identifier( + name: b + ) + ) + dim: Scalar_String( + value: c + ) + ) + ) + 3: Stmt_Expression( + expr: Expr_ArrayDimFetch( + var: Expr_MethodCall( + var: Expr_Variable( + name: a + ) + name: Identifier( + name: b + ) + args: array( + ) + ) + dim: Scalar_String( + value: c + ) + ) + ) + 4: Stmt_Expression( + expr: Expr_ArrayDimFetch( + var: Expr_StaticPropertyFetch( + class: Name( + name: A + ) + name: VarLikeIdentifier( + name: b + ) + ) + dim: Scalar_String( + value: c + ) + ) + ) + 5: Stmt_Expression( + expr: Expr_ArrayDimFetch( + var: Expr_ConstFetch( + name: Name( + name: A + ) + ) + dim: Scalar_Int( + value: 0 + ) + ) + ) + 6: Stmt_Expression( + expr: Expr_ArrayDimFetch( + var: Expr_ClassConstFetch( + class: Name( + name: A + ) + name: Identifier( + name: B + ) + ) + dim: Scalar_Int( + value: 0 + ) + ) + ) + 7: Stmt_Expression( + expr: Expr_New( + class: Expr_ArrayDimFetch( + var: Expr_Variable( + name: array + ) + dim: Scalar_String( + value: className + ) + ) + args: array( + ) + ) + ) + 8: Stmt_Expression( + expr: Expr_New( + class: Expr_ArrayDimFetch( + var: Expr_PropertyFetch( + var: Expr_Variable( + name: a + ) + name: Identifier( + name: b + ) + ) + dim: Scalar_String( + value: c + ) + ) + args: array( + ) + ) + ) +) +----- +b{'c'}; +$a->b(){'c'}; +A::$b{'c'}; +A{0}; +A::B{0}; +new $array{'className'}; +new $a->b{'c'}(); +----- +Syntax error, unexpected '{' from 3:3 to 3:3 +Syntax error, unexpected '{' from 4:3 to 4:3 +Syntax error, unexpected '{' from 5:6 to 5:6 +Syntax error, unexpected '{' from 6:8 to 6:8 +Syntax error, unexpected '{' from 7:6 to 7:6 +Syntax error, unexpected '{' from 8:2 to 8:2 +Syntax error, unexpected '{' from 9:5 to 9:5 +Syntax error, unexpected '{' from 10:11 to 10:11 +Syntax error, unexpected '{' from 11:10 to 11:10 +array( + 0: Stmt_Expression( + expr: Expr_Variable( + name: a + ) + ) + 1: Stmt_Block( + stmts: array( + 0: Stmt_Expression( + expr: Scalar_String( + value: b + ) + ) + ) + ) + 2: Stmt_Expression( + expr: Expr_Variable( + name: a + ) + ) + 3: Stmt_Block( + stmts: array( + 0: Stmt_Expression( + expr: Scalar_String( + value: b + ) + ) + ) + ) + 4: Stmt_Expression( + expr: Expr_PropertyFetch( + var: Expr_Variable( + name: a + ) + name: Identifier( + name: b + ) + ) + ) + 5: Stmt_Block( + stmts: array( + 0: Stmt_Expression( + expr: Scalar_String( + value: c + ) + ) + ) + ) + 6: Stmt_Expression( + expr: Expr_MethodCall( + var: Expr_Variable( + name: a + ) + name: Identifier( + name: b + ) + args: array( + ) + ) + ) + 7: Stmt_Block( + stmts: array( + 0: Stmt_Expression( + expr: Scalar_String( + value: c + ) + ) + ) + ) + 8: Stmt_Expression( + expr: Expr_StaticPropertyFetch( + class: Name( + name: A + ) + name: VarLikeIdentifier( + name: b + ) + ) + ) + 9: Stmt_Block( + stmts: array( + 0: Stmt_Expression( + expr: Scalar_String( + value: c + ) + ) + ) + ) + 10: Stmt_Expression( + expr: Expr_ConstFetch( + name: Name( + name: A + ) + ) + ) + 11: Stmt_Block( + stmts: array( + 0: Stmt_Expression( + expr: Scalar_Int( + value: 0 + ) + ) + ) + ) + 12: Stmt_Expression( + expr: Expr_ClassConstFetch( + class: Name( + name: A + ) + name: Identifier( + name: B + ) + ) + ) + 13: Stmt_Block( + stmts: array( + 0: Stmt_Expression( + expr: Scalar_Int( + value: 0 + ) + ) + ) + ) + 14: Stmt_Expression( + expr: Expr_New( + class: Expr_Variable( + name: array + ) + args: array( + ) + ) + ) + 15: Stmt_Block( + stmts: array( + 0: Stmt_Expression( + expr: Scalar_String( + value: className + ) + ) + ) + ) + 16: Stmt_Expression( + expr: Expr_New( + class: Expr_PropertyFetch( + var: Expr_Variable( + name: a + ) + name: Identifier( + name: b + ) + ) + args: array( + ) + ) + ) + 17: Stmt_Block( + stmts: array( + 0: Stmt_Expression( + expr: Scalar_String( + value: c + ) + ) + ) + ) +) diff --git a/test/code/parser/expr/fetchAndCall/funcCall.test b/test/code/parser/expr/fetchAndCall/funcCall.test index 7f218fe37d..dae9003c55 100644 --- a/test/code/parser/expr/fetchAndCall/funcCall.test +++ b/test/code/parser/expr/fetchAndCall/funcCall.test @@ -9,7 +9,6 @@ ${'a'}(); $$a(); $$$a(); $a['b'](); -$a{'b'}(); $a->b['c'](); // array dereferencing @@ -87,20 +86,6 @@ array( ) ) 6: Stmt_Expression( - expr: Expr_FuncCall( - name: Expr_ArrayDimFetch( - var: Expr_Variable( - name: a - ) - dim: Scalar_String( - value: b - ) - ) - args: array( - ) - ) - ) - 7: Stmt_Expression( expr: Expr_FuncCall( name: Expr_ArrayDimFetch( var: Expr_PropertyFetch( @@ -119,7 +104,7 @@ array( ) ) ) - 8: Stmt_Expression( + 7: Stmt_Expression( expr: Expr_ArrayDimFetch( var: Expr_FuncCall( name: Name( diff --git a/test/code/parser/expr/fetchAndCall/objectAccess.test b/test/code/parser/expr/fetchAndCall/objectAccess.test index f6ed4fc4d4..1e48031640 100644 --- a/test/code/parser/expr/fetchAndCall/objectAccess.test +++ b/test/code/parser/expr/fetchAndCall/objectAccess.test @@ -5,7 +5,6 @@ Object access // property fetch variations $a->b; $a->b['c']; -$a->b{'c'}; // method call variations $a->b(); @@ -15,7 +14,6 @@ $a->$b['c'](); // array dereferencing $a->b()['c']; -$a->b(){'c'}; ----- array( 0: Stmt_Expression( @@ -47,21 +45,6 @@ array( ) ) 2: Stmt_Expression( - expr: Expr_ArrayDimFetch( - var: Expr_PropertyFetch( - var: Expr_Variable( - name: a - ) - name: Identifier( - name: b - ) - ) - dim: Scalar_String( - value: c - ) - ) - ) - 3: Stmt_Expression( expr: Expr_MethodCall( var: Expr_Variable( name: a @@ -76,7 +59,7 @@ array( 0: // method call variations ) ) - 4: Stmt_Expression( + 3: Stmt_Expression( expr: Expr_MethodCall( var: Expr_Variable( name: a @@ -88,7 +71,7 @@ array( ) ) ) - 5: Stmt_Expression( + 4: Stmt_Expression( expr: Expr_MethodCall( var: Expr_Variable( name: a @@ -100,7 +83,7 @@ array( ) ) ) - 6: Stmt_Expression( + 5: Stmt_Expression( expr: Expr_FuncCall( name: Expr_ArrayDimFetch( var: Expr_PropertyFetch( @@ -119,7 +102,7 @@ array( ) ) ) - 7: Stmt_Expression( + 6: Stmt_Expression( expr: Expr_ArrayDimFetch( var: Expr_MethodCall( var: Expr_Variable( @@ -139,21 +122,4 @@ array( 0: // array dereferencing ) ) - 8: Stmt_Expression( - expr: Expr_ArrayDimFetch( - var: Expr_MethodCall( - var: Expr_Variable( - name: a - ) - name: Identifier( - name: b - ) - args: array( - ) - ) - dim: Scalar_String( - value: c - ) - ) - ) ) diff --git a/test/code/parser/expr/fetchAndCall/simpleArrayAccess.test b/test/code/parser/expr/fetchAndCall/simpleArrayAccess.test index 9cc88b9e3f..cd0dcc50a4 100644 --- a/test/code/parser/expr/fetchAndCall/simpleArrayAccess.test +++ b/test/code/parser/expr/fetchAndCall/simpleArrayAccess.test @@ -5,7 +5,6 @@ Simple array access $a['b']; $a['b']['c']; $a[] = $b; -$a{'b'}; ${$a}['b']; ----- array( @@ -48,16 +47,6 @@ array( ) ) 3: Stmt_Expression( - expr: Expr_ArrayDimFetch( - var: Expr_Variable( - name: a - ) - dim: Scalar_String( - value: b - ) - ) - ) - 4: Stmt_Expression( expr: Expr_ArrayDimFetch( var: Expr_Variable( name: Expr_Variable( diff --git a/test/code/parser/expr/fetchAndCall/staticPropertyFetch.test b/test/code/parser/expr/fetchAndCall/staticPropertyFetch.test index 1d66eb5ab9..5256cf0991 100644 --- a/test/code/parser/expr/fetchAndCall/staticPropertyFetch.test +++ b/test/code/parser/expr/fetchAndCall/staticPropertyFetch.test @@ -9,7 +9,6 @@ A::${'b'}; // array access A::$b['c']; -A::$b{'c'}; // class name variations can be found in staticCall.test ----- @@ -65,22 +64,7 @@ array( 0: // array access ) ) - 4: Stmt_Expression( - expr: Expr_ArrayDimFetch( - var: Expr_StaticPropertyFetch( - class: Name( - name: A - ) - name: VarLikeIdentifier( - name: b - ) - ) - dim: Scalar_String( - value: c - ) - ) - ) - 5: Stmt_Nop( + 4: Stmt_Nop( comments: array( 0: // class name variations can be found in staticCall.test ) diff --git a/test/code/parser/expr/new.test b/test/code/parser/expr/new.test index cb29a92947..c962fda34a 100644 --- a/test/code/parser/expr/new.test +++ b/test/code/parser/expr/new.test @@ -13,7 +13,6 @@ new A::$b(); new $a->b(); new $a->b->c(); new $a->b['c'](); -new $a->b{'c'}(); // test regression introduces by new dereferencing syntax (new A); @@ -141,25 +140,6 @@ array( ) ) 8: Stmt_Expression( - expr: Expr_New( - class: Expr_ArrayDimFetch( - var: Expr_PropertyFetch( - var: Expr_Variable( - name: a - ) - name: Identifier( - name: b - ) - ) - dim: Scalar_String( - value: c - ) - ) - args: array( - ) - ) - ) - 9: Stmt_Expression( expr: Expr_New( class: Name( name: A diff --git a/test/code/parser/expr/newDeref.test b/test/code/parser/expr/newDeref.test index da24a245db..9845f689fc 100644 --- a/test/code/parser/expr/newDeref.test +++ b/test/code/parser/expr/newDeref.test @@ -8,7 +8,6 @@ new A()::FOO; new A()::foo(); new A()::$foo; new A()[0]; -new A(){0}; new A()(); new class {}->foo; @@ -17,7 +16,6 @@ new class {}::FOO; new class {}::foo(); new class {}::$foo; new class {}[0]; -new class {}{0}; new class {}(); ----- array( @@ -110,20 +108,6 @@ array( ) ) 6: Stmt_Expression( - expr: Expr_ArrayDimFetch( - var: Expr_New( - class: Name( - name: A - ) - args: array( - ) - ) - dim: Scalar_Int( - value: 0 - ) - ) - ) - 7: Stmt_Expression( expr: Expr_FuncCall( name: Expr_New( class: Name( @@ -136,7 +120,7 @@ array( ) ) ) - 8: Stmt_Expression( + 7: Stmt_Expression( expr: Expr_PropertyFetch( var: Expr_New( class: Stmt_Class( @@ -158,7 +142,7 @@ array( ) ) ) - 9: Stmt_Expression( + 8: Stmt_Expression( expr: Expr_MethodCall( var: Expr_New( class: Stmt_Class( @@ -182,7 +166,7 @@ array( ) ) ) - 10: Stmt_Expression( + 9: Stmt_Expression( expr: Expr_ClassConstFetch( class: Expr_New( class: Stmt_Class( @@ -204,7 +188,7 @@ array( ) ) ) - 11: Stmt_Expression( + 10: Stmt_Expression( expr: Expr_StaticCall( class: Expr_New( class: Stmt_Class( @@ -228,7 +212,7 @@ array( ) ) ) - 12: Stmt_Expression( + 11: Stmt_Expression( expr: Expr_StaticPropertyFetch( class: Expr_New( class: Stmt_Class( @@ -250,29 +234,7 @@ array( ) ) ) - 13: Stmt_Expression( - expr: Expr_ArrayDimFetch( - var: Expr_New( - class: Stmt_Class( - attrGroups: array( - ) - flags: 0 - name: null - extends: null - implements: array( - ) - stmts: array( - ) - ) - args: array( - ) - ) - dim: Scalar_Int( - value: 0 - ) - ) - ) - 14: Stmt_Expression( + 12: Stmt_Expression( expr: Expr_ArrayDimFetch( var: Expr_New( class: Stmt_Class( @@ -294,7 +256,7 @@ array( ) ) ) - 15: Stmt_Expression( + 13: Stmt_Expression( expr: Expr_FuncCall( name: Expr_New( class: Stmt_Class( diff --git a/test/code/parser/expr/uvs/constDeref.test b/test/code/parser/expr/uvs/constDeref.test index 501b5b5858..6674610bb8 100644 --- a/test/code/parser/expr/uvs/constDeref.test +++ b/test/code/parser/expr/uvs/constDeref.test @@ -6,11 +6,9 @@ A->length; A->length(); A[0]; A[0][1][2]; -A{0}; A::B[0]; A::B[0][1][2]; -A::B{0}; A::B->length; A::B->length(); A::B::C; @@ -83,18 +81,6 @@ array( ) ) 4: Stmt_Expression( - expr: Expr_ArrayDimFetch( - var: Expr_ConstFetch( - name: Name( - name: A - ) - ) - dim: Scalar_Int( - value: 0 - ) - ) - ) - 5: Stmt_Expression( expr: Expr_ArrayDimFetch( var: Expr_ClassConstFetch( class: Name( @@ -109,7 +95,7 @@ array( ) ) ) - 6: Stmt_Expression( + 5: Stmt_Expression( expr: Expr_ArrayDimFetch( var: Expr_ArrayDimFetch( var: Expr_ArrayDimFetch( @@ -134,22 +120,7 @@ array( ) ) ) - 7: Stmt_Expression( - expr: Expr_ArrayDimFetch( - var: Expr_ClassConstFetch( - class: Name( - name: A - ) - name: Identifier( - name: B - ) - ) - dim: Scalar_Int( - value: 0 - ) - ) - ) - 8: Stmt_Expression( + 6: Stmt_Expression( expr: Expr_PropertyFetch( var: Expr_ClassConstFetch( class: Name( @@ -164,7 +135,7 @@ array( ) ) ) - 9: Stmt_Expression( + 7: Stmt_Expression( expr: Expr_MethodCall( var: Expr_ClassConstFetch( class: Name( @@ -181,7 +152,7 @@ array( ) ) ) - 10: Stmt_Expression( + 8: Stmt_Expression( expr: Expr_ClassConstFetch( class: Expr_ClassConstFetch( class: Name( @@ -196,7 +167,7 @@ array( ) ) ) - 11: Stmt_Expression( + 9: Stmt_Expression( expr: Expr_StaticPropertyFetch( class: Expr_ClassConstFetch( class: Name( @@ -211,7 +182,7 @@ array( ) ) ) - 12: Stmt_Expression( + 10: Stmt_Expression( expr: Expr_StaticCall( class: Expr_ClassConstFetch( class: Name( @@ -228,7 +199,7 @@ array( ) ) ) - 13: Stmt_Expression( + 11: Stmt_Expression( expr: Expr_ArrayDimFetch( var: Scalar_MagicConst_Function( ) @@ -237,7 +208,7 @@ array( ) ) ) - 14: Stmt_Expression( + 12: Stmt_Expression( expr: Expr_PropertyFetch( var: Scalar_MagicConst_Function( ) @@ -246,7 +217,7 @@ array( ) ) ) - 15: Stmt_Expression( + 13: Stmt_Expression( expr: Expr_MethodCall( var: Expr_ConstFetch( name: Name( diff --git a/test/code/parser/expr/uvs/new.test b/test/code/parser/expr/uvs/new.test index bb7888ff8f..403a15f85c 100644 --- a/test/code/parser/expr/uvs/new.test +++ b/test/code/parser/expr/uvs/new.test @@ -3,7 +3,6 @@ UVS new expressions className; new Test::$className; new $test::$className; @@ -34,20 +33,6 @@ array( ) ) 2: Stmt_Expression( - expr: Expr_New( - class: Expr_ArrayDimFetch( - var: Expr_Variable( - name: array - ) - dim: Scalar_String( - value: className - ) - ) - args: array( - ) - ) - ) - 3: Stmt_Expression( expr: Expr_New( class: Expr_PropertyFetch( var: Expr_Variable( @@ -61,7 +46,7 @@ array( ) ) ) - 4: Stmt_Expression( + 3: Stmt_Expression( expr: Expr_New( class: Expr_StaticPropertyFetch( class: Name( @@ -75,7 +60,7 @@ array( ) ) ) - 5: Stmt_Expression( + 4: Stmt_Expression( expr: Expr_New( class: Expr_StaticPropertyFetch( class: Expr_Variable( @@ -89,7 +74,7 @@ array( ) ) ) - 6: Stmt_Expression( + 5: Stmt_Expression( expr: Expr_New( class: Expr_StaticPropertyFetch( class: Expr_PropertyFetch(