diff --git a/grammar/php.y b/grammar/php.y index 7fe86b264b..ec70451fe6 100644 --- a/grammar/php.y +++ b/grammar/php.y @@ -257,7 +257,10 @@ top_statement: | T_USE use_declarations semi { $$ = Stmt\Use_[$2, Stmt\Use_::TYPE_NORMAL]; } | T_USE use_type use_declarations semi { $$ = Stmt\Use_[$3, $2]; } | group_use_declaration - | T_CONST constant_declaration_list semi { $$ = Stmt\Const_[$2]; } + | T_CONST constant_declaration_list semi { $$ = new Stmt\Const_($2, attributes(), []); } + | attributes T_CONST constant_declaration_list semi + { $$ = new Stmt\Const_($3, attributes(), $1); + $this->checkConstantAttributes($$); } ; use_type: diff --git a/lib/PhpParser/Node/Stmt/Const_.php b/lib/PhpParser/Node/Stmt/Const_.php index f1165fd0b0..c54d6780e6 100644 --- a/lib/PhpParser/Node/Stmt/Const_.php +++ b/lib/PhpParser/Node/Stmt/Const_.php @@ -7,20 +7,28 @@ class Const_ extends Node\Stmt { /** @var Node\Const_[] Constant declarations */ public array $consts; + /** @var Node\AttributeGroup[] PHP attribute groups */ + public array $attrGroups; /** * Constructs a const list node. * * @param Node\Const_[] $consts Constant declarations * @param array $attributes Additional attributes + * @param list $attrGroups PHP attribute groups */ - public function __construct(array $consts, array $attributes = []) { + public function __construct( + array $consts, + array $attributes = [], + array $attrGroups = [] + ) { $this->attributes = $attributes; + $this->attrGroups = $attrGroups; $this->consts = $consts; } public function getSubNodeNames(): array { - return ['consts']; + return ['attrGroups', 'consts']; } public function getType(): string { diff --git a/lib/PhpParser/NodeVisitor/NameResolver.php b/lib/PhpParser/NodeVisitor/NameResolver.php index 99449c496f..e0066f2d09 100644 --- a/lib/PhpParser/NodeVisitor/NameResolver.php +++ b/lib/PhpParser/NodeVisitor/NameResolver.php @@ -120,6 +120,7 @@ public function enterNode(Node $node) { foreach ($node->consts as $const) { $this->addNamespacedName($const); } + $this->resolveAttrGroups($node); } elseif ($node instanceof Stmt\ClassConst) { if (null !== $node->type) { $node->type = $this->resolveType($node->type); diff --git a/lib/PhpParser/Parser/Php7.php b/lib/PhpParser/Parser/Php7.php index b909782018..7371e8bb63 100644 --- a/lib/PhpParser/Parser/Php7.php +++ b/lib/PhpParser/Parser/Php7.php @@ -164,16 +164,16 @@ class Php7 extends \PhpParser\ParserAbstract public const T_ATTRIBUTE = 399; protected int $tokenToSymbolMapSize = 400; - protected int $actionTableSize = 1286; - protected int $gotoTableSize = 646; + protected int $actionTableSize = 1291; + protected int $gotoTableSize = 609; protected int $invalidSymbol = 172; protected int $errorSymbol = 1; protected int $defaultAction = -32766; protected int $unexpectedTokenRule = 32767; - protected int $YY2TBLSTATE = 437; - protected int $numNonLeafStates = 742; + protected int $YY2TBLSTATE = 439; + protected int $numNonLeafStates = 745; protected array $symbolToName = array( "EOF", @@ -394,247 +394,248 @@ class Php7 extends \PhpParser\ParserAbstract ); protected array $action = array( - 128, 129, 130, 565, 131, 132, 944, 754, 755, 756, - 133, 38, 838, 485, 561, 1365,-32766,-32766,-32766, 0, - 829, 1122, 1123, 1124, 1118, 1117, 1116, 1125, 1119, 1120, - 1121,-32766,-32766,-32766, -332, 748, 747,-32766, 840,-32766, + 128, 129, 130, 568, 131, 132, 948, 757, 758, 759, + 133, 38, 841, -85, 0, 1369,-32766,-32766,-32766, 488, + 832, 1126, 1127, 1128, 1122, 1121, 1120, 1129, 1123, 1124, + 1125,-32766,-32766,-32766, -333, 751, 750,-32766, 843,-32766, -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, - -32767, 24,-32766, 1034, -568, 757, 1122, 1123, 1124, 1118, - 1117, 1116, 1125, 1119, 1120, 1121, 2, 381, 382, 265, - 134, 384, 761, 762, 763, 764, 1111, 425, 426, 1300, - 329, 36, 248, 26, 291, 818, 765, 766, 767, 768, - 769, 770, 771, 772, 773, 774, 794, 566, 795, 796, - 797, 798, 786, 787, 346, 347, 789, 790, 775, 776, - 777, 779, 780, 781, 357, 821, 822, 823, 824, 825, - 567, -568, -568, 299, 782, 783, 568, 569, -194, 806, - 804, 805, 817, 801, 802, 35, -193, 570, 571, 800, - 572, 573, 574, 575,-32766, 576, 577, 471, 472, 486, - 238, -568, 803, 578, 579, -371, 135, -371, 128, 129, - 130, 565, 131, 132, 1067, 754, 755, 756, 133, 38, - -32766, 136, 728, 1027, 1026, 1025, 1031, 1028, 1029, 1030, + -32767, -372,-32766, -372, 1038, 760, 1126, 1127, 1128, 1122, + 1121, 1120, 1129, 1123, 1124, 1125, 382, 383, 442, 265, + 134, 385, 764, 765, 766, 767, 427, 837, 428, -85, + 330, 36, 248, 2, 292, 821, 768, 769, 770, 771, + 772, 773, 774, 775, 776, 777, 797, 569, 798, 799, + 800, 801, 789, 790, 347, 348, 792, 793, 778, 779, + 780, 782, 783, 784, 358, 824, 825, 826, 827, 828, + 570, 26, 300, -195, 785, 786, 571, 572, -194, 809, + 807, 808, 820, 804, 805,-32766,-32766, 573, 574, 803, + 575, 576, 577, 578,-32766, 579, 580, 474, 475, 869, + 238, 870, 806, 581, 582, 489, 135, 838, 128, 129, + 130, 568, 131, 132, 1071, 757, 758, 759, 133, 38, + -32766, 35, 731, 1031, 1030, 1029, 1035, 1032, 1033, 1034, -32766,-32766,-32766,-32767,-32767,-32767,-32767, 101, 102, 103, - 104, 105, -332, 748, 747, 1043, 923,-32766,-32766,-32766, - 839,-32766, 145,-32766,-32766,-32766,-32766,-32766,-32766,-32766, - -32766,-32766,-32766, 757,-32766,-32766,-32766, 611,-32766, 290, - -32766,-32766,-32766,-32766,-32766, 834, 718, 265, 134, 384, - 761, 762, 763, 764, -615,-32766, 426,-32766,-32766,-32766, - -32766, -615, 251, 818, 765, 766, 767, 768, 769, 770, - 771, 772, 773, 774, 794, 566, 795, 796, 797, 798, - 786, 787, 346, 347, 789, 790, 775, 776, 777, 779, - 780, 781, 357, 821, 822, 823, 824, 825, 567, 913, - 426, 310, 782, 783, 568, 569, -194, 806, 804, 805, - 817, 801, 802, 1288, -193, 570, 571, 800, 572, 573, - 574, 575, -273, 576, 577, 835, 82, 83, 84, -85, - 803, 578, 579, 237, 148, 778, 749, 750, 751, 752, - 753, 150, 754, 755, 756, 791, 792, 37,-32766, 85, + 104, 105, -333, 751, 750, 1047, 927,-32766,-32766,-32766, + 842,-32766, 840,-32766,-32766,-32766,-32766,-32766,-32766,-32766, + -32766,-32766,-32766, 760,-32766,-32766,-32766, 614,-32766, 291, + -32766,-32766,-32766,-32766,-32766, 136, 721, 265, 134, 385, + 764, 765, 766, 767, -616,-32766, 428,-32766,-32766,-32766, + -32766, -616, 145, 821, 768, 769, 770, 771, 772, 773, + 774, 775, 776, 777, 797, 569, 798, 799, 800, 801, + 789, 790, 347, 348, 792, 793, 778, 779, 780, 782, + 783, 784, 358, 824, 825, 826, 827, 828, 570, 917, + 428, -195, 785, 786, 571, 572, -194, 809, 807, 808, + 820, 804, 805, 1292, 251, 573, 574, 803, 575, 576, + 577, 578, -274, 579, 580, 1100, 82, 83, 84, 743, + 806, 581, 582, 237, 148, 781, 752, 753, 754, 755, + 756, 150, 757, 758, 759, 794, 795, 37, 24, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 1043, 276,-32766,-32766,-32766, 925, 1263, - 1262, 1264, 713, 831, 312, 393, 109, 7, 1097, 47, - 757,-32766,-32766,-32766, 838, -85,-32766, 1095,-32766,-32766, - -32766, 1268,-32766,-32766, 758, 759, 760, 761, 762, 763, - 764, 994,-32766, 827,-32766,-32766, 923, -615, 324, -615, - 818, 765, 766, 767, 768, 769, 770, 771, 772, 773, - 774, 794, 816, 795, 796, 797, 798, 786, 787, 788, - 815, 789, 790, 775, 776, 777, 779, 780, 781, 820, - 821, 822, 823, 824, 825, 826, 300, 301, 342, 782, - 783, 784, 785, 833, 806, 804, 805, 817, 801, 802, - 715, 1040, 793, 799, 800, 807, 808, 810, 809, 140, - 811, 812, 838, 327, 343,-32766, 125, 803, 814, 813, - 49, 50, 51, 517, 52, 53, 1043, -110, 371, 913, - 54, 55, -110, 56, -110, -566,-32766,-32766,-32766, 306, - 1043, 126, -110, -110, -110, -110, -110, -110, -110, -110, - -110, -110, -110, -612, 1096, 106, 107, 108, 740, 276, - -612, 963, 964,-32766, 290, 287, 965, 1330, 57, 58, - -32766, 109, 375, 995, 59, 959, 60, 245, 246, 61, + 106, 107, 108, 1115, 276,-32766,-32766,-32766, 929, 1267, + 1266, 1268, 716, 834, 311, 394, 109, 7, 1101, -569, + 760,-32766,-32766,-32766, 841, 1354,-32766, 1099,-32766,-32766, + -32766, 1272, 1353, 313, 761, 762, 763, 764, 765, 766, + 767, 998,-32766, 830,-32766,-32766, 927, -616, 325, -616, + 821, 768, 769, 770, 771, 772, 773, 774, 775, 776, + 777, 797, 819, 798, 799, 800, 801, 789, 790, 791, + 818, 792, 793, 778, 779, 780, 782, 783, 784, 823, + 824, 825, 826, 827, 828, 829, -569, -569, 343, 785, + 786, 787, 788, 836, 809, 807, 808, 820, 804, 805, + 718, 564, 796, 802, 803, 810, 811, 813, 812, 140, + 814, 815, 841, 328, 344,-32766, -569, 806, 817, 816, + 49, 50, 51, 520, 52, 53, 869, -110, 870, 917, + 54, 55, -110, 56, -110, -567,-32766,-32766,-32766, 307, + 1047, 126, -110, -110, -110, -110, -110, -110, -110, -110, + -110, -110, -110, -613, 372, 106, 107, 108, 376, 276, + -613, 392, 1334,-32766, 291, 288, 1304, 446, 57, 58, + -32766, 109, 447, 999, 59, 47, 60, 245, 246, 61, 62, 63, 64, 65, 66, 67, 68,-32766, 28, 267, - 69, 441, 518, 391, -346, 74, 1294, 1295, 519, 443, - 838, 327, -566, -566, 1292, 42, 20, 520, 925, 521, - 923, 522, 713, 523, -564, 693, 524, 525, -566, 923, - 444, 44, 45, 447, 378, 377, -78, 46, 526, 923, - -572, 445, -566, 369, 341, 1346, 103, 104, 105, -563, - 1254, 923, 383, 382, 446, 528, 529, 530, 865, 719, - 866, 694, 425, 461, 462, 463, 844, 532, 533, 720, - 1280, 1281, 1282, 1283, 1285, 1277, 1278, 298, 865, 151, - 866, 723, 153, 1284, 1279, 695, 696, 1263, 1262, 1264, - 299, -564, -564, 70, -153, -153, -153, 322, 323, 327, - 154, -4, 923, 913, 1263, 1262, 1264, -564, 155, -153, - 283, -153, 913, -153, 157, -153, -563, -563, 33, -571, - 1350, -564, 913, -58, 829, 376, -612, 1349, -612, 748, - 747, 837, -563, -606, 913, -606, 963, 964, -57, 748, - 747, 527, 123, 81, -570, 1040, -563, 327, 617, 899, - 959, -110, -110, -110, 32, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 124, -565, - 1043, 947, 28, 268, 149, 408, 923, 1375, 829, 137, - 1376, 138, 925, 144, 838, 913, 713, -153, 1292, 660, - 21, 925, 679, 680, 283, 713, 158, 1170, 1172, 379, - 380, 980, 385, 386, 159, 713, 730, 376, -562, 438, - 1066, 141, 160, 925, 297, 327, 161, 713, 963, 964, - 946, 651, 652, 527, 1254, -87, 162, -306, 748, 747, - -84, 531, 959, -110, -110, -110, -565, -565, -78, 287, - 1268, 532, 533, -73, 1280, 1281, 1282, 1283, 1285, 1277, - 1278, -72, -565, -71, -70, 11, 1261, 1284, 1279, 913, - -69, 748, 747, -68, 925,-32766, -565, 72, 713, -4, - -16, 1261, 323, 327, -67, -562, -562, 291,-32766,-32766, - -32766, -66,-32766, -65,-32766, -46,-32766, -18, 142,-32766, - 275, -562, 1259, 284,-32766,-32766,-32766, 729,-32766, 732, - -32766,-32766, 922, 147, 1261, -562,-32766, 422, 28, 267, - -302,-32766,-32766,-32766, 279,-32766, 1042,-32766,-32766,-32766, - 838, 838,-32766, 288, 1292, 1040, 280,-32766,-32766,-32766, - 285, 286, 335,-32766,-32766, 1263, 1262, 1264, 925,-32766, - 422, 289, 713, 28, 268, 292, 293, 276, 940, 73, - 1043,-32766, 109, 689, 146, 838, -110, -110, -562, 1292, - 1254, -110, 829,-32766, 1377, 704, 582, 10, 661, 838, - -110, 1129, 706, 649, 283, 307, 960,-32766, 533,-32766, - 1280, 1281, 1282, 1283, 1285, 1277, 1278, 682, 1043, 305, - -50, 468, 1299, 1284, 1279, 1254, 666, -528, 496, 667, - 304, 299, 683, 72, 74, 1301, 588,-32766, 323, 327, - 327, -518, 290, 533, 40, 1280, 1281, 1282, 1283, 1285, - 1277, 1278, 8, 139, 0, -562, -562, 27, 1284, 1279, - -276, 407, 0,-32766, 0, 0, 0, 0, 72, 1261, - 311, -562, 0, 323, 327, 0,-32766,-32766,-32766, 0, - -32766, 373,-32766, 0,-32766, -562, 0,-32766, 0, 0, - 615, 0,-32766,-32766,-32766, 923,-32766, 0,-32766,-32766, - 942, 1289, 1261, 837,-32766, 422, 41, 299, 34,-32766, - -32766,-32766, 737,-32766, 738,-32766,-32766,-32766, 923, 857, - -32766, 904, 1004, 981, 988,-32766,-32766,-32766, 978,-32766, - 989,-32766,-32766, 902, 976, 1261, 1100,-32766, 422, 48, - 1103, 1104,-32766,-32766,-32766, 1101,-32766, 1102,-32766,-32766, - -32766, 1108, -600,-32766, 849, 1316, 1334, 491,-32766,-32766, - -32766, 1368,-32766, 654,-32766,-32766, -599, -598, 1261, 595, - -32766, 422, -572, -571, 1268,-32766,-32766,-32766, 913,-32766, - -570,-32766,-32766,-32766, -569, -512,-32766, -274, 1, 29, - 30,-32766,-32766,-32766, -251, -251, -251,-32766,-32766, 39, - 376, 913, 43,-32766, 422, 71, 302, 303, 75, 76, - 77, 963, 964, 78, 79,-32766, 527, -250, -250, -250, - -273, 80, 374, 376, 899, 959, -110, -110, -110, 143, - 152, 156, 243, 331, 963, 964, 127, 358, 359, 527, - 360, 361, 362, 363, 364, 365, 366, 899, 959, -110, - -110, -110,-32766, 13, 367, 838, 368, 925, 1261, 14, - 370, 713, -251, 439, 560,-32766,-32766,-32766, 15,-32766, - 16,-32766, 18,-32766, 406, 487,-32766, 488, 495, 498, - 925,-32766,-32766,-32766, 713, -250, 499,-32766,-32766, 500, - -110, -110, 501,-32766, 422, -110, 505, 506, 507, 515, - 593, 699, 1069, 1210, -110,-32766, 1290, 1068, 1049, 1249, - 1045, -278, -102,-32766, 12, 17, 22, 296, 405, 607, - 612, 640, 705, 1214, 1267, 1211, 1347, 0, 321, 372, - 714, 717, 721, 722, 724, 299, 725, 726, 74, 727, - 1227, 731, 716, 0, 327, 411, 1293, 734, 900, 1372, - 1374, 860, 859, 953, 996, 1373, 952, 950, 951, 954, - 1242, 933, 943, 931, 986, 987, 638, 1371, 1328, 1317, - 1335, 1344, 0, 0, 0, 327 + 69, 444, 521, 448, -347, 74, 1298, 1299, 522, 449, + 841, 328, -567, -567, 1296, 42, 20, 523, 929, 524, + 927, 525, 716, 526, -565, 696, 527, 528, -567, 927, + 847, 44, 45, 450, 379, 378, -78, 46, 529, 927, + -573,-32766, -567, 370, 342, 1350, 103, 104, 105, -564, + 1258, 927, 301, 302, 1044, 531, 532, 533, -607, 722, + -607, 697, 464, 465, 466, 151, 1047, 535, 536, 723, + 1284, 1285, 1286, 1287, 1289, 1281, 1282, 299, -58, 1047, + 153, 726, 125, 1288, 1283, 698, 699, 1267, 1266, 1268, + 300, -565, -565, 70, -154, -154, -154, 323, 324, 328, + -57, -4, 927, 917, 1267, 1266, 1268, -565, -87, -154, + 284, -154, 917, -154, 154, -154, -564, -564, 155, -572, + 157, -565, 917, 33, 832, 377, -613, 123, -613, 751, + 750, 124, -564, 137, 917, 289, 967, 968, 81, 751, + 750, 530, 328, 138, -571, 620, -564, 663, 21, 903, + 963, -110, -110, -110, 32, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 144, -566, + 382, 383, 28, 268, 1379, 158, 927, 1380, 967, 968, + 427, 159, 929, 969, 841, 917, 716, -154, 1296, 951, + 160, 929, 963, 384, 383, 716, 832, 1174, 1176, 682, + 683, 984, 1044, 427, 161, 716, 733, 377, -563, 440, + 1070, 141, 162, 929, 298, 328, -84, 716, 967, 968, + 149, 410, -307, 530, 1258, -78, 300, 1047, 751, 750, + -73, 534, 963, -110, -110, -110, -566, -566, 950, 288, + 1272, 535, 536, -72, 1284, 1285, 1286, 1287, 1289, 1281, + 1282, 284, -566, 380, 381, 11, 1265, 1288, 1283, 917, + -71, 751, 750, -70, 929,-32766, -566, 72, 716, -4, + -16, 1265, 324, 328, -69, -563, -563, 292,-32766,-32766, + -32766, -68,-32766, -67,-32766, -66,-32766, 386, 387,-32766, + -65, -563, 1263, -46,-32766,-32766,-32766, -18,-32766, 142, + -32766,-32766, 275, 285, 1265, -563,-32766, 424, 28, 267, + 732,-32766,-32766,-32766, 735,-32766, 1046,-32766,-32766,-32766, + 841, 841,-32766, 926, 1296, 1044, 147,-32766,-32766,-32766, + 654, 655, -303,-32766,-32766, 1267, 1266, 1268, 929,-32766, + 424, 280, 716, 28, 268, 281, 286, 287, 336, 73, + 1047,-32766, 290, 293, 294, 841, -110, -110, -563, 1296, + 1258, -110, 944,-32766, 276, 109, 692, 832, 146, 1381, + -110, 707, 841, 585, 284, 1133, 685, 709, 536,-32766, + 1284, 1285, 1286, 1287, 1289, 1281, 1282,-32766, 1047, 664, + -50, 10, 308, 1288, 1283, 1258, 669, 306, 471, 305, + 499, 300, 312, 72, 74, 670, 964, 1303, 324, 328, + 328, -529, 291, 536, 686, 1284, 1285, 1286, 1287, 1289, + 1281, 1282, 652, 139, 1305, -563, -563, 591, 1288, 1283, + -519, 300, 34,-32766, 8, 840, 0, 618, 72, 1265, + 0, -563, 0, 324, 328, 0,-32766,-32766,-32766, 0, + -32766, 0,-32766, 0,-32766, -563, 0,-32766,-32766, 0, + 0, 27,-32766,-32766,-32766, 927,-32766, 40,-32766,-32766, + 0, 0, 1265, 374,-32766, 424, 0, 946, 0,-32766, + -32766,-32766, 0,-32766, 41,-32766,-32766,-32766, 927, 740, + -32766, 741, 860, 908, 1008,-32766,-32766,-32766, 985,-32766, + 992,-32766,-32766, 982, 993, 1265, 906,-32766, 424, 48, + 980, 1104,-32766,-32766,-32766, 1107,-32766, 1108,-32766,-32766, + -32766, 1105, -601,-32766, 1106, 1112, -277, 494,-32766,-32766, + -32766, 1293,-32766, 852,-32766,-32766, 1320, 1338, 1265, 598, + -32766, 424, 1372, 657, 1272,-32766,-32766,-32766, 917,-32766, + -600,-32766,-32766,-32766, -599, -573,-32766, -275, -572, -571, + -570,-32766,-32766,-32766, -252, -252, -252,-32766,-32766, -513, + 377, 917, 1,-32766, 424, 29, 303, 304, 30, 39, + 43, 967, 968, 71, 75,-32766, 530, -251, -251, -251, + -274, 76, 375, 377, 903, 963, -110, -110, -110, 77, + 78, 79, 80, 143, 967, 968, 127, 152, 156, 530, + 243, 332, 359, 360, 361, 362, 363, 903, 963, -110, + -110, -110,-32766, 13, 364, 841, 365, 929, 1265, 14, + 366, 716, -252, 367, 368,-32766,-32766,-32766, 369,-32766, + 371,-32766, 441,-32766, 563, 322,-32766, 15, 16, 18, + 929,-32766,-32766,-32766, 716, -251, 408,-32766,-32766, 490, + -110, -110, 491,-32766, 424, -110, 498, 501, 502, 503, + 504, 508, 509, 510, -110,-32766, 518, 596, 702, 1073, + 1214, 1294, 1072,-32766, 1053, 1253, 1049, -279, -102, 12, + 17, 22, 297, 407, 610, 615, 643, 708, 1218, 1271, + 1215, 1351, 0, 373, 717, 300, 720, 724, 74, 725, + 1231, 727, 728, 729, 328, 409, 730, 734, 719, 0, + 413, 737, 904, 1376, 1378, 863, 862, 957, 1000, 1377, + 956, 954, 955, 958, 1246, 937, 947, 935, 990, 991, + 641, 1375, 1332, 1321, 1339, 1348, 0, 0, 1297, 0, + 328 ); protected array $actionCheck = array( 2, 3, 4, 5, 6, 7, 1, 9, 10, 11, - 12, 13, 82, 31, 85, 85, 9, 10, 11, 0, + 12, 13, 82, 31, 0, 85, 9, 10, 11, 31, 80, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 9, 10, 11, 8, 37, 38, 30, 1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 101, 30, 1, 70, 57, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 8, 106, 107, 71, - 72, 73, 74, 75, 76, 77, 126, 116, 80, 150, + 43, 106, 30, 108, 1, 57, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 106, 107, 108, 71, + 72, 73, 74, 75, 76, 77, 116, 80, 80, 97, 70, 151, 152, 8, 30, 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, 137, 138, 162, 126, 127, 128, 129, 8, 131, - 132, 133, 134, 135, 136, 8, 8, 139, 140, 141, - 142, 143, 144, 145, 9, 147, 148, 137, 138, 167, - 14, 167, 154, 155, 156, 106, 158, 108, 2, 3, + 122, 8, 162, 8, 126, 127, 128, 129, 8, 131, + 132, 133, 134, 135, 136, 9, 10, 139, 140, 141, + 142, 143, 144, 145, 9, 147, 148, 137, 138, 106, + 14, 108, 154, 155, 156, 167, 158, 160, 2, 3, 4, 5, 6, 7, 166, 9, 10, 11, 12, 13, 116, 8, 167, 119, 120, 121, 122, 123, 124, 125, 9, 10, 11, 44, 45, 46, 47, 48, 49, 50, 51, 52, 166, 37, 38, 141, 1, 9, 10, 11, - 163, 30, 8, 32, 33, 34, 35, 36, 37, 38, + 163, 30, 159, 32, 33, 34, 35, 36, 37, 38, 9, 10, 11, 57, 9, 10, 11, 1, 30, 165, - 32, 33, 34, 35, 36, 80, 31, 71, 72, 73, + 32, 33, 34, 35, 36, 8, 31, 71, 72, 73, 74, 75, 76, 77, 1, 30, 80, 32, 33, 34, 35, 8, 8, 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, 84, - 80, 8, 126, 127, 128, 129, 166, 131, 132, 133, - 134, 135, 136, 1, 166, 139, 140, 141, 142, 143, - 144, 145, 166, 147, 148, 160, 9, 10, 11, 31, + 80, 166, 126, 127, 128, 129, 166, 131, 132, 133, + 134, 135, 136, 1, 8, 139, 140, 141, 142, 143, + 144, 145, 166, 147, 148, 163, 9, 10, 11, 167, 154, 155, 156, 97, 158, 2, 3, 4, 5, 6, - 7, 14, 9, 10, 11, 12, 13, 30, 116, 32, + 7, 14, 9, 10, 11, 12, 13, 30, 101, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 141, 57, 9, 10, 11, 163, 159, + 53, 54, 55, 126, 57, 9, 10, 11, 163, 159, 160, 161, 167, 80, 8, 106, 69, 108, 168, 70, - 57, 9, 10, 11, 82, 97, 30, 1, 32, 33, - 34, 1, 9, 10, 71, 72, 73, 74, 75, 76, + 57, 9, 10, 11, 82, 1, 30, 1, 32, 33, + 34, 1, 8, 8, 71, 72, 73, 74, 75, 76, 77, 31, 30, 80, 32, 33, 1, 164, 8, 166, 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, 137, 138, 8, 126, 127, 128, 129, 160, 131, 132, 133, 134, 135, 136, - 167, 116, 139, 140, 141, 142, 143, 144, 145, 167, + 167, 85, 139, 140, 141, 142, 143, 144, 145, 167, 147, 148, 82, 171, 8, 116, 167, 154, 155, 156, - 2, 3, 4, 5, 6, 7, 141, 101, 8, 84, + 2, 3, 4, 5, 6, 7, 106, 101, 108, 84, 12, 13, 106, 15, 108, 70, 9, 10, 11, 113, 141, 14, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 1, 163, 53, 54, 55, 167, 57, - 8, 117, 118, 116, 165, 30, 122, 1, 50, 51, - 140, 69, 8, 163, 56, 131, 58, 59, 60, 61, + 124, 125, 126, 1, 8, 53, 54, 55, 8, 57, + 8, 8, 1, 116, 165, 30, 150, 8, 50, 51, + 140, 69, 8, 163, 56, 70, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 140, 70, 71, 72, 73, 74, 8, 168, 165, 78, 79, 80, 8, 82, 171, 137, 138, 86, 87, 88, 89, 163, 91, 1, 93, 167, 95, 70, 80, 98, 99, 153, 1, 8, 103, 104, 105, 106, 107, 16, 109, 110, 1, - 165, 8, 167, 115, 116, 1, 50, 51, 52, 70, - 122, 1, 106, 107, 8, 127, 128, 129, 106, 31, - 108, 116, 116, 132, 133, 134, 8, 139, 140, 31, - 142, 143, 144, 145, 146, 147, 148, 149, 106, 14, - 108, 31, 14, 155, 156, 140, 141, 159, 160, 161, + 165, 116, 167, 115, 116, 1, 50, 51, 52, 70, + 122, 1, 137, 138, 116, 127, 128, 129, 164, 31, + 166, 116, 132, 133, 134, 14, 141, 139, 140, 31, + 142, 143, 144, 145, 146, 147, 148, 149, 16, 141, + 14, 31, 167, 155, 156, 140, 141, 159, 160, 161, 162, 137, 138, 165, 75, 76, 77, 169, 170, 171, - 14, 0, 1, 84, 159, 160, 161, 153, 14, 90, + 16, 0, 1, 84, 159, 160, 161, 153, 31, 90, 165, 92, 84, 94, 14, 96, 137, 138, 14, 165, - 1, 167, 84, 16, 80, 106, 164, 8, 166, 37, - 38, 159, 153, 164, 84, 166, 117, 118, 16, 37, - 38, 122, 16, 167, 165, 116, 167, 171, 51, 130, + 14, 167, 84, 14, 80, 106, 164, 16, 166, 37, + 38, 16, 153, 16, 84, 37, 117, 118, 167, 37, + 38, 122, 171, 16, 165, 51, 167, 75, 76, 130, 131, 132, 133, 134, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 16, 70, - 141, 73, 70, 71, 101, 102, 1, 80, 80, 16, - 83, 16, 163, 16, 82, 84, 167, 168, 86, 75, - 76, 163, 75, 76, 165, 167, 16, 59, 60, 106, - 107, 163, 106, 107, 16, 167, 31, 106, 70, 108, - 1, 167, 16, 163, 113, 171, 16, 167, 117, 118, - 122, 111, 112, 122, 122, 31, 16, 35, 37, 38, - 31, 130, 131, 132, 133, 134, 137, 138, 31, 30, + 106, 107, 70, 71, 80, 16, 1, 83, 117, 118, + 116, 16, 163, 122, 82, 84, 167, 168, 86, 73, + 16, 163, 131, 106, 107, 167, 80, 59, 60, 75, + 76, 163, 116, 116, 16, 167, 31, 106, 70, 108, + 1, 167, 16, 163, 113, 171, 31, 167, 117, 118, + 101, 102, 35, 122, 122, 31, 162, 141, 37, 38, + 31, 130, 131, 132, 133, 134, 137, 138, 122, 30, 1, 139, 140, 31, 142, 143, 144, 145, 146, 147, - 148, 31, 153, 31, 31, 154, 80, 155, 156, 84, + 148, 165, 153, 106, 107, 154, 80, 155, 156, 84, 31, 37, 38, 31, 163, 74, 167, 165, 167, 168, 31, 80, 170, 171, 31, 137, 138, 30, 87, 88, - 89, 31, 91, 31, 93, 31, 95, 31, 31, 98, + 89, 31, 91, 31, 93, 31, 95, 106, 107, 98, 31, 153, 116, 31, 103, 104, 105, 31, 74, 31, 109, 110, 31, 31, 80, 167, 115, 116, 70, 71, - 35, 87, 88, 89, 35, 91, 140, 93, 127, 95, - 82, 82, 98, 37, 86, 116, 35, 103, 104, 105, - 35, 35, 35, 109, 110, 159, 160, 161, 163, 115, - 116, 37, 167, 70, 71, 37, 37, 57, 38, 158, - 141, 127, 69, 77, 70, 82, 117, 118, 70, 86, - 122, 122, 80, 116, 83, 80, 89, 97, 90, 82, - 131, 82, 92, 113, 165, 114, 131, 85, 140, 140, - 142, 143, 144, 145, 146, 147, 148, 94, 141, 136, - 31, 97, 150, 155, 156, 122, 96, 153, 97, 100, - 135, 162, 100, 165, 165, 150, 157, 140, 170, 171, - 171, 153, 165, 140, 163, 142, 143, 144, 145, 146, - 147, 148, 153, 31, -1, 137, 138, 153, 155, 156, - 166, 168, -1, 74, -1, -1, -1, -1, 165, 80, - 135, 153, -1, 170, 171, -1, 87, 88, 89, -1, - 91, 153, 93, -1, 95, 167, -1, 98, -1, -1, - 157, -1, 103, 104, 105, 1, 74, -1, 109, 110, - 158, 164, 80, 159, 115, 116, 163, 162, 167, 87, - 88, 89, 163, 91, 163, 93, 127, 95, 1, 163, + 31, 87, 88, 89, 31, 91, 140, 93, 127, 95, + 82, 82, 98, 31, 86, 116, 31, 103, 104, 105, + 111, 112, 35, 109, 110, 159, 160, 161, 163, 115, + 116, 35, 167, 70, 71, 35, 35, 35, 35, 158, + 141, 127, 37, 37, 37, 82, 117, 118, 70, 86, + 122, 122, 38, 116, 57, 69, 77, 80, 70, 83, + 131, 80, 82, 89, 165, 82, 94, 92, 140, 140, + 142, 143, 144, 145, 146, 147, 148, 85, 141, 90, + 31, 97, 114, 155, 156, 122, 96, 136, 97, 135, + 97, 162, 135, 165, 165, 100, 131, 150, 170, 171, + 171, 153, 165, 140, 100, 142, 143, 144, 145, 146, + 147, 148, 113, 31, 150, 137, 138, 157, 155, 156, + 153, 162, 167, 74, 153, 159, -1, 157, 165, 80, + -1, 153, -1, 170, 171, -1, 87, 88, 89, -1, + 91, -1, 93, -1, 95, 167, -1, 98, 140, -1, + -1, 153, 103, 104, 105, 1, 74, 163, 109, 110, + -1, -1, 80, 153, 115, 116, -1, 158, -1, 87, + 88, 89, -1, 91, 163, 93, 127, 95, 1, 163, 98, 163, 163, 163, 163, 103, 104, 105, 163, 74, 163, 109, 110, 163, 163, 80, 163, 115, 116, 70, 163, 163, 87, 88, 89, 163, 91, 163, 93, 127, - 95, 163, 165, 98, 164, 164, 164, 102, 103, 104, - 105, 164, 74, 164, 109, 110, 165, 165, 80, 81, - 115, 116, 165, 165, 1, 87, 88, 89, 84, 91, + 95, 163, 165, 98, 163, 163, 166, 102, 103, 104, + 105, 164, 74, 164, 109, 110, 164, 164, 80, 81, + 115, 116, 164, 164, 1, 87, 88, 89, 84, 91, 165, 93, 127, 95, 165, 165, 98, 166, 165, 165, 165, 103, 104, 105, 100, 101, 102, 109, 110, 165, 106, 84, 165, 115, 116, 165, 137, 138, 165, 165, @@ -643,24 +644,25 @@ class Php7 extends \PhpParser\ParserAbstract 165, 165, 165, 165, 117, 118, 167, 165, 165, 122, 165, 165, 165, 165, 165, 165, 165, 130, 131, 132, 133, 134, 74, 166, 165, 82, 165, 163, 80, 166, - 165, 167, 168, 165, 165, 87, 88, 89, 166, 91, - 166, 93, 166, 95, 166, 166, 98, 166, 166, 166, + 165, 167, 168, 165, 165, 87, 88, 89, 165, 91, + 165, 93, 165, 95, 165, 167, 98, 166, 166, 166, 163, 103, 104, 105, 167, 168, 166, 109, 110, 166, 117, 118, 166, 115, 116, 122, 166, 166, 166, 166, 166, 166, 166, 166, 131, 127, 166, 166, 166, 166, 166, 166, 166, 140, 166, 166, 166, 166, 166, 166, - 166, 166, 166, 166, 166, 166, 166, -1, 167, 167, - 167, 167, 167, 167, 167, 162, 167, 167, 165, 167, - 169, 167, 167, -1, 171, 168, 170, 168, 168, 168, + 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, + 166, 166, -1, 167, 167, 162, 167, 167, 165, 167, + 169, 167, 167, 167, 171, 168, 167, 167, 167, -1, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, -1, -1, -1, 171 + 168, 168, 168, 168, 168, 168, -1, -1, 170, -1, + 171 ); protected array $actionBase = array( 0, -2, 156, 559, 641, 1004, 1027, 485, 292, 200, - -60, 283, 568, 590, 590, 715, 590, 195, 578, 894, - 395, 395, 395, 825, 313, 313, 825, 313, 731, 731, + -60, 283, 568, 590, 590, 715, 590, 195, 578, 901, + 395, 395, 395, 831, 313, 313, 831, 313, 731, 731, 731, 731, 764, 764, 965, 965, 998, 932, 899, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, @@ -674,67 +676,68 @@ class Php7 extends \PhpParser\ParserAbstract 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, - 1088, 1088, 1088, 37, 360, 216, 644, 1061, 1067, 1063, - 1068, 1059, 1058, 1062, 1064, 1069, 1109, 1110, 812, 1111, - 1112, 1108, 1113, 1065, 909, 1060, 1066, 297, 297, 297, + 1088, 1088, 1088, 37, 360, 216, 649, 1066, 1072, 1068, + 1073, 1064, 1063, 1067, 1069, 1074, 1113, 1114, 835, 1115, + 1116, 1112, 1117, 1070, 919, 1065, 1071, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, - 297, 297, 297, 297, 135, 477, 373, 201, 201, 201, + 297, 297, 297, 297, 135, 477, 126, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 642, 642, 22, 22, 22, 362, 813, 778, 813, 813, 813, 813, 813, 813, 813, 813, 346, 205, 678, 188, 171, 171, 7, 7, 7, 7, 7, 376, 779, 54, 1083, 1083, 139, - 139, 139, 139, -50, 49, 749, 380, 787, -39, 569, - 569, 536, 536, 335, 335, 349, 349, 335, 335, 335, - 212, 212, 212, 212, 415, 494, 519, 512, -71, 807, - 584, 584, 584, 584, 807, 807, 807, 807, 795, 1086, - 807, 807, 807, 639, 828, 828, 979, 452, 452, 452, - 828, 492, -70, -70, 492, 394, -70, 516, 982, 637, - 988, 397, 785, 486, 509, 397, -16, 299, 502, 233, - 854, 633, 854, 1056, 832, 832, 794, 752, 898, 1085, - 1070, 839, 1106, 842, 1107, 471, 10, 747, 1055, 1055, - 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1114, - 632, 1056, 145, 1114, 1114, 1114, 632, 632, 632, 632, - 632, 632, 632, 632, 796, 632, 632, 650, 145, 654, - 657, 145, 837, 632, 798, 37, 37, 37, 37, 37, - 37, 37, 37, 37, 37, -18, 37, 37, 360, 5, - 5, 37, 341, 52, 5, 5, 5, 5, 37, 37, - 37, 37, 633, 830, 789, 636, 278, 843, 128, 830, - 830, 830, 26, 136, 120, 732, 815, 259, 822, 822, - 829, 933, 933, 822, 827, 822, 829, 822, 822, 933, - 933, 855, 933, 163, 541, 430, 514, 562, 933, 273, - 822, 822, 822, 822, 845, 933, 58, 573, 822, 234, - 194, 822, 822, 845, 805, 802, 793, 933, 933, 933, - 845, 470, 793, 793, 793, 859, 861, 800, 799, 390, - 356, 598, 127, 850, 799, 799, 822, 535, 800, 799, - 800, 799, 852, 799, 799, 799, 800, 799, 827, 456, - 799, 720, 728, 586, 75, 799, 19, 950, 953, 734, - 954, 944, 955, 1008, 958, 959, 1073, 930, 977, 947, - 966, 1009, 935, 934, 811, 666, 692, 809, 784, 929, - 823, 823, 823, 917, 918, 823, 823, 823, 823, 823, - 823, 823, 823, 666, 847, 838, 817, 983, 703, 705, - 1044, 782, 1090, 1081, 982, 950, 959, 739, 947, 966, - 935, 934, 792, 790, 772, 783, 769, 763, 760, 762, - 797, 1046, 974, 791, 707, 1016, 985, 1089, 1071, 986, - 987, 1018, 1047, 866, 1050, 1091, 824, 1092, 1093, 900, - 989, 1074, 823, 912, 897, 901, 988, 925, 666, 902, - 1051, 997, 851, 1019, 1021, 1072, 834, 821, 907, 1094, - 990, 991, 999, 1075, 1076, 853, 1003, 804, 1022, 841, - 803, 1023, 1030, 1033, 1036, 1077, 1095, 1079, 911, 1080, - 868, 818, 931, 840, 1096, 307, 835, 836, 849, 1005, - 605, 978, 1082, 1087, 1097, 1040, 1041, 1042, 1098, 1099, - 975, 869, 1012, 833, 1014, 964, 870, 871, 608, 848, - 1052, 819, 831, 844, 626, 634, 1100, 1101, 1102, 976, - 806, 816, 875, 877, 1053, 826, 1054, 1103, 640, 880, - 1104, 1045, 736, 740, 560, 662, 647, 750, 820, 1084, - 814, 801, 810, 1001, 740, 808, 881, 1105, 883, 887, - 888, 1043, 892, 0, 0, 0, 0, 0, 0, 0, + 139, 139, 139, 227, -55, 749, 380, -40, 787, 604, + 626, 626, 536, 536, 478, 478, 349, 349, 478, 478, + 478, 465, 465, 465, 465, 415, 494, 519, 43, 366, + 858, 584, 584, 584, 584, 858, 858, 858, 858, 814, + 1118, 858, 858, 858, 639, 828, 828, 979, 452, 452, + 452, 828, 370, -70, -70, 370, 601, -70, 511, 987, + 634, 999, 397, 815, 627, 434, 397, 299, 455, 502, + 233, 816, 687, 816, 1062, 842, 842, 802, 739, 902, + 1091, 1075, 845, 1110, 854, 1111, 470, 10, 734, 1061, + 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, + 1119, 632, 1062, -3, 1119, 1119, 1119, 632, 632, 632, + 632, 632, 632, 632, 632, 806, 632, 632, 759, -3, + 612, 664, -3, 853, 632, 817, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, -12, 37, 37, + 360, 5, 5, 37, 142, 53, 5, 5, 5, 5, + 37, 37, 37, 37, 687, 847, 810, 721, -18, 820, + 120, 847, 847, 847, 26, 136, 115, 727, 837, 259, + 827, 827, 827, 833, 947, 947, 827, 830, 827, 833, + 827, 827, 947, 947, 809, 947, 217, 509, 430, 500, + 514, 947, 356, 827, 827, 827, 827, 807, 947, 75, + 535, 827, 286, 234, 827, 827, 807, 804, 812, 801, + 947, 947, 947, 807, 496, 801, 801, 801, 866, 868, + 849, 811, 390, 375, 562, 163, 864, 811, 811, 827, + 503, 849, 811, 849, 811, 859, 811, 811, 811, 849, + 811, 830, 456, 811, 699, 705, 541, 113, 811, 14, + 958, 959, 617, 966, 954, 974, 1017, 975, 976, 1077, + 944, 985, 955, 977, 1019, 953, 950, 832, 651, 655, + 821, 798, 935, 836, 836, 836, 930, 933, 836, 836, + 836, 836, 836, 836, 836, 836, 651, 907, 860, 824, + 988, 657, 667, 1051, 797, 1094, 1081, 987, 958, 976, + 725, 955, 977, 953, 950, 799, 794, 790, 792, 783, + 772, 752, 769, 808, 1053, 978, 844, 692, 1023, 989, + 1093, 1018, 990, 991, 1030, 1054, 869, 1055, 1095, 838, + 1096, 1097, 909, 1001, 1079, 836, 929, 897, 912, 999, + 934, 651, 913, 1056, 997, 805, 1033, 1036, 1076, 841, + 826, 918, 1098, 1005, 1008, 1009, 1080, 1082, 861, 1003, + 900, 1040, 843, 1087, 1041, 1042, 1043, 1044, 1084, 1099, + 1085, 925, 1086, 870, 839, 931, 840, 1100, 307, 851, + 852, 857, 1015, 591, 986, 1089, 1092, 1101, 1045, 1046, + 1047, 1102, 1103, 982, 871, 1021, 822, 1022, 964, 875, + 877, 606, 856, 1058, 846, 850, 855, 640, 644, 1104, + 1105, 1106, 983, 819, 829, 880, 881, 1059, 638, 1060, + 1107, 646, 883, 1108, 1052, 714, 728, 560, 624, 602, + 736, 825, 1090, 848, 818, 834, 1013, 728, 823, 887, + 1109, 888, 892, 894, 1050, 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, 468, 468, 468, 468, 468, 468, 313, - 313, 313, 313, 313, 468, 468, 468, 468, 468, 468, - 468, 313, 468, 468, 468, 313, 0, 0, 313, 0, + 0, 0, 0, 0, 0, 0, 468, 468, 468, 468, + 468, 468, 313, 313, 313, 313, 313, 468, 468, 468, + 468, 468, 468, 468, 313, 468, 468, 468, 313, 0, + 0, 313, 0, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, @@ -747,44 +750,44 @@ class Php7 extends \PhpParser\ParserAbstract 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, - 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, - 468, 468, 468, 468, 468, 297, 297, 297, 297, 297, + 468, 468, 468, 468, 468, 468, 468, 468, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, - 297, 297, 297, 297, 297, 297, 297, 297, 297, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 297, 297, 297, 297, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, - 297, 297, 297, 297, 297, 297, 297, 297, 297, 716, - 716, 297, 297, 297, 297, 716, 716, 716, 716, 716, - 716, 716, 716, 716, 716, 297, 297, 0, 297, 297, - 297, 297, 297, 297, 297, 297, 855, 716, 716, 716, - 716, 452, 452, 452, 452, -95, -95, 716, 716, 716, - 394, 716, 716, 452, 452, 716, 716, 716, 716, 716, - 716, 716, 716, 716, 716, 716, 0, 0, 0, 145, - -70, 716, 827, 827, 827, 827, 716, 716, 716, 716, - -70, -70, 716, 716, 716, 0, 0, 0, 0, 0, - 0, 0, 0, 145, 0, 0, 145, 0, 0, 827, - 638, 827, 638, 716, 394, 855, 659, 716, 0, 0, - 0, 0, 145, 827, 145, 632, -70, -70, 632, 632, - 5, 37, 659, 613, 613, 613, 613, 0, 0, 633, - 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, - 855, 827, 0, 855, 0, 827, 827, 827, 0, 0, - 0, 0, 0, 0, 0, 0, 933, 0, 0, 0, - 0, 0, 0, 0, 827, 0, 933, 0, 0, 0, + 297, 297, 716, 716, 297, 297, 297, 297, 716, 716, + 716, 716, 716, 716, 716, 716, 716, 716, 297, 297, + 0, 297, 297, 297, 297, 297, 297, 297, 297, 809, + 716, 716, 716, 716, 452, 452, 452, 452, -95, -95, + 716, 716, 601, 716, 601, 716, 716, 452, 452, 716, + 716, 716, 716, 716, 716, 716, 716, 716, 716, 716, + 0, 0, 0, -3, -70, 716, 830, 830, 830, 830, + 716, 716, 716, 716, -70, -70, 716, 716, 716, 0, + 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, + -3, 0, 0, 830, 656, 830, 656, 716, 601, 809, + 374, 716, 0, 0, 0, 0, -3, 830, -3, 632, + -70, -70, 632, 632, 5, 37, 374, 659, 659, 659, + 659, 0, 0, 687, 809, 809, 809, 809, 809, 809, + 809, 809, 809, 809, 809, 830, 0, 809, 0, 830, + 830, 830, 0, 0, 0, 0, 0, 0, 0, 0, + 947, 0, 0, 0, 0, 0, 0, 0, 830, 0, + 947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 827, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 823, 834, 0, 0, 834, - 0, 823, 823, 823, 0, 0, 0, 848, 826 + 830, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 836, 841, 0, 0, 841, 0, 836, 836, 836, 0, + 0, 0, 856, 638 ); protected array $actionDefault = array( 3,32767, 102,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 100,32767, 618, 618, - 618, 618,32767,32767, 255, 102,32767,32767, 487, 404, - 404, 404,32767,32767, 560, 560, 560, 560, 560,32767, - 32767,32767,32767,32767,32767, 487,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 100,32767, 619, 619, + 619, 619,32767,32767, 256, 102,32767,32767, 488, 405, + 405, 405,32767,32767, 561, 561, 561, 561, 561,32767, + 32767,32767,32767,32767,32767, 488,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, @@ -792,142 +795,138 @@ class Php7 extends \PhpParser\ParserAbstract 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767, 36, 7, - 8, 10, 11, 49, 17, 328, 100,32767,32767,32767, + 8, 10, 11, 49, 17, 329, 100,32767,32767,32767, 32767,32767,32767,32767,32767, 102,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 611,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 612,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 392, 491, 470, - 471, 473, 474, 403, 561, 617, 331, 614, 333, 402, - 145, 343, 334, 243, 259, 492, 260, 493, 496, 497, - 216, 389, 149, 150, 434, 488, 436, 486, 490, 435, - 409, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 407, 408, 489,32767,32767, 467, - 466, 465, 432,32767,32767,32767,32767,32767,32767,32767, - 32767, 102,32767, 433, 437, 406, 440, 438, 439, 456, - 457, 454, 455, 458,32767,32767, 320,32767,32767, 459, - 460, 461, 462, 370, 368,32767,32767, 320, 111,32767, - 32767, 447, 448,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 504, 554, 464,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 393, 492, 471, + 472, 474, 475, 404, 562, 618, 332, 615, 334, 403, + 146, 344, 335, 244, 260, 493, 261, 494, 497, 498, + 217, 390, 150, 151, 435, 489, 437, 487, 491, 436, + 410, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 408, 409, 490,32767,32767, 468, + 467, 466, 433,32767,32767,32767,32767,32767,32767,32767, + 32767, 102,32767, 434, 438, 407, 441, 439, 440, 457, + 458, 455, 456, 459,32767,32767, 321,32767,32767, 460, + 461, 462, 463, 371, 369,32767,32767, 111, 321, 111, + 32767,32767, 448, 449,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767, 505, 555, 465,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 102,32767, 100, 556, 429, 431, 524, 442, 443, 441, - 410,32767, 529,32767, 102,32767, 531,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 555,32767, 562, 562, - 32767, 517, 100, 195,32767, 530, 195, 195,32767,32767, - 32767,32767,32767,32767,32767,32767, 625, 517, 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, 532, 195, 195, 190,32767, 269, - 271, 102, 579, 195, 534,32767,32767,32767,32767,32767, + 32767, 102,32767, 100, 557, 430, 432, 525, 443, 444, + 442, 411,32767, 530,32767, 102,32767, 532,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 556,32767, 563, + 563,32767, 518, 100, 196,32767, 531, 196, 196,32767, + 32767,32767,32767,32767,32767,32767,32767, 626, 518, 110, + 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, + 32767, 196, 110,32767,32767,32767, 100, 196, 196, 196, + 196, 196, 196, 196, 196, 533, 196, 196, 191,32767, + 270, 272, 102, 580, 196, 535,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 517, 452, 138,32767, 519, 138, 562, 444, - 445, 446, 562, 562, 562, 316, 293,32767,32767,32767, - 32767, 532, 532, 100, 100, 100, 100,32767,32767,32767, - 32767, 111, 503, 99, 99, 99, 99, 99, 103, 101, - 32767,32767,32767,32767, 224,32767, 101, 99,32767, 101, - 101,32767,32767, 224, 226, 213, 228,32767, 583, 584, - 224, 101, 228, 228, 228, 248, 248, 506, 322, 101, - 99, 101, 101, 197, 322, 322,32767, 101, 506, 322, - 506, 322, 199, 322, 322, 322, 506, 322,32767, 101, - 322, 215, 392, 99, 99, 322,32767,32767,32767, 519, - 32767,32767,32767,32767,32767,32767,32767, 223,32767,32767, - 32767,32767,32767,32767,32767,32767, 549,32767, 567, 581, - 450, 451, 453, 566, 564, 475, 476, 477, 478, 479, - 480, 481, 483, 613,32767, 523,32767,32767,32767, 342, - 32767, 623,32767,32767,32767, 9, 74, 512, 42, 43, - 51, 57, 538, 539, 540, 541, 535, 536, 542, 537, + 32767,32767,32767,32767, 518, 453, 139,32767, 520, 139, + 563, 445, 446, 447, 563, 563, 563, 317, 294,32767, + 32767,32767,32767,32767, 533, 533, 100, 100, 100, 100, + 32767,32767,32767,32767, 111, 504, 99, 99, 99, 99, + 99, 103, 101,32767,32767,32767,32767, 225,32767, 101, + 99,32767, 101, 101,32767,32767, 225, 227, 214, 229, + 32767, 584, 585, 225, 101, 229, 229, 229, 249, 249, + 507, 323, 101, 99, 101, 101, 198, 323, 323,32767, + 101, 507, 323, 507, 323, 200, 323, 323, 323, 507, + 323,32767, 101, 323, 216, 393, 99, 99, 323,32767, + 32767,32767, 520,32767,32767,32767,32767,32767,32767,32767, + 224,32767,32767,32767,32767,32767,32767,32767,32767, 550, + 32767, 568, 582, 451, 452, 454, 567, 565, 476, 477, + 478, 479, 480, 481, 482, 484, 614,32767, 524,32767, + 32767,32767, 343,32767, 624,32767,32767,32767, 9, 74, + 513, 42, 43, 51, 57, 539, 540, 541, 542, 536, + 537, 543, 538,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 625,32767, + 563,32767,32767,32767,32767, 450, 545, 590,32767,32767, + 564, 617,32767,32767,32767,32767,32767,32767,32767, 139, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 624,32767, 562,32767,32767, - 32767,32767, 449, 544, 589,32767,32767, 563, 616,32767, - 32767,32767,32767,32767,32767,32767, 138,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 549,32767, 136, - 32767,32767,32767,32767,32767,32767,32767,32767, 545,32767, - 32767,32767, 562,32767,32767,32767,32767, 318, 315,32767, + 550,32767, 137,32767,32767,32767,32767,32767,32767,32767, + 32767, 546,32767,32767,32767, 563,32767,32767,32767,32767, + 319, 316,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 563,32767, + 32767,32767,32767,32767, 296,32767, 313,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 562,32767,32767,32767,32767, - 32767, 295,32767, 312,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 388, 519, 298, 300, 301,32767,32767,32767, - 32767, 364,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 152, 152, 3, 3, 345, 152, 152, - 152, 345, 345, 152, 345, 345, 345, 152, 152, 152, - 152, 152, 152, 281, 185, 263, 266, 248, 248, 152, - 356, 152 + 32767,32767,32767,32767,32767, 389, 520, 299, 301, 302, + 32767,32767,32767,32767, 365,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 153, 153, 3, 3, + 346, 153, 153, 153, 346, 346, 153, 346, 346, 346, + 153, 153, 153, 153, 153, 153, 282, 186, 264, 267, + 249, 249, 153, 357, 153 ); protected array $goto = array( - 196, 196, 1041, 352, 700, 465, 587, 470, 470, 1072, - 736, 641, 643, 1205, 855, 663, 470, 856, 709, 687, - 690, 1014, 698, 707, 1010, 625, 662, 166, 166, 166, + 196, 196, 1045, 1076, 703, 468, 590, 473, 473, 858, + 739, 644, 646, 1209, 859, 666, 473, 833, 712, 690, + 693, 1018, 701, 710, 1014, 423, 353, 166, 166, 166, 166, 220, 197, 193, 193, 176, 178, 215, 193, 193, 193, 193, 193, 194, 194, 194, 194, 194, 188, 189, - 190, 191, 192, 217, 215, 218, 540, 541, 423, 542, - 545, 546, 547, 548, 549, 550, 551, 552, 1156, 167, + 190, 191, 192, 217, 215, 218, 543, 544, 425, 545, + 548, 549, 550, 551, 552, 553, 554, 555, 1160, 167, 168, 169, 195, 170, 171, 172, 165, 173, 174, 175, 177, 214, 216, 219, 239, 242, 253, 254, 256, 257, 258, 259, 260, 261, 262, 263, 269, 270, 271, 272, - 281, 282, 317, 318, 319, 429, 430, 431, 602, 221, + 282, 283, 318, 319, 320, 431, 432, 433, 605, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 179, 236, 180, 188, 189, 190, - 191, 192, 217, 1156, 198, 199, 200, 201, 240, 181, + 191, 192, 217, 1160, 198, 199, 200, 201, 240, 181, 182, 202, 183, 203, 199, 184, 241, 198, 164, 204, 205, 185, 206, 207, 208, 186, 209, 210, 187, 211, - 212, 213, 278, 278, 278, 278, 858, 433, 665, 979, - 916, 604, 917, 428, 320, 314, 315, 338, 597, 432, - 339, 434, 642, 627, 627, 896, 854, 896, 896, 1291, - 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 614, - 628, 631, 632, 633, 634, 655, 656, 657, 711, 830, - 871, 460, 912, 907, 908, 921, 864, 909, 861, 910, - 911, 862, 356, 915, 868, 421, 883, 482, 867, 870, - 1361, 1361, 356, 356, 484, 1094, 1089, 1090, 1091, 889, - 603, 1107, 397, 400, 605, 609, 356, 356, 1361, 594, - 356, 712, 344, 1378, 353, 354, 511, 703, 442, 1105, - 1260, 1041, 1260, 1260, 350, 559, 1364, 1364, 356, 356, - 1041, 1260, 1041, 1351, 1041, 1041, 345, 344, 1041, 1041, - 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1000, - 1236, 948, 249, 249, 1260, 1237, 1240, 949, 1241, 1260, - 1260, 1260, 1260, 1114, 1115, 1260, 1260, 1260, 1343, 1343, - 1343, 1343, 564, 557, 851, 427, 1322, 616, 395, 247, - 247, 247, 247, 244, 250, 592, 929, 503, 664, 504, - 930, 355, 355, 355, 355, 510, 945, 512, 945, 479, - 1336, 1337, 328, 557, 564, 589, 590, 330, 600, 606, - 1153, 621, 622, 555, 1065, 555, 555, 658, 659, 25, - 676, 677, 678, 440, 555, 1310, 1310, 686, 559, 851, - 670, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, - 1310, 1044, 1044, 1047, 1046, 685, 956, 458, 340, 1036, - 1052, 1053, 973, 973, 973, 973, 1050, 1051, 458, 967, - 974, 1307, 1307, 971, 412, 708, 848, 1307, 1307, 1307, - 1307, 1307, 1307, 1307, 1307, 1307, 1307, 5, 610, 6, - 873, 934, 1143, 451, 451, 876, 451, 451, 1333, 962, - 1333, 1333, 1253, 1019, 404, 553, 553, 553, 553, 1333, - 608, 875, 620, 668, 998, 1251, 558, 584, 1022, 869, - 739, 558, 885, 584, 480, 398, 464, 1078, 697, 326, - 309, 1250, 832, 1345, 1345, 1345, 1345, 1082, 473, 601, - 474, 475, 1338, 1339, 697, 1128, 881, 697, 984, 1369, - 1370, 598, 619, 1032, 0, 544, 544, 851, 836, 0, - 1329, 544, 544, 544, 544, 544, 544, 544, 544, 544, - 544, 543, 543, 1255, 879, 0, 0, 543, 0, 543, - 543, 543, 543, 543, 543, 543, 543, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 252, 252, - 451, 836, 1080, 836, 409, 410, 1331, 1331, 1080, 674, - 0, 675, 0, 414, 415, 416, 0, 688, 0, 0, - 417, 635, 637, 639, 0, 348, 0, 0, 1256, 1257, - 0, 1243, 884, 872, 1077, 1081, 0, 846, 1003, 0, - 0, 975, 0, 735, 1243, 982, 556, 1012, 1007, 0, - 435, 0, 0, 0, 0, 0, 1258, 1319, 1320, 0, - 0, 435, 273, 325, 0, 325, 325, 0, 972, 1048, - 1048, 0, 0, 0, 669, 1059, 1055, 1056, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1126, 888, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1017, 1017 + 212, 213, 279, 277, 279, 279, 861, 983, 411, 412, + 920, 607, 921, 677, 854, 678, 854, 416, 417, 418, + 357, 691, 345, 463, 419, 463, 435, 668, 893, 349, + 357, 357, 430, 321, 315, 316, 339, 600, 434, 340, + 436, 645, 485, 597, 357, 357, 346, 345, 357, 487, + 351, 1382, 916, 911, 912, 925, 867, 913, 864, 914, + 915, 865, 868, 562, 919, 872, 357, 357, 429, 871, + 619, 854, 445, 1355, 630, 630, 1098, 1093, 1094, 1095, + 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, + 617, 631, 634, 635, 636, 637, 658, 659, 660, 714, + 1264, 1045, 1264, 1264, 661, 662, 1004, 679, 680, 681, + 1045, 1264, 396, 1045, 1326, 1045, 1045, 354, 355, 1045, + 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, + 900, 857, 900, 900, 595, 1264, 515, 506, 667, 507, + 1264, 1264, 1264, 1264, 1069, 513, 1264, 1264, 1264, 1347, + 1347, 1347, 1347, 567, 560, 356, 356, 356, 356, 1157, + 5, 558, 6, 558, 558, 628, 665, 933, 562, 1051, + 1050, 934, 558, 556, 556, 556, 556, 949, 611, 949, + 482, 1340, 1341, 329, 560, 567, 592, 593, 331, 603, + 609, 854, 624, 625, 249, 249, 461, 975, 414, 711, + 25, 977, 977, 977, 977, 1314, 1314, 461, 971, 978, + 443, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, + 1314, 247, 247, 247, 247, 244, 250, 1311, 1311, 1118, + 1119, 839, 1257, 1311, 1311, 1311, 1311, 1311, 1311, 1311, + 1311, 1311, 1311, 547, 547, 398, 401, 608, 612, 547, + 547, 547, 547, 547, 547, 547, 547, 547, 547, 638, + 640, 642, 689, 454, 454, 673, 454, 454, 1337, 1259, + 1337, 1337, 546, 546, 839, 341, 839, 851, 546, 1337, + 546, 546, 546, 546, 546, 546, 546, 546, 561, 587, + 561, 623, 1007, 405, 561, 979, 587, 738, 399, 467, + 559, 1016, 1011, 966, 1349, 1349, 1349, 1349, 1054, 1055, + 880, 476, 604, 477, 478, 877, 1365, 1365, 437, 885, + 1255, 700, 1373, 1374, 1082, 835, 1260, 1261, 742, 1247, + 437, 1333, 875, 1026, 1365, 849, 406, 700, 1052, 1052, + 700, 889, 1247, 672, 1063, 1059, 1060, 883, 887, 327, + 310, 874, 1368, 1368, 1262, 1323, 1324, 483, 454, 454, + 454, 454, 454, 454, 454, 454, 454, 454, 454, 1342, + 1343, 454, 613, 1084, 1086, 938, 1147, 1335, 1335, 1084, + 601, 622, 1021, 1021, 988, 1036, 1132, 1023, 888, 876, + 1081, 1085, 0, 0, 0, 879, 0, 671, 1002, 0, + 0, 986, 0, 873, 1048, 1048, 0, 0, 688, 960, + 606, 1111, 1040, 1056, 1057, 1254, 273, 326, 0, 326, + 326, 715, 0, 0, 976, 0, 514, 706, 0, 1109, + 252, 252, 1240, 952, 0, 0, 0, 1241, 1244, 953, + 1245, 0, 0, 0, 0, 0, 0, 1130, 892 ); protected array $gotoCheck = array( - 42, 42, 73, 97, 73, 156, 48, 154, 154, 128, - 48, 48, 48, 156, 26, 48, 154, 27, 9, 48, - 48, 48, 48, 48, 48, 56, 56, 42, 42, 42, + 42, 42, 73, 128, 73, 156, 48, 154, 154, 26, + 48, 48, 48, 156, 27, 48, 154, 6, 9, 48, + 48, 48, 48, 48, 48, 43, 97, 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, @@ -941,101 +940,97 @@ 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, 23, 23, 23, 23, 15, 66, 66, 49, - 65, 131, 65, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 108, 108, 25, 25, 25, 25, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 6, - 35, 83, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 14, 15, 15, 43, 35, 84, 15, 35, - 188, 188, 14, 14, 84, 15, 15, 15, 15, 45, - 8, 8, 59, 59, 59, 59, 14, 14, 188, 178, - 14, 8, 174, 14, 97, 97, 8, 8, 83, 8, - 73, 73, 73, 73, 185, 14, 188, 188, 14, 14, - 73, 73, 73, 187, 73, 73, 174, 174, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 103, - 79, 79, 5, 5, 73, 79, 79, 79, 79, 73, - 73, 73, 73, 145, 145, 73, 73, 73, 9, 9, - 9, 9, 76, 76, 22, 13, 14, 13, 62, 5, - 5, 5, 5, 5, 5, 104, 73, 160, 64, 160, - 73, 24, 24, 24, 24, 160, 9, 14, 9, 182, - 182, 182, 76, 76, 76, 76, 76, 76, 76, 76, - 155, 76, 76, 19, 115, 19, 19, 86, 86, 76, - 86, 86, 86, 113, 19, 176, 176, 117, 14, 22, - 121, 176, 176, 176, 176, 176, 176, 176, 176, 176, - 176, 89, 89, 119, 119, 89, 89, 19, 29, 89, - 89, 89, 19, 19, 19, 19, 120, 120, 19, 19, - 19, 177, 177, 93, 93, 93, 18, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 46, 17, 46, - 37, 17, 17, 23, 23, 39, 23, 23, 131, 92, - 131, 131, 14, 17, 28, 107, 107, 107, 107, 131, - 107, 17, 80, 17, 17, 166, 9, 9, 110, 17, - 99, 9, 41, 9, 157, 9, 9, 130, 7, 175, - 175, 17, 7, 131, 131, 131, 131, 133, 9, 9, - 9, 9, 184, 184, 7, 148, 9, 7, 96, 9, - 9, 2, 2, 114, -1, 179, 179, 22, 12, -1, - 131, 179, 179, 179, 179, 179, 179, 179, 179, 179, - 179, 162, 162, 20, 9, -1, -1, 162, -1, 162, - 162, 162, 162, 162, 162, 162, 162, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 5, 5, - 23, 12, 131, 12, 82, 82, 131, 131, 131, 82, - -1, 82, -1, 82, 82, 82, -1, 82, -1, -1, - 82, 85, 85, 85, -1, 82, -1, -1, 20, 20, - -1, 20, 16, 16, 16, 16, -1, 20, 50, -1, - -1, 50, -1, 50, 20, 16, 50, 50, 50, -1, - 118, -1, -1, -1, -1, -1, 20, 20, 20, -1, - -1, 118, 24, 24, -1, 24, 24, -1, 16, 118, - 118, -1, -1, -1, 118, 118, 118, 118, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 16, 16, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 107, 107 + 42, 42, 23, 23, 23, 23, 15, 49, 82, 82, + 65, 131, 65, 82, 22, 82, 22, 82, 82, 82, + 14, 82, 174, 83, 82, 83, 66, 66, 45, 82, + 14, 14, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 84, 178, 14, 14, 174, 174, 14, 84, + 185, 14, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 14, 15, 15, 14, 14, 13, 15, + 13, 22, 83, 187, 108, 108, 15, 15, 15, 15, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 73, 73, 73, 73, 86, 86, 103, 86, 86, 86, + 73, 73, 62, 73, 14, 73, 73, 97, 97, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 25, 25, 25, 25, 104, 73, 14, 160, 64, 160, + 73, 73, 73, 73, 115, 160, 73, 73, 73, 9, + 9, 9, 9, 76, 76, 24, 24, 24, 24, 155, + 46, 19, 46, 19, 19, 56, 56, 73, 14, 119, + 119, 73, 19, 107, 107, 107, 107, 9, 107, 9, + 182, 182, 182, 76, 76, 76, 76, 76, 76, 76, + 76, 22, 76, 76, 5, 5, 19, 93, 93, 93, + 76, 19, 19, 19, 19, 176, 176, 19, 19, 19, + 113, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 5, 5, 5, 5, 5, 5, 177, 177, 145, + 145, 12, 14, 177, 177, 177, 177, 177, 177, 177, + 177, 177, 177, 179, 179, 59, 59, 59, 59, 179, + 179, 179, 179, 179, 179, 179, 179, 179, 179, 85, + 85, 85, 117, 23, 23, 121, 23, 23, 131, 20, + 131, 131, 162, 162, 12, 29, 12, 18, 162, 131, + 162, 162, 162, 162, 162, 162, 162, 162, 9, 9, + 9, 80, 50, 28, 9, 50, 9, 50, 9, 9, + 50, 50, 50, 92, 131, 131, 131, 131, 120, 120, + 39, 9, 9, 9, 9, 37, 188, 188, 118, 9, + 166, 7, 9, 9, 130, 7, 20, 20, 99, 20, + 118, 131, 35, 110, 188, 20, 31, 7, 118, 118, + 7, 41, 20, 118, 118, 118, 118, 9, 35, 175, + 175, 35, 188, 188, 20, 20, 20, 157, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 184, + 184, 23, 17, 131, 133, 17, 17, 131, 131, 131, + 2, 2, 107, 107, 96, 114, 148, 17, 16, 16, + 16, 16, -1, -1, -1, 17, -1, 17, 17, -1, + -1, 16, -1, 17, 89, 89, -1, -1, 89, 89, + 8, 8, 89, 89, 89, 17, 24, 24, -1, 24, + 24, 8, -1, -1, 16, -1, 8, 8, -1, 8, + 5, 5, 79, 79, -1, -1, -1, 79, 79, 79, + 79, -1, -1, -1, -1, -1, -1, 16, 16 ); protected array $gotoBase = array( - 0, 0, -234, 0, 0, 291, 199, 451, 232, 8, - 0, 0, 191, -25, -76, -183, 108, -48, 96, 88, - 109, 0, 36, 159, 328, 182, 10, 13, 94, 91, - 0, 0, 0, 0, 0, -162, 0, 78, 0, 101, - 0, 9, -1, 202, 0, 213, -322, 0, -708, 151, - 556, 0, 0, 0, 0, 0, -15, 0, 0, 197, - 0, 0, 276, 0, 90, 156, -70, 0, 0, 0, - 0, 0, 0, -5, 0, 0, -34, 0, 0, -119, - 112, -160, 40, -67, -246, 69, -364, 0, 0, 102, - 0, 0, 97, 98, 0, 0, 33, -483, 0, 42, - 0, 0, 0, 254, 282, 0, 0, 407, -54, 0, - 77, 0, 0, 86, -29, 79, 0, 84, 314, 104, - 111, 80, 0, 0, 0, 0, 0, 0, 7, 0, - 82, 163, 0, 23, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 30, 0, 0, 29, 0, - 0, 0, 0, 0, -27, 106, -263, 12, 0, 0, - -171, 0, 264, 0, 0, 0, 75, 0, 0, 0, - 0, 0, 0, 0, -46, 137, 128, 164, 220, 248, - 0, 0, 38, 0, 99, 234, 0, 242, -78, 0, + 0, 0, -178, 0, 0, 353, 7, 474, 562, 8, + 0, 0, 93, -113, -119, -184, 91, 63, 126, 56, + 34, 0, -103, 159, 312, 287, 5, 10, 112, 137, + 0, 54, 0, 0, 0, 119, 0, 132, 0, 145, + 0, 55, -1, 2, 0, 162, -422, 0, -711, 149, + 440, 0, 0, 0, 0, 0, 285, 0, 0, 360, + 0, 0, 230, 0, 60, 156, -51, 0, 0, 0, + 0, 0, 0, -5, 0, 0, -34, 0, 0, 181, + 120, -110, -329, -94, -274, -66, -460, 0, 0, 284, + 0, 0, 130, 51, 0, 0, 96, -463, 0, 78, + 0, 0, 0, 231, 251, 0, 0, 305, -3, 0, + 121, 0, 0, 92, 30, 29, 0, 138, 212, 49, + 182, 134, 0, 0, 0, 0, 0, 0, 1, 0, + 108, 163, 0, 87, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 116, 0, 0, 97, 0, + 0, 0, 0, 0, -27, 75, -263, 72, 0, 0, + -204, 0, 195, 0, 0, 0, 109, 0, 0, 0, + 0, 0, 0, 0, -117, 186, 128, 150, 174, 166, + 0, 0, 38, 0, 155, 180, 0, 202, 167, 0, 0 ); protected array $gotoDefault = array( - -32768, 516, 743, 4, 744, 938, 819, 828, 580, 534, - 710, 349, 629, 424, 1327, 914, 1142, 599, 847, 1269, - 1275, 459, 850, 333, 733, 926, 897, 898, 401, 388, - 863, 399, 653, 630, 497, 882, 455, 874, 489, 877, - 454, 886, 163, 420, 514, 890, 3, 893, 562, 924, - 977, 389, 901, 390, 681, 903, 583, 905, 906, 396, - 402, 403, 1147, 591, 626, 918, 255, 585, 919, 387, - 920, 928, 392, 394, 691, 469, 508, 502, 413, 1109, - 586, 613, 650, 448, 476, 624, 636, 623, 483, 436, - 418, 332, 961, 969, 490, 467, 983, 351, 991, 741, - 1155, 644, 492, 999, 645, 1006, 1009, 535, 536, 481, - 1021, 266, 1024, 493, 1033, 23, 671, 1038, 1039, 672, - 646, 1061, 647, 673, 648, 1063, 466, 581, 1071, 456, - 1079, 1315, 457, 1083, 264, 1086, 277, 419, 437, 1092, - 1093, 9, 1099, 701, 702, 19, 274, 513, 1127, 692, - -32768,-32768,-32768,-32768, 453, 1154, 452, 1224, 1226, 563, - 494, 1244, 294, 1247, 684, 509, 1252, 449, 1318, 450, - 537, 477, 316, 538, 1362, 308, 336, 313, 554, 295, - 337, 539, 478, 1324, 1332, 334, 31, 1352, 1363, 596, - 618 + -32768, 519, 746, 4, 747, 942, 822, 831, 583, 537, + 713, 350, 632, 426, 1331, 918, 1146, 602, 850, 1273, + 1279, 462, 853, 334, 736, 930, 901, 902, 402, 389, + 866, 400, 656, 633, 500, 886, 458, 878, 492, 881, + 457, 890, 163, 422, 517, 894, 3, 897, 565, 928, + 981, 390, 905, 391, 684, 907, 586, 909, 910, 397, + 403, 404, 1151, 594, 629, 922, 255, 588, 923, 388, + 924, 932, 393, 395, 694, 472, 511, 505, 415, 1113, + 589, 616, 653, 451, 479, 627, 639, 626, 486, 438, + 420, 333, 965, 973, 493, 470, 987, 352, 995, 744, + 1159, 647, 495, 1003, 648, 1010, 1013, 538, 539, 484, + 1025, 266, 1028, 496, 1037, 23, 674, 1042, 1043, 675, + 649, 1065, 650, 676, 651, 1067, 469, 584, 1075, 459, + 1083, 1319, 460, 1087, 264, 1090, 278, 421, 439, 1096, + 1097, 9, 1103, 704, 705, 19, 274, 516, 1131, 695, + -32768,-32768,-32768,-32768, 456, 1158, 455, 1228, 1230, 566, + 497, 1248, 295, 1251, 687, 512, 1256, 452, 1322, 453, + 540, 480, 317, 541, 1366, 309, 337, 314, 557, 296, + 338, 542, 481, 1328, 1336, 335, 31, 1356, 1367, 599, + 621 ); protected array $ruleToNonTerminal = array( @@ -1051,35 +1046,35 @@ class Php7 extends \PhpParser\ParserAbstract 11, 11, 12, 12, 13, 13, 14, 15, 15, 16, 16, 17, 17, 18, 18, 21, 21, 22, 23, 23, 24, 24, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 29, 29, 30, 30, 32, 34, 34, - 28, 36, 36, 33, 38, 38, 35, 35, 37, 37, - 39, 39, 31, 40, 40, 41, 43, 44, 44, 45, - 45, 46, 46, 48, 47, 47, 47, 47, 49, 49, + 4, 4, 4, 4, 29, 29, 30, 30, 32, 34, + 34, 28, 36, 36, 33, 38, 38, 35, 35, 37, + 37, 39, 39, 31, 40, 40, 41, 43, 44, 44, + 45, 45, 46, 46, 48, 47, 47, 47, 47, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - 49, 49, 25, 25, 50, 69, 69, 72, 72, 71, - 70, 70, 63, 75, 75, 76, 76, 77, 77, 78, - 78, 79, 79, 80, 80, 80, 26, 26, 27, 27, - 27, 27, 27, 88, 88, 90, 90, 83, 83, 91, - 91, 92, 92, 92, 84, 84, 87, 87, 85, 85, - 93, 94, 94, 57, 57, 65, 65, 68, 68, 68, - 67, 95, 95, 96, 58, 58, 58, 58, 97, 97, - 98, 98, 99, 99, 100, 101, 101, 102, 102, 103, - 103, 55, 55, 51, 51, 105, 53, 53, 106, 52, - 52, 54, 54, 64, 64, 64, 64, 81, 81, 109, - 109, 111, 111, 112, 112, 112, 112, 112, 112, 112, - 110, 110, 110, 115, 115, 115, 115, 89, 89, 118, - 118, 118, 119, 119, 116, 116, 120, 120, 122, 122, - 123, 123, 117, 124, 124, 121, 125, 125, 125, 125, - 113, 113, 82, 82, 82, 20, 20, 20, 127, 126, - 126, 128, 128, 128, 128, 60, 129, 129, 130, 61, - 132, 132, 133, 133, 134, 134, 86, 135, 135, 135, - 135, 135, 135, 135, 140, 140, 141, 141, 142, 142, - 142, 142, 142, 143, 144, 144, 139, 139, 136, 136, - 138, 138, 146, 146, 145, 145, 145, 145, 145, 145, - 145, 145, 145, 145, 137, 147, 147, 149, 148, 148, - 150, 150, 114, 151, 151, 153, 153, 153, 152, 152, - 62, 104, 154, 154, 56, 56, 42, 42, 42, 42, + 49, 49, 49, 25, 25, 50, 69, 69, 72, 72, + 71, 70, 70, 63, 75, 75, 76, 76, 77, 77, + 78, 78, 79, 79, 80, 80, 80, 26, 26, 27, + 27, 27, 27, 27, 88, 88, 90, 90, 83, 83, + 91, 91, 92, 92, 92, 84, 84, 87, 87, 85, + 85, 93, 94, 94, 57, 57, 65, 65, 68, 68, + 68, 67, 95, 95, 96, 58, 58, 58, 58, 97, + 97, 98, 98, 99, 99, 100, 101, 101, 102, 102, + 103, 103, 55, 55, 51, 51, 105, 53, 53, 106, + 52, 52, 54, 54, 64, 64, 64, 64, 81, 81, + 109, 109, 111, 111, 112, 112, 112, 112, 112, 112, + 112, 110, 110, 110, 115, 115, 115, 115, 89, 89, + 118, 118, 118, 119, 119, 116, 116, 120, 120, 122, + 122, 123, 123, 117, 124, 124, 121, 125, 125, 125, + 125, 113, 113, 82, 82, 82, 20, 20, 20, 127, + 126, 126, 128, 128, 128, 128, 60, 129, 129, 130, + 61, 132, 132, 133, 133, 134, 134, 86, 135, 135, + 135, 135, 135, 135, 135, 140, 140, 141, 141, 142, + 142, 142, 142, 142, 143, 144, 144, 139, 139, 136, + 136, 138, 138, 146, 146, 145, 145, 145, 145, 145, + 145, 145, 145, 145, 145, 137, 147, 147, 149, 148, + 148, 150, 150, 114, 151, 151, 153, 153, 153, 152, + 152, 62, 104, 154, 154, 56, 56, 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, @@ -1089,20 +1084,20 @@ class Php7 extends \PhpParser\ParserAbstract 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 161, 162, 162, 163, 155, 155, 160, 160, 164, 165, - 165, 166, 167, 168, 168, 168, 168, 19, 19, 73, - 73, 73, 73, 156, 156, 156, 156, 170, 170, 159, - 159, 159, 157, 157, 176, 176, 176, 176, 176, 176, - 176, 176, 176, 176, 177, 177, 177, 108, 179, 179, - 179, 179, 158, 158, 158, 158, 158, 158, 158, 158, - 59, 59, 173, 173, 173, 173, 173, 180, 180, 169, - 169, 169, 169, 181, 181, 181, 181, 181, 181, 74, - 74, 66, 66, 66, 66, 131, 131, 131, 131, 184, - 183, 172, 172, 172, 172, 172, 172, 172, 171, 171, - 171, 182, 182, 182, 182, 107, 178, 186, 186, 185, - 185, 187, 187, 187, 187, 187, 187, 187, 187, 175, - 175, 175, 175, 174, 189, 188, 188, 188, 188, 188, - 188, 188, 188, 190, 190, 190, 190 + 42, 161, 162, 162, 163, 155, 155, 160, 160, 164, + 165, 165, 166, 167, 168, 168, 168, 168, 19, 19, + 73, 73, 73, 73, 156, 156, 156, 156, 170, 170, + 159, 159, 159, 157, 157, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 177, 177, 177, 108, 179, + 179, 179, 179, 158, 158, 158, 158, 158, 158, 158, + 158, 59, 59, 173, 173, 173, 173, 173, 180, 180, + 169, 169, 169, 169, 181, 181, 181, 181, 181, 181, + 74, 74, 66, 66, 66, 66, 131, 131, 131, 131, + 184, 183, 172, 172, 172, 172, 172, 172, 172, 171, + 171, 171, 182, 182, 182, 182, 107, 178, 186, 186, + 185, 185, 187, 187, 187, 187, 187, 187, 187, 187, + 175, 175, 175, 175, 174, 189, 188, 188, 188, 188, + 188, 188, 188, 188, 190, 190, 190, 190 ); protected array $ruleToLength = array( @@ -1118,58 +1113,58 @@ class Php7 extends \PhpParser\ParserAbstract 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 2, 1, 3, 4, 1, 2, 0, 1, 1, 1, 1, 4, 3, 5, 4, 3, - 4, 1, 3, 1, 1, 8, 7, 2, 3, 1, - 2, 3, 1, 2, 3, 1, 1, 3, 1, 3, - 1, 2, 2, 3, 1, 3, 2, 3, 1, 3, - 3, 2, 0, 1, 1, 1, 1, 1, 3, 7, - 10, 5, 7, 9, 5, 3, 3, 3, 3, 3, - 3, 1, 2, 5, 7, 9, 6, 5, 6, 3, - 2, 1, 1, 1, 1, 0, 2, 1, 3, 8, - 0, 4, 2, 1, 3, 0, 1, 0, 1, 0, - 1, 3, 1, 1, 1, 1, 8, 9, 7, 8, - 7, 6, 8, 0, 2, 0, 2, 1, 2, 1, - 2, 1, 1, 1, 0, 2, 0, 2, 0, 2, - 2, 1, 3, 1, 4, 1, 4, 1, 1, 4, - 2, 1, 3, 3, 3, 4, 4, 5, 0, 2, - 4, 3, 1, 1, 7, 0, 2, 1, 3, 3, - 4, 1, 4, 0, 2, 5, 0, 2, 6, 0, - 2, 0, 3, 1, 2, 1, 1, 2, 0, 1, - 3, 0, 2, 1, 1, 1, 1, 1, 1, 1, - 7, 9, 6, 1, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 3, 3, 1, 3, 3, 3, - 3, 3, 1, 3, 3, 1, 1, 2, 1, 1, - 0, 1, 0, 2, 2, 2, 4, 3, 1, 1, - 3, 1, 2, 2, 3, 2, 3, 1, 1, 2, - 3, 1, 1, 3, 2, 0, 1, 5, 5, 6, - 10, 3, 5, 1, 1, 3, 0, 2, 4, 5, - 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, - 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 1, 3, 1, 1, 3, - 0, 2, 0, 5, 8, 1, 3, 3, 0, 2, - 2, 2, 3, 1, 0, 1, 1, 3, 3, 3, - 4, 4, 1, 1, 2, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, - 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 4, 1, 3, 4, 1, 1, 8, 7, 2, 3, + 1, 2, 3, 1, 2, 3, 1, 1, 3, 1, + 3, 1, 2, 2, 3, 1, 3, 2, 3, 1, + 3, 3, 2, 0, 1, 1, 1, 1, 1, 3, + 7, 10, 5, 7, 9, 5, 3, 3, 3, 3, + 3, 3, 1, 2, 5, 7, 9, 6, 5, 6, + 3, 2, 1, 1, 1, 1, 0, 2, 1, 3, + 8, 0, 4, 2, 1, 3, 0, 1, 0, 1, + 0, 1, 3, 1, 1, 1, 1, 8, 9, 7, + 8, 7, 6, 8, 0, 2, 0, 2, 1, 2, + 1, 2, 1, 1, 1, 0, 2, 0, 2, 0, + 2, 2, 1, 3, 1, 4, 1, 4, 1, 1, + 4, 2, 1, 3, 3, 3, 4, 4, 5, 0, + 2, 4, 3, 1, 1, 7, 0, 2, 1, 3, + 3, 4, 1, 4, 0, 2, 5, 0, 2, 6, + 0, 2, 0, 3, 1, 2, 1, 1, 2, 0, + 1, 3, 0, 2, 1, 1, 1, 1, 1, 1, + 1, 7, 9, 6, 1, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 3, 3, 1, 3, 3, + 3, 3, 3, 1, 3, 3, 1, 1, 2, 1, + 1, 0, 1, 0, 2, 2, 2, 4, 3, 1, + 1, 3, 1, 2, 2, 3, 2, 3, 1, 1, + 2, 3, 1, 1, 3, 2, 0, 1, 5, 5, + 6, 10, 3, 5, 1, 1, 3, 0, 2, 4, + 5, 4, 4, 4, 3, 1, 1, 1, 1, 1, + 1, 0, 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 1, 3, 1, 1, + 3, 0, 2, 0, 5, 8, 1, 3, 3, 0, + 2, 2, 2, 3, 1, 0, 1, 1, 3, 3, + 3, 4, 4, 1, 1, 2, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, + 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 5, 4, 3, 4, 4, - 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 1, 3, 2, 1, 2, 4, - 2, 2, 8, 9, 8, 9, 9, 10, 9, 10, - 8, 3, 2, 2, 1, 1, 0, 4, 2, 1, - 3, 2, 1, 2, 2, 2, 4, 1, 1, 1, - 1, 1, 1, 1, 1, 3, 1, 1, 1, 0, - 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 5, 3, 3, 4, 1, - 1, 3, 1, 1, 1, 1, 1, 3, 2, 3, - 0, 1, 1, 3, 1, 1, 1, 1, 1, 1, - 3, 1, 1, 1, 4, 4, 1, 4, 4, 0, - 1, 1, 1, 3, 3, 1, 4, 2, 2, 1, - 3, 1, 4, 4, 3, 3, 3, 3, 1, 3, - 1, 1, 3, 1, 1, 4, 1, 1, 1, 3, - 1, 1, 2, 1, 3, 4, 3, 2, 0, 2, - 2, 1, 2, 1, 1, 1, 4, 3, 3, 3, - 3, 6, 3, 1, 1, 2, 1 + 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 5, 4, 3, 4, + 4, 2, 2, 4, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 1, 3, 2, 1, 2, + 4, 2, 2, 8, 9, 8, 9, 9, 10, 9, + 10, 8, 3, 2, 2, 1, 1, 0, 4, 2, + 1, 3, 2, 1, 2, 2, 2, 4, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, + 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 5, 3, 3, 4, + 1, 1, 3, 1, 1, 1, 1, 1, 3, 2, + 3, 0, 1, 1, 3, 1, 1, 1, 1, 1, + 1, 3, 1, 1, 1, 4, 4, 1, 4, 4, + 0, 1, 1, 1, 3, 3, 1, 4, 2, 2, + 1, 3, 1, 4, 4, 3, 3, 3, 3, 1, + 3, 1, 1, 3, 1, 1, 4, 1, 1, 1, + 3, 1, 1, 2, 1, 3, 4, 3, 2, 0, + 2, 2, 1, 2, 1, 1, 1, 4, 3, 3, + 3, 3, 6, 3, 1, 1, 2, 1 ); protected function initReduceCallbacks(): void { @@ -1372,1109 +1367,1110 @@ protected function initReduceCallbacks(): void { }, 121 => null, 122 => static function ($self, $stackPos) { - $self->semValue = new Stmt\Const_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\Const_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), []); }, 123 => static function ($self, $stackPos) { - $self->semValue = Stmt\Use_::TYPE_FUNCTION; + $self->semValue = new Stmt\Const_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(4-1)]); + $self->checkConstantAttributes($self->semValue); }, 124 => static function ($self, $stackPos) { - $self->semValue = Stmt\Use_::TYPE_CONSTANT; + $self->semValue = Stmt\Use_::TYPE_FUNCTION; }, 125 => static function ($self, $stackPos) { - $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(8-3)], $self->semStack[$stackPos-(8-6)], $self->semStack[$stackPos-(8-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = Stmt\Use_::TYPE_CONSTANT; }, 126 => static function ($self, $stackPos) { + $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(8-3)], $self->semStack[$stackPos-(8-6)], $self->semStack[$stackPos-(8-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); + }, + 127 => static function ($self, $stackPos) { $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(7-2)], $self->semStack[$stackPos-(7-5)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 127 => null, - 128 => static function ($self, $stackPos) { + 128 => null, + 129 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 129 => static function ($self, $stackPos) { + 130 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 130 => null, - 131 => static function ($self, $stackPos) { + 131 => null, + 132 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 132 => static function ($self, $stackPos) { + 133 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 133 => null, - 134 => static function ($self, $stackPos) { + 134 => null, + 135 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 135 => static function ($self, $stackPos) { + 136 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 136 => static function ($self, $stackPos) { + 137 => static function ($self, $stackPos) { $self->semValue = new Node\UseItem($self->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->checkUseUse($self->semValue, $stackPos-(1-1)); }, - 137 => static function ($self, $stackPos) { + 138 => static function ($self, $stackPos) { $self->semValue = new Node\UseItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->checkUseUse($self->semValue, $stackPos-(3-3)); }, - 138 => static function ($self, $stackPos) { + 139 => static function ($self, $stackPos) { $self->semValue = new Node\UseItem($self->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->checkUseUse($self->semValue, $stackPos-(1-1)); }, - 139 => static function ($self, $stackPos) { + 140 => static function ($self, $stackPos) { $self->semValue = new Node\UseItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->checkUseUse($self->semValue, $stackPos-(3-3)); }, - 140 => static function ($self, $stackPos) { + 141 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(1-1)]; $self->semValue->type = Stmt\Use_::TYPE_NORMAL; }, - 141 => static function ($self, $stackPos) { + 142 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(2-2)]; $self->semValue->type = $self->semStack[$stackPos-(2-1)]; }, - 142 => null, - 143 => static function ($self, $stackPos) { + 143 => null, + 144 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 144 => static function ($self, $stackPos) { + 145 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 145 => static function ($self, $stackPos) { + 146 => static function ($self, $stackPos) { $self->semValue = new Node\Const_($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 146 => null, - 147 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; - }, + 147 => null, 148 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, 149 => static function ($self, $stackPos) { - $self->semValue = new Node\Const_(new Node\Identifier($self->semStack[$stackPos-(3-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos-(3-1)])), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, 150 => static function ($self, $stackPos) { $self->semValue = new Node\Const_(new Node\Identifier($self->semStack[$stackPos-(3-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos-(3-1)])), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 151 => static function ($self, $stackPos) { - if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; } $self->semValue = $self->semStack[$stackPos-(2-1)];; + $self->semValue = new Node\Const_(new Node\Identifier($self->semStack[$stackPos-(3-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos-(3-1)])), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 152 => static function ($self, $stackPos) { - $self->semValue = array(); + if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; } $self->semValue = $self->semStack[$stackPos-(2-1)];; }, 153 => static function ($self, $stackPos) { + $self->semValue = array(); + }, + 154 => static function ($self, $stackPos) { $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);; if ($nop !== null) { $self->semStack[$stackPos-(1-1)][] = $nop; } $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 154 => null, 155 => null, 156 => null, - 157 => static function ($self, $stackPos) { + 157 => null, + 158 => static function ($self, $stackPos) { throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 158 => static function ($self, $stackPos) { + 159 => static function ($self, $stackPos) { $self->semValue = new Stmt\Block($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 159 => static function ($self, $stackPos) { + 160 => static function ($self, $stackPos) { $self->semValue = new Stmt\If_($self->semStack[$stackPos-(7-3)], ['stmts' => $self->semStack[$stackPos-(7-5)], 'elseifs' => $self->semStack[$stackPos-(7-6)], 'else' => $self->semStack[$stackPos-(7-7)]], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 160 => static function ($self, $stackPos) { + 161 => static function ($self, $stackPos) { $self->semValue = new Stmt\If_($self->semStack[$stackPos-(10-3)], ['stmts' => $self->semStack[$stackPos-(10-6)], 'elseifs' => $self->semStack[$stackPos-(10-7)], 'else' => $self->semStack[$stackPos-(10-8)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 161 => static function ($self, $stackPos) { + 162 => static function ($self, $stackPos) { $self->semValue = new Stmt\While_($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 162 => static function ($self, $stackPos) { + 163 => static function ($self, $stackPos) { $self->semValue = new Stmt\Do_($self->semStack[$stackPos-(7-5)], $self->semStack[$stackPos-(7-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 163 => static function ($self, $stackPos) { + 164 => static function ($self, $stackPos) { $self->semValue = new Stmt\For_(['init' => $self->semStack[$stackPos-(9-3)], 'cond' => $self->semStack[$stackPos-(9-5)], 'loop' => $self->semStack[$stackPos-(9-7)], 'stmts' => $self->semStack[$stackPos-(9-9)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 164 => static function ($self, $stackPos) { + 165 => static function ($self, $stackPos) { $self->semValue = new Stmt\Switch_($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 165 => static function ($self, $stackPos) { + 166 => static function ($self, $stackPos) { $self->semValue = new Stmt\Break_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 166 => static function ($self, $stackPos) { + 167 => static function ($self, $stackPos) { $self->semValue = new Stmt\Continue_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 167 => static function ($self, $stackPos) { + 168 => static function ($self, $stackPos) { $self->semValue = new Stmt\Return_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 168 => static function ($self, $stackPos) { + 169 => static function ($self, $stackPos) { $self->semValue = new Stmt\Global_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 169 => static function ($self, $stackPos) { + 170 => static function ($self, $stackPos) { $self->semValue = new Stmt\Static_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 170 => static function ($self, $stackPos) { + 171 => static function ($self, $stackPos) { $self->semValue = new Stmt\Echo_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 171 => static function ($self, $stackPos) { + 172 => static function ($self, $stackPos) { $self->semValue = new Stmt\InlineHTML($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->semValue->setAttribute('hasLeadingNewline', $self->inlineHtmlHasLeadingNewline($stackPos-(1-1))); }, - 172 => static function ($self, $stackPos) { + 173 => static function ($self, $stackPos) { $self->semValue = new Stmt\Expression($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 173 => static function ($self, $stackPos) { + 174 => static function ($self, $stackPos) { $self->semValue = new Stmt\Unset_($self->semStack[$stackPos-(5-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 174 => static function ($self, $stackPos) { + 175 => static function ($self, $stackPos) { $self->semValue = new Stmt\Foreach_($self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $self->semStack[$stackPos-(7-5)][1], 'stmts' => $self->semStack[$stackPos-(7-7)]], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 175 => static function ($self, $stackPos) { + 176 => static function ($self, $stackPos) { $self->semValue = new Stmt\Foreach_($self->semStack[$stackPos-(9-3)], $self->semStack[$stackPos-(9-7)][0], ['keyVar' => $self->semStack[$stackPos-(9-5)], 'byRef' => $self->semStack[$stackPos-(9-7)][1], 'stmts' => $self->semStack[$stackPos-(9-9)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 176 => static function ($self, $stackPos) { + 177 => static function ($self, $stackPos) { $self->semValue = new Stmt\Foreach_($self->semStack[$stackPos-(6-3)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(6-4)], $self->tokenEndStack[$stackPos-(6-4)])), ['stmts' => $self->semStack[$stackPos-(6-6)]], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); }, - 177 => static function ($self, $stackPos) { + 178 => static function ($self, $stackPos) { $self->semValue = new Stmt\Declare_($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 178 => static function ($self, $stackPos) { + 179 => static function ($self, $stackPos) { $self->semValue = new Stmt\TryCatch($self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-5)], $self->semStack[$stackPos-(6-6)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); $self->checkTryCatch($self->semValue); }, - 179 => static function ($self, $stackPos) { + 180 => static function ($self, $stackPos) { $self->semValue = new Stmt\Goto_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 180 => static function ($self, $stackPos) { + 181 => static function ($self, $stackPos) { $self->semValue = new Stmt\Label($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 181 => static function ($self, $stackPos) { + 182 => static function ($self, $stackPos) { $self->semValue = null; /* means: no statement */ }, - 182 => null, - 183 => static function ($self, $stackPos) { + 183 => null, + 184 => static function ($self, $stackPos) { $self->semValue = $self->maybeCreateNop($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]); }, - 184 => static function ($self, $stackPos) { + 185 => static function ($self, $stackPos) { if ($self->semStack[$stackPos-(1-1)] instanceof Stmt\Block) { $self->semValue = $self->semStack[$stackPos-(1-1)]->stmts; } else if ($self->semStack[$stackPos-(1-1)] === null) { $self->semValue = []; } else { $self->semValue = [$self->semStack[$stackPos-(1-1)]]; }; }, - 185 => static function ($self, $stackPos) { + 186 => static function ($self, $stackPos) { $self->semValue = array(); }, - 186 => static function ($self, $stackPos) { + 187 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 187 => static function ($self, $stackPos) { + 188 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 188 => static function ($self, $stackPos) { + 189 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 189 => static function ($self, $stackPos) { + 190 => static function ($self, $stackPos) { $self->semValue = new Stmt\Catch_($self->semStack[$stackPos-(8-3)], $self->semStack[$stackPos-(8-4)], $self->semStack[$stackPos-(8-7)], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 190 => static function ($self, $stackPos) { + 191 => static function ($self, $stackPos) { $self->semValue = null; }, - 191 => static function ($self, $stackPos) { + 192 => static function ($self, $stackPos) { $self->semValue = new Stmt\Finally_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 192 => null, - 193 => static function ($self, $stackPos) { + 193 => null, + 194 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 194 => static function ($self, $stackPos) { + 195 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 195 => static function ($self, $stackPos) { + 196 => static function ($self, $stackPos) { $self->semValue = false; }, - 196 => static function ($self, $stackPos) { + 197 => static function ($self, $stackPos) { $self->semValue = true; }, - 197 => static function ($self, $stackPos) { + 198 => static function ($self, $stackPos) { $self->semValue = false; }, - 198 => static function ($self, $stackPos) { + 199 => static function ($self, $stackPos) { $self->semValue = true; }, - 199 => static function ($self, $stackPos) { + 200 => static function ($self, $stackPos) { $self->semValue = false; }, - 200 => static function ($self, $stackPos) { + 201 => static function ($self, $stackPos) { $self->semValue = true; }, - 201 => static function ($self, $stackPos) { + 202 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 202 => static function ($self, $stackPos) { + 203 => static function ($self, $stackPos) { $self->semValue = []; }, - 203 => null, - 204 => static function ($self, $stackPos) { - $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, + 204 => null, 205 => static function ($self, $stackPos) { $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 206 => static function ($self, $stackPos) { - $self->semValue = new Stmt\Function_($self->semStack[$stackPos-(8-3)], ['byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-5)], 'returnType' => $self->semStack[$stackPos-(8-7)], 'stmts' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 207 => static function ($self, $stackPos) { - $self->semValue = new Stmt\Function_($self->semStack[$stackPos-(9-4)], ['byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-6)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\Function_($self->semStack[$stackPos-(8-3)], ['byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-5)], 'returnType' => $self->semStack[$stackPos-(8-7)], 'stmts' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, 208 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Function_($self->semStack[$stackPos-(9-4)], ['byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-6)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); + }, + 209 => static function ($self, $stackPos) { $self->semValue = new Stmt\Class_($self->semStack[$stackPos-(7-2)], ['type' => $self->semStack[$stackPos-(7-1)], 'extends' => $self->semStack[$stackPos-(7-3)], 'implements' => $self->semStack[$stackPos-(7-4)], 'stmts' => $self->semStack[$stackPos-(7-6)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); $self->checkClass($self->semValue, $stackPos-(7-2)); }, - 209 => static function ($self, $stackPos) { + 210 => static function ($self, $stackPos) { $self->semValue = new Stmt\Class_($self->semStack[$stackPos-(8-3)], ['type' => $self->semStack[$stackPos-(8-2)], 'extends' => $self->semStack[$stackPos-(8-4)], 'implements' => $self->semStack[$stackPos-(8-5)], 'stmts' => $self->semStack[$stackPos-(8-7)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); $self->checkClass($self->semValue, $stackPos-(8-3)); }, - 210 => static function ($self, $stackPos) { + 211 => static function ($self, $stackPos) { $self->semValue = new Stmt\Interface_($self->semStack[$stackPos-(7-3)], ['extends' => $self->semStack[$stackPos-(7-4)], 'stmts' => $self->semStack[$stackPos-(7-6)], 'attrGroups' => $self->semStack[$stackPos-(7-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); $self->checkInterface($self->semValue, $stackPos-(7-3)); }, - 211 => static function ($self, $stackPos) { + 212 => static function ($self, $stackPos) { $self->semValue = new Stmt\Trait_($self->semStack[$stackPos-(6-3)], ['stmts' => $self->semStack[$stackPos-(6-5)], 'attrGroups' => $self->semStack[$stackPos-(6-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); }, - 212 => static function ($self, $stackPos) { + 213 => static function ($self, $stackPos) { $self->semValue = new Stmt\Enum_($self->semStack[$stackPos-(8-3)], ['scalarType' => $self->semStack[$stackPos-(8-4)], 'implements' => $self->semStack[$stackPos-(8-5)], 'stmts' => $self->semStack[$stackPos-(8-7)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); $self->checkEnum($self->semValue, $stackPos-(8-3)); }, - 213 => static function ($self, $stackPos) { + 214 => static function ($self, $stackPos) { $self->semValue = null; }, - 214 => static function ($self, $stackPos) { + 215 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 215 => static function ($self, $stackPos) { + 216 => static function ($self, $stackPos) { $self->semValue = null; }, - 216 => static function ($self, $stackPos) { + 217 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 217 => static function ($self, $stackPos) { + 218 => static function ($self, $stackPos) { $self->semValue = 0; }, - 218 => null, 219 => null, - 220 => static function ($self, $stackPos) { + 220 => null, + 221 => static function ($self, $stackPos) { $self->checkClassModifier($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 221 => static function ($self, $stackPos) { + 222 => static function ($self, $stackPos) { $self->semValue = Modifiers::ABSTRACT; }, - 222 => static function ($self, $stackPos) { + 223 => static function ($self, $stackPos) { $self->semValue = Modifiers::FINAL; }, - 223 => static function ($self, $stackPos) { + 224 => static function ($self, $stackPos) { $self->semValue = Modifiers::READONLY; }, - 224 => static function ($self, $stackPos) { + 225 => static function ($self, $stackPos) { $self->semValue = null; }, - 225 => static function ($self, $stackPos) { + 226 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 226 => static function ($self, $stackPos) { + 227 => static function ($self, $stackPos) { $self->semValue = array(); }, - 227 => static function ($self, $stackPos) { + 228 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 228 => static function ($self, $stackPos) { + 229 => static function ($self, $stackPos) { $self->semValue = array(); }, - 229 => static function ($self, $stackPos) { + 230 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 230 => null, - 231 => static function ($self, $stackPos) { + 231 => null, + 232 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 232 => static function ($self, $stackPos) { + 233 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 233 => null, - 234 => static function ($self, $stackPos) { + 234 => null, + 235 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 235 => null, - 236 => static function ($self, $stackPos) { + 236 => null, + 237 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 237 => static function ($self, $stackPos) { + 238 => static function ($self, $stackPos) { if ($self->semStack[$stackPos-(1-1)] instanceof Stmt\Block) { $self->semValue = $self->semStack[$stackPos-(1-1)]->stmts; } else if ($self->semStack[$stackPos-(1-1)] === null) { $self->semValue = []; } else { $self->semValue = [$self->semStack[$stackPos-(1-1)]]; }; }, - 238 => static function ($self, $stackPos) { + 239 => static function ($self, $stackPos) { $self->semValue = null; }, - 239 => static function ($self, $stackPos) { + 240 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 240 => null, - 241 => static function ($self, $stackPos) { + 241 => null, + 242 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 242 => static function ($self, $stackPos) { + 243 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 243 => static function ($self, $stackPos) { + 244 => static function ($self, $stackPos) { $self->semValue = new Node\DeclareItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 244 => static function ($self, $stackPos) { + 245 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 245 => static function ($self, $stackPos) { + 246 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-3)]; }, - 246 => static function ($self, $stackPos) { + 247 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 247 => static function ($self, $stackPos) { + 248 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(5-3)]; }, - 248 => static function ($self, $stackPos) { + 249 => static function ($self, $stackPos) { $self->semValue = array(); }, - 249 => static function ($self, $stackPos) { + 250 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 250 => static function ($self, $stackPos) { + 251 => static function ($self, $stackPos) { $self->semValue = new Stmt\Case_($self->semStack[$stackPos-(4-2)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 251 => static function ($self, $stackPos) { + 252 => static function ($self, $stackPos) { $self->semValue = new Stmt\Case_(null, $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 252 => null, 253 => null, - 254 => static function ($self, $stackPos) { + 254 => null, + 255 => static function ($self, $stackPos) { $self->semValue = new Expr\Match_($self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-6)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 255 => static function ($self, $stackPos) { + 256 => static function ($self, $stackPos) { $self->semValue = []; }, - 256 => null, - 257 => static function ($self, $stackPos) { + 257 => null, + 258 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 258 => static function ($self, $stackPos) { + 259 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 259 => static function ($self, $stackPos) { + 260 => static function ($self, $stackPos) { $self->semValue = new Node\MatchArm($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 260 => static function ($self, $stackPos) { + 261 => static function ($self, $stackPos) { $self->semValue = new Node\MatchArm(null, $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 261 => static function ($self, $stackPos) { + 262 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 262 => static function ($self, $stackPos) { + 263 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 263 => static function ($self, $stackPos) { + 264 => static function ($self, $stackPos) { $self->semValue = array(); }, - 264 => static function ($self, $stackPos) { + 265 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 265 => static function ($self, $stackPos) { + 266 => static function ($self, $stackPos) { $self->semValue = new Stmt\ElseIf_($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 266 => static function ($self, $stackPos) { + 267 => static function ($self, $stackPos) { $self->semValue = array(); }, - 267 => static function ($self, $stackPos) { + 268 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 268 => static function ($self, $stackPos) { + 269 => static function ($self, $stackPos) { $self->semValue = new Stmt\ElseIf_($self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-6)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); $self->fixupAlternativeElse($self->semValue); }, - 269 => static function ($self, $stackPos) { + 270 => static function ($self, $stackPos) { $self->semValue = null; }, - 270 => static function ($self, $stackPos) { + 271 => static function ($self, $stackPos) { $self->semValue = new Stmt\Else_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 271 => static function ($self, $stackPos) { + 272 => static function ($self, $stackPos) { $self->semValue = null; }, - 272 => static function ($self, $stackPos) { + 273 => static function ($self, $stackPos) { $self->semValue = new Stmt\Else_($self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->fixupAlternativeElse($self->semValue); }, - 273 => static function ($self, $stackPos) { + 274 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)], false); }, - 274 => static function ($self, $stackPos) { + 275 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(2-2)], true); }, - 275 => static function ($self, $stackPos) { + 276 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)], false); }, - 276 => static function ($self, $stackPos) { + 277 => static function ($self, $stackPos) { $self->semValue = array($self->fixupArrayDestructuring($self->semStack[$stackPos-(1-1)]), false); }, - 277 => null, - 278 => static function ($self, $stackPos) { + 278 => null, + 279 => static function ($self, $stackPos) { $self->semValue = array(); }, - 279 => static function ($self, $stackPos) { + 280 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 280 => static function ($self, $stackPos) { + 281 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 281 => static function ($self, $stackPos) { + 282 => static function ($self, $stackPos) { $self->semValue = 0; }, - 282 => static function ($self, $stackPos) { + 283 => static function ($self, $stackPos) { $self->checkModifier($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 283 => static function ($self, $stackPos) { + 284 => static function ($self, $stackPos) { $self->semValue = Modifiers::PUBLIC; }, - 284 => static function ($self, $stackPos) { + 285 => static function ($self, $stackPos) { $self->semValue = Modifiers::PROTECTED; }, - 285 => static function ($self, $stackPos) { + 286 => static function ($self, $stackPos) { $self->semValue = Modifiers::PRIVATE; }, - 286 => static function ($self, $stackPos) { + 287 => static function ($self, $stackPos) { $self->semValue = Modifiers::PUBLIC_SET; }, - 287 => static function ($self, $stackPos) { + 288 => static function ($self, $stackPos) { $self->semValue = Modifiers::PROTECTED_SET; }, - 288 => static function ($self, $stackPos) { + 289 => static function ($self, $stackPos) { $self->semValue = Modifiers::PRIVATE_SET; }, - 289 => static function ($self, $stackPos) { + 290 => static function ($self, $stackPos) { $self->semValue = Modifiers::READONLY; }, - 290 => static function ($self, $stackPos) { + 291 => static function ($self, $stackPos) { $self->semValue = new Node\Param($self->semStack[$stackPos-(7-6)], null, $self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-4)], $self->semStack[$stackPos-(7-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(7-2)], $self->semStack[$stackPos-(7-1)], $self->semStack[$stackPos-(7-7)]); $self->checkParam($self->semValue); $self->addPropertyNameToHooks($self->semValue); }, - 291 => static function ($self, $stackPos) { + 292 => static function ($self, $stackPos) { $self->semValue = new Node\Param($self->semStack[$stackPos-(9-6)], $self->semStack[$stackPos-(9-8)], $self->semStack[$stackPos-(9-3)], $self->semStack[$stackPos-(9-4)], $self->semStack[$stackPos-(9-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(9-2)], $self->semStack[$stackPos-(9-1)], $self->semStack[$stackPos-(9-9)]); $self->checkParam($self->semValue); $self->addPropertyNameToHooks($self->semValue); }, - 292 => static function ($self, $stackPos) { + 293 => static function ($self, $stackPos) { $self->semValue = new Node\Param(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])), null, $self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-4)], $self->semStack[$stackPos-(6-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-1)]); }, - 293 => null, - 294 => static function ($self, $stackPos) { + 294 => null, + 295 => static function ($self, $stackPos) { $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 295 => static function ($self, $stackPos) { + 296 => static function ($self, $stackPos) { $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 296 => null, 297 => null, - 298 => static function ($self, $stackPos) { + 298 => null, + 299 => static function ($self, $stackPos) { $self->semValue = new Node\Name('static', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 299 => static function ($self, $stackPos) { + 300 => static function ($self, $stackPos) { $self->semValue = $self->handleBuiltinTypes($self->semStack[$stackPos-(1-1)]); }, - 300 => static function ($self, $stackPos) { + 301 => static function ($self, $stackPos) { $self->semValue = new Node\Identifier('array', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 301 => static function ($self, $stackPos) { + 302 => static function ($self, $stackPos) { $self->semValue = new Node\Identifier('callable', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 302 => null, - 303 => static function ($self, $stackPos) { + 303 => null, + 304 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 304 => static function ($self, $stackPos) { + 305 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 305 => static function ($self, $stackPos) { + 306 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 306 => null, - 307 => static function ($self, $stackPos) { + 307 => null, + 308 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 308 => static function ($self, $stackPos) { + 309 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 309 => static function ($self, $stackPos) { + 310 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 310 => static function ($self, $stackPos) { + 311 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 311 => static function ($self, $stackPos) { + 312 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 312 => static function ($self, $stackPos) { + 313 => static function ($self, $stackPos) { $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 313 => static function ($self, $stackPos) { + 314 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 314 => static function ($self, $stackPos) { + 315 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 315 => static function ($self, $stackPos) { + 316 => static function ($self, $stackPos) { $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 316 => null, - 317 => static function ($self, $stackPos) { + 317 => null, + 318 => static function ($self, $stackPos) { $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 318 => static function ($self, $stackPos) { + 319 => static function ($self, $stackPos) { $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 319 => null, - 320 => static function ($self, $stackPos) { + 320 => null, + 321 => static function ($self, $stackPos) { $self->semValue = null; }, - 321 => null, - 322 => static function ($self, $stackPos) { + 322 => null, + 323 => static function ($self, $stackPos) { $self->semValue = null; }, - 323 => static function ($self, $stackPos) { + 324 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 324 => static function ($self, $stackPos) { + 325 => static function ($self, $stackPos) { $self->semValue = null; }, - 325 => static function ($self, $stackPos) { + 326 => static function ($self, $stackPos) { $self->semValue = array(); }, - 326 => static function ($self, $stackPos) { + 327 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 327 => static function ($self, $stackPos) { + 328 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-2)]); }, - 328 => static function ($self, $stackPos) { + 329 => static function ($self, $stackPos) { $self->semValue = new Node\VariadicPlaceholder($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 329 => static function ($self, $stackPos) { + 330 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 330 => static function ($self, $stackPos) { + 331 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 331 => static function ($self, $stackPos) { + 332 => static function ($self, $stackPos) { $self->semValue = new Node\Arg($self->semStack[$stackPos-(1-1)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 332 => static function ($self, $stackPos) { + 333 => static function ($self, $stackPos) { $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], true, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 333 => static function ($self, $stackPos) { + 334 => static function ($self, $stackPos) { $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], false, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 334 => static function ($self, $stackPos) { + 335 => static function ($self, $stackPos) { $self->semValue = new Node\Arg($self->semStack[$stackPos-(3-3)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(3-1)]); }, - 335 => null, - 336 => static function ($self, $stackPos) { + 336 => null, + 337 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 337 => static function ($self, $stackPos) { + 338 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 338 => null, 339 => null, - 340 => static function ($self, $stackPos) { + 340 => null, + 341 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 341 => static function ($self, $stackPos) { + 342 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 342 => static function ($self, $stackPos) { + 343 => static function ($self, $stackPos) { $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 343 => static function ($self, $stackPos) { + 344 => static function ($self, $stackPos) { $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 344 => static function ($self, $stackPos) { + 345 => static function ($self, $stackPos) { if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; } else { $self->semValue = $self->semStack[$stackPos-(2-1)]; } }, - 345 => static function ($self, $stackPos) { + 346 => static function ($self, $stackPos) { $self->semValue = array(); }, - 346 => static function ($self, $stackPos) { + 347 => static function ($self, $stackPos) { $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);; if ($nop !== null) { $self->semStack[$stackPos-(1-1)][] = $nop; } $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 347 => static function ($self, $stackPos) { + 348 => static function ($self, $stackPos) { $self->semValue = new Stmt\Property($self->semStack[$stackPos-(5-2)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-1)]); }, - 348 => static function ($self, $stackPos) { + 349 => static function ($self, $stackPos) { $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(5-1)]); $self->checkClassConst($self->semValue, $stackPos-(5-2)); }, - 349 => static function ($self, $stackPos) { + 350 => static function ($self, $stackPos) { $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos-(6-5)], $self->semStack[$stackPos-(6-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-1)], $self->semStack[$stackPos-(6-4)]); $self->checkClassConst($self->semValue, $stackPos-(6-2)); }, - 350 => static function ($self, $stackPos) { + 351 => static function ($self, $stackPos) { $self->semValue = new Stmt\ClassMethod($self->semStack[$stackPos-(10-5)], ['type' => $self->semStack[$stackPos-(10-2)], 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-7)], 'returnType' => $self->semStack[$stackPos-(10-9)], 'stmts' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); $self->checkClassMethod($self->semValue, $stackPos-(10-2)); }, - 351 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUse($self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, 352 => static function ($self, $stackPos) { - $self->semValue = new Stmt\EnumCase($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\TraitUse($self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 353 => static function ($self, $stackPos) { - $self->semValue = null; /* will be skipped */ + $self->semValue = new Stmt\EnumCase($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, 354 => static function ($self, $stackPos) { - $self->semValue = array(); + $self->semValue = null; /* will be skipped */ }, 355 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + $self->semValue = array(); }, 356 => static function ($self, $stackPos) { - $self->semValue = array(); + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 357 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; + $self->semValue = array(); }, 358 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUseAdaptation\Precedence($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, 359 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(5-1)][0], $self->semStack[$stackPos-(5-1)][1], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\TraitUseAdaptation\Precedence($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 360 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(5-1)][0], $self->semStack[$stackPos-(5-1)][1], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, 361 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 362 => static function ($self, $stackPos) { $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 363 => static function ($self, $stackPos) { + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 364 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 364 => null, - 365 => static function ($self, $stackPos) { + 365 => null, + 366 => static function ($self, $stackPos) { $self->semValue = array(null, $self->semStack[$stackPos-(1-1)]); }, - 366 => static function ($self, $stackPos) { + 367 => static function ($self, $stackPos) { $self->semValue = null; }, - 367 => null, 368 => null, - 369 => static function ($self, $stackPos) { + 369 => null, + 370 => static function ($self, $stackPos) { $self->semValue = 0; }, - 370 => static function ($self, $stackPos) { + 371 => static function ($self, $stackPos) { $self->semValue = 0; }, - 371 => null, 372 => null, - 373 => static function ($self, $stackPos) { + 373 => null, + 374 => static function ($self, $stackPos) { $self->checkModifier($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 374 => static function ($self, $stackPos) { + 375 => static function ($self, $stackPos) { $self->semValue = Modifiers::PUBLIC; }, - 375 => static function ($self, $stackPos) { + 376 => static function ($self, $stackPos) { $self->semValue = Modifiers::PROTECTED; }, - 376 => static function ($self, $stackPos) { + 377 => static function ($self, $stackPos) { $self->semValue = Modifiers::PRIVATE; }, - 377 => static function ($self, $stackPos) { + 378 => static function ($self, $stackPos) { $self->semValue = Modifiers::PUBLIC_SET; }, - 378 => static function ($self, $stackPos) { + 379 => static function ($self, $stackPos) { $self->semValue = Modifiers::PROTECTED_SET; }, - 379 => static function ($self, $stackPos) { + 380 => static function ($self, $stackPos) { $self->semValue = Modifiers::PRIVATE_SET; }, - 380 => static function ($self, $stackPos) { + 381 => static function ($self, $stackPos) { $self->semValue = Modifiers::STATIC; }, - 381 => static function ($self, $stackPos) { + 382 => static function ($self, $stackPos) { $self->semValue = Modifiers::ABSTRACT; }, - 382 => static function ($self, $stackPos) { + 383 => static function ($self, $stackPos) { $self->semValue = Modifiers::FINAL; }, - 383 => static function ($self, $stackPos) { + 384 => static function ($self, $stackPos) { $self->semValue = Modifiers::READONLY; }, - 384 => null, - 385 => static function ($self, $stackPos) { + 385 => null, + 386 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 386 => static function ($self, $stackPos) { + 387 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 387 => static function ($self, $stackPos) { + 388 => static function ($self, $stackPos) { $self->semValue = new Node\VarLikeIdentifier(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 388 => static function ($self, $stackPos) { + 389 => static function ($self, $stackPos) { $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 389 => static function ($self, $stackPos) { + 390 => static function ($self, $stackPos) { $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 390 => static function ($self, $stackPos) { + 391 => static function ($self, $stackPos) { $self->semValue = []; }, - 391 => static function ($self, $stackPos) { + 392 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 392 => static function ($self, $stackPos) { + 393 => static function ($self, $stackPos) { $self->semValue = []; }, - 393 => static function ($self, $stackPos) { + 394 => static function ($self, $stackPos) { $self->semValue = new Node\PropertyHook($self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-5)], ['flags' => $self->semStack[$stackPos-(5-2)], 'byRef' => $self->semStack[$stackPos-(5-3)], 'params' => [], 'attrGroups' => $self->semStack[$stackPos-(5-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); $self->checkPropertyHook($self->semValue, null); }, - 394 => static function ($self, $stackPos) { + 395 => static function ($self, $stackPos) { $self->semValue = new Node\PropertyHook($self->semStack[$stackPos-(8-4)], $self->semStack[$stackPos-(8-8)], ['flags' => $self->semStack[$stackPos-(8-2)], 'byRef' => $self->semStack[$stackPos-(8-3)], 'params' => $self->semStack[$stackPos-(8-6)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); $self->checkPropertyHook($self->semValue, $stackPos-(8-5)); }, - 395 => static function ($self, $stackPos) { - $self->semValue = null; - }, 396 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + $self->semValue = null; }, 397 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 398 => static function ($self, $stackPos) { - $self->semValue = 0; + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 399 => static function ($self, $stackPos) { + $self->semValue = 0; + }, + 400 => static function ($self, $stackPos) { $self->checkPropertyHookModifiers($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 400 => null, 401 => null, - 402 => static function ($self, $stackPos) { + 402 => null, + 403 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 403 => static function ($self, $stackPos) { + 404 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 404 => static function ($self, $stackPos) { + 405 => static function ($self, $stackPos) { $self->semValue = array(); }, - 405 => null, 406 => null, - 407 => static function ($self, $stackPos) { + 407 => null, + 408 => static function ($self, $stackPos) { $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 408 => static function ($self, $stackPos) { + 409 => static function ($self, $stackPos) { $self->semValue = new Expr\Assign($self->fixupArrayDestructuring($self->semStack[$stackPos-(3-1)]), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 409 => static function ($self, $stackPos) { + 410 => static function ($self, $stackPos) { $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 410 => static function ($self, $stackPos) { + 411 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignRef($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 411 => static function ($self, $stackPos) { + 412 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignRef($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); if (!$self->phpVersion->allowsAssignNewByReference()) { $self->emitError(new Error('Cannot assign new by reference', $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]))); } }, - 412 => null, 413 => null, - 414 => static function ($self, $stackPos) { - $self->semValue = new Expr\Clone_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, + 414 => null, 415 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Clone_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 416 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 417 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 418 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 419 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 420 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 421 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 422 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 423 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 424 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 425 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 426 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 427 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 428 => static function ($self, $stackPos) { - $self->semValue = new Expr\PostInc($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 429 => static function ($self, $stackPos) { - $self->semValue = new Expr\PreInc($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\PostInc($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 430 => static function ($self, $stackPos) { - $self->semValue = new Expr\PostDec($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\PreInc($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 431 => static function ($self, $stackPos) { - $self->semValue = new Expr\PreDec($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\PostDec($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 432 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\BooleanOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\PreDec($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 433 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\BooleanAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\BooleanOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 434 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\LogicalOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\BooleanAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 435 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\LogicalAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\LogicalOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 436 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\LogicalXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\LogicalAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 437 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\LogicalXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 438 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 439 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 440 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 441 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 442 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 443 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 444 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 445 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 446 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 447 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 448 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 449 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 450 => static function ($self, $stackPos) { - $self->semValue = new Expr\UnaryPlus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 451 => static function ($self, $stackPos) { - $self->semValue = new Expr\UnaryMinus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\UnaryPlus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 452 => static function ($self, $stackPos) { - $self->semValue = new Expr\BooleanNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\UnaryMinus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 453 => static function ($self, $stackPos) { - $self->semValue = new Expr\BitwiseNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BooleanNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 454 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Identical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BitwiseNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 455 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\NotIdentical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Identical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 456 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Equal($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\NotIdentical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 457 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\NotEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Equal($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 458 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Spaceship($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\NotEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 459 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Smaller($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Spaceship($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 460 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\SmallerOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Smaller($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 461 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Greater($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\SmallerOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 462 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\GreaterOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Greater($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 463 => static function ($self, $stackPos) { - $self->semValue = new Expr\Instanceof_($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\GreaterOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 464 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + $self->semValue = new Expr\Instanceof_($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 465 => static function ($self, $stackPos) { - $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 466 => static function ($self, $stackPos) { - $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(4-1)], null, $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, 467 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(4-1)], null, $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 468 => static function ($self, $stackPos) { - $self->semValue = new Expr\Isset_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 469 => static function ($self, $stackPos) { - $self->semValue = new Expr\Empty_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Isset_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 470 => static function ($self, $stackPos) { - $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Empty_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 471 => static function ($self, $stackPos) { - $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 472 => static function ($self, $stackPos) { - $self->semValue = new Expr\Eval_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 473 => static function ($self, $stackPos) { - $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Eval_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 474 => static function ($self, $stackPos) { - $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 475 => static function ($self, $stackPos) { - $self->semValue = new Expr\Cast\Int_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 476 => static function ($self, $stackPos) { + $self->semValue = new Expr\Cast\Int_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 477 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = $self->getFloatCastKind($self->semStack[$stackPos-(2-1)]); $self->semValue = new Expr\Cast\Double($self->semStack[$stackPos-(2-2)], $attrs); }, - 477 => static function ($self, $stackPos) { + 478 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\String_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 478 => static function ($self, $stackPos) { + 479 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Array_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 479 => static function ($self, $stackPos) { + 480 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Object_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 480 => static function ($self, $stackPos) { + 481 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Bool_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 481 => static function ($self, $stackPos) { + 482 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Unset_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 482 => static function ($self, $stackPos) { + 483 => static function ($self, $stackPos) { $self->semValue = $self->createExitExpr($self->semStack[$stackPos-(2-1)], $stackPos-(2-1), $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 483 => static function ($self, $stackPos) { + 484 => static function ($self, $stackPos) { $self->semValue = new Expr\ErrorSuppress($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 484 => null, - 485 => static function ($self, $stackPos) { + 485 => null, + 486 => static function ($self, $stackPos) { $self->semValue = new Expr\ShellExec($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 486 => static function ($self, $stackPos) { + 487 => static function ($self, $stackPos) { $self->semValue = new Expr\Print_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 487 => static function ($self, $stackPos) { + 488 => static function ($self, $stackPos) { $self->semValue = new Expr\Yield_(null, null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 488 => static function ($self, $stackPos) { + 489 => static function ($self, $stackPos) { $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(2-2)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 489 => static function ($self, $stackPos) { + 490 => static function ($self, $stackPos) { $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(4-4)], $self->semStack[$stackPos-(4-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 490 => static function ($self, $stackPos) { + 491 => static function ($self, $stackPos) { $self->semValue = new Expr\YieldFrom($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 491 => static function ($self, $stackPos) { + 492 => static function ($self, $stackPos) { $self->semValue = new Expr\Throw_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 492 => static function ($self, $stackPos) { + 493 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-4)], 'returnType' => $self->semStack[$stackPos-(8-6)], 'expr' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 493 => static function ($self, $stackPos) { + 494 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'returnType' => $self->semStack[$stackPos-(9-7)], 'expr' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 494 => static function ($self, $stackPos) { + 495 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => false, 'byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-4)], 'uses' => $self->semStack[$stackPos-(8-6)], 'returnType' => $self->semStack[$stackPos-(8-7)], 'stmts' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 495 => static function ($self, $stackPos) { + 496 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => true, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'uses' => $self->semStack[$stackPos-(9-7)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 496 => static function ($self, $stackPos) { + 497 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'returnType' => $self->semStack[$stackPos-(9-7)], 'expr' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 497 => static function ($self, $stackPos) { + 498 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-6)], 'returnType' => $self->semStack[$stackPos-(10-8)], 'expr' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 498 => static function ($self, $stackPos) { + 499 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => false, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'uses' => $self->semStack[$stackPos-(9-7)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 499 => static function ($self, $stackPos) { + 500 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => true, 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-6)], 'uses' => $self->semStack[$stackPos-(10-8)], 'returnType' => $self->semStack[$stackPos-(10-9)], 'stmts' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 500 => static function ($self, $stackPos) { + 501 => static function ($self, $stackPos) { $self->semValue = array(new Stmt\Class_(null, ['type' => $self->semStack[$stackPos-(8-2)], 'extends' => $self->semStack[$stackPos-(8-4)], 'implements' => $self->semStack[$stackPos-(8-5)], 'stmts' => $self->semStack[$stackPos-(8-7)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])), $self->semStack[$stackPos-(8-3)]); $self->checkClass($self->semValue[0], -1); }, - 501 => static function ($self, $stackPos) { + 502 => static function ($self, $stackPos) { $self->semValue = new Expr\New_($self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 502 => static function ($self, $stackPos) { + 503 => static function ($self, $stackPos) { 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])); }, - 503 => static function ($self, $stackPos) { + 504 => static function ($self, $stackPos) { $self->semValue = new Expr\New_($self->semStack[$stackPos-(2-2)], [], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 504 => null, 505 => null, - 506 => static function ($self, $stackPos) { + 506 => null, + 507 => static function ($self, $stackPos) { $self->semValue = array(); }, - 507 => static function ($self, $stackPos) { + 508 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-3)]; }, - 508 => null, - 509 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); - }, + 509 => null, 510 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, 511 => 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->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, 512 => 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 Node\ClosureUse($self->semStack[$stackPos-(2-2)], $self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 513 => 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])); }, 514 => 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])); @@ -2483,310 +2479,313 @@ protected function initReduceCallbacks(): void { $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])); }, 516 => 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])); }, 517 => 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])); }, - 518 => null, - 519 => static function ($self, $stackPos) { + 518 => static function ($self, $stackPos) { $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, + 519 => null, 520 => static function ($self, $stackPos) { $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 521 => 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])); + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 522 => 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])); + }, + 523 => 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])); }, - 523 => null, 524 => null, - 525 => static function ($self, $stackPos) { + 525 => null, + 526 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 526 => static function ($self, $stackPos) { + 527 => static function ($self, $stackPos) { $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 527 => null, 528 => null, - 529 => static function ($self, $stackPos) { + 529 => null, + 530 => static function ($self, $stackPos) { $self->semValue = array(); }, - 530 => static function ($self, $stackPos) { + 531 => 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()); } }; }, - 531 => static function ($self, $stackPos) { + 532 => 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)]; }, - 532 => static function ($self, $stackPos) { + 533 => static function ($self, $stackPos) { $self->semValue = array(); }, - 533 => null, - 534 => static function ($self, $stackPos) { + 534 => null, + 535 => static function ($self, $stackPos) { $self->semValue = new Expr\ConstFetch($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 535 => static function ($self, $stackPos) { + 536 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Line($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 536 => static function ($self, $stackPos) { + 537 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\File($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 537 => static function ($self, $stackPos) { + 538 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Dir($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 538 => static function ($self, $stackPos) { + 539 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Class_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 539 => static function ($self, $stackPos) { + 540 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Trait_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 540 => static function ($self, $stackPos) { + 541 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Method($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 541 => static function ($self, $stackPos) { + 542 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Function_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 542 => static function ($self, $stackPos) { + 543 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Namespace_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 543 => static function ($self, $stackPos) { + 544 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Property($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 544 => static function ($self, $stackPos) { + 545 => 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])); }, - 545 => static function ($self, $stackPos) { + 546 => 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])); }, - 546 => static function ($self, $stackPos) { + 547 => 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; }, - 547 => static function ($self, $stackPos) { + 548 => 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); }, - 548 => static function ($self, $stackPos) { + 549 => 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); }, - 549 => static function ($self, $stackPos) { + 550 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(1-1)]; $self->createdArrays->attach($self->semValue); }, - 550 => static function ($self, $stackPos) { + 551 => 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()); }, - 551 => static function ($self, $stackPos) { + 552 => 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); }, - 552 => static function ($self, $stackPos) { + 553 => 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()); }, - 553 => static function ($self, $stackPos) { + 554 => static function ($self, $stackPos) { $self->semValue = Scalar\Float_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 554 => null, 555 => null, 556 => null, - 557 => static function ($self, $stackPos) { + 557 => null, + 558 => 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); }, - 558 => static function ($self, $stackPos) { + 559 => 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); }, - 559 => static function ($self, $stackPos) { + 560 => 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); }, - 560 => static function ($self, $stackPos) { + 561 => static function ($self, $stackPos) { $self->semValue = null; }, - 561 => null, 562 => null, - 563 => static function ($self, $stackPos) { + 563 => null, + 564 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 564 => null, 565 => null, 566 => null, 567 => null, 568 => null, 569 => null, - 570 => static function ($self, $stackPos) { + 570 => null, + 571 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 571 => null, 572 => null, 573 => null, - 574 => static function ($self, $stackPos) { + 574 => null, + 575 => 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])); }, - 575 => static function ($self, $stackPos) { + 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])); }, - 576 => null, - 577 => static function ($self, $stackPos) { + 577 => null, + 578 => 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])); }, - 578 => static function ($self, $stackPos) { + 579 => 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])); }, - 579 => static function ($self, $stackPos) { + 580 => static function ($self, $stackPos) { $self->semValue = null; }, - 580 => null, 581 => null, 582 => null, - 583 => static function ($self, $stackPos) { + 583 => null, + 584 => 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])); }, - 584 => static function ($self, $stackPos) { + 585 => 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])); }, - 585 => null, - 586 => static function ($self, $stackPos) { + 586 => null, + 587 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 587 => static function ($self, $stackPos) { + 588 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 588 => static function ($self, $stackPos) { + 589 => 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; }, - 589 => static function ($self, $stackPos) { + 590 => 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; }, - 590 => static function ($self, $stackPos) { + 591 => static function ($self, $stackPos) { $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 591 => null, - 592 => static function ($self, $stackPos) { - $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); - }, + 592 => null, 593 => 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])); }, 594 => static function ($self, $stackPos) { - $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 595 => 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])); + $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])); }, 596 => static function ($self, $stackPos) { - $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 597 => 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])); }, - 598 => null, - 599 => static function ($self, $stackPos) { + 598 => 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])); + }, + 599 => null, + 600 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 600 => null, 601 => null, - 602 => static function ($self, $stackPos) { + 602 => null, + 603 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 603 => null, - 604 => static function ($self, $stackPos) { + 604 => null, + 605 => static function ($self, $stackPos) { $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 605 => static function ($self, $stackPos) { + 606 => 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); }, - 606 => static function ($self, $stackPos) { + 607 => 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); }, - 607 => null, - 608 => static function ($self, $stackPos) { + 608 => null, + 609 => static function ($self, $stackPos) { /* do nothing -- prevent default action of $$=$self->semStack[$1]. See $551. */ }, - 609 => static function ($self, $stackPos) { + 610 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 610 => static function ($self, $stackPos) { + 611 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 611 => static function ($self, $stackPos) { + 612 => 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])); }, - 612 => static function ($self, $stackPos) { + 613 => 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])); }, - 613 => static function ($self, $stackPos) { + 614 => 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])); }, - 614 => static function ($self, $stackPos) { + 615 => 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])); }, - 615 => static function ($self, $stackPos) { + 616 => 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])); }, - 616 => static function ($self, $stackPos) { + 617 => 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])); }, - 617 => static function ($self, $stackPos) { + 618 => 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); }, - 618 => static function ($self, $stackPos) { + 619 => 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); }, - 619 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; - }, 620 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, 621 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, 622 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)]); + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, 623 => 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); + $self->semValue = array($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)]); }, 624 => static function ($self, $stackPos) { - $self->semValue = new Expr\Variable($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$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); }, - 625 => null, - 626 => 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])); + 625 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, + 626 => null, 627 => static function ($self, $stackPos) { - $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 628 => 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])); + $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])); }, 629 => static function ($self, $stackPos) { - $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 630 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 631 => 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])); + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 632 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + $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])); }, 633 => static function ($self, $stackPos) { - $self->semValue = new Scalar\String_($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 634 => 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 Scalar\String_($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 635 => static function ($self, $stackPos) { + $self->semValue = $self->parseNumString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 636 => static function ($self, $stackPos) { $self->semValue = $self->parseNumString('-' . $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 636 => null, + 637 => null, ]; } } diff --git a/lib/PhpParser/Parser/Php8.php b/lib/PhpParser/Parser/Php8.php index 3addf9447a..19309dcdfe 100644 --- a/lib/PhpParser/Parser/Php8.php +++ b/lib/PhpParser/Parser/Php8.php @@ -165,15 +165,15 @@ class Php8 extends \PhpParser\ParserAbstract protected int $tokenToSymbolMapSize = 400; protected int $actionTableSize = 1289; - protected int $gotoTableSize = 608; + protected int $gotoTableSize = 710; protected int $invalidSymbol = 172; protected int $errorSymbol = 1; protected int $defaultAction = -32766; protected int $unexpectedTokenRule = 32767; - protected int $YY2TBLSTATE = 442; - protected int $numNonLeafStates = 753; + protected int $YY2TBLSTATE = 444; + protected int $numNonLeafStates = 756; protected array $symbolToName = array( "EOF", @@ -394,245 +394,245 @@ class Php8 extends \PhpParser\ParserAbstract ); protected array $action = array( - 126, 127, 128, 570, 129, 130, 955, 765, 766, 767, - 131, 38, 849, -85,-32766, 1376,-32766,-32766,-32766, 0, - 840, 1134, 1135, 1136, 1130, 1129, 1128, 1137, 1131, 1132, - 1133,-32766,-32766,-32766, 851, 759, 758,-32766,-32766,-32766, + 126, 127, 128, 573, 129, 130, 959, 768, 769, 770, + 131, 38, 852, 493, 569, 1380,-32766,-32766,-32766, 0, + 843, 1138, 1139, 1140, 1134, 1133, 1132, 1141, 1135, 1136, + 1137,-32766,-32766,-32766, 854, 762, 761,-32766, 1049,-32766, -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, - -32767, 1005,-32766, 1045, -570, 768, 1134, 1135, 1136, 1130, - 1129, 1128, 1137, 1131, 1132, 1133, 388, 387, 842, 263, - 132, 389, 772, 773, 774, 775, 430, 845, 431, -85, - 2, 36, 246, 47, 291, 829, 776, 777, 778, 779, - 780, 781, 782, 783, 784, 785, 805, 571, 806, 807, - 808, 809, 797, 798, 344, 345, 800, 801, 786, 787, - 788, 790, 791, 792, 359, 832, 833, 834, 835, 836, - 572, -570, -570, -332, 793, 794, 573, 574, 236, 817, - 815, 816, 828, 812, 813, 26, -194, 575, 576, 811, - 577, 578, 579, 580, 323, 581, 582, 876, 844, 877, - 297, 298, 814, 583, 584, 722, 133, 846, 126, 127, - 128, 570, 129, 130, 1078, 765, 766, 767, 131, 38, - -32766, 35, 735, 1038, 1037, 1036, 1042, 1039, 1040, 1041, - -32766,-32766,-32766, 1006, 104, 105, 106, 107, 108, -372, - 275, -372,-32766, 759, 758, 1054, 850,-32766,-32766,-32766, - 848,-32766, 109,-32766,-32766,-32766,-32766,-32766,-32766,-32766, - 134, 476, 477, 768,-32766,-32766,-32766, 1054,-32766, 290, - -32766,-32766,-32766,-32766,-32766, 616, 143, 263, 132, 389, - 772, 773, 774, 775, 249,-32766, 431,-32766,-32766,-32766, - -32766, 290, 307, 829, 776, 777, 778, 779, 780, 781, - 782, 783, 784, 785, 805, 571, 806, 807, 808, 809, - 797, 798, 344, 345, 800, 801, 786, 787, 788, 790, - 791, 792, 359, 832, 833, 834, 835, 836, 572, 958, - -273, -332, 793, 794, 573, 574, 840, 817, 815, 816, - 828, 812, 813, 1301, -194, 575, 576, 811, 577, 578, - 579, 580, 566, 581, 582, 1108, 82, 83, 84, 748, - 814, 583, 584, 309, 146, 789, 760, 761, 762, 763, - 764, 235, 765, 766, 767, 802, 803, 37, 957, 85, + -32767, 1009,-32766,-32766,-32766, 771, 1138, 1139, 1140, 1134, + 1133, 1132, 1141, 1135, 1136, 1137, 387, 388, 447, 263, + 132, 390, 775, 776, 777, 778, 432, 848, 433, 1317, + -571, 36, 246, 47, 292, 832, 779, 780, 781, 782, + 783, 784, 785, 786, 787, 788, 808, 574, 809, 810, + 811, 812, 800, 801, 345, 346, 803, 804, 789, 790, + 791, 793, 794, 795, 360, 835, 836, 837, 838, 839, + 575, 2, 297, -333, 796, 797, 576, 577, 236, 820, + 818, 819, 831, 815, 816, 26, -195, 578, 579, 814, + 580, 581, 582, 583, 324, 584, 585, -571, -571, 494, + 298, 299, 817, 586, 587, 35, 133, 849, 126, 127, + 128, 573, 129, 130, 1082, 768, 769, 770, 131, 38, + -32766, 134, 738, 1042, 1041, 1040, 1046, 1043, 1044, 1045, + -32766,-32766,-32766, 1010, 104, 105, 106, 107, 108, 880, + 275, 881,-32766, 762, 761, 1058, 853,-32766,-32766,-32766, + 143,-32766, 109,-32766,-32766,-32766,-32766,-32766,-32766,-32766, + -32766, 479, 480, 771,-32766,-32766,-32766, 1058,-32766, 291, + -32766,-32766,-32766,-32766,-32766, -194, 249, 263, 132, 390, + 775, 776, 777, 778,-32766,-32766, 433,-32766,-32766,-32766, + -32766, 291, 851, 832, 779, 780, 781, 782, 783, 784, + 785, 786, 787, 788, 808, 574, 809, 810, 811, 812, + 800, 801, 345, 346, 803, 804, 789, 790, 791, 793, + 794, 795, 360, 835, 836, 837, 838, 839, 575, 962, + -274, -333, 796, 797, 576, 577, 843, 820, 818, 819, + 831, 815, 816, 1305, -195, 578, 579, 814, 580, 581, + 582, 583, 308, 584, 585,-32766, 82, 83, 84, -85, + 817, 586, 587, 161, 146, 792, 763, 764, 765, 766, + 767, 1346, 768, 769, 770, 805, 806, 37, 961, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 157, 275,-32766,-32766,-32766,-32767,-32767, - -32767,-32767, 101, 102, 103,-32766, 109, 1313, 622, 318, - 768,-32766,-32766,-32766, 849, 1361,-32766, 1107,-32766,-32766, - -32766, 340, 1360, 1357, 769, 770, 771, 772, 773, 774, - 775, 341,-32766, 838,-32766,-32766, 1386, 374, 1281, 1387, - 829, 776, 777, 778, 779, 780, 781, 782, 783, 784, - 785, 805, 827, 806, 807, 808, 809, 797, 798, 799, - 826, 800, 801, 786, 787, 788, 790, 791, 792, 831, - 832, 833, 834, 835, 836, 837, 1077, 431, -567, 793, - 794, 795, 796, 148, 817, 815, 816, 828, 812, 813, - 380, -193, 804, 810, 811, 818, 819, 821, 820, 138, - 822, 823, 840, 321, 396, 285, 24, 814, 825, 824, - 49, 50, 51, 522, 52, 53, 398, -110, 7, 849, - 54, 55, -110, 56, -110,-32766,-32766,-32766, 1342, 303, - 125, 1123, -110, -110, -110, -110, -110, -110, -110, -110, - -110, -110, -110, 161, 750, -567, -567, 291, 974, 975, - -32766,-32766,-32766, 976, 448, 285, 1276, 1275, 1277, 57, - 58, -567,-32766,-32766, 59, 1109, 60, 243, 244, 61, + 106, 107, 108, 310, 275,-32766,-32766,-32766,-32767,-32767, + -32767,-32767, 101, 102, 103, 1112, 109, 319, 625, 751, + 771,-32766,-32766,-32766, 852, -85,-32766, 1111,-32766,-32766, + -32766, 389, 388, -194, 772, 773, 774, 775, 776, 777, + 778, 432,-32766, 841,-32766,-32766, 1390, 341, 1285, 1391, + 832, 779, 780, 781, 782, 783, 784, 785, 786, 787, + 788, 808, 830, 809, 810, 811, 812, 800, 801, 802, + 829, 803, 804, 789, 790, 791, 793, 794, 795, 834, + 835, 836, 837, 838, 839, 840, 1081, 433, -568, 796, + 797, 798, 799, 1365, 820, 818, 819, 831, 815, 816, + 1364, 24, 807, 813, 814, 821, 822, 824, 823, 138, + 825, 826, 1154, 322, 342, 286, 743, 817, 828, 827, + 49, 50, 51, 525, 52, 53, 1127, -110, 375, 852, + 54, 55, -110, 56, -110, 619,-32766, 81, 381, 304, + 1361, 322, -110, -110, -110, -110, -110, -110, -110, -110, + -110, -110, -110, 157, 938, -568, -568, 292, 978, 979, + 397, 1058, 845, 980, 451, 286, 1280, 1279, 1281, 57, + 58, -568, 974, 148, 59, 1113, 60, 243, 244, 61, 62, 63, 64, 65, 66, 67, 68,-32766, 28, 265, - 69, 446, 523, 490, -346, 449, 1307, 1308, 524, 139, - 849, 1051, 450, 321, 1305, 42, 20, 525, 934, 526, - 934, 527, 74, 528, -568, 698, 529, 530, 321, 386, - 387, 44, 45, 452, 383, 382, 1054, 46, 531, 430, - 974, 975, 451, 372, 339, 976, 1281, 855, 725, 934, - 1267, 759, 758,-32766, 970, 533, 534, 535, 149, 934, - 281, 699, -78, -566, 1274, 102, 103, 537, 538, -193, - 1293, 1294, 1295, 1296, 1298, 1290, 1291, 295, 1054, 726, - 466, 467, 468, 1297, 1292, 700, 701, 1276, 1275, 1277, - 296, -568, -568, 70, -153, -153, -153, 316, 317, 321, - 1272, 924, 290, 924, 1276, 1275, 1277, -568, 1051, -153, - 281, -153, 1150, -153, 81, -153, 740, 151, 321, -574, - 152, 759, 758,-32766, 1053, 381, 876, 849, 877, 153, - -566, -566, 924, 1054, 1051, 155, 974, 975, -606, 491, - -606, 532, 924, 1276, 1275, 1277, -566, 33, 1054, 910, - 970, -110, -110, -110, 28, 266, -58, 281, -573, 1054, - -32766,-32766, -110, -110, 665, 21, 849, -110, -57, -564, - 1305, 684, 685, 147, 413, 123, -110, 384, 385, 124, - 936, 135, 936, 136, 720,-32766, 720, -153, 142, 48, + 69, 449, 526, 452, -347, 1055, 1311, 1312, 527, 938, + 852, 1055, 762, 761, 1309, 42, 20, 528, 938, 529, + 938, 530, 74, 531, 453, 701, 532, 533, 322, 843, + 1058, 44, 45, 455, 384, 383, 1058, 46, 534, 728, + -569, 235, 454, 373, 340, 858, 1285, 928, 729, 938, + 1271, -567, 847,-32766, 282, 536, 537, 538, 149, 725, + 282, 702, -78, -373, 1278, -373, 151, 540, 541, -58, + 1297, 1298, 1299, 1300, 1302, 1294, 1295, 296, 1058, 730, + -32766,-32766,-32766, 1301, 1296, 703, 704, 1280, 1279, 1281, + 297, -565, 928, 70, -154, -154, -154, 317, 318, 322, + 1276, 928, 291, 928, 1280, 1279, 1281, -569, -569, -154, + 282, -154, -57, -154, 753, -154, 139, 1055, -567, -567, + 322, 762, 761, -569, 1057, 382, 940, 852, 152, 399, + 723, 7, 928, 153, -567, -575, 978, 979, 469, 470, + 471, 535, 1058, 1280, 1279, 1281, -574, 102, 103, 914, + 974, -110, -110, -110, 28, 266,-32766,-32766, -565, -565, + 668, 21, -110, -110, 687, 688, 852, -110, 155, 48, + 1309, 940, 385, 386, -565, 723, -110, 147, 415, 880, + 940, 881, 940, 33, 723,-32766, 723, -154, 391, 392, 32, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 390, 391, 1267, 296, 759, 758, - 74, 936, 156, 934, 158, 720, 321, -4, 934, 159, - 934, 936, 160, 537, 538, 720, 1293, 1294, 1295, 1296, - 1298, 1290, 1291, 1183, 1185, 934, -564, -564, -565, 1297, - 1292, 759, 758, 727, -564,-32766, 656, 657, -306, 72, - 730, 1274, -564, -87, 317, 321, 299, 300,-32766,-32766, - -32766, -84,-32766, -78,-32766, 737,-32766, -73, -72,-32766, - -71, -70, 379, -69,-32766,-32766,-32766, -68,-32766, -67, - -32766,-32766, -66, -65, 1274, -46,-32766, 427, 28, 265, - -18,-32766,-32766,-32766, 140,-32766, 924,-32766,-32766,-32766, - 849, 924,-32766, 924, 1305, -565, -565,-32766,-32766,-32766, - 274, -564, -564,-32766,-32766, 282, 736, 739, 924,-32766, - 427, -565, 933, 381, 145, 443, 286, -564, 951, 73, - 294,-32766, -302, -572, 974, 975, 279, 280, 283, 532, - 1267, 28, 266, 284, 329, 275, 109, 536, 970, -110, - -110, -110, 287, 849, 292, 293, 840, 1305, 538, 694, - 1293, 1294, 1295, 1296, 1298, 1290, 1291, 709, 144, 587, - 711, 11, 10, 1297, 1292, 991, 849, 1141, 473, 720, - 936,-32766, 936, 72, 720, -4, 720, 1388, 317, 321, - -50, 970, 672, 1267, 687, 666, 501, 936, 971, 301, - 308, 720, 671, 1312, 302, 1314,-32766, 688, 953, -530, - -520, 538, 40, 1293, 1294, 1295, 1296, 1298, 1290, 1291, - 848, 41, 8, 137, 654, 27, 1297, 1292, 304, 34, - 593, 620, 296,-32766, 0, 0, 72, 0, 0, 1274, - 0, 317, 321, 0, 0, 0,-32766,-32766,-32766, -276, - -32766, 0,-32766, 0,-32766, 0, 0,-32766, 0, 0, - 0, 0,-32766,-32766,-32766, 934,-32766, 0,-32766,-32766, - 0, 0, 1274, 378,-32766, 427, 745, -600, 412,-32766, - -32766,-32766, 746,-32766, 868,-32766,-32766,-32766, 934, 915, - -32766, 1015, 992, 999, 989,-32766,-32766,-32766, 1000,-32766, - 913,-32766,-32766, 987, 1112, 1274, 1115,-32766, 427, 1116, - 1113, 1152,-32766,-32766,-32766, 1114,-32766, 1120,-32766,-32766, - -32766, 1302, 860,-32766, 1329, 1346, 1379, 496,-32766,-32766, - -32766, 659,-32766, -599,-32766,-32766, -598, -574, 1274, 600, - -32766, 427, -573, -572, -571,-32766,-32766,-32766, 924,-32766, - -514,-32766,-32766,-32766, 1, 29,-32766, -274, 30, 39, - 43,-32766,-32766,-32766, -251, -251, -251,-32766,-32766, 71, - 381, 924, 75,-32766, 427, 76, 77, 78, 1281, 79, - 80, 974, 975, 141, 150,-32766, 532, -250, -250, -250, - -273, 154, 241, 381, 910, 970, -110, -110, -110, 325, - 360, 361, 362, 363, 974, 975, 364, 365, -16, 532, - 366, 367, 368, 369, 370, 373, 444, 910, 970, -110, - -110, -110,-32766, 13, 565, 371, 1306, 936, 1274, 14, - 416, 720, -251, 15, 16,-32766,-32766,-32766, 18,-32766, - 354,-32766, 411,-32766, 492, 493,-32766, 500, 503, 504, - 936,-32766,-32766,-32766, 720, -250, 505,-32766,-32766, 849, - 506, 510, 511,-32766, 427, 512, 519, 598, 704, 1080, - 1223, 1303, 1079, 1060, 1262,-32766, 1056, -278, -102, 12, - 17, 22, 312, 410, 612, 617, 645, 710, 1227, 1280, - 1224, 1358, 0, 315, -110, -110, 375, 721, 724, -110, - 728, 729, 731, 732, 733, 734, 738, 750, -110, 723, - 751, 0, 742, 911, 1383, 1385, 0,-32766, 871, 870, - 964, 1007, 1384, 963, 961, 962, 965, 1255, 944, 954, - 942, 1151, 1147, 1101, 997, 998, 643, 1382, 1340, 296, - 1355, 0, 74, 1240, 321, 0, 0, 0, 321 + 119, 120, 121, 122, 659, 660, 1271, 297, 762, 761, + 74, 995, 123, 938, 124, 723, 322, -4, 938, -607, + 938, -607, 135, 540, 541, 136, 1297, 1298, 1299, 1300, + 1302, 1294, 1295, 1187, 1189, -307, 300, 301, -566, 1301, + 1296, 762, 761, 733, -565,-32766, 142, 156, 158, 72, + 740, 1278, 380, 159, 318, 322, 160, -87,-32766,-32766, + -32766, 287,-32766, -303,-32766, -84,-32766, -78, 280,-32766, + -73, 275, 387, 388,-32766,-32766,-32766, -72,-32766, -71, + -32766,-32766, 432, -70, 1278, -69,-32766, 429, 28, 265, + -68,-32766,-32766,-32766, -67,-32766, 928,-32766,-32766,-32766, + 852, 928,-32766, 928, 1309, -566, -566,-32766,-32766,-32766, + -66, -565, -565,-32766,-32766, -65, -46, -18, 140,-32766, + 429, -566, 274, 382, 283, 445, 739, -565, 297, 73, + 295,-32766, 742, -573, 978, 979, 937, 145, 281, 535, + 1271, 28, 266, 284, 285, 330, 109, 539, 974, -110, + -110, -110, 288, 852,-32766,-32766,-32766, 1309, 541, 125, + 1297, 1298, 1299, 1300, 1302, 1294, 1295, 293, 294, 144, + 955, 11, 843, 1301, 1296, 940, 712, 697, 590, 723, + 940, 1392, 940, 72, 723, -4, 723,-32766, 318, 322, + -50, 690, 305, 1271, 852, 1145, 714, 669, 975, 302, + 309, 657, 303, 1316, -531, 1318, 596, 674,-32766, -521, + 8, 541, 297, 1297, 1298, 1299, 1300, 1302, 1294, 1295, + 10, 476, 504, 137, 40, 27, 1301, 1296, 675, 691, + 623, 1244, 957,-32766, 379, 851, 72, 34, 41, 1278, + 322, 318, 322, 748, 0, 749,-32766,-32766,-32766, -277, + -32766, 0,-32766, 871,-32766, 0, 0,-32766, 1306, 0, + 0, 0,-32766,-32766,-32766, 938,-32766, 0,-32766,-32766, + 0, 0, 1278, 0,-32766, 429, 0, 919, 0,-32766, + -32766,-32766, 1019,-32766, 996,-32766,-32766,-32766, 938, 1003, + -32766, 863, 1310, 0, 0,-32766,-32766,-32766, 993,-32766, + 1004,-32766,-32766, 917, 991, 1278, 1116,-32766, 429, 1119, + 1120, 1117,-32766,-32766,-32766, 1156,-32766, 1118,-32766,-32766, + -32766, 1124, -601,-32766, 1333, 1350, 1383, 499,-32766,-32766, + -32766, 662,-32766, -600,-32766,-32766, -599, -575, 1278, 603, + -32766, 429, -574, -573, -572,-32766,-32766,-32766, 928,-32766, + -515,-32766,-32766,-32766, 1, 29,-32766, -275, 30, 39, + 43,-32766,-32766,-32766, -252, -252, -252,-32766,-32766, 71, + 382, 928, 75,-32766, 429, 76, 77, 78, 1285, 79, + 80, 978, 979, 141, 150,-32766, 535, -251, -251, -251, + -274, 154, 241, 382, 914, 974, -110, -110, -110, 326, + 361, 362, 363, 364, 978, 979, 365, 366, -16, 535, + 367, 368, 369, 370, 371, 374, 446, 914, 974, -110, + -110, -110,-32766, 13, 568, 372, 0, 940, 1278, 14, + 414, 723, -252, 15, 16,-32766,-32766,-32766, 18,-32766, + 355,-32766, 413,-32766, 495, 496,-32766, 503, 506, 507, + 940,-32766,-32766,-32766, 723, -251, 508,-32766,-32766, 852, + 509, 513, 514,-32766, 429, 515, 522, 601, 707, 1084, + 1227, 1307, 1083, 1064, 1266,-32766, 1060, -279, -102, 12, + 17, 22, 313, 412, 615, 620, 648, 713, 1231, 1284, + 1228, 1362, 0, 316, -110, -110, 376, 724, 727, -110, + 731, 732, 734, 735, 736, 737, 741, 753, -110, 726, + 754, 0, 418, 745, 915, 1387, 0,-32766, 1389, 874, + 873, 968, 1011, 1388, 967, 965, 966, 969, 1259, 948, + 958, 946, 1155, 1151, 1105, 1001, 1002, 646, 1386, 297, + 1344, 1359, 74, 0, 0, 0, 0, 0, 322 ); protected array $actionCheck = array( 2, 3, 4, 5, 6, 7, 1, 9, 10, 11, - 12, 13, 82, 31, 116, 85, 9, 10, 11, 0, + 12, 13, 82, 31, 85, 85, 9, 10, 11, 0, 80, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 9, 10, 11, 1, 37, 38, 30, 140, 32, + 125, 9, 10, 11, 1, 37, 38, 30, 1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 31, 30, 1, 70, 57, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 106, 107, 80, 71, - 72, 73, 74, 75, 76, 77, 116, 80, 80, 97, - 8, 151, 152, 70, 30, 87, 88, 89, 90, 91, + 43, 31, 30, 9, 10, 57, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 106, 107, 108, 71, + 72, 73, 74, 75, 76, 77, 116, 80, 80, 150, + 70, 151, 152, 70, 30, 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, 137, 138, 8, 126, 127, 128, 129, 14, 131, + 122, 8, 162, 8, 126, 127, 128, 129, 14, 131, 132, 133, 134, 135, 136, 8, 8, 139, 140, 141, - 142, 143, 144, 145, 70, 147, 148, 106, 160, 108, - 137, 138, 154, 155, 156, 167, 158, 160, 2, 3, + 142, 143, 144, 145, 70, 147, 148, 137, 138, 167, + 137, 138, 154, 155, 156, 8, 158, 160, 2, 3, 4, 5, 6, 7, 166, 9, 10, 11, 12, 13, 116, 8, 167, 119, 120, 121, 122, 123, 124, 125, 9, 10, 11, 163, 51, 52, 53, 54, 55, 106, 57, 108, 116, 37, 38, 141, 163, 9, 10, 11, - 159, 30, 69, 32, 33, 34, 35, 36, 37, 38, - 8, 137, 138, 57, 9, 10, 11, 141, 30, 165, - 32, 33, 34, 35, 36, 1, 8, 71, 72, 73, - 74, 75, 76, 77, 8, 30, 80, 32, 33, 34, - 35, 165, 8, 87, 88, 89, 90, 91, 92, 93, + 8, 30, 69, 32, 33, 34, 35, 36, 37, 38, + 116, 137, 138, 57, 9, 10, 11, 141, 30, 165, + 32, 33, 34, 35, 36, 8, 8, 71, 72, 73, + 74, 75, 76, 77, 140, 30, 80, 32, 33, 34, + 35, 165, 159, 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, 73, 166, 166, 126, 127, 128, 129, 80, 131, 132, 133, 134, 135, 136, 1, 166, 139, 140, 141, 142, 143, - 144, 145, 85, 147, 148, 163, 9, 10, 11, 167, - 154, 155, 156, 8, 158, 2, 3, 4, 5, 6, - 7, 97, 9, 10, 11, 12, 13, 30, 122, 32, + 144, 145, 8, 147, 148, 9, 9, 10, 11, 31, + 154, 155, 156, 14, 158, 2, 3, 4, 5, 6, + 7, 1, 9, 10, 11, 12, 13, 30, 122, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 16, 57, 9, 10, 11, 44, 45, - 46, 47, 48, 49, 50, 9, 69, 150, 52, 8, - 57, 9, 10, 11, 82, 1, 30, 1, 32, 33, - 34, 8, 8, 1, 71, 72, 73, 74, 75, 76, - 77, 8, 30, 80, 32, 33, 80, 8, 1, 83, + 53, 54, 55, 8, 57, 9, 10, 11, 44, 45, + 46, 47, 48, 49, 50, 163, 69, 8, 52, 167, + 57, 9, 10, 11, 82, 97, 30, 1, 32, 33, + 34, 106, 107, 166, 71, 72, 73, 74, 75, 76, + 77, 116, 30, 80, 32, 33, 80, 8, 1, 83, 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, 1, 80, 70, 126, - 127, 128, 129, 14, 131, 132, 133, 134, 135, 136, - 8, 8, 139, 140, 141, 142, 143, 144, 145, 167, - 147, 148, 80, 171, 8, 30, 101, 154, 155, 156, - 2, 3, 4, 5, 6, 7, 106, 101, 108, 82, - 12, 13, 106, 15, 108, 9, 10, 11, 1, 113, - 14, 126, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 14, 167, 137, 138, 30, 117, 118, - 9, 10, 11, 122, 8, 30, 159, 160, 161, 51, - 52, 153, 9, 10, 56, 168, 58, 59, 60, 61, + 127, 128, 129, 1, 131, 132, 133, 134, 135, 136, + 8, 101, 139, 140, 141, 142, 143, 144, 145, 167, + 147, 148, 163, 171, 8, 30, 167, 154, 155, 156, + 2, 3, 4, 5, 6, 7, 126, 101, 8, 82, + 12, 13, 106, 15, 108, 1, 116, 167, 8, 113, + 1, 171, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 16, 1, 137, 138, 30, 117, 118, + 8, 141, 80, 122, 8, 30, 159, 160, 161, 51, + 52, 153, 131, 14, 56, 168, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 140, 70, 71, - 72, 73, 74, 31, 168, 8, 78, 79, 80, 167, - 82, 116, 8, 171, 86, 87, 88, 89, 1, 91, - 1, 93, 165, 95, 70, 80, 98, 99, 171, 106, - 107, 103, 104, 105, 106, 107, 141, 109, 110, 116, - 117, 118, 8, 115, 116, 122, 1, 8, 31, 1, - 122, 37, 38, 116, 131, 127, 128, 129, 14, 1, - 165, 116, 16, 70, 80, 49, 50, 139, 140, 166, + 72, 73, 74, 8, 168, 116, 78, 79, 80, 1, + 82, 116, 37, 38, 86, 87, 88, 89, 1, 91, + 1, 93, 165, 95, 8, 80, 98, 99, 171, 80, + 141, 103, 104, 105, 106, 107, 141, 109, 110, 31, + 70, 97, 8, 115, 116, 8, 1, 84, 31, 1, + 122, 70, 160, 116, 165, 127, 128, 129, 14, 167, + 165, 116, 16, 106, 80, 108, 14, 139, 140, 16, 142, 143, 144, 145, 146, 147, 148, 149, 141, 31, - 132, 133, 134, 155, 156, 140, 141, 159, 160, 161, - 162, 137, 138, 165, 75, 76, 77, 169, 170, 171, - 116, 84, 165, 84, 159, 160, 161, 153, 116, 90, - 165, 92, 163, 94, 167, 96, 167, 14, 171, 165, - 14, 37, 38, 116, 140, 106, 106, 82, 108, 14, - 137, 138, 84, 141, 116, 14, 117, 118, 164, 167, - 166, 122, 84, 159, 160, 161, 153, 14, 141, 130, - 131, 132, 133, 134, 70, 71, 16, 165, 165, 141, - 51, 52, 117, 118, 75, 76, 82, 122, 16, 70, - 86, 75, 76, 101, 102, 16, 131, 106, 107, 16, - 163, 16, 163, 16, 167, 140, 167, 168, 16, 70, + 9, 10, 11, 155, 156, 140, 141, 159, 160, 161, + 162, 70, 84, 165, 75, 76, 77, 169, 170, 171, + 116, 84, 165, 84, 159, 160, 161, 137, 138, 90, + 165, 92, 16, 94, 167, 96, 167, 116, 137, 138, + 171, 37, 38, 153, 140, 106, 163, 82, 14, 106, + 167, 108, 84, 14, 153, 165, 117, 118, 132, 133, + 134, 122, 141, 159, 160, 161, 165, 49, 50, 130, + 131, 132, 133, 134, 70, 71, 51, 52, 137, 138, + 75, 76, 117, 118, 75, 76, 82, 122, 14, 70, + 86, 163, 106, 107, 153, 167, 131, 101, 102, 106, + 163, 108, 163, 14, 167, 140, 167, 168, 106, 107, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 106, 107, 122, 162, 37, 38, - 165, 163, 16, 1, 16, 167, 171, 0, 1, 16, - 1, 163, 16, 139, 140, 167, 142, 143, 144, 145, - 146, 147, 148, 59, 60, 1, 137, 138, 70, 155, - 156, 37, 38, 31, 70, 74, 111, 112, 35, 165, - 31, 80, 153, 31, 170, 171, 137, 138, 87, 88, - 89, 31, 91, 31, 93, 31, 95, 31, 31, 98, - 31, 31, 153, 31, 103, 104, 105, 31, 74, 31, - 109, 110, 31, 31, 80, 31, 115, 116, 70, 71, + 26, 27, 28, 29, 111, 112, 122, 162, 37, 38, + 165, 163, 16, 1, 16, 167, 171, 0, 1, 164, + 1, 166, 16, 139, 140, 16, 142, 143, 144, 145, + 146, 147, 148, 59, 60, 35, 137, 138, 70, 155, + 156, 37, 38, 31, 70, 74, 16, 16, 16, 165, + 31, 80, 153, 16, 170, 171, 16, 31, 87, 88, + 89, 37, 91, 35, 93, 31, 95, 31, 35, 98, + 31, 57, 106, 107, 103, 104, 105, 31, 74, 31, + 109, 110, 116, 31, 80, 31, 115, 116, 70, 71, 31, 87, 88, 89, 31, 91, 84, 93, 127, 95, 82, 84, 98, 84, 86, 137, 138, 103, 104, 105, - 31, 137, 138, 109, 110, 31, 31, 31, 84, 115, - 116, 153, 31, 106, 31, 108, 37, 153, 38, 158, - 113, 127, 35, 165, 117, 118, 35, 35, 35, 122, - 122, 70, 71, 35, 35, 57, 69, 130, 131, 132, - 133, 134, 37, 82, 37, 37, 80, 86, 140, 77, - 142, 143, 144, 145, 146, 147, 148, 80, 70, 89, - 92, 154, 97, 155, 156, 163, 82, 82, 97, 167, - 163, 85, 163, 165, 167, 168, 167, 83, 170, 171, - 31, 131, 100, 122, 94, 90, 97, 163, 131, 135, - 135, 167, 96, 150, 136, 150, 140, 100, 158, 153, - 153, 140, 163, 142, 143, 144, 145, 146, 147, 148, - 159, 163, 153, 31, 113, 153, 155, 156, 114, 167, - 157, 157, 162, 74, -1, -1, 165, -1, -1, 80, - -1, 170, 171, -1, -1, -1, 87, 88, 89, 166, - 91, -1, 93, -1, 95, -1, -1, 98, -1, -1, + 31, 137, 138, 109, 110, 31, 31, 31, 31, 115, + 116, 153, 31, 106, 31, 108, 31, 153, 162, 158, + 113, 127, 31, 165, 117, 118, 31, 31, 35, 122, + 122, 70, 71, 35, 35, 35, 69, 130, 131, 132, + 133, 134, 37, 82, 9, 10, 11, 86, 140, 14, + 142, 143, 144, 145, 146, 147, 148, 37, 37, 70, + 38, 154, 80, 155, 156, 163, 80, 77, 89, 167, + 163, 83, 163, 165, 167, 168, 167, 85, 170, 171, + 31, 94, 114, 122, 82, 82, 92, 90, 131, 135, + 135, 113, 136, 150, 153, 150, 157, 96, 140, 153, + 153, 140, 162, 142, 143, 144, 145, 146, 147, 148, + 97, 97, 97, 31, 163, 153, 155, 156, 100, 100, + 157, 169, 158, 74, 153, 159, 165, 167, 163, 80, + 171, 170, 171, 163, -1, 163, 87, 88, 89, 166, + 91, -1, 93, 163, 95, -1, -1, 98, 164, -1, -1, -1, 103, 104, 105, 1, 74, -1, 109, 110, - -1, -1, 80, 153, 115, 116, 163, 165, 168, 87, + -1, -1, 80, -1, 115, 116, -1, 163, -1, 87, 88, 89, 163, 91, 163, 93, 127, 95, 1, 163, - 98, 163, 163, 163, 163, 103, 104, 105, 163, 74, + 98, 164, 170, -1, -1, 103, 104, 105, 163, 74, 163, 109, 110, 163, 163, 80, 163, 115, 116, 163, 163, 163, 87, 88, 89, 163, 91, 163, 93, 127, - 95, 164, 164, 98, 164, 164, 164, 102, 103, 104, + 95, 163, 165, 98, 164, 164, 164, 102, 103, 104, 105, 164, 74, 165, 109, 110, 165, 165, 80, 81, 115, 116, 165, 165, 165, 87, 88, 89, 84, 91, 165, 93, 127, 95, 165, 165, 98, 166, 165, 165, @@ -642,7 +642,7 @@ class Php8 extends \PhpParser\ParserAbstract 166, 165, 165, 106, 130, 131, 132, 133, 134, 165, 165, 165, 165, 165, 117, 118, 165, 165, 31, 122, 165, 165, 165, 165, 165, 165, 165, 130, 131, 132, - 133, 134, 74, 166, 165, 165, 170, 163, 80, 166, + 133, 134, 74, 166, 165, 165, -1, 163, 80, 166, 168, 167, 168, 166, 166, 87, 88, 89, 166, 91, 166, 93, 166, 95, 166, 166, 98, 166, 166, 166, 163, 103, 104, 105, 167, 168, 166, 109, 110, 82, @@ -654,13 +654,13 @@ class Php8 extends \PhpParser\ParserAbstract 167, -1, 168, 168, 168, 168, -1, 140, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 162, - 168, -1, 165, 169, 171, -1, -1, -1, 171 + 168, 168, 165, -1, -1, -1, -1, -1, 171 ); protected array $actionBase = array( 0, -2, 156, 559, 757, 1004, 1027, 485, 292, 357, - -60, -12, 588, 759, 759, 774, 759, 557, 752, 892, - 598, 598, 598, 827, 313, 313, 827, 313, 711, 711, + -60, 432, 557, 752, 752, 759, 752, 548, 588, 894, + 503, 503, 503, 836, 313, 313, 836, 313, 711, 711, 711, 711, 744, 744, 965, 965, 998, 932, 899, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, @@ -674,69 +674,69 @@ class Php8 extends \PhpParser\ParserAbstract 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, - 1088, 1088, 33, 20, 224, 1080, 673, 1056, 1062, 1058, - 1063, 1054, 1053, 1057, 1059, 1064, 1109, 1110, 833, 1108, - 1112, 1060, 907, 1055, 1061, 888, 297, 297, 297, 297, + 1088, 1088, 33, 20, 484, 1080, 709, 1056, 1062, 1058, + 1063, 1054, 1053, 1057, 1059, 1064, 1110, 1112, 846, 1109, + 1113, 1060, 907, 1055, 1061, 892, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, - 297, 297, 356, 476, 513, 501, 501, 501, 501, 501, - 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, - 501, 501, 501, 501, 501, 624, 624, 22, 22, 22, + 297, 297, 296, 885, 44, 611, 611, 611, 611, 611, + 611, 611, 611, 611, 611, 611, 611, 611, 611, 611, + 611, 611, 611, 611, 611, 624, 624, 22, 22, 22, 362, 811, 758, 811, 811, 811, 811, 811, 811, 811, 811, 346, 205, 188, 714, 171, 171, 7, 7, 7, 7, 7, 376, 1117, 54, 585, 585, 314, 314, 314, - 314, 365, 554, 83, 435, 397, 556, 477, 463, 532, - 532, 558, 558, 76, 76, 558, 558, 558, 133, 133, - 547, 547, 547, 547, 41, 217, 806, 382, 382, 382, - 382, 806, 806, 806, 806, 795, 996, 806, 806, 806, - 494, 533, 708, 649, 649, 560, -70, -70, 560, 800, - -70, 487, 975, 316, 982, -102, 807, -40, 514, -102, - 1000, 368, 639, 639, 659, 639, 639, 639, 801, 611, - 801, 1052, 836, 836, 794, 776, 894, 1082, 1065, 832, - 1106, 847, 1107, 1083, 489, 488, -16, 13, 74, 772, - 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, - 1051, 1051, 1113, 554, 1052, -3, 1104, 1105, 1113, 1113, - 1113, 554, 554, 554, 554, 554, 554, 554, 554, 799, - 554, 554, 675, -3, 629, 636, -3, 849, 554, 797, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 512, 33, 33, 20, 5, 5, 33, 142, 52, 5, - 5, 5, 337, 5, 33, 33, 33, 611, 828, 813, - 638, -18, 814, 443, 828, 828, 828, 115, 114, 128, - 753, 837, 370, 816, 816, 835, 929, 929, 816, 834, - 816, 835, 816, 816, 929, 929, 810, 929, 202, 506, - 373, 442, 537, 929, 234, 816, 816, 816, 816, 805, - 929, 72, 544, 816, 226, 218, 816, 816, 805, 804, - 824, 808, 929, 929, 929, 805, 389, 808, 808, 808, - 853, 859, 851, 819, 361, 305, 579, 163, 830, 819, - 819, 816, 456, 851, 819, 851, 819, 790, 819, 819, - 819, 851, 819, 834, 383, 819, 736, 574, 127, 819, - 816, 19, 944, 947, 762, 950, 934, 951, 991, 952, - 954, 1070, 925, 967, 935, 955, 999, 933, 930, 831, - 699, 703, 809, 796, 919, 817, 817, 817, 912, 917, - 817, 817, 817, 817, 817, 817, 817, 817, 699, 897, - 860, 820, 976, 705, 707, 1041, 793, 1085, 1114, 975, - 944, 954, 770, 935, 955, 933, 930, 792, 791, 786, - 788, 782, 780, 777, 779, 803, 1043, 958, 789, 712, - 1012, 977, 1084, 1066, 978, 981, 1016, 1044, 861, 1045, - 1086, 838, 1087, 1090, 898, 985, 1071, 817, 911, 852, - 900, 982, 918, 699, 901, 1046, 997, 802, 1018, 1019, - 1069, 821, 844, 902, 1091, 986, 987, 988, 1073, 1074, - 798, 1003, 823, 1021, 839, 850, 1022, 1023, 1030, 1034, - 1075, 1092, 1076, 908, 1077, 866, 845, 931, 846, 1093, - 429, 843, 848, 858, 990, 584, 974, 1078, 1002, 1094, - 1035, 1036, 1039, 1095, 1096, 959, 868, 1007, 840, 1008, - 964, 869, 870, 643, 857, 1047, 841, 842, 855, 646, - 655, 1097, 1098, 1099, 966, 825, 822, 871, 875, 1048, - 829, 1050, 1100, 661, 877, 1101, 1042, 738, 743, 586, - 692, 680, 746, 818, 1079, 812, 854, 815, 989, 743, - 826, 880, 1102, 881, 883, 886, 1040, 887, 1014, 1103, + 314, 350, 515, 497, 435, 397, -40, 638, 477, 706, + 429, 429, 541, 541, 76, 76, 541, 541, 541, 133, + 133, 370, 370, 370, 370, 83, -71, 808, 489, 489, + 489, 489, 808, 808, 808, 808, 795, 862, 808, 808, + 808, 510, 521, 708, 645, 645, 613, -70, -70, 613, + 391, -70, 320, 975, 316, 982, 94, 807, 275, 595, + 94, 1000, 368, 561, 561, 639, 561, 561, 561, 816, + 606, 816, 1052, 842, 842, 825, 779, 898, 1082, 1065, + 868, 1107, 869, 1108, 1083, 299, 546, 10, 13, 74, + 776, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1051, 1051, 1051, 809, 515, 1052, -3, 1105, 1106, 809, + 809, 809, 515, 515, 515, 515, 515, 515, 515, 515, + 826, 515, 515, 633, -3, 625, 629, -3, 850, 515, + 796, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, -18, 33, 33, 20, 5, 5, 33, 202, + 37, 5, 5, 5, 487, 5, 33, 33, 33, 606, + 754, 789, 622, 278, 813, 217, 754, 754, 754, 115, + 114, 128, 740, 768, 563, 832, 832, 832, 853, 929, + 929, 832, 852, 832, 853, 832, 832, 929, 929, 790, + 929, 163, 506, 389, 480, 535, 929, 294, 832, 832, + 832, 832, 805, 929, 113, 556, 832, 218, 192, 832, + 832, 805, 804, 833, 806, 929, 929, 929, 805, 470, + 806, 806, 806, 820, 822, 828, 831, 359, 345, 577, + 147, 872, 831, 831, 832, 502, 828, 831, 828, 831, + 814, 831, 831, 831, 828, 831, 852, 456, 831, 771, + 574, 127, 831, 832, 19, 944, 947, 766, 950, 934, + 951, 991, 952, 954, 1070, 925, 967, 935, 955, 999, + 933, 930, 845, 736, 738, 797, 791, 919, 817, 817, + 817, 912, 917, 817, 817, 817, 817, 817, 817, 817, + 817, 736, 834, 821, 829, 976, 746, 749, 1041, 793, + 1086, 802, 975, 944, 954, 774, 935, 955, 933, 930, + 824, 819, 799, 803, 794, 792, 786, 788, 827, 1043, + 958, 801, 770, 1012, 977, 1085, 1066, 978, 981, 1016, + 1044, 830, 1045, 1087, 839, 1090, 1091, 867, 985, 1071, + 817, 911, 897, 900, 982, 918, 736, 901, 1046, 997, + 810, 1018, 1019, 1069, 864, 838, 902, 1092, 986, 987, + 988, 1073, 1074, 815, 1003, 823, 1021, 865, 1002, 1022, + 1023, 1030, 1034, 1075, 1093, 1076, 908, 1077, 854, 847, + 931, 851, 1094, 509, 848, 849, 871, 990, 584, 974, + 1078, 1084, 1095, 1035, 1036, 1039, 1096, 1097, 959, 859, + 1007, 837, 1008, 964, 861, 866, 592, 870, 1047, 773, + 843, 855, 654, 659, 1098, 1099, 1100, 966, 835, 840, + 875, 877, 1048, 764, 1050, 1101, 694, 880, 1102, 1042, + 772, 777, 586, 636, 593, 780, 844, 1079, 812, 818, + 863, 989, 777, 841, 881, 1103, 883, 886, 887, 1040, + 888, 1014, 1104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 468, 468, 468, 468, 468, 468, - 313, 313, 313, 313, 313, 468, 468, 468, 468, 468, - 468, 468, 313, 468, 468, 468, 313, 0, 0, 313, - 0, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 0, 0, 0, 0, 0, 0, 0, 468, 468, 468, + 468, 468, 468, 313, 313, 313, 313, 313, 468, 468, + 468, 468, 468, 468, 468, 313, 468, 468, 468, 313, + 0, 0, 313, 0, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, @@ -749,44 +749,44 @@ class Php8 extends \PhpParser\ParserAbstract 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, - 468, 468, 468, 468, 468, 297, 297, 297, 297, 297, + 468, 468, 468, 468, 468, 468, 468, 468, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, - 297, 297, 297, 297, 297, 297, 297, 297, 297, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 297, 297, 297, 297, 297, + 0, 0, 0, 0, 0, 0, 0, 0, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, - 297, 297, 297, 297, 297, 297, 297, 297, 524, 524, - 297, 297, 297, 297, 524, 524, 524, 524, 524, 524, - 524, 524, 524, 524, 297, 297, 297, 0, 297, 297, - 297, 297, 297, 297, 297, 810, 524, 524, 524, 524, - 133, 133, 133, 133, -95, -95, -95, 524, 524, 133, - 524, 810, 524, 524, 524, 524, 524, 524, 524, 524, - 524, 0, 0, 524, 524, 524, 524, -3, -70, 524, - 834, 834, 834, 834, 524, 524, 524, 524, -70, -70, - 524, 524, 524, 0, 0, 0, 133, 133, -3, 0, - 0, -3, 391, 0, 834, 206, 834, 206, 524, 391, - 810, 374, 524, 489, 0, 0, 0, 0, 0, 0, - 0, -3, 834, -3, 554, -70, -70, 554, 554, 5, - 33, 374, 612, 612, 612, 612, 33, 0, 0, 0, - 0, 0, 611, 810, 810, 810, 810, 810, 810, 810, - 810, 810, 810, 810, 810, 834, 0, 810, 0, 810, - 810, 834, 834, 834, 0, 0, 0, 0, 0, 0, - 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, - 834, 0, 929, 0, 0, 0, 0, 0, 0, 0, + 297, 524, 524, 297, 297, 297, 297, 524, 524, 524, + 524, 524, 524, 524, 524, 524, 524, 297, 297, 297, + 0, 297, 297, 297, 297, 297, 297, 297, 790, 524, + 524, 524, 524, 133, 133, 133, 133, -95, -95, -95, + 524, 524, 391, 133, 524, 391, 524, 524, 524, 524, + 524, 524, 524, 524, 524, 0, 0, 524, 524, 524, + 524, -3, -70, 524, 852, 852, 852, 852, 524, 524, + 524, 524, -70, -70, 524, 524, 524, 0, 0, 0, + 133, 133, -3, 0, 0, -3, 0, 0, 852, 206, + 852, 206, 524, 391, 790, 442, 524, 299, 0, 0, + 0, 0, 0, 0, 0, -3, 852, -3, 515, -70, + -70, 515, 515, 5, 33, 442, 616, 616, 616, 616, + 33, 0, 0, 0, 0, 0, 606, 790, 790, 790, + 790, 790, 790, 790, 790, 790, 790, 790, 790, 852, + 0, 790, 0, 790, 790, 852, 852, 852, 0, 0, + 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, + 0, 0, 0, 0, 852, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 834, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 817, 821, 0, 0, 821, 0, 817, 817, 817, - 0, 0, 0, 857, 829 + 0, 0, 0, 0, 0, 0, 852, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 817, 864, 0, 0, + 864, 0, 817, 817, 817, 0, 0, 0, 870, 764 ); protected array $actionDefault = array( 3,32767, 102,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 100,32767, 618, 618, - 618, 618,32767,32767, 255, 102,32767,32767, 489, 406, - 406, 406,32767,32767, 562, 562, 562, 562, 562,32767, - 32767,32767,32767,32767,32767, 489,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 100,32767, 619, 619, + 619, 619,32767,32767, 256, 102,32767,32767, 490, 407, + 407, 407,32767,32767, 563, 563, 563, 563, 563,32767, + 32767,32767,32767,32767,32767, 490,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, @@ -794,133 +794,143 @@ class Php8 extends \PhpParser\ParserAbstract 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767, 36, 7, 8, 10, - 11, 49, 17, 328, 100,32767,32767,32767,32767,32767, + 11, 49, 17, 329, 100,32767,32767,32767,32767,32767, 32767,32767,32767, 102,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 393, 611,32767,32767,32767, + 32767,32767,32767,32767,32767, 394, 612,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 493, 472, 473, 475, - 476, 405, 563, 617, 331, 614, 333, 404, 145, 343, - 334, 243, 259, 494, 260, 495, 498, 499, 216, 390, - 149, 150, 436, 490, 438, 488, 492, 437, 411, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 409, 410, 491,32767,32767, 469, 468, 467, - 434,32767,32767,32767,32767,32767,32767,32767,32767, 102, - 32767, 435, 439, 442, 408, 440, 441, 458, 459, 456, - 457, 460,32767,32767, 320,32767,32767, 461, 462, 463, - 464, 371, 195, 369,32767,32767, 443, 320, 111,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 449, 450, + 32767,32767,32767,32767,32767,32767, 494, 473, 474, 476, + 477, 406, 564, 618, 332, 615, 334, 405, 146, 344, + 335, 244, 260, 495, 261, 496, 499, 500, 217, 391, + 150, 151, 437, 491, 439, 489, 493, 438, 412, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 410, 411, 492,32767,32767, 470, 469, 468, + 435,32767,32767,32767,32767,32767,32767,32767,32767, 102, + 32767, 436, 440, 443, 409, 441, 442, 459, 460, 457, + 458, 461,32767,32767, 321,32767,32767, 462, 463, 464, + 465, 372, 196, 370,32767,32767, 111, 444, 321, 111, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 450, + 451,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 102,32767, + 100, 507, 557, 467, 445, 446,32767, 532,32767, 102, + 32767, 534,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767, 559, 432, 434, 527, 613, 413, 616,32767, + 520, 100, 196,32767, 533, 196, 196,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 558,32767, 626, + 520, 110, 110, 110, 110, 110, 110, 110, 110, 110, + 110, 110, 110,32767, 196, 110,32767, 110, 110,32767, + 32767, 100, 196, 196, 196, 196, 196, 196, 196, 196, + 535, 196, 196, 191,32767, 270, 272, 102, 581, 196, + 537,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 102,32767, 100, - 506, 556, 466, 444, 445,32767, 531,32767, 102,32767, - 533,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 558, 431, 433, 526, 612, 412, 615,32767, 519, - 100, 195,32767, 532, 195, 195,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 557,32767, 625, 519, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110,32767, 195, 110,32767, 110, 110,32767,32767, - 100, 195, 195, 195, 195, 195, 195, 195, 195, 534, - 195, 195, 190,32767, 269, 271, 102, 580, 195, 536, + 32767,32767,32767,32767, 394,32767,32767,32767,32767, 520, + 455, 139,32767, 522, 139, 565, 447, 448, 449, 565, + 565, 565, 317, 294,32767,32767,32767,32767,32767, 535, + 535, 100, 100, 100, 100,32767,32767,32767,32767, 111, + 506, 99, 99, 99, 99, 99, 103, 101,32767,32767, + 32767,32767, 225,32767, 101, 99,32767, 101, 101,32767, + 32767, 225, 227, 214, 229,32767, 585, 586, 225, 101, + 229, 229, 229, 249, 249, 509, 323, 101, 99, 101, + 101, 198, 323, 323,32767, 101, 509, 323, 509, 323, + 200, 323, 323, 323, 509, 323,32767, 101, 323, 216, + 99, 99, 323,32767,32767,32767,32767, 522,32767,32767, + 32767,32767,32767,32767,32767, 224,32767,32767,32767,32767, + 32767,32767,32767,32767, 552,32767, 570, 583, 453, 454, + 456, 569, 567, 478, 479, 480, 481, 482, 483, 484, + 486, 614,32767, 526,32767,32767,32767, 343,32767, 624, + 32767,32767,32767, 9, 74, 515, 42, 43, 51, 57, + 541, 542, 543, 544, 538, 539, 545, 540,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767, 625,32767, 565,32767,32767,32767,32767, + 452, 547, 591,32767,32767, 566, 617,32767,32767,32767, + 32767,32767,32767,32767, 139,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767, 552,32767, 137,32767,32767, + 32767,32767,32767,32767,32767,32767, 548,32767,32767,32767, + 565,32767,32767,32767,32767, 319, 316,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 393,32767,32767,32767,32767, 519, 454, 138, - 32767, 521, 138, 564, 446, 447, 448, 564, 564, 564, - 316, 293,32767,32767,32767,32767, 534, 534, 100, 100, - 100, 100,32767,32767,32767,32767, 111, 505, 99, 99, - 99, 99, 99, 103, 101,32767,32767,32767,32767, 224, - 32767, 101, 99,32767, 101, 101,32767,32767, 224, 226, - 213, 228,32767, 584, 585, 224, 101, 228, 228, 228, - 248, 248, 508, 322, 101, 99, 101, 101, 197, 322, - 322,32767, 101, 508, 322, 508, 322, 199, 322, 322, - 322, 508, 322,32767, 101, 322, 215, 99, 99, 322, - 32767,32767,32767,32767, 521,32767,32767,32767,32767,32767, - 32767,32767, 223,32767,32767,32767,32767,32767,32767,32767, - 32767, 551,32767, 569, 582, 452, 453, 455, 568, 566, - 477, 478, 479, 480, 481, 482, 483, 485, 613,32767, - 525,32767,32767,32767, 342,32767, 623,32767,32767,32767, - 9, 74, 514, 42, 43, 51, 57, 540, 541, 542, - 543, 537, 538, 544, 539,32767,32767,32767,32767,32767, + 32767,32767,32767, 565,32767,32767,32767,32767,32767, 296, + 32767, 313,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 624,32767, 564,32767,32767,32767,32767, 451, 546, 590, - 32767,32767, 565, 616,32767,32767,32767,32767,32767,32767, - 32767, 138,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 551,32767, 136,32767,32767,32767,32767,32767, - 32767,32767,32767, 547,32767,32767,32767, 564,32767,32767, - 32767,32767, 318, 315,32767,32767,32767,32767,32767,32767, + 390, 522, 299, 301, 302,32767,32767,32767,32767, 366, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 564,32767,32767,32767,32767,32767, 295,32767, 312,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 389, 521, 298, - 300, 301,32767,32767,32767,32767, 365,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 152, 152, 3, 3, 345, 152, 152, 152, 345, 345, - 152, 345, 345, 345, 152, 152, 152, 152, 152, 152, - 152, 281, 185, 263, 266, 248, 248, 152, 357, 152, - 391, 391, 400 + 32767,32767,32767, 153, 153, 3, 3, 346, 153, 153, + 153, 346, 346, 153, 346, 346, 346, 153, 153, 153, + 153, 153, 153, 153, 282, 186, 264, 267, 249, 249, + 153, 358, 153, 392, 392, 401 ); protected array $goto = array( - 194, 194, 1052, 487, 705, 278, 278, 278, 278, 990, - 489, 548, 548, 907, 865, 907, 907, 548, 714, 548, - 548, 548, 548, 548, 548, 548, 548, 166, 166, 166, + 194, 194, 1056, 490, 708, 279, 276, 279, 279, 994, + 492, 551, 551, 911, 868, 911, 911, 551, 717, 551, + 551, 551, 551, 551, 551, 551, 551, 166, 166, 166, 166, 218, 195, 191, 191, 176, 178, 213, 191, 191, 191, 191, 191, 192, 192, 192, 192, 192, 186, 187, - 188, 189, 190, 215, 213, 216, 545, 546, 428, 547, - 550, 551, 552, 553, 554, 555, 556, 557, 1169, 167, + 188, 189, 190, 215, 213, 216, 548, 549, 430, 550, + 553, 554, 555, 556, 557, 558, 559, 560, 1173, 167, 168, 169, 193, 170, 171, 172, 164, 173, 174, 175, 177, 212, 214, 217, 237, 240, 251, 252, 253, 255, 256, 257, 258, 259, 260, 261, 267, 268, 269, 270, - 276, 288, 289, 313, 314, 434, 435, 436, 607, 219, + 277, 289, 290, 314, 315, 436, 437, 438, 610, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 186, 187, 188, 189, 190, - 215, 1169, 196, 197, 198, 199, 238, 179, 180, 200, + 215, 1173, 196, 197, 198, 199, 238, 179, 180, 200, 181, 201, 197, 182, 239, 196, 163, 202, 203, 183, 204, 205, 206, 184, 207, 208, 165, 209, 210, 211, - 185, 869, 560, 1083, 560, 560, 592, 1100, 475, 475, - 744, 646, 648, 609, 560, 668, 432, 475, 621, 692, - 695, 1025, 703, 712, 1021, 719, 558, 558, 558, 558, - 470, 613, 866, 663, 664, 463, 681, 682, 683, 1218, - 984, 984, 984, 984, 247, 247, 463, 978, 985, 355, - 355, 355, 355, 867, 923, 918, 919, 932, 875, 920, - 872, 921, 922, 873, 350, 926, 879, 1126, 1154, 1127, - 878, 245, 245, 245, 245, 242, 248, 841, 1106, 1102, - 1103, 438, 670, 402, 405, 610, 614, 433, 336, 332, - 333, 335, 602, 437, 337, 439, 647, 426, 1273, 1052, - 1273, 1273, 342, 900, 456, 456, 348, 456, 456, 1052, - 1273, 882, 1052, 520, 1052, 1052, 1052, 1052, 1052, 1052, - 1052, 1052, 1052, 343, 342, 1052, 1052, 1052, 1052, 894, - 465, 1273, 881, 508, 599, 509, 1273, 1273, 1273, 1273, - 358, 515, 1273, 1273, 1273, 1354, 1354, 1354, 1354, 862, - 358, 358, 1372, 1372, 630, 667, 895, 883, 1088, 1092, - 940, 358, 358, 1362, 941, 358, 1011, 1372, 1389, 993, - 956, 447, 956, 619, 633, 636, 637, 638, 639, 660, - 661, 662, 716, 718, 564, 569, 562, 358, 358, 1375, - 1375, 400, 983, 1055, 1055, 690, 967, 597, 862, 1047, - 1063, 1064, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 456, 456, 1138, 899, 456, 669, 456, 456, - 1058, 1057, 322, 562, 569, 594, 595, 324, 605, 611, - 1166, 626, 627, 1028, 1028, 1061, 1062, 632, 632, 25, - 320, 306, 1334, 1304, 1304, 1304, 1304, 1304, 1304, 1304, - 1304, 1304, 1304, 702, 1349, 1350, 1014, 843, 5, 986, - 6, 743, 445, 422, 561, 1023, 1018, 1076, 1345, 702, - 1345, 1345, 702, 603, 624, 1323, 1323, 691, 250, 250, - 1345, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, - 1323, 563, 589, 927, 564, 928, 563, 675, 589, 859, - 403, 469, 1356, 1356, 1356, 1356, 338, 887, 271, 319, - 625, 319, 319, 478, 606, 479, 480, 973, 351, 352, - 409, 892, 1320, 1320, 1380, 1381, 1341, 862, 1320, 1320, - 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 982, 417, - 713, 1268, 1264, 414, 415, 1033, 884, 440, 679, 890, - 680, 1149, 419, 420, 421, 1089, 693, 847, 1266, 423, - 440, 747, 1043, 346, 485, 1093, 1059, 1059, 330, 484, - 1347, 1348, 1140, 674, 1070, 1066, 1067, 1091, 896, 995, - 549, 549, 377, 1343, 1343, 1091, 549, 549, 549, 549, - 549, 549, 549, 549, 549, 549, 1269, 1270, 0, 1256, - 0, 847, 0, 847, 615, 857, 0, 945, 1156, 640, - 642, 644, 1256, 0, 0, 0, 0, 608, 1119, 1030, - 0, 0, 752, 752, 1271, 1331, 1332, 886, 717, 673, - 1009, 0, 0, 516, 708, 880, 1117, 1249, 959, 0, - 0, 0, 1250, 1253, 960, 0, 1254, 1263 + 185, 872, 563, 1087, 563, 563, 869, 1104, 1376, 1376, + 478, 478, 595, 473, 563, 612, 747, 649, 651, 478, + 351, 671, 1222, 1376, 870, 695, 698, 1029, 706, 715, + 1025, 722, 1059, 1059, 693, 971, 466, 844, 1051, 1067, + 1068, 988, 988, 988, 988, 1379, 1379, 466, 982, 989, + 356, 356, 356, 356, 927, 922, 923, 936, 878, 924, + 875, 925, 926, 876, 879, 1018, 930, 883, 990, 428, + 746, 882, 343, 564, 1027, 1022, 440, 673, 904, 1110, + 1106, 1107, 435, 337, 333, 334, 336, 605, 439, 338, + 441, 650, 602, 344, 343, 611, 1123, 349, 1277, 1056, + 1277, 1277, 633, 670, 459, 459, 720, 459, 459, 1056, + 1277, 519, 711, 1056, 1121, 1056, 1056, 1056, 1056, 1056, + 1056, 1056, 1056, 1056, 850, 523, 1056, 1056, 1056, 1056, + 666, 667, 1277, 684, 685, 686, 1366, 1277, 1277, 1277, + 1277, 359, 1015, 1277, 1277, 1277, 1358, 1358, 1358, 1358, + 672, 359, 359, 403, 406, 613, 617, 468, 1062, 1061, + 468, 944, 359, 359, 401, 945, 359, 600, 850, 1393, + 850, 960, 1170, 960, 622, 636, 639, 640, 641, 642, + 663, 664, 665, 719, 721, 567, 1253, 963, 359, 359, + 1080, 1254, 1257, 964, 865, 1258, 678, 865, 572, 565, + 931, 450, 932, 459, 459, 459, 459, 459, 459, 459, + 459, 459, 459, 459, 459, 635, 635, 459, 448, 459, + 459, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, + 1308, 1130, 1158, 1131, 694, 323, 565, 572, 597, 598, + 325, 608, 614, 1338, 629, 630, 865, 1327, 1327, 487, + 1351, 1352, 25, 1327, 1327, 1327, 1327, 1327, 1327, 1327, + 1327, 1327, 1327, 1065, 1066, 424, 561, 561, 561, 561, + 1349, 616, 1349, 1349, 352, 353, 339, 1324, 1324, 643, + 645, 647, 1349, 1324, 1324, 1324, 1324, 1324, 1324, 1324, + 1324, 1324, 1324, 566, 592, 566, 434, 567, 624, 566, + 862, 592, 886, 404, 472, 1360, 1360, 1360, 1360, 271, + 320, 628, 320, 320, 247, 247, 481, 609, 482, 483, + 898, 321, 307, 885, 896, 552, 552, 1384, 1385, 1345, + 891, 552, 552, 552, 552, 552, 552, 552, 552, 552, + 552, 245, 245, 245, 245, 242, 248, 1272, 977, 416, + 417, 705, 894, 410, 682, 846, 683, 1268, 421, 422, + 423, 1270, 696, 888, 511, 425, 512, 705, 1153, 347, + 705, 331, 518, 1037, 5, 618, 6, 865, 949, 1160, + 1095, 899, 887, 1092, 1096, 750, 1347, 1347, 1095, 1093, + 1034, 986, 419, 716, 997, 1353, 1354, 1047, 890, 488, + 676, 1013, 606, 627, 1273, 1274, 884, 1260, 442, 411, + 900, 999, 378, 860, 0, 1097, 0, 987, 1267, 1144, + 1260, 0, 442, 0, 755, 755, 0, 0, 1063, 1063, + 0, 0, 1275, 1335, 1336, 677, 1074, 1070, 1071, 1142, + 903, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1032, 1032, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 250, 250 ); protected array $gotoCheck = array( @@ -940,97 +950,107 @@ 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, 15, 19, 128, 19, 19, 48, 15, 154, 154, - 48, 48, 48, 131, 19, 48, 13, 154, 13, 48, - 48, 48, 48, 48, 48, 48, 107, 107, 107, 107, - 156, 107, 26, 86, 86, 19, 86, 86, 86, 156, - 19, 19, 19, 19, 5, 5, 19, 19, 19, 24, - 24, 24, 24, 27, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 97, 15, 15, 146, 146, 146, - 15, 5, 5, 5, 5, 5, 5, 6, 15, 15, - 15, 66, 66, 59, 59, 59, 59, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 43, 73, 73, - 73, 73, 174, 45, 23, 23, 185, 23, 23, 73, - 73, 35, 73, 76, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 174, 174, 73, 73, 73, 73, 35, - 83, 73, 35, 160, 178, 160, 73, 73, 73, 73, - 14, 160, 73, 73, 73, 9, 9, 9, 9, 22, - 14, 14, 188, 188, 56, 56, 16, 16, 16, 16, - 73, 14, 14, 187, 73, 14, 103, 188, 14, 16, - 9, 83, 9, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 14, 76, 76, 14, 14, 188, - 188, 62, 16, 89, 89, 89, 89, 104, 22, 89, - 89, 89, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 16, 16, 23, 64, 23, 23, - 119, 119, 76, 76, 76, 76, 76, 76, 76, 76, - 155, 76, 76, 107, 107, 120, 120, 108, 108, 76, - 175, 175, 14, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 7, 184, 184, 50, 7, 46, 50, - 46, 50, 113, 14, 50, 50, 50, 115, 131, 7, - 131, 131, 7, 2, 2, 176, 176, 117, 5, 5, - 131, 176, 176, 176, 176, 176, 176, 176, 176, 176, - 176, 9, 9, 65, 14, 65, 9, 121, 9, 18, - 9, 9, 131, 131, 131, 131, 29, 39, 24, 24, - 80, 24, 24, 9, 9, 9, 9, 92, 97, 97, - 28, 9, 177, 177, 9, 9, 131, 22, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 93, 93, - 93, 20, 166, 82, 82, 110, 37, 118, 82, 9, - 82, 153, 82, 82, 82, 130, 82, 12, 14, 82, - 118, 99, 114, 82, 157, 133, 118, 118, 9, 182, - 182, 182, 149, 118, 118, 118, 118, 131, 41, 96, - 179, 179, 138, 131, 131, 131, 179, 179, 179, 179, - 179, 179, 179, 179, 179, 179, 20, 20, -1, 20, - -1, 12, -1, 12, 17, 20, -1, 17, 17, 85, - 85, 85, 20, -1, -1, -1, -1, 8, 8, 17, - -1, -1, 24, 24, 20, 20, 20, 17, 8, 17, - 17, -1, -1, 8, 8, 17, 8, 79, 79, -1, - -1, -1, 79, 79, 79, -1, 79, 17 + 42, 15, 19, 128, 19, 19, 26, 15, 188, 188, + 154, 154, 48, 156, 19, 131, 48, 48, 48, 154, + 97, 48, 156, 188, 27, 48, 48, 48, 48, 48, + 48, 48, 89, 89, 89, 89, 19, 6, 89, 89, + 89, 19, 19, 19, 19, 188, 188, 19, 19, 19, + 24, 24, 24, 24, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 50, 15, 15, 50, 43, + 50, 15, 174, 50, 50, 50, 66, 66, 45, 15, + 15, 15, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 178, 174, 174, 8, 8, 185, 73, 73, + 73, 73, 56, 56, 23, 23, 8, 23, 23, 73, + 73, 8, 8, 73, 8, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 12, 76, 73, 73, 73, 73, + 86, 86, 73, 86, 86, 86, 187, 73, 73, 73, + 73, 14, 103, 73, 73, 73, 9, 9, 9, 9, + 64, 14, 14, 59, 59, 59, 59, 83, 119, 119, + 83, 73, 14, 14, 62, 73, 14, 104, 12, 14, + 12, 9, 155, 9, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 14, 79, 79, 14, 14, + 115, 79, 79, 79, 22, 79, 121, 22, 76, 76, + 65, 83, 65, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 108, 108, 23, 113, 23, + 23, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 146, 146, 146, 117, 76, 76, 76, 76, 76, + 76, 76, 76, 14, 76, 76, 22, 176, 176, 182, + 182, 182, 76, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 120, 120, 14, 107, 107, 107, 107, + 131, 107, 131, 131, 97, 97, 29, 177, 177, 85, + 85, 85, 131, 177, 177, 177, 177, 177, 177, 177, + 177, 177, 177, 9, 9, 9, 13, 14, 13, 9, + 18, 9, 35, 9, 9, 131, 131, 131, 131, 24, + 24, 80, 24, 24, 5, 5, 9, 9, 9, 9, + 35, 175, 175, 35, 9, 179, 179, 9, 9, 131, + 39, 179, 179, 179, 179, 179, 179, 179, 179, 179, + 179, 5, 5, 5, 5, 5, 5, 20, 92, 82, + 82, 7, 9, 28, 82, 7, 82, 166, 82, 82, + 82, 14, 82, 37, 160, 82, 160, 7, 153, 82, + 7, 9, 160, 110, 46, 17, 46, 22, 17, 17, + 131, 16, 16, 16, 16, 99, 131, 131, 131, 130, + 17, 93, 93, 93, 16, 184, 184, 114, 17, 157, + 17, 17, 2, 2, 20, 20, 17, 20, 118, 31, + 41, 96, 138, 20, -1, 133, -1, 16, 17, 149, + 20, -1, 118, -1, 24, 24, -1, -1, 118, 118, + -1, -1, 20, 20, 20, 118, 118, 118, 118, 16, + 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 107, 107, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 5, 5 ); protected array $gotoBase = array( - 0, 0, -289, 0, 0, 203, 227, 406, 569, 8, - 0, 0, 223, -162, 5, -186, -143, 93, 152, -101, - 102, 0, 31, 2, 206, 10, 188, 209, 142, 172, - 0, 0, 0, 0, 0, -104, 0, 166, 0, 149, - 0, 90, -1, 234, 0, 237, -329, 0, -555, -9, - 404, 0, 0, 0, 0, 0, 274, 0, 0, 198, - 0, 0, 309, 0, 141, 439, 6, 0, 0, 0, - 0, 0, 0, -5, 0, 0, 1, 0, 0, 183, - 146, -28, 4, 12, -475, 82, -535, 0, 0, 74, - 0, 0, 151, 196, 0, 0, 89, -267, 0, 108, - 0, 0, 0, 291, 314, 0, 0, 158, 162, 0, - 131, 0, 0, 145, 100, 153, 0, 156, 243, 101, - 112, 167, 0, 0, 0, 0, 0, 0, 161, 0, - 135, 165, 0, 76, 0, 0, 0, 0, -209, 0, - 0, 0, 0, 0, 0, 0, -44, 0, 0, 81, - 0, 0, 0, 157, 134, 148, -76, 77, 0, 0, - -210, 0, -224, 0, 0, 0, 129, 0, 0, 0, - 0, 0, 0, 0, -33, 84, 200, 247, 265, 305, - 0, 0, 231, 0, 36, 236, 0, 292, 7, 0, + 0, 0, -163, 0, 0, 473, 187, 504, 247, 8, + 0, 0, -11, 117, 5, -187, 79, 61, 152, -101, + 107, 0, 78, 2, 207, 10, 162, 180, 174, 141, + 0, 122, 0, 0, 0, 86, 0, 182, 0, 171, + 0, 119, -1, 206, 0, 212, -216, 0, -552, -9, + 213, 0, 0, 0, 0, 0, 222, 0, 0, 268, + 0, 0, 282, 0, 74, 346, 1, 0, 0, 0, + 0, 0, 0, -5, 0, 0, 13, 0, 0, -70, + 146, -28, 7, 41, -478, -51, -441, 0, 0, -88, + 0, 0, 181, 248, 0, 0, 118, -314, 0, 130, + 0, 0, 0, 267, 284, 0, 0, 398, 140, 0, + 158, 0, 0, 100, 133, 76, 0, 112, 304, 38, + 139, 65, 0, 0, 0, 0, 0, 0, 161, 0, + 168, 167, 0, 123, 0, 0, 0, 0, -182, 0, + 0, 0, 0, 0, 0, 0, 120, 0, 0, 125, + 0, 0, 0, 173, 136, 90, -93, 109, 0, 0, + 18, 0, -224, 0, 0, 0, 143, 0, 0, 0, + 0, 0, 0, 0, -64, 164, 172, 202, 223, 250, + 0, 0, 110, 0, 176, 227, 0, 265, -138, 0, 0 ); protected array $gotoDefault = array( - -32768, 521, 754, 4, 755, 949, 830, 839, 585, 539, - 715, 347, 634, 429, 1339, 925, 1155, 604, 858, 1282, - 1288, 464, 861, 327, 741, 937, 908, 909, 406, 393, - 874, 404, 658, 635, 502, 893, 460, 885, 494, 888, - 459, 897, 162, 425, 518, 901, 3, 904, 567, 935, - 988, 394, 912, 395, 686, 914, 588, 916, 917, 401, - 407, 408, 1160, 596, 631, 929, 254, 590, 930, 392, - 931, 939, 397, 399, 696, 474, 513, 507, 418, 1121, - 591, 618, 655, 453, 481, 629, 641, 628, 488, 441, - 424, 326, 972, 980, 495, 472, 994, 349, 1002, 749, - 1168, 649, 497, 1010, 650, 1017, 1020, 540, 541, 486, - 1032, 264, 1035, 498, 1044, 23, 676, 1049, 1050, 677, - 651, 1072, 652, 678, 653, 1074, 471, 586, 1082, 461, - 1090, 1328, 462, 1094, 262, 1097, 277, 353, 376, 442, - 1104, 1105, 9, 1111, 706, 707, 19, 273, 517, 1139, - 697, 1145, 272, 1148, 458, 1167, 457, 1237, 1239, 568, - 499, 1257, 310, 1260, 689, 514, 1265, 454, 1330, 455, - 542, 482, 334, 543, 1373, 305, 356, 331, 559, 311, - 357, 544, 483, 1336, 1344, 328, 31, 1363, 1374, 601, - 623 + -32768, 524, 757, 4, 758, 953, 833, 842, 588, 542, + 718, 348, 637, 431, 1343, 929, 1159, 607, 861, 1286, + 1292, 467, 864, 328, 744, 941, 912, 913, 407, 394, + 877, 405, 661, 638, 505, 897, 463, 889, 497, 892, + 462, 901, 162, 427, 521, 905, 3, 908, 570, 939, + 992, 395, 916, 396, 689, 918, 591, 920, 921, 402, + 408, 409, 1164, 599, 634, 933, 254, 593, 934, 393, + 935, 943, 398, 400, 699, 477, 516, 510, 420, 1125, + 594, 621, 658, 456, 484, 632, 644, 631, 491, 443, + 426, 327, 976, 984, 498, 475, 998, 350, 1006, 752, + 1172, 652, 500, 1014, 653, 1021, 1024, 543, 544, 489, + 1036, 264, 1039, 501, 1048, 23, 679, 1053, 1054, 680, + 654, 1076, 655, 681, 656, 1078, 474, 589, 1086, 464, + 1094, 1332, 465, 1098, 262, 1101, 278, 354, 377, 444, + 1108, 1109, 9, 1115, 709, 710, 19, 273, 520, 1143, + 700, 1149, 272, 1152, 461, 1171, 460, 1241, 1243, 571, + 502, 1261, 311, 1264, 692, 517, 1269, 457, 1334, 458, + 545, 485, 335, 546, 1377, 306, 357, 332, 562, 312, + 358, 547, 486, 1340, 1348, 329, 31, 1367, 1378, 604, + 626 ); protected array $ruleToNonTerminal = array( @@ -1046,35 +1066,35 @@ class Php8 extends \PhpParser\ParserAbstract 11, 11, 12, 12, 13, 13, 14, 15, 15, 16, 16, 17, 17, 18, 18, 21, 21, 22, 23, 23, 24, 24, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 29, 29, 30, 30, 32, 34, 34, - 28, 36, 36, 33, 38, 38, 35, 35, 37, 37, - 39, 39, 31, 40, 40, 41, 43, 44, 44, 45, - 45, 46, 46, 48, 47, 47, 47, 47, 49, 49, + 4, 4, 4, 4, 29, 29, 30, 30, 32, 34, + 34, 28, 36, 36, 33, 38, 38, 35, 35, 37, + 37, 39, 39, 31, 40, 40, 41, 43, 44, 44, + 45, 45, 46, 46, 48, 47, 47, 47, 47, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - 49, 49, 25, 25, 50, 69, 69, 72, 72, 71, - 70, 70, 63, 75, 75, 76, 76, 77, 77, 78, - 78, 79, 79, 80, 80, 80, 26, 26, 27, 27, - 27, 27, 27, 88, 88, 90, 90, 83, 83, 91, - 91, 92, 92, 92, 84, 84, 87, 87, 85, 85, - 93, 94, 94, 57, 57, 65, 65, 68, 68, 68, - 67, 95, 95, 96, 58, 58, 58, 58, 97, 97, - 98, 98, 99, 99, 100, 101, 101, 102, 102, 103, - 103, 55, 55, 51, 51, 105, 53, 53, 106, 52, - 52, 54, 54, 64, 64, 64, 64, 81, 81, 109, - 109, 111, 111, 112, 112, 112, 112, 112, 112, 112, - 110, 110, 110, 115, 115, 115, 115, 89, 89, 118, - 118, 118, 119, 119, 116, 116, 120, 120, 122, 122, - 123, 123, 117, 124, 124, 121, 125, 125, 125, 125, - 113, 113, 82, 82, 82, 20, 20, 20, 127, 126, - 126, 128, 128, 128, 128, 60, 129, 129, 130, 61, - 132, 132, 133, 133, 134, 134, 86, 135, 135, 135, - 135, 135, 135, 135, 135, 141, 141, 142, 142, 143, - 143, 143, 143, 143, 144, 145, 145, 140, 140, 136, - 136, 139, 139, 147, 147, 146, 146, 146, 146, 146, - 146, 146, 146, 146, 146, 137, 148, 148, 150, 149, - 149, 138, 138, 114, 114, 151, 151, 153, 153, 153, - 152, 152, 62, 104, 154, 154, 56, 56, 42, 42, + 49, 49, 49, 25, 25, 50, 69, 69, 72, 72, + 71, 70, 70, 63, 75, 75, 76, 76, 77, 77, + 78, 78, 79, 79, 80, 80, 80, 26, 26, 27, + 27, 27, 27, 27, 88, 88, 90, 90, 83, 83, + 91, 91, 92, 92, 92, 84, 84, 87, 87, 85, + 85, 93, 94, 94, 57, 57, 65, 65, 68, 68, + 68, 67, 95, 95, 96, 58, 58, 58, 58, 97, + 97, 98, 98, 99, 99, 100, 101, 101, 102, 102, + 103, 103, 55, 55, 51, 51, 105, 53, 53, 106, + 52, 52, 54, 54, 64, 64, 64, 64, 81, 81, + 109, 109, 111, 111, 112, 112, 112, 112, 112, 112, + 112, 110, 110, 110, 115, 115, 115, 115, 89, 89, + 118, 118, 118, 119, 119, 116, 116, 120, 120, 122, + 122, 123, 123, 117, 124, 124, 121, 125, 125, 125, + 125, 113, 113, 82, 82, 82, 20, 20, 20, 127, + 126, 126, 128, 128, 128, 128, 60, 129, 129, 130, + 61, 132, 132, 133, 133, 134, 134, 86, 135, 135, + 135, 135, 135, 135, 135, 135, 141, 141, 142, 142, + 143, 143, 143, 143, 143, 144, 145, 145, 140, 140, + 136, 136, 139, 139, 147, 147, 146, 146, 146, 146, + 146, 146, 146, 146, 146, 146, 137, 148, 148, 150, + 149, 149, 138, 138, 114, 114, 151, 151, 153, 153, + 153, 152, 152, 62, 104, 154, 154, 56, 56, 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, @@ -1084,20 +1104,20 @@ class Php8 extends \PhpParser\ParserAbstract 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 161, 162, 162, 163, 155, 155, 160, 160, - 164, 165, 165, 166, 167, 168, 168, 168, 168, 19, - 19, 73, 73, 73, 73, 156, 156, 156, 156, 170, - 170, 159, 159, 159, 157, 157, 176, 176, 176, 176, - 176, 176, 176, 176, 176, 176, 177, 177, 177, 108, - 179, 179, 179, 179, 158, 158, 158, 158, 158, 158, - 158, 158, 59, 59, 173, 173, 173, 173, 173, 180, - 180, 169, 169, 169, 169, 181, 181, 181, 181, 181, - 74, 74, 66, 66, 66, 66, 131, 131, 131, 131, - 184, 183, 172, 172, 172, 172, 172, 172, 171, 171, - 171, 182, 182, 182, 182, 107, 178, 186, 186, 185, - 185, 187, 187, 187, 187, 187, 187, 187, 187, 175, - 175, 175, 175, 174, 189, 188, 188, 188, 188, 188, - 188, 188, 188, 190, 190, 190, 190 + 42, 42, 42, 161, 162, 162, 163, 155, 155, 160, + 160, 164, 165, 165, 166, 167, 168, 168, 168, 168, + 19, 19, 73, 73, 73, 73, 156, 156, 156, 156, + 170, 170, 159, 159, 159, 157, 157, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 177, 177, 177, + 108, 179, 179, 179, 179, 158, 158, 158, 158, 158, + 158, 158, 158, 59, 59, 173, 173, 173, 173, 173, + 180, 180, 169, 169, 169, 169, 181, 181, 181, 181, + 181, 74, 74, 66, 66, 66, 66, 131, 131, 131, + 131, 184, 183, 172, 172, 172, 172, 172, 172, 171, + 171, 171, 182, 182, 182, 182, 107, 178, 186, 186, + 185, 185, 187, 187, 187, 187, 187, 187, 187, 187, + 175, 175, 175, 175, 174, 189, 188, 188, 188, 188, + 188, 188, 188, 188, 190, 190, 190, 190 ); protected array $ruleToLength = array( @@ -1113,58 +1133,58 @@ class Php8 extends \PhpParser\ParserAbstract 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 2, 1, 3, 4, 1, 2, 0, 1, 1, 1, 1, 4, 3, 5, 4, 3, - 4, 1, 3, 1, 1, 8, 7, 2, 3, 1, - 2, 3, 1, 2, 3, 1, 1, 3, 1, 3, - 1, 2, 2, 3, 1, 3, 2, 3, 1, 3, - 3, 2, 0, 1, 1, 1, 1, 1, 3, 7, - 10, 5, 7, 9, 5, 3, 3, 3, 3, 3, - 3, 1, 2, 5, 7, 9, 6, 5, 6, 3, - 2, 1, 1, 1, 1, 0, 2, 1, 3, 8, - 0, 4, 2, 1, 3, 0, 1, 0, 1, 0, - 1, 3, 1, 1, 1, 1, 8, 9, 7, 8, - 7, 6, 8, 0, 2, 0, 2, 1, 2, 1, - 2, 1, 1, 1, 0, 2, 0, 2, 0, 2, - 2, 1, 3, 1, 4, 1, 4, 1, 1, 4, - 2, 1, 3, 3, 3, 4, 4, 5, 0, 2, - 4, 3, 1, 1, 7, 0, 2, 1, 3, 3, - 4, 1, 4, 0, 2, 5, 0, 2, 6, 0, - 2, 0, 3, 1, 2, 1, 1, 2, 0, 1, - 3, 0, 2, 1, 1, 1, 1, 1, 1, 1, - 7, 9, 6, 1, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 3, 3, 1, 3, 3, 3, - 3, 3, 1, 3, 3, 1, 1, 2, 1, 1, - 0, 1, 0, 2, 2, 2, 4, 3, 1, 1, - 3, 1, 2, 2, 3, 2, 3, 1, 1, 2, - 3, 1, 1, 3, 2, 0, 1, 5, 7, 5, - 6, 10, 3, 5, 1, 1, 3, 0, 2, 4, - 5, 4, 4, 4, 3, 1, 1, 1, 1, 1, - 1, 0, 1, 1, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 1, 3, 1, 1, - 3, 0, 2, 0, 3, 5, 8, 1, 3, 3, - 0, 2, 2, 2, 3, 1, 0, 1, 1, 3, - 3, 3, 4, 4, 1, 1, 2, 3, 3, 3, + 4, 1, 3, 4, 1, 1, 8, 7, 2, 3, + 1, 2, 3, 1, 2, 3, 1, 1, 3, 1, + 3, 1, 2, 2, 3, 1, 3, 2, 3, 1, + 3, 3, 2, 0, 1, 1, 1, 1, 1, 3, + 7, 10, 5, 7, 9, 5, 3, 3, 3, 3, + 3, 3, 1, 2, 5, 7, 9, 6, 5, 6, + 3, 2, 1, 1, 1, 1, 0, 2, 1, 3, + 8, 0, 4, 2, 1, 3, 0, 1, 0, 1, + 0, 1, 3, 1, 1, 1, 1, 8, 9, 7, + 8, 7, 6, 8, 0, 2, 0, 2, 1, 2, + 1, 2, 1, 1, 1, 0, 2, 0, 2, 0, + 2, 2, 1, 3, 1, 4, 1, 4, 1, 1, + 4, 2, 1, 3, 3, 3, 4, 4, 5, 0, + 2, 4, 3, 1, 1, 7, 0, 2, 1, 3, + 3, 4, 1, 4, 0, 2, 5, 0, 2, 6, + 0, 2, 0, 3, 1, 2, 1, 1, 2, 0, + 1, 3, 0, 2, 1, 1, 1, 1, 1, 1, + 1, 7, 9, 6, 1, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 3, 3, 1, 3, 3, + 3, 3, 3, 1, 3, 3, 1, 1, 2, 1, + 1, 0, 1, 0, 2, 2, 2, 4, 3, 1, + 1, 3, 1, 2, 2, 3, 2, 3, 1, 1, + 2, 3, 1, 1, 3, 2, 0, 1, 5, 7, + 5, 6, 10, 3, 5, 1, 1, 3, 0, 2, + 4, 5, 4, 4, 4, 3, 1, 1, 1, 1, + 1, 1, 0, 1, 1, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 1, 3, 1, + 1, 3, 0, 2, 0, 3, 5, 8, 1, 3, + 3, 0, 2, 2, 2, 3, 1, 0, 1, 1, + 3, 3, 3, 4, 4, 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, + 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 5, 4, 3, - 4, 4, 2, 2, 4, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 3, 2, 1, - 2, 4, 2, 2, 8, 9, 8, 9, 9, 10, - 9, 10, 8, 3, 2, 2, 1, 1, 0, 4, - 2, 1, 3, 2, 1, 2, 2, 2, 4, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, - 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 5, 3, 3, - 4, 1, 1, 3, 1, 1, 1, 1, 1, 3, - 2, 3, 0, 1, 1, 3, 1, 1, 1, 1, - 1, 1, 3, 1, 1, 1, 4, 1, 4, 4, - 0, 1, 1, 1, 3, 3, 1, 4, 2, 2, - 1, 3, 1, 4, 3, 3, 3, 3, 1, 3, - 1, 1, 3, 1, 1, 4, 1, 1, 1, 3, - 1, 1, 2, 1, 3, 4, 3, 2, 0, 2, - 2, 1, 2, 1, 1, 1, 4, 3, 3, 3, - 3, 6, 3, 1, 1, 2, 1 + 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, + 3, 4, 4, 2, 2, 4, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 1, 3, 2, + 1, 2, 4, 2, 2, 8, 9, 8, 9, 9, + 10, 9, 10, 8, 3, 2, 2, 1, 1, 0, + 4, 2, 1, 3, 2, 1, 2, 2, 2, 4, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, + 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 3, 5, 3, + 3, 4, 1, 1, 3, 1, 1, 1, 1, 1, + 3, 2, 3, 0, 1, 1, 3, 1, 1, 1, + 1, 1, 1, 3, 1, 1, 1, 4, 1, 4, + 4, 0, 1, 1, 1, 3, 3, 1, 4, 2, + 2, 1, 3, 1, 4, 3, 3, 3, 3, 1, + 3, 1, 1, 3, 1, 1, 4, 1, 1, 1, + 3, 1, 1, 2, 1, 3, 4, 3, 2, 0, + 2, 2, 1, 2, 1, 1, 1, 4, 3, 3, + 3, 3, 6, 3, 1, 1, 2, 1 ); protected function initReduceCallbacks(): void { @@ -1367,1118 +1387,1119 @@ protected function initReduceCallbacks(): void { }, 121 => null, 122 => static function ($self, $stackPos) { - $self->semValue = new Stmt\Const_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\Const_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), []); }, 123 => static function ($self, $stackPos) { - $self->semValue = Stmt\Use_::TYPE_FUNCTION; + $self->semValue = new Stmt\Const_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(4-1)]); + $self->checkConstantAttributes($self->semValue); }, 124 => static function ($self, $stackPos) { - $self->semValue = Stmt\Use_::TYPE_CONSTANT; + $self->semValue = Stmt\Use_::TYPE_FUNCTION; }, 125 => static function ($self, $stackPos) { - $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(8-3)], $self->semStack[$stackPos-(8-6)], $self->semStack[$stackPos-(8-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = Stmt\Use_::TYPE_CONSTANT; }, 126 => static function ($self, $stackPos) { + $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(8-3)], $self->semStack[$stackPos-(8-6)], $self->semStack[$stackPos-(8-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); + }, + 127 => static function ($self, $stackPos) { $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos-(7-2)], $self->semStack[$stackPos-(7-5)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 127 => null, - 128 => static function ($self, $stackPos) { + 128 => null, + 129 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 129 => static function ($self, $stackPos) { + 130 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 130 => null, - 131 => static function ($self, $stackPos) { + 131 => null, + 132 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 132 => static function ($self, $stackPos) { + 133 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 133 => null, - 134 => static function ($self, $stackPos) { + 134 => null, + 135 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 135 => static function ($self, $stackPos) { + 136 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 136 => static function ($self, $stackPos) { + 137 => static function ($self, $stackPos) { $self->semValue = new Node\UseItem($self->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->checkUseUse($self->semValue, $stackPos-(1-1)); }, - 137 => static function ($self, $stackPos) { + 138 => static function ($self, $stackPos) { $self->semValue = new Node\UseItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->checkUseUse($self->semValue, $stackPos-(3-3)); }, - 138 => static function ($self, $stackPos) { + 139 => static function ($self, $stackPos) { $self->semValue = new Node\UseItem($self->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->checkUseUse($self->semValue, $stackPos-(1-1)); }, - 139 => static function ($self, $stackPos) { + 140 => static function ($self, $stackPos) { $self->semValue = new Node\UseItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->checkUseUse($self->semValue, $stackPos-(3-3)); }, - 140 => static function ($self, $stackPos) { + 141 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(1-1)]; $self->semValue->type = Stmt\Use_::TYPE_NORMAL; }, - 141 => static function ($self, $stackPos) { + 142 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(2-2)]; $self->semValue->type = $self->semStack[$stackPos-(2-1)]; }, - 142 => null, - 143 => static function ($self, $stackPos) { + 143 => null, + 144 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 144 => static function ($self, $stackPos) { + 145 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 145 => static function ($self, $stackPos) { + 146 => static function ($self, $stackPos) { $self->semValue = new Node\Const_($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 146 => null, - 147 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; - }, + 147 => null, 148 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, 149 => static function ($self, $stackPos) { - $self->semValue = new Node\Const_(new Node\Identifier($self->semStack[$stackPos-(3-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos-(3-1)])), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, 150 => static function ($self, $stackPos) { $self->semValue = new Node\Const_(new Node\Identifier($self->semStack[$stackPos-(3-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos-(3-1)])), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 151 => static function ($self, $stackPos) { - if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; } $self->semValue = $self->semStack[$stackPos-(2-1)];; + $self->semValue = new Node\Const_(new Node\Identifier($self->semStack[$stackPos-(3-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos-(3-1)])), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 152 => static function ($self, $stackPos) { - $self->semValue = array(); + if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; } $self->semValue = $self->semStack[$stackPos-(2-1)];; }, 153 => static function ($self, $stackPos) { + $self->semValue = array(); + }, + 154 => static function ($self, $stackPos) { $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);; if ($nop !== null) { $self->semStack[$stackPos-(1-1)][] = $nop; } $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 154 => null, 155 => null, 156 => null, - 157 => static function ($self, $stackPos) { + 157 => null, + 158 => static function ($self, $stackPos) { throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 158 => static function ($self, $stackPos) { + 159 => static function ($self, $stackPos) { $self->semValue = new Stmt\Block($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 159 => static function ($self, $stackPos) { + 160 => static function ($self, $stackPos) { $self->semValue = new Stmt\If_($self->semStack[$stackPos-(7-3)], ['stmts' => $self->semStack[$stackPos-(7-5)], 'elseifs' => $self->semStack[$stackPos-(7-6)], 'else' => $self->semStack[$stackPos-(7-7)]], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 160 => static function ($self, $stackPos) { + 161 => static function ($self, $stackPos) { $self->semValue = new Stmt\If_($self->semStack[$stackPos-(10-3)], ['stmts' => $self->semStack[$stackPos-(10-6)], 'elseifs' => $self->semStack[$stackPos-(10-7)], 'else' => $self->semStack[$stackPos-(10-8)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 161 => static function ($self, $stackPos) { + 162 => static function ($self, $stackPos) { $self->semValue = new Stmt\While_($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 162 => static function ($self, $stackPos) { + 163 => static function ($self, $stackPos) { $self->semValue = new Stmt\Do_($self->semStack[$stackPos-(7-5)], $self->semStack[$stackPos-(7-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 163 => static function ($self, $stackPos) { + 164 => static function ($self, $stackPos) { $self->semValue = new Stmt\For_(['init' => $self->semStack[$stackPos-(9-3)], 'cond' => $self->semStack[$stackPos-(9-5)], 'loop' => $self->semStack[$stackPos-(9-7)], 'stmts' => $self->semStack[$stackPos-(9-9)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 164 => static function ($self, $stackPos) { + 165 => static function ($self, $stackPos) { $self->semValue = new Stmt\Switch_($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 165 => static function ($self, $stackPos) { + 166 => static function ($self, $stackPos) { $self->semValue = new Stmt\Break_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 166 => static function ($self, $stackPos) { + 167 => static function ($self, $stackPos) { $self->semValue = new Stmt\Continue_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 167 => static function ($self, $stackPos) { + 168 => static function ($self, $stackPos) { $self->semValue = new Stmt\Return_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 168 => static function ($self, $stackPos) { + 169 => static function ($self, $stackPos) { $self->semValue = new Stmt\Global_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 169 => static function ($self, $stackPos) { + 170 => static function ($self, $stackPos) { $self->semValue = new Stmt\Static_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 170 => static function ($self, $stackPos) { + 171 => static function ($self, $stackPos) { $self->semValue = new Stmt\Echo_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 171 => static function ($self, $stackPos) { + 172 => static function ($self, $stackPos) { $self->semValue = new Stmt\InlineHTML($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->semValue->setAttribute('hasLeadingNewline', $self->inlineHtmlHasLeadingNewline($stackPos-(1-1))); }, - 172 => static function ($self, $stackPos) { + 173 => static function ($self, $stackPos) { $self->semValue = new Stmt\Expression($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 173 => static function ($self, $stackPos) { + 174 => static function ($self, $stackPos) { $self->semValue = new Stmt\Unset_($self->semStack[$stackPos-(5-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 174 => static function ($self, $stackPos) { + 175 => static function ($self, $stackPos) { $self->semValue = new Stmt\Foreach_($self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $self->semStack[$stackPos-(7-5)][1], 'stmts' => $self->semStack[$stackPos-(7-7)]], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 175 => static function ($self, $stackPos) { + 176 => static function ($self, $stackPos) { $self->semValue = new Stmt\Foreach_($self->semStack[$stackPos-(9-3)], $self->semStack[$stackPos-(9-7)][0], ['keyVar' => $self->semStack[$stackPos-(9-5)], 'byRef' => $self->semStack[$stackPos-(9-7)][1], 'stmts' => $self->semStack[$stackPos-(9-9)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 176 => static function ($self, $stackPos) { + 177 => static function ($self, $stackPos) { $self->semValue = new Stmt\Foreach_($self->semStack[$stackPos-(6-3)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(6-4)], $self->tokenEndStack[$stackPos-(6-4)])), ['stmts' => $self->semStack[$stackPos-(6-6)]], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); }, - 177 => static function ($self, $stackPos) { + 178 => static function ($self, $stackPos) { $self->semValue = new Stmt\Declare_($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 178 => static function ($self, $stackPos) { + 179 => static function ($self, $stackPos) { $self->semValue = new Stmt\TryCatch($self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-5)], $self->semStack[$stackPos-(6-6)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); $self->checkTryCatch($self->semValue); }, - 179 => static function ($self, $stackPos) { + 180 => static function ($self, $stackPos) { $self->semValue = new Stmt\Goto_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 180 => static function ($self, $stackPos) { + 181 => static function ($self, $stackPos) { $self->semValue = new Stmt\Label($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 181 => static function ($self, $stackPos) { + 182 => static function ($self, $stackPos) { $self->semValue = null; /* means: no statement */ }, - 182 => null, - 183 => static function ($self, $stackPos) { + 183 => null, + 184 => static function ($self, $stackPos) { $self->semValue = $self->maybeCreateNop($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]); }, - 184 => static function ($self, $stackPos) { + 185 => static function ($self, $stackPos) { if ($self->semStack[$stackPos-(1-1)] instanceof Stmt\Block) { $self->semValue = $self->semStack[$stackPos-(1-1)]->stmts; } else if ($self->semStack[$stackPos-(1-1)] === null) { $self->semValue = []; } else { $self->semValue = [$self->semStack[$stackPos-(1-1)]]; }; }, - 185 => static function ($self, $stackPos) { + 186 => static function ($self, $stackPos) { $self->semValue = array(); }, - 186 => static function ($self, $stackPos) { + 187 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 187 => static function ($self, $stackPos) { + 188 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 188 => static function ($self, $stackPos) { + 189 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 189 => static function ($self, $stackPos) { + 190 => static function ($self, $stackPos) { $self->semValue = new Stmt\Catch_($self->semStack[$stackPos-(8-3)], $self->semStack[$stackPos-(8-4)], $self->semStack[$stackPos-(8-7)], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 190 => static function ($self, $stackPos) { + 191 => static function ($self, $stackPos) { $self->semValue = null; }, - 191 => static function ($self, $stackPos) { + 192 => static function ($self, $stackPos) { $self->semValue = new Stmt\Finally_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 192 => null, - 193 => static function ($self, $stackPos) { + 193 => null, + 194 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 194 => static function ($self, $stackPos) { + 195 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 195 => static function ($self, $stackPos) { + 196 => static function ($self, $stackPos) { $self->semValue = false; }, - 196 => static function ($self, $stackPos) { + 197 => static function ($self, $stackPos) { $self->semValue = true; }, - 197 => static function ($self, $stackPos) { + 198 => static function ($self, $stackPos) { $self->semValue = false; }, - 198 => static function ($self, $stackPos) { + 199 => static function ($self, $stackPos) { $self->semValue = true; }, - 199 => static function ($self, $stackPos) { + 200 => static function ($self, $stackPos) { $self->semValue = false; }, - 200 => static function ($self, $stackPos) { + 201 => static function ($self, $stackPos) { $self->semValue = true; }, - 201 => static function ($self, $stackPos) { + 202 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 202 => static function ($self, $stackPos) { + 203 => static function ($self, $stackPos) { $self->semValue = []; }, - 203 => null, - 204 => static function ($self, $stackPos) { - $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); - }, + 204 => null, 205 => static function ($self, $stackPos) { $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 206 => static function ($self, $stackPos) { - $self->semValue = new Stmt\Function_($self->semStack[$stackPos-(8-3)], ['byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-5)], 'returnType' => $self->semStack[$stackPos-(8-7)], 'stmts' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 207 => static function ($self, $stackPos) { - $self->semValue = new Stmt\Function_($self->semStack[$stackPos-(9-4)], ['byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-6)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\Function_($self->semStack[$stackPos-(8-3)], ['byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-5)], 'returnType' => $self->semStack[$stackPos-(8-7)], 'stmts' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, 208 => static function ($self, $stackPos) { + $self->semValue = new Stmt\Function_($self->semStack[$stackPos-(9-4)], ['byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-6)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); + }, + 209 => static function ($self, $stackPos) { $self->semValue = new Stmt\Class_($self->semStack[$stackPos-(7-2)], ['type' => $self->semStack[$stackPos-(7-1)], 'extends' => $self->semStack[$stackPos-(7-3)], 'implements' => $self->semStack[$stackPos-(7-4)], 'stmts' => $self->semStack[$stackPos-(7-6)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); $self->checkClass($self->semValue, $stackPos-(7-2)); }, - 209 => static function ($self, $stackPos) { + 210 => static function ($self, $stackPos) { $self->semValue = new Stmt\Class_($self->semStack[$stackPos-(8-3)], ['type' => $self->semStack[$stackPos-(8-2)], 'extends' => $self->semStack[$stackPos-(8-4)], 'implements' => $self->semStack[$stackPos-(8-5)], 'stmts' => $self->semStack[$stackPos-(8-7)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); $self->checkClass($self->semValue, $stackPos-(8-3)); }, - 210 => static function ($self, $stackPos) { + 211 => static function ($self, $stackPos) { $self->semValue = new Stmt\Interface_($self->semStack[$stackPos-(7-3)], ['extends' => $self->semStack[$stackPos-(7-4)], 'stmts' => $self->semStack[$stackPos-(7-6)], 'attrGroups' => $self->semStack[$stackPos-(7-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); $self->checkInterface($self->semValue, $stackPos-(7-3)); }, - 211 => static function ($self, $stackPos) { + 212 => static function ($self, $stackPos) { $self->semValue = new Stmt\Trait_($self->semStack[$stackPos-(6-3)], ['stmts' => $self->semStack[$stackPos-(6-5)], 'attrGroups' => $self->semStack[$stackPos-(6-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); }, - 212 => static function ($self, $stackPos) { + 213 => static function ($self, $stackPos) { $self->semValue = new Stmt\Enum_($self->semStack[$stackPos-(8-3)], ['scalarType' => $self->semStack[$stackPos-(8-4)], 'implements' => $self->semStack[$stackPos-(8-5)], 'stmts' => $self->semStack[$stackPos-(8-7)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); $self->checkEnum($self->semValue, $stackPos-(8-3)); }, - 213 => static function ($self, $stackPos) { + 214 => static function ($self, $stackPos) { $self->semValue = null; }, - 214 => static function ($self, $stackPos) { + 215 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 215 => static function ($self, $stackPos) { + 216 => static function ($self, $stackPos) { $self->semValue = null; }, - 216 => static function ($self, $stackPos) { + 217 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 217 => static function ($self, $stackPos) { + 218 => static function ($self, $stackPos) { $self->semValue = 0; }, - 218 => null, 219 => null, - 220 => static function ($self, $stackPos) { + 220 => null, + 221 => static function ($self, $stackPos) { $self->checkClassModifier($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 221 => static function ($self, $stackPos) { + 222 => static function ($self, $stackPos) { $self->semValue = Modifiers::ABSTRACT; }, - 222 => static function ($self, $stackPos) { + 223 => static function ($self, $stackPos) { $self->semValue = Modifiers::FINAL; }, - 223 => static function ($self, $stackPos) { + 224 => static function ($self, $stackPos) { $self->semValue = Modifiers::READONLY; }, - 224 => static function ($self, $stackPos) { + 225 => static function ($self, $stackPos) { $self->semValue = null; }, - 225 => static function ($self, $stackPos) { + 226 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 226 => static function ($self, $stackPos) { + 227 => static function ($self, $stackPos) { $self->semValue = array(); }, - 227 => static function ($self, $stackPos) { + 228 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 228 => static function ($self, $stackPos) { + 229 => static function ($self, $stackPos) { $self->semValue = array(); }, - 229 => static function ($self, $stackPos) { + 230 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 230 => null, - 231 => static function ($self, $stackPos) { + 231 => null, + 232 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 232 => static function ($self, $stackPos) { + 233 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 233 => null, - 234 => static function ($self, $stackPos) { + 234 => null, + 235 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 235 => null, - 236 => static function ($self, $stackPos) { + 236 => null, + 237 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 237 => static function ($self, $stackPos) { + 238 => static function ($self, $stackPos) { if ($self->semStack[$stackPos-(1-1)] instanceof Stmt\Block) { $self->semValue = $self->semStack[$stackPos-(1-1)]->stmts; } else if ($self->semStack[$stackPos-(1-1)] === null) { $self->semValue = []; } else { $self->semValue = [$self->semStack[$stackPos-(1-1)]]; }; }, - 238 => static function ($self, $stackPos) { + 239 => static function ($self, $stackPos) { $self->semValue = null; }, - 239 => static function ($self, $stackPos) { + 240 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 240 => null, - 241 => static function ($self, $stackPos) { + 241 => null, + 242 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 242 => static function ($self, $stackPos) { + 243 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 243 => static function ($self, $stackPos) { + 244 => static function ($self, $stackPos) { $self->semValue = new Node\DeclareItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 244 => static function ($self, $stackPos) { + 245 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 245 => static function ($self, $stackPos) { + 246 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-3)]; }, - 246 => static function ($self, $stackPos) { + 247 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 247 => static function ($self, $stackPos) { + 248 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(5-3)]; }, - 248 => static function ($self, $stackPos) { + 249 => static function ($self, $stackPos) { $self->semValue = array(); }, - 249 => static function ($self, $stackPos) { + 250 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 250 => static function ($self, $stackPos) { + 251 => static function ($self, $stackPos) { $self->semValue = new Stmt\Case_($self->semStack[$stackPos-(4-2)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 251 => static function ($self, $stackPos) { + 252 => static function ($self, $stackPos) { $self->semValue = new Stmt\Case_(null, $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 252 => null, 253 => null, - 254 => static function ($self, $stackPos) { + 254 => null, + 255 => static function ($self, $stackPos) { $self->semValue = new Expr\Match_($self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-6)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos])); }, - 255 => static function ($self, $stackPos) { + 256 => static function ($self, $stackPos) { $self->semValue = []; }, - 256 => null, - 257 => static function ($self, $stackPos) { + 257 => null, + 258 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 258 => static function ($self, $stackPos) { + 259 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 259 => static function ($self, $stackPos) { + 260 => static function ($self, $stackPos) { $self->semValue = new Node\MatchArm($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 260 => static function ($self, $stackPos) { + 261 => static function ($self, $stackPos) { $self->semValue = new Node\MatchArm(null, $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 261 => static function ($self, $stackPos) { + 262 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 262 => static function ($self, $stackPos) { + 263 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 263 => static function ($self, $stackPos) { + 264 => static function ($self, $stackPos) { $self->semValue = array(); }, - 264 => static function ($self, $stackPos) { + 265 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 265 => static function ($self, $stackPos) { + 266 => static function ($self, $stackPos) { $self->semValue = new Stmt\ElseIf_($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 266 => static function ($self, $stackPos) { + 267 => static function ($self, $stackPos) { $self->semValue = array(); }, - 267 => static function ($self, $stackPos) { + 268 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 268 => static function ($self, $stackPos) { + 269 => static function ($self, $stackPos) { $self->semValue = new Stmt\ElseIf_($self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-6)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); $self->fixupAlternativeElse($self->semValue); }, - 269 => static function ($self, $stackPos) { + 270 => static function ($self, $stackPos) { $self->semValue = null; }, - 270 => static function ($self, $stackPos) { + 271 => static function ($self, $stackPos) { $self->semValue = new Stmt\Else_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 271 => static function ($self, $stackPos) { + 272 => static function ($self, $stackPos) { $self->semValue = null; }, - 272 => static function ($self, $stackPos) { + 273 => static function ($self, $stackPos) { $self->semValue = new Stmt\Else_($self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->fixupAlternativeElse($self->semValue); }, - 273 => static function ($self, $stackPos) { + 274 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)], false); }, - 274 => static function ($self, $stackPos) { + 275 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(2-2)], true); }, - 275 => static function ($self, $stackPos) { + 276 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)], false); }, - 276 => static function ($self, $stackPos) { + 277 => static function ($self, $stackPos) { $self->semValue = array($self->fixupArrayDestructuring($self->semStack[$stackPos-(1-1)]), false); }, - 277 => null, - 278 => static function ($self, $stackPos) { + 278 => null, + 279 => static function ($self, $stackPos) { $self->semValue = array(); }, - 279 => static function ($self, $stackPos) { + 280 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 280 => static function ($self, $stackPos) { + 281 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 281 => static function ($self, $stackPos) { + 282 => static function ($self, $stackPos) { $self->semValue = 0; }, - 282 => static function ($self, $stackPos) { + 283 => static function ($self, $stackPos) { $self->checkModifier($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 283 => static function ($self, $stackPos) { + 284 => static function ($self, $stackPos) { $self->semValue = Modifiers::PUBLIC; }, - 284 => static function ($self, $stackPos) { + 285 => static function ($self, $stackPos) { $self->semValue = Modifiers::PROTECTED; }, - 285 => static function ($self, $stackPos) { + 286 => static function ($self, $stackPos) { $self->semValue = Modifiers::PRIVATE; }, - 286 => static function ($self, $stackPos) { + 287 => static function ($self, $stackPos) { $self->semValue = Modifiers::PUBLIC_SET; }, - 287 => static function ($self, $stackPos) { + 288 => static function ($self, $stackPos) { $self->semValue = Modifiers::PROTECTED_SET; }, - 288 => static function ($self, $stackPos) { + 289 => static function ($self, $stackPos) { $self->semValue = Modifiers::PRIVATE_SET; }, - 289 => static function ($self, $stackPos) { + 290 => static function ($self, $stackPos) { $self->semValue = Modifiers::READONLY; }, - 290 => static function ($self, $stackPos) { + 291 => static function ($self, $stackPos) { $self->semValue = new Node\Param($self->semStack[$stackPos-(7-6)], null, $self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-4)], $self->semStack[$stackPos-(7-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(7-2)], $self->semStack[$stackPos-(7-1)], $self->semStack[$stackPos-(7-7)]); $self->checkParam($self->semValue); $self->addPropertyNameToHooks($self->semValue); }, - 291 => static function ($self, $stackPos) { + 292 => static function ($self, $stackPos) { $self->semValue = new Node\Param($self->semStack[$stackPos-(9-6)], $self->semStack[$stackPos-(9-8)], $self->semStack[$stackPos-(9-3)], $self->semStack[$stackPos-(9-4)], $self->semStack[$stackPos-(9-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(9-2)], $self->semStack[$stackPos-(9-1)], $self->semStack[$stackPos-(9-9)]); $self->checkParam($self->semValue); $self->addPropertyNameToHooks($self->semValue); }, - 292 => static function ($self, $stackPos) { + 293 => static function ($self, $stackPos) { $self->semValue = new Node\Param(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])), null, $self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-4)], $self->semStack[$stackPos-(6-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-1)]); }, - 293 => null, - 294 => static function ($self, $stackPos) { + 294 => null, + 295 => static function ($self, $stackPos) { $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 295 => static function ($self, $stackPos) { + 296 => static function ($self, $stackPos) { $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 296 => null, 297 => null, - 298 => static function ($self, $stackPos) { + 298 => null, + 299 => static function ($self, $stackPos) { $self->semValue = new Node\Name('static', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 299 => static function ($self, $stackPos) { + 300 => static function ($self, $stackPos) { $self->semValue = $self->handleBuiltinTypes($self->semStack[$stackPos-(1-1)]); }, - 300 => static function ($self, $stackPos) { + 301 => static function ($self, $stackPos) { $self->semValue = new Node\Identifier('array', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 301 => static function ($self, $stackPos) { + 302 => static function ($self, $stackPos) { $self->semValue = new Node\Identifier('callable', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 302 => null, - 303 => static function ($self, $stackPos) { + 303 => null, + 304 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 304 => static function ($self, $stackPos) { + 305 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 305 => static function ($self, $stackPos) { + 306 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 306 => null, - 307 => static function ($self, $stackPos) { + 307 => null, + 308 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 308 => static function ($self, $stackPos) { + 309 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 309 => static function ($self, $stackPos) { + 310 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 310 => static function ($self, $stackPos) { + 311 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 311 => static function ($self, $stackPos) { + 312 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 312 => static function ($self, $stackPos) { + 313 => static function ($self, $stackPos) { $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 313 => static function ($self, $stackPos) { + 314 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 314 => static function ($self, $stackPos) { + 315 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 315 => static function ($self, $stackPos) { + 316 => static function ($self, $stackPos) { $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 316 => null, - 317 => static function ($self, $stackPos) { + 317 => null, + 318 => static function ($self, $stackPos) { $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 318 => static function ($self, $stackPos) { + 319 => static function ($self, $stackPos) { $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 319 => null, - 320 => static function ($self, $stackPos) { + 320 => null, + 321 => static function ($self, $stackPos) { $self->semValue = null; }, - 321 => null, - 322 => static function ($self, $stackPos) { + 322 => null, + 323 => static function ($self, $stackPos) { $self->semValue = null; }, - 323 => static function ($self, $stackPos) { + 324 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 324 => static function ($self, $stackPos) { + 325 => static function ($self, $stackPos) { $self->semValue = null; }, - 325 => static function ($self, $stackPos) { + 326 => static function ($self, $stackPos) { $self->semValue = array(); }, - 326 => static function ($self, $stackPos) { + 327 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 327 => static function ($self, $stackPos) { + 328 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-2)]); }, - 328 => static function ($self, $stackPos) { + 329 => static function ($self, $stackPos) { $self->semValue = new Node\VariadicPlaceholder($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 329 => static function ($self, $stackPos) { + 330 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 330 => static function ($self, $stackPos) { + 331 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 331 => static function ($self, $stackPos) { + 332 => static function ($self, $stackPos) { $self->semValue = new Node\Arg($self->semStack[$stackPos-(1-1)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 332 => static function ($self, $stackPos) { + 333 => static function ($self, $stackPos) { $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], true, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 333 => static function ($self, $stackPos) { + 334 => static function ($self, $stackPos) { $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], false, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 334 => static function ($self, $stackPos) { + 335 => static function ($self, $stackPos) { $self->semValue = new Node\Arg($self->semStack[$stackPos-(3-3)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(3-1)]); }, - 335 => null, - 336 => static function ($self, $stackPos) { + 336 => null, + 337 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 337 => static function ($self, $stackPos) { + 338 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 338 => null, 339 => null, - 340 => static function ($self, $stackPos) { + 340 => null, + 341 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 341 => static function ($self, $stackPos) { + 342 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 342 => static function ($self, $stackPos) { + 343 => static function ($self, $stackPos) { $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 343 => static function ($self, $stackPos) { + 344 => static function ($self, $stackPos) { $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 344 => static function ($self, $stackPos) { + 345 => static function ($self, $stackPos) { if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; } else { $self->semValue = $self->semStack[$stackPos-(2-1)]; } }, - 345 => static function ($self, $stackPos) { + 346 => static function ($self, $stackPos) { $self->semValue = array(); }, - 346 => static function ($self, $stackPos) { + 347 => static function ($self, $stackPos) { $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);; if ($nop !== null) { $self->semStack[$stackPos-(1-1)][] = $nop; } $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 347 => static function ($self, $stackPos) { + 348 => static function ($self, $stackPos) { $self->semValue = new Stmt\Property($self->semStack[$stackPos-(5-2)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-1)]); }, - 348 => static function ($self, $stackPos) { + 349 => static function ($self, $stackPos) { $self->semValue = new Stmt\Property($self->semStack[$stackPos-(7-2)], $self->semStack[$stackPos-(7-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-1)], $self->semStack[$stackPos-(7-6)]); $self->checkPropertyHooksForMultiProperty($self->semValue, $stackPos-(7-5)); $self->checkEmptyPropertyHookList($self->semStack[$stackPos-(7-6)], $stackPos-(7-5)); $self->addPropertyNameToHooks($self->semValue); }, - 349 => static function ($self, $stackPos) { + 350 => static function ($self, $stackPos) { $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(5-1)]); $self->checkClassConst($self->semValue, $stackPos-(5-2)); }, - 350 => static function ($self, $stackPos) { + 351 => static function ($self, $stackPos) { $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos-(6-5)], $self->semStack[$stackPos-(6-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-1)], $self->semStack[$stackPos-(6-4)]); $self->checkClassConst($self->semValue, $stackPos-(6-2)); }, - 351 => static function ($self, $stackPos) { + 352 => static function ($self, $stackPos) { $self->semValue = new Stmt\ClassMethod($self->semStack[$stackPos-(10-5)], ['type' => $self->semStack[$stackPos-(10-2)], 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-7)], 'returnType' => $self->semStack[$stackPos-(10-9)], 'stmts' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); $self->checkClassMethod($self->semValue, $stackPos-(10-2)); }, - 352 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUse($self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); - }, 353 => static function ($self, $stackPos) { - $self->semValue = new Stmt\EnumCase($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\TraitUse($self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 354 => static function ($self, $stackPos) { - $self->semValue = null; /* will be skipped */ + $self->semValue = new Stmt\EnumCase($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, 355 => static function ($self, $stackPos) { - $self->semValue = array(); + $self->semValue = null; /* will be skipped */ }, 356 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + $self->semValue = array(); }, 357 => static function ($self, $stackPos) { - $self->semValue = array(); + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 358 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; + $self->semValue = array(); }, 359 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUseAdaptation\Precedence($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, 360 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(5-1)][0], $self->semStack[$stackPos-(5-1)][1], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\TraitUseAdaptation\Precedence($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 361 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(5-1)][0], $self->semStack[$stackPos-(5-1)][1], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, 362 => static function ($self, $stackPos) { - $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 363 => static function ($self, $stackPos) { $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 364 => static function ($self, $stackPos) { + $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 365 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 365 => null, - 366 => static function ($self, $stackPos) { + 366 => null, + 367 => static function ($self, $stackPos) { $self->semValue = array(null, $self->semStack[$stackPos-(1-1)]); }, - 367 => static function ($self, $stackPos) { + 368 => static function ($self, $stackPos) { $self->semValue = null; }, - 368 => null, 369 => null, - 370 => static function ($self, $stackPos) { + 370 => null, + 371 => static function ($self, $stackPos) { $self->semValue = 0; }, - 371 => static function ($self, $stackPos) { + 372 => static function ($self, $stackPos) { $self->semValue = 0; }, - 372 => null, 373 => null, - 374 => static function ($self, $stackPos) { + 374 => null, + 375 => static function ($self, $stackPos) { $self->checkModifier($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 375 => static function ($self, $stackPos) { + 376 => static function ($self, $stackPos) { $self->semValue = Modifiers::PUBLIC; }, - 376 => static function ($self, $stackPos) { + 377 => static function ($self, $stackPos) { $self->semValue = Modifiers::PROTECTED; }, - 377 => static function ($self, $stackPos) { + 378 => static function ($self, $stackPos) { $self->semValue = Modifiers::PRIVATE; }, - 378 => static function ($self, $stackPos) { + 379 => static function ($self, $stackPos) { $self->semValue = Modifiers::PUBLIC_SET; }, - 379 => static function ($self, $stackPos) { + 380 => static function ($self, $stackPos) { $self->semValue = Modifiers::PROTECTED_SET; }, - 380 => static function ($self, $stackPos) { + 381 => static function ($self, $stackPos) { $self->semValue = Modifiers::PRIVATE_SET; }, - 381 => static function ($self, $stackPos) { + 382 => static function ($self, $stackPos) { $self->semValue = Modifiers::STATIC; }, - 382 => static function ($self, $stackPos) { + 383 => static function ($self, $stackPos) { $self->semValue = Modifiers::ABSTRACT; }, - 383 => static function ($self, $stackPos) { + 384 => static function ($self, $stackPos) { $self->semValue = Modifiers::FINAL; }, - 384 => static function ($self, $stackPos) { + 385 => static function ($self, $stackPos) { $self->semValue = Modifiers::READONLY; }, - 385 => null, - 386 => static function ($self, $stackPos) { + 386 => null, + 387 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 387 => static function ($self, $stackPos) { + 388 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 388 => static function ($self, $stackPos) { + 389 => static function ($self, $stackPos) { $self->semValue = new Node\VarLikeIdentifier(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 389 => static function ($self, $stackPos) { + 390 => static function ($self, $stackPos) { $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 390 => static function ($self, $stackPos) { + 391 => static function ($self, $stackPos) { $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 391 => static function ($self, $stackPos) { + 392 => static function ($self, $stackPos) { $self->semValue = []; }, - 392 => static function ($self, $stackPos) { + 393 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 393 => static function ($self, $stackPos) { + 394 => static function ($self, $stackPos) { $self->semValue = []; }, - 394 => static function ($self, $stackPos) { + 395 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; $self->checkEmptyPropertyHookList($self->semStack[$stackPos-(3-2)], $stackPos-(3-1)); }, - 395 => static function ($self, $stackPos) { + 396 => static function ($self, $stackPos) { $self->semValue = new Node\PropertyHook($self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-5)], ['flags' => $self->semStack[$stackPos-(5-2)], 'byRef' => $self->semStack[$stackPos-(5-3)], 'params' => [], 'attrGroups' => $self->semStack[$stackPos-(5-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); $self->checkPropertyHook($self->semValue, null); }, - 396 => static function ($self, $stackPos) { + 397 => static function ($self, $stackPos) { $self->semValue = new Node\PropertyHook($self->semStack[$stackPos-(8-4)], $self->semStack[$stackPos-(8-8)], ['flags' => $self->semStack[$stackPos-(8-2)], 'byRef' => $self->semStack[$stackPos-(8-3)], 'params' => $self->semStack[$stackPos-(8-6)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); $self->checkPropertyHook($self->semValue, $stackPos-(8-5)); }, - 397 => static function ($self, $stackPos) { - $self->semValue = null; - }, 398 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + $self->semValue = null; }, 399 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 400 => static function ($self, $stackPos) { - $self->semValue = 0; + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 401 => static function ($self, $stackPos) { + $self->semValue = 0; + }, + 402 => static function ($self, $stackPos) { $self->checkPropertyHookModifiers($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 402 => null, 403 => null, - 404 => static function ($self, $stackPos) { + 404 => null, + 405 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 405 => static function ($self, $stackPos) { + 406 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 406 => static function ($self, $stackPos) { + 407 => static function ($self, $stackPos) { $self->semValue = array(); }, - 407 => null, 408 => null, - 409 => static function ($self, $stackPos) { + 409 => null, + 410 => static function ($self, $stackPos) { $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 410 => static function ($self, $stackPos) { + 411 => static function ($self, $stackPos) { $self->semValue = new Expr\Assign($self->fixupArrayDestructuring($self->semStack[$stackPos-(3-1)]), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 411 => static function ($self, $stackPos) { + 412 => static function ($self, $stackPos) { $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 412 => static function ($self, $stackPos) { + 413 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignRef($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 413 => static function ($self, $stackPos) { + 414 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignRef($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); if (!$self->phpVersion->allowsAssignNewByReference()) { $self->emitError(new Error('Cannot assign new by reference', $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]))); } }, - 414 => null, 415 => null, - 416 => static function ($self, $stackPos) { - $self->semValue = new Expr\Clone_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); - }, + 416 => null, 417 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Clone_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 418 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 419 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 420 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 421 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 422 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 423 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 424 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 425 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 426 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 427 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 428 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 429 => static function ($self, $stackPos) { - $self->semValue = new Expr\AssignOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 430 => static function ($self, $stackPos) { - $self->semValue = new Expr\PostInc($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\AssignOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 431 => static function ($self, $stackPos) { - $self->semValue = new Expr\PreInc($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\PostInc($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 432 => static function ($self, $stackPos) { - $self->semValue = new Expr\PostDec($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\PreInc($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 433 => static function ($self, $stackPos) { - $self->semValue = new Expr\PreDec($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\PostDec($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 434 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\BooleanOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\PreDec($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 435 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\BooleanAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\BooleanOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 436 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\LogicalOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\BooleanAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 437 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\LogicalAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\LogicalOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 438 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\LogicalXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\LogicalAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 439 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\LogicalXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 440 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 441 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 442 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 443 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 444 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 445 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 446 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 447 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 448 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 449 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 450 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 451 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 452 => static function ($self, $stackPos) { - $self->semValue = new Expr\UnaryPlus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 453 => static function ($self, $stackPos) { - $self->semValue = new Expr\UnaryMinus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\UnaryPlus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 454 => static function ($self, $stackPos) { - $self->semValue = new Expr\BooleanNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\UnaryMinus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 455 => static function ($self, $stackPos) { - $self->semValue = new Expr\BitwiseNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BooleanNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 456 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Identical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BitwiseNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 457 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\NotIdentical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Identical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 458 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Equal($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\NotIdentical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 459 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\NotEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Equal($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 460 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Spaceship($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\NotEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 461 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Smaller($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Spaceship($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 462 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\SmallerOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Smaller($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 463 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Greater($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\SmallerOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 464 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\GreaterOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Greater($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 465 => static function ($self, $stackPos) { - $self->semValue = new Expr\Instanceof_($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\GreaterOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 466 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + $self->semValue = new Expr\Instanceof_($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 467 => static function ($self, $stackPos) { - $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 468 => static function ($self, $stackPos) { - $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(4-1)], null, $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, 469 => static function ($self, $stackPos) { - $self->semValue = new Expr\BinaryOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(4-1)], null, $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 470 => static function ($self, $stackPos) { - $self->semValue = new Expr\Isset_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\BinaryOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 471 => static function ($self, $stackPos) { - $self->semValue = new Expr\Empty_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Isset_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 472 => static function ($self, $stackPos) { - $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Empty_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 473 => static function ($self, $stackPos) { - $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 474 => static function ($self, $stackPos) { - $self->semValue = new Expr\Eval_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 475 => static function ($self, $stackPos) { - $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Eval_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 476 => static function ($self, $stackPos) { - $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 477 => static function ($self, $stackPos) { - $self->semValue = new Expr\Cast\Int_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 478 => static function ($self, $stackPos) { + $self->semValue = new Expr\Cast\Int_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 479 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = $self->getFloatCastKind($self->semStack[$stackPos-(2-1)]); $self->semValue = new Expr\Cast\Double($self->semStack[$stackPos-(2-2)], $attrs); }, - 479 => static function ($self, $stackPos) { + 480 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\String_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 480 => static function ($self, $stackPos) { + 481 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Array_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 481 => static function ($self, $stackPos) { + 482 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Object_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 482 => static function ($self, $stackPos) { + 483 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Bool_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 483 => static function ($self, $stackPos) { + 484 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Unset_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 484 => static function ($self, $stackPos) { + 485 => static function ($self, $stackPos) { $self->semValue = $self->createExitExpr($self->semStack[$stackPos-(2-1)], $stackPos-(2-1), $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 485 => static function ($self, $stackPos) { + 486 => static function ($self, $stackPos) { $self->semValue = new Expr\ErrorSuppress($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 486 => null, - 487 => static function ($self, $stackPos) { + 487 => null, + 488 => static function ($self, $stackPos) { $self->semValue = new Expr\ShellExec($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 488 => static function ($self, $stackPos) { + 489 => static function ($self, $stackPos) { $self->semValue = new Expr\Print_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 489 => static function ($self, $stackPos) { + 490 => static function ($self, $stackPos) { $self->semValue = new Expr\Yield_(null, null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 490 => static function ($self, $stackPos) { + 491 => static function ($self, $stackPos) { $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(2-2)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 491 => static function ($self, $stackPos) { + 492 => static function ($self, $stackPos) { $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(4-4)], $self->semStack[$stackPos-(4-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 492 => static function ($self, $stackPos) { + 493 => static function ($self, $stackPos) { $self->semValue = new Expr\YieldFrom($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 493 => static function ($self, $stackPos) { + 494 => static function ($self, $stackPos) { $self->semValue = new Expr\Throw_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 494 => static function ($self, $stackPos) { + 495 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-4)], 'returnType' => $self->semStack[$stackPos-(8-6)], 'expr' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 495 => static function ($self, $stackPos) { + 496 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'returnType' => $self->semStack[$stackPos-(9-7)], 'expr' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 496 => static function ($self, $stackPos) { + 497 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => false, 'byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-4)], 'uses' => $self->semStack[$stackPos-(8-6)], 'returnType' => $self->semStack[$stackPos-(8-7)], 'stmts' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 497 => static function ($self, $stackPos) { + 498 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => true, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'uses' => $self->semStack[$stackPos-(9-7)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 498 => static function ($self, $stackPos) { + 499 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'returnType' => $self->semStack[$stackPos-(9-7)], 'expr' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 499 => static function ($self, $stackPos) { + 500 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-6)], 'returnType' => $self->semStack[$stackPos-(10-8)], 'expr' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 500 => static function ($self, $stackPos) { + 501 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => false, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'uses' => $self->semStack[$stackPos-(9-7)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 501 => static function ($self, $stackPos) { + 502 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => true, 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-6)], 'uses' => $self->semStack[$stackPos-(10-8)], 'returnType' => $self->semStack[$stackPos-(10-9)], 'stmts' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 502 => static function ($self, $stackPos) { + 503 => static function ($self, $stackPos) { $self->semValue = array(new Stmt\Class_(null, ['type' => $self->semStack[$stackPos-(8-2)], 'extends' => $self->semStack[$stackPos-(8-4)], 'implements' => $self->semStack[$stackPos-(8-5)], 'stmts' => $self->semStack[$stackPos-(8-7)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])), $self->semStack[$stackPos-(8-3)]); $self->checkClass($self->semValue[0], -1); }, - 503 => static function ($self, $stackPos) { + 504 => static function ($self, $stackPos) { $self->semValue = new Expr\New_($self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 504 => static function ($self, $stackPos) { + 505 => static function ($self, $stackPos) { 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])); }, - 505 => static function ($self, $stackPos) { + 506 => static function ($self, $stackPos) { $self->semValue = new Expr\New_($self->semStack[$stackPos-(2-2)], [], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 506 => null, 507 => null, - 508 => static function ($self, $stackPos) { + 508 => null, + 509 => static function ($self, $stackPos) { $self->semValue = array(); }, - 509 => static function ($self, $stackPos) { + 510 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-3)]; }, - 510 => null, - 511 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); - }, + 511 => null, 512 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, 513 => 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->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, 514 => 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 Node\ClosureUse($self->semStack[$stackPos-(2-2)], $self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, 515 => 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])); }, 516 => 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])); @@ -2487,304 +2508,307 @@ protected function initReduceCallbacks(): void { $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])); }, 518 => 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])); }, 519 => 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])); }, - 520 => null, - 521 => static function ($self, $stackPos) { + 520 => static function ($self, $stackPos) { $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, + 521 => null, 522 => static function ($self, $stackPos) { $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 523 => 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])); + $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 524 => 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])); + }, + 525 => 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])); }, - 525 => null, 526 => null, - 527 => static function ($self, $stackPos) { + 527 => null, + 528 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 528 => static function ($self, $stackPos) { + 529 => static function ($self, $stackPos) { $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 529 => null, 530 => null, - 531 => static function ($self, $stackPos) { + 531 => null, + 532 => static function ($self, $stackPos) { $self->semValue = array(); }, - 532 => static function ($self, $stackPos) { + 533 => 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()); } }; }, - 533 => static function ($self, $stackPos) { + 534 => 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)]; }, - 534 => static function ($self, $stackPos) { + 535 => static function ($self, $stackPos) { $self->semValue = array(); }, - 535 => null, - 536 => static function ($self, $stackPos) { + 536 => null, + 537 => static function ($self, $stackPos) { $self->semValue = new Expr\ConstFetch($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 537 => static function ($self, $stackPos) { + 538 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Line($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 538 => static function ($self, $stackPos) { + 539 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\File($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 539 => static function ($self, $stackPos) { + 540 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Dir($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 540 => static function ($self, $stackPos) { + 541 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Class_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 541 => static function ($self, $stackPos) { + 542 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Trait_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 542 => static function ($self, $stackPos) { + 543 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Method($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 543 => static function ($self, $stackPos) { + 544 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Function_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 544 => static function ($self, $stackPos) { + 545 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Namespace_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 545 => static function ($self, $stackPos) { + 546 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Property($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 546 => static function ($self, $stackPos) { + 547 => 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])); }, - 547 => static function ($self, $stackPos) { + 548 => 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])); }, - 548 => static function ($self, $stackPos) { + 549 => 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; }, - 549 => static function ($self, $stackPos) { + 550 => 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); }, - 550 => static function ($self, $stackPos) { + 551 => 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); }, - 551 => static function ($self, $stackPos) { + 552 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(1-1)]; $self->createdArrays->attach($self->semValue); }, - 552 => static function ($self, $stackPos) { + 553 => 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()); }, - 553 => static function ($self, $stackPos) { + 554 => 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); }, - 554 => static function ($self, $stackPos) { + 555 => 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()); }, - 555 => static function ($self, $stackPos) { + 556 => static function ($self, $stackPos) { $self->semValue = Scalar\Float_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 556 => null, 557 => null, 558 => null, - 559 => static function ($self, $stackPos) { + 559 => null, + 560 => 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); }, - 560 => static function ($self, $stackPos) { + 561 => 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); }, - 561 => static function ($self, $stackPos) { + 562 => 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); }, - 562 => static function ($self, $stackPos) { + 563 => static function ($self, $stackPos) { $self->semValue = null; }, - 563 => null, 564 => null, - 565 => static function ($self, $stackPos) { + 565 => null, + 566 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 566 => null, 567 => null, 568 => null, 569 => null, 570 => null, 571 => null, - 572 => static function ($self, $stackPos) { + 572 => null, + 573 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 573 => null, 574 => null, 575 => null, - 576 => static function ($self, $stackPos) { + 576 => null, + 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])); }, - 577 => null, - 578 => static function ($self, $stackPos) { + 578 => null, + 579 => 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])); }, - 579 => static function ($self, $stackPos) { + 580 => 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])); }, - 580 => static function ($self, $stackPos) { + 581 => static function ($self, $stackPos) { $self->semValue = null; }, - 581 => null, 582 => null, 583 => null, - 584 => static function ($self, $stackPos) { + 584 => null, + 585 => 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])); }, - 585 => static function ($self, $stackPos) { + 586 => 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])); }, - 586 => null, - 587 => static function ($self, $stackPos) { + 587 => null, + 588 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 588 => static function ($self, $stackPos) { + 589 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 589 => static function ($self, $stackPos) { + 590 => 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; }, - 590 => static function ($self, $stackPos) { + 591 => 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; }, - 591 => static function ($self, $stackPos) { + 592 => static function ($self, $stackPos) { $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 592 => null, - 593 => static function ($self, $stackPos) { + 593 => null, + 594 => 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])); }, - 594 => static function ($self, $stackPos) { + 595 => 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])); }, - 595 => static function ($self, $stackPos) { + 596 => 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])); }, - 596 => static function ($self, $stackPos) { + 597 => 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])); }, - 597 => static function ($self, $stackPos) { + 598 => 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])); }, - 598 => null, - 599 => static function ($self, $stackPos) { + 599 => null, + 600 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 600 => null, 601 => null, - 602 => static function ($self, $stackPos) { + 602 => null, + 603 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 603 => null, - 604 => static function ($self, $stackPos) { + 604 => null, + 605 => static function ($self, $stackPos) { $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 605 => static function ($self, $stackPos) { + 606 => 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); }, - 606 => static function ($self, $stackPos) { + 607 => 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); }, - 607 => null, - 608 => static function ($self, $stackPos) { + 608 => null, + 609 => static function ($self, $stackPos) { /* do nothing -- prevent default action of $$=$self->semStack[$1]. See $551. */ }, - 609 => static function ($self, $stackPos) { + 610 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 610 => static function ($self, $stackPos) { + 611 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 611 => static function ($self, $stackPos) { + 612 => 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])); }, - 612 => static function ($self, $stackPos) { + 613 => 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])); }, - 613 => static function ($self, $stackPos) { + 614 => 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])); }, - 614 => static function ($self, $stackPos) { + 615 => 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])); }, - 615 => static function ($self, $stackPos) { + 616 => 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])); }, - 616 => static function ($self, $stackPos) { + 617 => 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])); }, - 617 => static function ($self, $stackPos) { + 618 => 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); }, - 618 => static function ($self, $stackPos) { + 619 => 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); }, - 619 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; - }, 620 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, 621 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(1-1)]); + $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, 622 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)]); + $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, 623 => 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); + $self->semValue = array($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)]); }, 624 => static function ($self, $stackPos) { - $self->semValue = new Expr\Variable($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$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); }, - 625 => null, - 626 => 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])); + 625 => static function ($self, $stackPos) { + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, + 626 => null, 627 => static function ($self, $stackPos) { - $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, 628 => 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])); + $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])); }, 629 => static function ($self, $stackPos) { - $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 630 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 631 => 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])); + $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, 632 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; + $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])); }, 633 => static function ($self, $stackPos) { - $self->semValue = new Scalar\String_($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 634 => 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 Scalar\String_($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 635 => static function ($self, $stackPos) { + $self->semValue = $self->parseNumString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 636 => static function ($self, $stackPos) { $self->semValue = $self->parseNumString('-' . $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 636 => null, + 637 => null, ]; } } diff --git a/lib/PhpParser/ParserAbstract.php b/lib/PhpParser/ParserAbstract.php index 667f21f5a0..cf643ee892 100644 --- a/lib/PhpParser/ParserAbstract.php +++ b/lib/PhpParser/ParserAbstract.php @@ -23,6 +23,7 @@ use PhpParser\Node\Stmt\Class_; use PhpParser\Node\Stmt\ClassConst; use PhpParser\Node\Stmt\ClassMethod; +use PhpParser\Node\Stmt\Const_; use PhpParser\Node\Stmt\Else_; use PhpParser\Node\Stmt\ElseIf_; use PhpParser\Node\Stmt\Enum_; @@ -1202,6 +1203,13 @@ protected function checkPropertyHookModifiers(int $a, int $b, int $modifierPos): } } + protected function checkConstantAttributes(Const_ $node): void { + if ($node->attrGroups !== [] && count($node->consts) > 1) { + $this->emitError(new Error( + 'Cannot use attributes on multiple constants at once', $node->getAttributes())); + } + } + /** * @param Property|Param $node */ diff --git a/lib/PhpParser/PrettyPrinter/Standard.php b/lib/PhpParser/PrettyPrinter/Standard.php index d802d442bd..f4ca36645d 100644 --- a/lib/PhpParser/PrettyPrinter/Standard.php +++ b/lib/PhpParser/PrettyPrinter/Standard.php @@ -878,7 +878,9 @@ protected function pStmt_Function(Stmt\Function_ $node): string { } protected function pStmt_Const(Stmt\Const_ $node): string { - return 'const ' . $this->pCommaSeparated($node->consts) . ';'; + return $this->pAttrGroups($node->attrGroups) + . 'const ' + . $this->pCommaSeparated($node->consts) . ';'; } protected function pStmt_Declare(Stmt\Declare_ $node): string { diff --git a/lib/PhpParser/PrettyPrinterAbstract.php b/lib/PhpParser/PrettyPrinterAbstract.php index d32be24817..99ee4e9cbc 100644 --- a/lib/PhpParser/PrettyPrinterAbstract.php +++ b/lib/PhpParser/PrettyPrinterAbstract.php @@ -1634,6 +1634,7 @@ protected function initializeEmptyListInsertionMap(): void { Stmt\Trait_::class . '->attrGroups' => [null, '', "\n"], Expr\ArrowFunction::class . '->attrGroups' => [null, '', ' '], Expr\Closure::class . '->attrGroups' => [null, '', ' '], + Stmt\Const_::class . '->attrGroups' => [null, '', "\n"], PrintableNewAnonClassNode::class . '->attrGroups' => [\T_NEW, ' ', ''], /* These cannot be empty to start with: diff --git a/test/PhpParser/NodeVisitor/NameResolverTest.php b/test/PhpParser/NodeVisitor/NameResolverTest.php index ff6caba483..a50a59525b 100644 --- a/test/PhpParser/NodeVisitor/NameResolverTest.php +++ b/test/PhpParser/NodeVisitor/NameResolverTest.php @@ -245,6 +245,9 @@ function(A $a) : A {}; fn(A $a): A => $a; fn(?A $a): ?A => $a; +#[X] +const EXAMPLE = true; + A::b(); A::$b; A::B; @@ -338,6 +341,8 @@ function fn4(?array $a): ?array #[\NS\X] fn(array $a): array => $a; fn(\NS\A $a): \NS\A => $a; fn(?\NS\A $a): ?\NS\A => $a; +#[\NS\X] +const EXAMPLE = true; \NS\A::b(); \NS\A::$b; \NS\A::B; diff --git a/test/code/formatPreservation/constants.test b/test/code/formatPreservation/constants.test new file mode 100644 index 0000000000..78552d9ac0 --- /dev/null +++ b/test/code/formatPreservation/constants.test @@ -0,0 +1,50 @@ +Constants +----- +attrGroups[] = $attrGroup; +$stmts[1]->attrGroups[] = $attrGroup; +----- +attrGroups[0]->attrs[] = $attr; +$stmts[1]->attrGroups[0]->attrs[] = $attr; +----- +