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