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