diff --git a/grammar/php7.y b/grammar/php7.y index 65cc185e..8add7833 100644 --- a/grammar/php7.y +++ b/grammar/php7.y @@ -630,10 +630,10 @@ class_statement_list: ; class_statement: - optional_attributes variable_modifiers optional_type_without_static property_declaration_list ';' + optional_attributes variable_modifiers optional_type_without_static property_declaration_list semi { $$ = new Stmt\Property($2, $4, attributes(), $3, $1); $this->checkProperty($$, #2); } - | optional_attributes method_modifiers T_CONST class_const_list ';' + | optional_attributes method_modifiers T_CONST class_const_list semi { $$ = new Stmt\ClassConst($4, $2, attributes(), $1); $this->checkClassConst($$, #2); } | optional_attributes method_modifiers T_FUNCTION optional_ref identifier_ex '(' parameter_list ')' optional_return_type method_body diff --git a/lib/PhpParser/Parser/Php7.php b/lib/PhpParser/Parser/Php7.php index eb74e188..cbfbd34a 100644 --- a/lib/PhpParser/Parser/Php7.php +++ b/lib/PhpParser/Parser/Php7.php @@ -18,15 +18,15 @@ use PhpParser\Node\Stmt; class Php7 extends \PhpParser\ParserAbstract { protected $tokenToSymbolMapSize = 392; - protected $actionTableSize = 1164; - protected $gotoTableSize = 589; + protected $actionTableSize = 1162; + protected $gotoTableSize = 611; protected $invalidSymbol = 165; protected $errorSymbol = 1; protected $defaultAction = -32766; protected $unexpectedTokenRule = 32767; - protected $YY2TBLSTATE = 395; + protected $YY2TBLSTATE = 397; protected $numNonLeafStates = 694; protected $symbolToName = array( @@ -241,42 +241,42 @@ class Php7 extends \PhpParser\ParserAbstract ); protected $action = array( - 130, 131, 132, 553, 133, 134,-32766, 704, 705, 706, - 135, 36, -543, -552, 453,-32766, -543,-32766,-32766,-32766, + 130, 131, 132, 555, 133, 134,-32766, 704, 705, 706, + 135, 36, -543, -552, 455,-32766, -543,-32766,-32766,-32766, -552, 1152, 778, 927, -549, 969, 970, 0,-32766,-32766, -32766, -549,-32766, 1219,-32766, 245,-32766, 962,-32766,-32766, - -32766,-32766,-32766, 459,-32766,-32766,-32766,-32766,-32766,-32766, - -32766,-32766, 124, -331, 707, -331,-32766, 386, 1031, 1032, - 1033, 1030, 1029, 1028,-32766, 433, 428, 2, 261, 136, - 371, 711, 712, 713, 714, 389, 789, 395, 1031, 1032, + -32766,-32766,-32766, 461,-32766,-32766,-32766,-32766,-32766,-32766, + -32766,-32766, 124, -331, 707, -331,-32766, 388, 1031, 1032, + 1033, 1030, 1029, 1028,-32766, 435, 430, 2, 261, 136, + 371, 711, 712, 713, 714, 391, 789, 397, 1031, 1032, 1033, 1030, 1029, 1028, 715, 716, 717, 718, 719, 720, - 721, 722, 723, 724, 725, 745, 554, 746, 747, 748, + 721, 722, 723, 724, 725, 745, 556, 746, 747, 748, 749, 737, 738, 372, 373, 740, 741, 726, 727, 728, 730, 731, 732, 332, 771, 772, 773, 774, 775, 733, - 734, 555, 556, 766, 757, 755, 756, 752, 753, -294, - -189, 557, 558, 751, 559, 560, 561, 562, 563, 564, - 1235, 454, 783, -503, 889, 754, 565, 566, 928, 137, - -32766,-32766,-32766, 130, 131, 132, 553, 133, 134, 983, + 734, 557, 558, 766, 757, 755, 756, 752, 753, -294, + -189, 559, 560, 751, 561, 562, 563, 564, 565, 566, + 1235, 456, 783, -503, 889, 754, 567, 568, 928, 137, + -32766,-32766,-32766, 130, 131, 132, 555, 133, 134, 983, 704, 705, 706, 135, 36,-32766,-32766,-32766,-32766, -552, - -32766,-32766,-32766, -552, 1152, 545, 101, 102, 103, 581, + -32766,-32766,-32766, -552, 1152, 547, 101, 102, 103, 583, -549,-32766,-32766,-32766, -549,-32766,-32766,-32766, 245,-32766, 80,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766, 959, 958, 957,-32766,-32766, -503, -503, 707, 1264,-32766, - 386, 1265,-32766,-32766,-32766, 235, 784,-32766, 778, 19, + 388, 1265,-32766,-32766,-32766, 235, 784,-32766, 778, 19, -503, 261, 136, 371, 711, 712, 713, 714,-32766,-32766, - 395, 788, -503,-32766, -509,-32766,-32766, 715, 716, 717, - 718, 719, 720, 721, 722, 723, 724, 725, 745, 554, + 397, 788, -503,-32766, -509,-32766,-32766, 715, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 745, 556, 746, 747, 748, 749, 737, 738, 372, 373, 740, 741, 726, 727, 728, 730, 731, 732, 332, 771, 772, 773, - 774, 775, 733, 734, 555, 556, 766, 757, 755, 756, - 752, 753, -294, -189, 557, 558, 751, 559, 560, 561, - 562, 563, 564, 309, 81, 82, 83, 139, 754, 565, - 566, 681, 137, 729, 699, 700, 701, 702, 703, 1239, + 774, 775, 733, 734, 557, 558, 766, 757, 755, 756, + 752, 753, -294, -189, 559, 560, 751, 561, 562, 563, + 564, 565, 566, 309, 81, 82, 83, 139, 754, 567, + 568, 681, 137, 729, 699, 700, 701, 702, 703, 1239, 704, 705, 706, 742, 743, 33, 1238, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 31, 263,-32766,-32766,-32766, 104, 105, 106, 575, 263, - 1216, 126, -188, 107, 142, 438, 439, 707,-32766,-32766, + 31, 263,-32766,-32766,-32766, 104, 105, 106, 577, 263, + 1216, 126, -188, 107, 142, 440, 441, 707,-32766,-32766, -32766, 107, -254,-32766, 247,-32766,-32766,-32766,-32766,-32766, -32766, 708, 709, 710, 711, 712, 713, 714, 293,-32766, 776,-32766,-32766,-32766,-32766,-32766, 295, 715, 716, 717, @@ -284,80 +284,80 @@ class Php7 extends \PhpParser\ParserAbstract 746, 747, 748, 749, 737, 738, 739, 767, 740, 741, 726, 727, 728, 730, 731, 732, 770, 771, 772, 773, 774, 775, 733, 734, 735, 736, 766, 757, 755, 756, - 752, 753, 527, 311, 744, 750, 751, 758, 759, 761, + 752, 753, 529, 311, 744, 750, 751, 758, 759, 761, 760, 762, 763, 234,-32766,-32766,-32766, 307, 754, 765, - 764, 48, 49, 50, 484, 51, 52, 479, 395, 18, + 764, 48, 49, 50, 486, 51, 52, 481, 397, 18, 321, 53, 54, 345, 55,-32766, 982,-32766,-32766,-32766, -32766,-32766,-32766,-32767,-32767,-32767,-32767,-32767, 349,-32767, -32767,-32767,-32767, 99, 100, 101, 102, 103, 814, 354, - 815, 1191, 356, 1152, 871, 271, 406, 871, 56, 57, - 407, 814, 408, 815, 58, -188, 59, 240, 241, 60, + 815, 1191, 356, 1152, 871, 271, 408, 871, 56, 57, + 409, 814, 410, 815, 58, -188, 59, 240, 241, 60, 61, 62, 63, 64, 65, 66, 67,-32766, 26, 262, - 68, 410, 485, 409, 672, 967, 1185, 1186, 486, 1150, - 1216, 1154, 1153, 1155, 1183, 40, 23, 487, 1009, 488, - -82, 489, 147, 490, 969, 970, 491, 492, 786, 427, - 428, 42, 43, 411, 416, 413, 871, 44, 493, 389, - 494, 495, 248, 344, 320, 1159, 1154, 1153, 1155, 793, - 896, 496, 497, 498, 148, 1008, 861, 692, 787, 861, - 967, 1254, 499, 500, 150, 1173, 1174, 1175, 1176, 1170, - 1171, 281, 622, 24, 26, -14, 151, 1177, 1172, 969, + 68, 412, 487, 411, 672, 967, 1185, 1186, 488, 1150, + 1216, 1154, 1153, 1155, 1183, 40, 23, 489, 1009, 490, + -82, 491, 147, 492, 969, 970, 493, 494, 786, 429, + 430, 42, 43, 413, 418, 415, 871, 44, 495, 391, + 496, 497, 248, 344, 320, 1159, 1154, 1153, 1155, 793, + 896, 498, 499, 500, 148, 1008, 861, 692, 787, 861, + 967, 1254, 501, 502, 150, 1173, 1174, 1175, 1176, 1170, + 1171, 281, 624, 24, 26, -14, 151, 1177, 1172, 969, 970, 1154, 1153, 1155, 282, -82, 1216, -502, 152, 69, 1183, 305, 306, 311, 34, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 154, -149, - -149, -149, 637, 638, 146, 376, 1159, 1159, 861, 613, - 614, 32, 243, 35, -149, 1216, -149, 121, -149, 873, - -149, 667, 873, 122, 667, 242, 1067, 1069, 499, 500, - 412, 1173, 1174, 1175, 1176, 1170, 1171, -501, 127, -502, - -502, 494, 495, 1177, 1172, -504, 128, 871, 422, 423, - 847, 896, -107, -107, -502, 71, 440, 441, 306, 311, - -107,-32766, 430, 431, -49, 141, -502, 1152, -508, 155, + -149, -149, 639, 640, 146, 376, 1159, 1159, 861, 615, + 616, 32, 243, 35, -149, 1216, -149, 121, -149, 873, + -149, 667, 873, 122, 667, 242, 1067, 1069, 501, 502, + 414, 1173, 1174, 1175, 1176, 1170, 1171, -501, 127, -502, + -502, 496, 497, 1177, 1172, -504, 128, 871, 424, 425, + 847, 896, -107, -107, -502, 71, 442, 443, 306, 311, + -107,-32766, 432, 433, -49, 141, -502, 1152, -508, 155, 156, 780, 157, -84,-32766,-32766,-32766, 673,-32766, -76, -32766, 873,-32766, 667, -149,-32766, 1216, 1216, 1179, 282, -32766,-32766,-32766, -73, 73, -71,-32766,-32766, 311, -501, - -501, 129,-32766, 386, -70, -69,-32766, -504, -504, -68, + -501, 129,-32766, 388, -70, -69,-32766, -504, -504, -68, -32766, -67, 1152, -66, -501, -65, 871, -64, 275,-32766, -32766,-32766, -504,-32766, -45,-32766, -501,-32766, -16, 861, -32766, 145, -107, 264, -504,-32766,-32766,-32766, 682, 72, - 244,-32766,-32766,-32766, 685, 782, 674,-32766, 386, 1152, + 244,-32766,-32766,-32766, 685, 782, 674,-32766, 388, 1152, 669, 871, -501, 870, 144,-32766,-32766,-32766,-32766, 272, -32766, 282,-32766, 273,-32766, 73, 73,-32766, 1216, 311, 311, 276,-32766,-32766,-32766, 885,-32766, 246,-32766,-32766, - 277, 677, 1152, 314,-32766, 386, -4, 871, 263,-32766, + 277, 677, 1152, 314,-32766, 388, -4, 871, 263,-32766, -32766,-32766,-32766,-32766, 107,-32766, 143,-32766, 861, 778, - -32766, 871, 873,-32766, 667,-32766,-32766,-32766, 623, 645, - 871,-32766,-32766,-32766, -501, -501, 787,-32766, 386, 1152, + -32766, 871, 873,-32766, 667,-32766,-32766,-32766, 625, 647, + 871,-32766,-32766,-32766, -501, -501, 787,-32766, 388, 1152, 1037,-32766, 969, 970, 1266,-32766,-32766,-32766,-32766, -501, - -32766, 529,-32766, 861,-32766, 660, 871,-32766, 628, 533, - 683, -501,-32766,-32766,-32766, 138,-32766, 640,-32766,-32766, - 1023, 311, 1152, 20,-32766, 386, 435, 464, 629,-32766, - -32766,-32766,-32766,-32766, 641,-32766, 286,-32766, -506, 861, - -32766, 913, 405, 667, 611,-32766,-32766,-32766,-32766, 284, - -467,-32766,-32766, 861, 46, 283, 282,-32766, 386, 686, - 897, 412, 861, 400, 898,-32766, 294, 38, 280, -232, - -232, -232, 494, 495, 1007, 412, 873, 26, 667, 1190, - 786, 806, 896, -107, -107, 1192, 494, 495, 861, 1216, + -32766, 531,-32766, 861,-32766, 660, 871,-32766, 630, 535, + 683, -501,-32766,-32766,-32766, 138,-32766, 642,-32766,-32766, + 1023, 311, 1152, 20,-32766, 388, 437, 466, 631,-32766, + -32766,-32766,-32766,-32766, 643,-32766, 286,-32766, -506, 861, + -32766, 913, 407, 667, 613,-32766,-32766,-32766,-32766, 284, + -467,-32766,-32766, 861, 46, 283, 282,-32766, 388, 686, + 897, 414, 861, 402, 898,-32766, 294, 38, 280, -232, + -232, -232, 496, 497, 1007, 414, 873, 26, 667, 1190, + 786, 806, 896, -107, -107, 1192, 496, 497, 861, 1216, 47, -457, 8, 1183, 22, 847, 896, -107, -107, 347, - -506, -506, 539, 9, -231, -231, -231, 579, 1180, 887, - 412, 39, 873, 848, 667, -4, 289, 290, 689, 690, - 852, 494, 495, 937, 914, 1261, 873, -506, 667, -232, + -506, -506, 541, 9, -231, -231, -231, 581, 1180, 887, + 414, 39, 873, 848, 667, -4, 289, 290, 689, 690, + 852, 496, 497, 937, 914, 1261, 873, -506, 667, -232, 847, 896, -107, -107, 921, 873, 911, 667, 922, 850, - 1003, -537, 500, 123, 1173, 1174, 1175, 1176, 1170, 1171, - 1004, 909, 291, 292, 1012, 1015, 1177, 1172, 1016, 1013, - 1014, 873, 1020, 667, -231, 30, 798, 348, 71, 1205, - 1223, 306, 311, 1257, 616, -535, 304, 346, -107, 125, - -107, 668, 671, 675, 676, 285, 678, 679, -107, -107, - -107, -107, -107, -107, -107, 680, 684, 670, -471, 1263, - 809, 808, 817, 895, 929, 816, 1262, 894, 892, 893, - 1138, 880, 888, 878, 919, 920, 1260, 1217, 1206, 1224, - 1230, 1233, 0, -509, -508, -507, 1, 27, 28, 37, - 41, 45, -308, -257, 70, 74, 75, 76, 77, 78, - 79, 140, 149, 153, 239, 310, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 401, 402, 0, - -255, -254, 12, 13, 14, 15, 17, 375, 455, 456, - 463, 466, 467, 468, 469, 473, 474, 475, 482, 654, - 1163, 1106, 1181, 984, 1142, -259, -99, 11, 16, 25, - 279, 374, 572, 576, 603, 659, 1110, 1158, 1107, 1236, - 0, 1123, 0, 1184 + 909, -537, 502, 123, 1173, 1174, 1175, 1176, 1170, 1171, + 1012, 1015, 291, 292, 1016, 1013, 1177, 1172, 1014, 1020, + 1263, 873, 30, 667, -231, 304, 798, 348, 71, 1205, + 1223, 306, 311, 1257, 618, -535, 346, 668, -107, 125, + -107, 671, 675, 676, 678, 285, 679, 680, -107, -107, + -107, -107, -107, -107, -107, 684, 670, -257, 809, 808, + 817, 895, 929, 816, 1262, 894, 892, 893, 1138, 880, + 888, 878, 919, 920, 1260, 1217, 1206, 1224, 1230, 1233, + 0, -509, -508, -507, 1, 27, 28, 37, 41, 45, + 70, 74, -308, -255, 75, 76, 77, 78, 79, 140, + 149, 153, 239, 310, 333, 334, 335, 336, 337, 338, + 339, 340, 341, 342, 343, 403, 404, 0, -254, 12, + 13, 14, 15, 17, 375, 457, 458, 465, 468, 469, + 470, 471, 475, 476, 477, 484, 654, 1163, 1106, 1181, + 984, 1142, -259, -99, 11, 16, 25, 279, 374, 574, + 578, 605, 659, 1110, 1158, 1107, 1236, 0, -471, 1123, + 0, 1184 ); protected $actionCheck = array( @@ -463,26 +463,26 @@ class Php7 extends \PhpParser\ParserAbstract 125, 126, 127, 128, 156, 156, 156, 158, 156, 156, 156, 160, 134, 158, 136, 137, 138, 139, 140, 141, 156, 156, 131, 132, 156, 156, 148, 149, 156, 156, - 156, 156, 156, 158, 159, 158, 157, 146, 160, 157, + 159, 156, 158, 158, 159, 158, 157, 146, 160, 157, 157, 163, 164, 157, 157, 160, 158, 158, 105, 158, 107, 158, 158, 158, 158, 112, 158, 158, 115, 116, - 117, 118, 119, 120, 121, 158, 158, 158, 162, 159, + 117, 118, 119, 120, 121, 158, 158, 161, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 159, 159, -1, 160, 160, 160, 160, 160, 160, 160, + -1, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 159, 161, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, -1, + 160, 160, 160, 160, 160, 160, 160, -1, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - -1, 162, -1, 163 + 161, 161, 161, 161, 161, 161, 161, -1, 162, 162, + -1, 163 ); protected $actionBase = array( 0, -2, 151, 555, 816, 830, 865, 379, 717, 622, - 864, 676, 780, 780, 839, 780, 493, 745, 301, 301, + 862, 676, 780, 780, 839, 780, 493, 745, 301, 301, -57, 301, 301, 496, 496, 496, 618, 618, 618, 618, -58, -58, 95, 700, 733, 770, 663, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, @@ -497,9 +497,9 @@ class Php7 extends \PhpParser\ParserAbstract 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 75, -8, - 347, 629, 989, 995, 991, 996, 987, 986, 990, 992, - 997, 917, 918, 753, 919, 920, 921, 922, 993, 877, - 988, 994, 285, 285, 285, 285, 285, 285, 285, 285, + 347, 629, 986, 992, 988, 993, 984, 983, 987, 989, + 994, 915, 916, 753, 917, 918, 919, 920, 990, 877, + 985, 991, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 508, 38, 219, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, @@ -509,45 +509,45 @@ class Php7 extends \PhpParser\ParserAbstract 333, 435, 435, 435, 435, 435, 436, 436, 436, 436, 933, 564, 636, 635, 465, -52, 127, 127, 718, 718, 759, 410, 410, 410, 444, -109, -109, -109, 74, 538, - 396, 348, 414, 414, 414, 414, 414, 802, 1000, 139, + 396, 348, 414, 414, 414, 414, 414, 802, 998, 139, 139, 139, 139, 414, 414, 414, 606, 713, 713, 881, 293, 293, 293, 713, 383, 777, 497, 383, 497, 129, 793, 32, -40, -145, 793, 829, 845, 23, 12, 788, - 573, 788, 767, 866, 899, 998, 82, 789, 915, 795, - 916, 224, 678, 984, 984, 984, 984, 984, 984, 984, - 984, 984, 984, 984, 269, 985, 63, 269, 269, 269, - 529, 63, 518, 558, 63, 778, 985, 75, 805, 75, - 75, 75, 75, 946, 75, 75, 75, 75, 75, 75, - 951, 727, 723, 692, -17, 75, -8, 143, 143, 419, - 36, 143, 143, 143, 143, 565, 573, 762, 812, 581, - 817, 344, 762, 762, 762, 509, 121, 201, 122, 352, - 750, 750, 768, 769, 926, 926, 750, 765, 750, 769, - 931, 750, 768, 768, 750, 926, 768, 761, 343, 488, - 452, 470, 768, 768, 492, 926, 370, 768, 768, 750, - 750, 750, 797, 768, 494, 750, 356, 346, 750, 750, - 768, 768, 797, 786, 59, 779, 926, 926, 926, 797, - 455, 779, 779, 822, 823, 792, 732, 439, 378, 561, - 332, 768, 732, 732, 750, 481, 792, 732, 792, 732, - 818, 732, 732, 732, 792, 732, 765, 484, 732, 768, - 515, 211, 732, 27, 934, 935, 672, 936, 929, 937, - 957, 938, 939, 883, 794, 798, 944, 930, 940, 928, - 927, 752, 631, 637, 806, 764, 925, 756, 756, 756, - 923, 756, 756, 756, 756, 756, 756, 756, 756, 631, - 811, 813, 776, 781, 947, 652, 660, 796, 814, 896, - 999, 946, 979, 941, 771, 679, 965, 948, 760, 878, - 949, 950, 966, 980, 981, 826, 757, 900, 901, 869, - 952, 884, 756, 934, 939, 930, 940, 928, 927, 716, - 714, 710, 712, 708, 704, 694, 703, 730, 875, 841, - 872, 951, 924, 631, 873, 961, 867, 967, 968, 879, - 790, 772, 876, 902, 953, 954, 955, 885, 982, 886, - 815, 962, 932, 969, 791, 903, 970, 971, 972, 973, - 888, 904, 889, 824, 749, 959, 773, 905, 528, 766, - 775, 958, 560, 945, 897, 906, 907, 974, 975, 976, - 908, 909, 942, 827, 963, 784, 964, 960, 828, 838, - 570, 754, 758, 582, 594, 910, 911, 943, 737, 763, - 840, 842, 983, 912, 614, 843, 683, 913, 978, 844, - 684, 686, 854, 774, 898, 808, 783, 787, 956, 743, - 855, 914, 858, 859, 862, 977, 863, 0, 0, 0, + 573, 788, 767, 863, 898, 995, 82, 789, 913, 795, + 914, 224, 678, 981, 981, 981, 981, 981, 981, 981, + 981, 981, 981, 981, 269, 982, 63, 269, 269, 269, + 529, 63, 518, 558, 63, 778, 982, 75, 805, 75, + 75, 75, 75, 944, 75, 75, 75, 75, 75, 75, + 949, 727, 723, 692, -17, 75, -8, 143, 143, 419, + 36, 143, 143, 143, 143, 75, 75, 565, 573, 762, + 812, 581, 817, 344, 762, 762, 762, 509, 121, 201, + 122, 352, 750, 750, 768, 769, 924, 924, 750, 765, + 750, 769, 929, 750, 768, 768, 750, 924, 768, 761, + 343, 488, 452, 470, 768, 768, 492, 924, 370, 768, + 768, 750, 750, 750, 797, 768, 494, 750, 356, 346, + 750, 750, 768, 768, 797, 786, 59, 779, 924, 924, + 924, 797, 455, 779, 779, 822, 823, 792, 732, 439, + 378, 561, 332, 768, 732, 732, 750, 481, 792, 732, + 792, 732, 818, 732, 732, 732, 792, 732, 765, 484, + 732, 768, 515, 211, 732, 27, 930, 931, 672, 934, + 927, 935, 955, 936, 937, 879, 794, 798, 942, 928, + 938, 926, 925, 752, 631, 637, 806, 764, 923, 756, + 756, 756, 921, 756, 756, 756, 756, 756, 756, 756, + 756, 631, 811, 813, 776, 781, 945, 652, 660, 796, + 814, 996, 997, 944, 976, 939, 771, 679, 962, 946, + 760, 867, 947, 948, 963, 977, 978, 826, 757, 861, + 899, 869, 950, 883, 756, 930, 937, 928, 938, 926, + 925, 716, 714, 710, 712, 708, 704, 694, 703, 730, + 875, 841, 872, 949, 922, 631, 873, 958, 864, 964, + 965, 878, 790, 772, 876, 900, 951, 952, 953, 884, + 979, 885, 815, 959, 896, 966, 791, 901, 967, 968, + 969, 970, 886, 902, 888, 824, 749, 932, 773, 903, + 528, 766, 775, 956, 560, 943, 889, 904, 905, 971, + 972, 973, 906, 907, 940, 827, 960, 784, 961, 957, + 828, 838, 570, 754, 758, 582, 594, 908, 909, 941, + 737, 763, 840, 842, 980, 910, 614, 843, 683, 911, + 975, 684, 686, 774, 897, 808, 783, 787, 954, 743, + 844, 912, 854, 855, 858, 974, 859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 449, 449, 449, 449, 449, @@ -586,10 +586,11 @@ class Php7 extends \PhpParser\ParserAbstract 0, 534, 534, 534, 534, 0, 573, 761, 761, 761, 761, 761, 761, 761, 761, 761, 761, 761, 0, 761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 765, - 768, 0, 926, 0, 0, 0, 0, 750, 0, 0, - 0, 0, 0, 0, 750, 931, 768, 768, 0, 0, + 768, 0, 924, 0, 0, 0, 0, 750, 0, 0, + 0, 0, 0, 0, 750, 929, 768, 768, 0, 0, 0, 0, 0, 0, 765, 0, 0, 0, 0, 0, - 0, 756, 790, 0, 790, 0, 756, 756, 756 + 0, 0, 0, 756, 790, 0, 790, 0, 756, 756, + 756 ); protected $actionDefault = array( @@ -631,34 +632,34 @@ class Php7 extends \PhpParser\ParserAbstract 185,32767, 250, 252, 99, 516, 190,32767, 475,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767, 468, 190, 190,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 456, 396, 135,32767, - 135, 501, 388, 389, 390, 458, 501, 501, 501,32767, - 32767,32767, 190,32767, 473, 473, 97, 97, 97, 97, - 468,32767, 190, 190,32767,32767, 190, 108, 96, 96, - 96, 96, 190, 190, 96, 100, 98, 190, 190,32767, - 32767,32767, 205, 190, 96,32767, 98, 98,32767,32767, - 190, 190, 205, 207, 98, 209,32767, 520, 521, 205, - 98, 209, 209, 229, 229, 447, 286, 98, 96, 98, - 98, 190, 286, 286,32767, 98, 447, 286, 447, 286, - 192, 286, 286, 286, 447, 286,32767, 98, 286, 190, - 96, 96, 286,32767,32767,32767, 458,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 456, 396, + 135,32767, 135, 501, 388, 389, 390, 458, 501, 501, + 501,32767,32767,32767, 190,32767, 473, 473, 97, 97, + 97, 97, 468,32767, 190, 190,32767,32767, 190, 108, + 96, 96, 96, 96, 190, 190, 96, 100, 98, 190, + 190,32767,32767,32767, 205, 190, 96,32767, 98, 98, + 32767,32767, 190, 190, 205, 207, 98, 209,32767, 520, + 521, 205, 98, 209, 209, 229, 229, 447, 286, 98, + 96, 98, 98, 190, 286, 286,32767, 98, 447, 286, + 447, 286, 192, 286, 286, 286, 447, 286,32767, 98, + 286, 190, 96, 96, 286,32767,32767,32767, 458,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 488,32767, 505, 518, 394, 395, 397, - 503, 419, 420, 421, 422, 423, 424, 425, 427, 550, - 32767, 462,32767,32767,32767,32767, 304, 560,32767, 560, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 561,32767, 501,32767,32767, - 32767,32767, 393, 7, 74, 41, 42, 50, 56, 479, - 480, 481, 482, 476, 477, 483, 478,32767, 484, 526, - 32767,32767, 502, 553,32767,32767,32767,32767,32767,32767, - 135,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 488,32767, 133,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 501,32767,32767,32767, 281, - 283,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767, 488,32767, 505, 518, 394, + 395, 397, 503, 419, 420, 421, 422, 423, 424, 425, + 427, 550,32767, 462,32767,32767,32767,32767, 304, 560, + 32767, 560,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 561,32767, 501, + 32767,32767,32767,32767, 393, 7, 74, 41, 42, 50, + 56, 479, 480, 481, 482, 476, 477, 483, 478,32767, + 484, 526,32767,32767, 502, 553,32767,32767,32767,32767, + 32767,32767, 135,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 488,32767, 133,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767, 501,32767,32767, - 32767, 269, 271,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 266,32767,32767,32767, - 344,32767,32767,32767,32767,32767, 324,32767,32767,32767, + 32767, 281, 283,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 501, + 32767,32767,32767, 269, 271,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 266,32767, + 32767, 344,32767,32767,32767,32767, 324,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767, 148, 148, 3, 3, 307, 148, 148, 148, 307, 307, 148, 307, 307, 148, 148, 148, 148, 148, 148, 180, 244, 247, 229, @@ -666,65 +667,68 @@ class Php7 extends \PhpParser\ParserAbstract ); protected $goto = array( - 190, 190, 655, 781, 663, 397, 627, 964, 971, 972, - 391, 297, 298, 317, 547, 303, 396, 318, 398, 605, - 361, 365, 532, 570, 574, 161, 161, 161, 161, 187, + 190, 190, 655, 781, 663, 399, 629, 964, 971, 972, + 393, 297, 298, 317, 549, 303, 398, 318, 400, 607, + 361, 365, 534, 572, 576, 161, 161, 161, 161, 187, 187, 171, 173, 209, 191, 204, 187, 187, 187, 187, 187, 188, 188, 188, 188, 188, 188, 182, 183, 184, - 185, 186, 206, 204, 207, 507, 508, 387, 509, 511, - 512, 513, 514, 515, 516, 517, 518, 1053, 162, 163, + 185, 186, 206, 204, 207, 509, 510, 389, 511, 513, + 514, 515, 516, 517, 518, 519, 520, 1053, 162, 163, 164, 189, 165, 166, 167, 160, 168, 169, 170, 172, 203, 205, 208, 230, 233, 236, 238, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 266, 267, - 300, 301, 302, 392, 393, 394, 552, 210, 211, 212, + 300, 301, 302, 394, 395, 396, 554, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 174, 225, 175, 192, 193, 194, 231, 182, 183, 184, 185, 186, 206, 1053, 195, 176, 177, 178, 196, 192, 179, 232, 197, 159, 198, 226, 180, 199, - 227, 228, 181, 229, 200, 201, 202, 807, 328, 274, - 274, 274, 274, 1132, 890, 785, 986, 1133, 1136, 891, - 1137, 569, 1147, 592, 592, 804, 531, 524, 1182, 1182, - 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1251, 1251, - 812, 805, 860, 855, 856, 869, 800, 813, 857, 810, - 858, 859, 811, 803, 785, 864, 785, 865, 863, 1251, - 936, 910, 910, 908, 910, 687, 363, 524, 590, 624, - 531, 451, 523, 945, 940, 820, 540, 541, 452, 1148, - 832, 370, 550, 819, 800, 1027, 390, 571, 580, 795, - 1026, 1200, 1200, 912, 585, 586, 1200, 1200, 1200, 1200, + 227, 228, 181, 229, 200, 201, 202, 807, 611, 611, + 804, 274, 274, 274, 274, 976, 973, 974, 592, 626, + 1147, 594, 594, 571, 533, 526, 1182, 1182, 1182, 1182, + 1182, 1182, 1182, 1182, 1182, 1182, 1250, 1250, 986, 328, + 812, 1027, 860, 855, 856, 869, 1026, 813, 857, 810, + 858, 859, 811, 803, 1251, 1251, 805, 1250, 863, 912, + 936, 910, 910, 908, 910, 687, 363, 526, 1003, 1004, + 533, 1253, 525, 945, 940, 1251, 542, 543, 820, 1148, + 838, 370, 552, 832, 308, 288, 819, 573, 864, 795, + 865, 1200, 1200, 785, 587, 588, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1151, 1151, 1151, 968, - 1149, 1208, 1209, 968, 968, 470, 968, 968, 968, 838, + 1149, 1208, 1209, 968, 968, 472, 968, 968, 968, 779, 968, 968, 968, 1232, 1232, 1232, 1232, 1151, 1151, 1151, - 1151, 1151, 5, 21, 6, 779, 1198, 1198, 1151, 1151, + 1151, 1151, 785, 21, 785, 546, 1198, 1198, 1151, 1151, 1151, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, - 1198, 521, 521, 521, 544, 876, 510, 510, 325, 877, - 1240, 510, 510, 510, 510, 510, 510, 510, 510, 510, - 510, 933, 425, 906, 906, 906, 906, 385, 385, 385, - 385, 308, 288, 425, 900, 907, 538, 1227, 1228, 800, - 688, 604, 606, 600, 602, 625, 359, 537, 643, 647, - 947, 653, 661, 943, 584, 377, 378, 543, 437, 437, - 633, 626, 634, 1101, 381, 382, 383, 403, 644, 437, - 429, 384, 833, 821, 991, 323, 797, 995, 825, 519, - 519, 519, 519, 319, 525, 535, 1267, 915, 573, 369, - 525, 955, 535, 329, 330, 362, 822, 526, 432, 578, - 593, 596, 597, 598, 599, 617, 618, 619, 665, 1250, - 1250, 905, 992, 442, 551, 443, 417, 417, 417, 830, - 548, 583, 1258, 1259, 1222, 1222, 1222, 691, 1019, 568, - 1250, 666, 1211, 1034, 837, 1144, 449, 881, 1041, 651, - 651, 834, 658, 1017, 1253, 588, 996, 1036, 828, 917, - 0, 952, 1234, 1234, 1234, 1234, 0, 646, 824, 0, - 630, 931, 609, 609, 620, 621, 818, 635, 636, 976, - 973, 974, 0, 0, 1218, 471, 0, 472, 1143, 904, - 379, 662, 0, 478, 526, 0, 448, 1225, 1226, 417, - 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, - 0, 417, 0, 0, 0, 0, 0, 994, 0, 0, - 1220, 1220, 994, 0, 0, 0, 0, 0, 0, 0, + 1198, 523, 523, 523, 325, 876, 512, 512, 392, 877, + 582, 512, 512, 512, 512, 512, 512, 512, 512, 512, + 512, 1240, 427, 906, 906, 906, 906, 387, 387, 387, + 387, 602, 604, 427, 900, 907, 540, 904, 379, 662, + 688, 606, 608, 933, 5, 627, 6, 539, 645, 649, + 947, 653, 661, 943, 586, 377, 378, 800, 1019, 570, + 635, 666, 636, 359, 381, 382, 383, 453, 646, 652, + 652, 384, 658, 1017, 454, 323, 580, 595, 598, 599, + 600, 601, 619, 620, 621, 665, 527, 537, 1267, 450, + 1225, 1226, 527, 545, 537, 800, 628, 362, 1101, 528, + 434, 521, 521, 521, 521, 1227, 1228, 1132, 890, 405, + 575, 1133, 1136, 891, 1137, 444, 553, 445, 419, 419, + 419, 830, 329, 330, 1258, 1259, 1222, 1222, 1222, 622, + 623, 431, 637, 638, 1211, 439, 439, 550, 585, 881, + 1041, 797, 319, 833, 821, 991, 439, 590, 995, 825, + 828, 369, 822, 952, 1234, 1234, 1234, 1234, 915, 648, + 824, 955, 632, 931, 473, 691, 474, 992, 818, 1144, + 451, 996, 480, 0, 834, 1036, 1218, 917, 0, 0, + 1143, 0, 905, 0, 0, 0, 0, 0, 528, 0, + 0, 419, 419, 419, 419, 419, 419, 419, 419, 419, + 419, 419, 800, 419, 1034, 837, 0, 0, 0, 994, + 0, 0, 1220, 1220, 994, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1146, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 270, 522, 522, 950, 950 + 0, 0, 0, 0, 270, 524, 524, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 950, + 950 ); protected $gotoCheck = array( @@ -743,90 +747,93 @@ class Php7 extends \PhpParser\ParserAbstract 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 14, 88, 22, - 22, 22, 22, 76, 76, 11, 111, 76, 76, 76, - 76, 114, 19, 99, 99, 25, 74, 74, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 165, 165, - 14, 26, 14, 14, 14, 14, 21, 14, 14, 14, - 14, 14, 14, 24, 11, 63, 11, 63, 14, 165, - 24, 24, 24, 24, 24, 24, 74, 74, 54, 54, - 74, 80, 24, 24, 24, 34, 74, 74, 80, 19, - 34, 74, 74, 34, 21, 128, 12, 74, 12, 19, - 128, 152, 152, 48, 74, 74, 152, 152, 152, 152, + 41, 41, 41, 41, 41, 41, 41, 14, 107, 107, + 25, 22, 22, 22, 22, 107, 107, 107, 54, 54, + 19, 99, 99, 114, 74, 74, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 164, 164, 111, 88, + 14, 128, 14, 14, 14, 14, 128, 14, 14, 14, + 14, 14, 14, 24, 165, 165, 26, 164, 14, 48, + 24, 24, 24, 24, 24, 24, 74, 74, 14, 14, + 74, 164, 24, 24, 24, 165, 74, 74, 34, 19, + 44, 74, 74, 34, 151, 151, 34, 74, 63, 19, + 63, 152, 152, 11, 74, 74, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 71, 71, 71, 71, - 19, 19, 19, 71, 71, 74, 71, 71, 71, 44, + 19, 19, 19, 71, 71, 74, 71, 71, 71, 5, 71, 71, 71, 8, 8, 8, 8, 71, 71, 71, - 71, 71, 45, 74, 45, 5, 153, 153, 71, 71, + 71, 71, 11, 74, 11, 154, 153, 153, 71, 71, 71, 153, 153, 153, 153, 153, 153, 153, 153, 153, - 153, 18, 18, 18, 154, 71, 155, 155, 161, 71, - 163, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 94, 18, 18, 18, 18, 18, 23, 23, 23, - 23, 151, 151, 18, 18, 18, 47, 160, 160, 21, - 47, 47, 47, 81, 81, 47, 60, 8, 47, 47, - 47, 47, 47, 47, 8, 78, 78, 95, 133, 133, - 78, 62, 78, 135, 78, 78, 78, 103, 78, 133, - 79, 78, 15, 15, 15, 78, 17, 15, 38, 98, - 98, 98, 98, 28, 8, 8, 13, 15, 98, 27, - 8, 101, 8, 88, 88, 8, 36, 13, 8, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 164, - 164, 15, 113, 8, 8, 8, 22, 22, 22, 8, - 2, 2, 8, 8, 114, 114, 114, 90, 7, 7, - 164, 7, 13, 15, 15, 144, 141, 16, 16, 7, - 7, 40, 7, 7, 164, 16, 116, 131, 8, 87, - -1, 16, 114, 114, 114, 114, -1, 13, 16, -1, - 16, 16, 107, 107, 82, 82, 16, 82, 82, 107, - 107, 107, -1, -1, 114, 139, -1, 139, 16, 84, - 84, 84, -1, 139, 13, -1, 158, 158, 158, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - -1, 22, -1, -1, -1, -1, -1, 114, -1, -1, - 114, 114, 114, -1, -1, -1, -1, -1, -1, -1, + 153, 18, 18, 18, 161, 71, 155, 155, 12, 71, + 12, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 163, 18, 18, 18, 18, 18, 23, 23, 23, + 23, 81, 81, 18, 18, 18, 47, 84, 84, 84, + 47, 47, 47, 94, 45, 47, 45, 8, 47, 47, + 47, 47, 47, 47, 8, 78, 78, 21, 7, 7, + 78, 7, 78, 60, 78, 78, 78, 80, 78, 7, + 7, 78, 7, 7, 80, 78, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 77, 8, 8, 13, 158, + 158, 158, 8, 95, 8, 21, 62, 8, 135, 13, + 8, 98, 98, 98, 98, 160, 160, 76, 76, 103, + 98, 76, 76, 76, 76, 8, 8, 8, 22, 22, + 22, 8, 88, 88, 8, 8, 114, 114, 114, 82, + 82, 79, 82, 82, 13, 133, 133, 2, 2, 16, + 16, 17, 28, 15, 15, 15, 133, 16, 15, 38, + 8, 27, 36, 16, 114, 114, 114, 114, 15, 13, + 16, 101, 16, 16, 139, 90, 139, 113, 16, 144, + 141, 116, 139, -1, 40, 131, 114, 87, -1, -1, + 16, -1, 15, -1, -1, -1, -1, -1, 13, -1, + -1, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 21, 22, 15, 15, -1, -1, -1, 114, + -1, -1, 114, 114, 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 13, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 23, 23, 23, 98, 98 + -1, -1, -1, -1, 23, 23, 23, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, + 98 ); protected $gotoBase = array( - 0, 0, -249, 0, 0, 265, -6, 421, -16, 0, - 0, -115, -83, 77, -167, -47, 1, 83, 40, -186, - 0, -78, 156, 324, 199, 171, 187, 70, 103, 0, - 0, 0, 0, 0, -121, 0, 75, 0, 71, 0, - 35, -1, 0, 0, 250, -409, 0, -332, 226, 0, - 0, 0, 0, 0, 180, 0, 0, -23, 0, 0, - 306, 0, 126, 192, -229, 0, 0, 0, 0, 0, - 0, -5, 0, 0, -196, 0, -214, 65, -107, 96, - -221, -108, -211, 0, 195, 0, 0, 41, -296, 0, - 51, 0, 0, 0, 290, 316, 0, 0, 353, -61, - 0, 46, 0, 98, 0, -264, 0, 194, 0, 0, - 0, 164, 0, 63, 163, 0, 39, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -30, 0, - 0, 38, 0, 328, 0, 100, 0, 0, 0, 9, - 0, 31, 0, 0, 33, 0, 0, 0, 0, 0, - 0, 26, 7, 52, 277, 72, 0, 0, 196, 0, - -10, 280, 0, 281, 122, -99, 0, 0 + 0, 0, -232, 0, 0, 249, -6, 351, -16, 0, + 0, -37, -11, 79, -167, 22, 1, 148, 40, -188, + 0, 83, 158, 324, 199, 156, 202, 132, 162, 0, + 0, 0, 0, 0, -118, 0, 131, 0, 142, 0, + 66, -1, 0, 0, 211, -347, 0, -332, 192, 0, + 0, 0, 0, 0, 130, 0, 0, -23, 0, 0, + 323, 0, 161, 225, -229, 0, 0, 0, 0, 0, + 0, -5, 0, 0, -198, 0, 30, 42, -109, 157, + -77, -122, -246, 0, 53, 0, 0, 67, -267, 0, + 89, 0, 0, 0, 312, 352, 0, 0, 375, -63, + 0, 116, 0, 140, 0, -264, 0, -110, 0, 0, + 0, 186, 0, 118, 165, 0, 62, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -74, 0, + 0, 64, 0, 405, 0, 135, 0, 0, 0, -4, + 0, 63, 0, 0, 65, 0, 0, 0, 0, 0, + 0, -71, 7, 52, 258, 72, 0, 0, 99, 0, + 58, 276, 0, 292, -101, -83, 0, 0 ); protected $gotoDefault = array( - -32768, 483, 695, 4, 696, 769, 777, 567, 501, 664, - 324, 594, 388, 331, 862, 1040, 549, 796, 1160, 1168, - 426, 799, 312, 326, 844, 845, 846, 366, 351, 357, - 364, 615, 595, 465, 831, 420, 823, 457, 826, 419, - 835, 158, 652, 481, 839, 3, 841, 528, 872, 352, - 849, 353, 639, 851, 534, 853, 854, 360, 367, 368, - 1045, 542, 591, 866, 237, 536, 867, 350, 868, 875, - 355, 358, 648, 436, 476, 380, 1021, 577, 612, 414, - 445, 589, 601, 587, 902, 458, 434, 916, 327, 924, - 693, 1052, 607, 460, 932, 608, 939, 942, 502, 503, - 450, 954, 268, 461, 981, 631, 632, 966, 610, 979, - 444, 985, 421, 993, 1204, 424, 997, 260, 1000, 269, - 649, 399, 1005, 1006, 7, 1011, 656, 657, 10, 265, - 480, 1035, 650, 418, 1051, 404, 1120, 1122, 530, 462, - 1140, 1139, 642, 477, 1145, 1207, 415, 504, 446, 299, - 505, 287, 315, 296, 520, 278, 316, 506, 447, 1213, - 1221, 313, 29, 1241, 1252, 322, 546, 582 + -32768, 485, 695, 4, 696, 769, 777, 569, 503, 664, + 324, 596, 390, 331, 862, 1040, 551, 796, 1160, 1168, + 428, 799, 312, 326, 844, 845, 846, 366, 351, 357, + 364, 617, 597, 467, 831, 422, 823, 459, 826, 421, + 835, 158, 386, 483, 839, 3, 841, 530, 872, 352, + 849, 353, 641, 851, 536, 853, 854, 360, 367, 368, + 1045, 544, 593, 866, 237, 538, 867, 350, 868, 875, + 355, 358, 650, 438, 478, 380, 1021, 579, 614, 416, + 447, 591, 603, 589, 902, 460, 436, 916, 327, 924, + 693, 1052, 609, 462, 932, 610, 939, 942, 504, 505, + 452, 954, 268, 463, 981, 633, 634, 966, 612, 979, + 446, 985, 423, 993, 1204, 426, 997, 260, 1000, 269, + 385, 401, 1005, 1006, 7, 1011, 656, 657, 10, 265, + 482, 1035, 651, 420, 1051, 406, 1120, 1122, 532, 464, + 1140, 1139, 644, 479, 1145, 1207, 417, 506, 448, 299, + 507, 287, 315, 296, 522, 278, 316, 508, 449, 1213, + 1221, 313, 29, 1241, 1252, 322, 548, 584 ); protected $ruleToNonTerminal = array( diff --git a/test/code/parser/errorHandling/recovery.test b/test/code/parser/errorHandling/recovery.test index d7ee0403..d7d42562 100644 --- a/test/code/parser/errorHandling/recovery.test +++ b/test/code/parser/errorHandling/recovery.test @@ -1401,4 +1401,127 @@ array( $a = ["a "thing"]; ----- !!php7 -Syntax error, unexpected T_STRING, expecting ',' or ']' or ')' from 2:11 to 2:15 \ No newline at end of file +Syntax error, unexpected T_STRING, expecting ',' or ']' or ')' from 2:11 to 2:15 +----- +<?php +class A { + /** @var ?string */ + private $foo + + public function __construct(string $s) { + $this->foo = $s; + } +} +class B { + const X = 1 +} +----- +!!php7 +Syntax error, unexpected T_PUBLIC, expecting ';' from 6:5 to 6:10 +Syntax error, unexpected '}', expecting ';' from 12:1 to 12:1 +array( + 0: Stmt_Class( + attrGroups: array( + ) + flags: 0 + name: Identifier( + name: A + ) + extends: null + implements: array( + ) + stmts: array( + 0: Stmt_Property( + attrGroups: array( + ) + flags: MODIFIER_PRIVATE (4) + type: null + props: array( + 0: Stmt_PropertyProperty( + name: VarLikeIdentifier( + name: foo + ) + default: null + ) + ) + comments: array( + 0: /** @var ?string */ + ) + ) + 1: Stmt_ClassMethod( + attrGroups: array( + ) + flags: MODIFIER_PUBLIC (1) + byRef: false + name: Identifier( + name: __construct + ) + params: array( + 0: Param( + attrGroups: array( + ) + flags: 0 + type: Identifier( + name: string + ) + byRef: false + variadic: false + var: Expr_Variable( + name: s + ) + default: null + ) + ) + returnType: null + stmts: array( + 0: Stmt_Expression( + expr: Expr_Assign( + var: Expr_PropertyFetch( + var: Expr_Variable( + name: this + ) + name: Identifier( + name: foo + ) + ) + expr: Expr_Variable( + name: s + ) + ) + ) + ) + comments: array( + 0: /** @var ?string */ + ) + ) + ) + ) + 1: Stmt_Class( + attrGroups: array( + ) + flags: 0 + name: Identifier( + name: B + ) + extends: null + implements: array( + ) + stmts: array( + 0: Stmt_ClassConst( + attrGroups: array( + ) + flags: 0 + consts: array( + 0: Const( + name: Identifier( + name: X + ) + value: Scalar_LNumber( + value: 1 + ) + ) + ) + ) + ) + ) +) \ No newline at end of file