Recover from missing semicolon after property or class const

Fixes #712.
This commit is contained in:
Nikita Popov 2020-09-19 23:11:36 +02:00
parent 1c13d05035
commit 8a97fa157f
3 changed files with 397 additions and 267 deletions

View File

@ -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

View File

@ -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(

View File

@ -1401,4 +1401,127 @@ array(
$a = ["a "thing"];
-----
!!php7
Syntax error, unexpected T_STRING, expecting ',' or ']' or ')' from 2:11 to 2:15
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
)
)
)
)
)
)
)