From a947e731c322b73a9caec5fd132d0bdbac56aa21 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Fri, 23 Dec 2016 00:09:59 +0100 Subject: [PATCH] Add useConsistentVariableNodes mode The parameter case is a bit weird, because the subnode is called "name" here, rather than "var". Nothing we can do about that in this version though. The two parser options might be merged. I've kept it separate, because I think this variable representation should become the default (or even only representation) in the future, while I'm less sure about the Identifier thing. --- grammar/php5.y | 32 +- grammar/php7.y | 32 +- grammar/rebuildParsers.php | 9 +- lib/PhpParser/Parser/Php5.php | 2898 ++++++++++++----------- lib/PhpParser/Parser/Php7.php | 2080 ++++++++-------- lib/PhpParser/ParserAbstract.php | 12 +- test/PhpParser/CodeParsingTest.php | 5 +- test/code/parser/consistentVarMode.test | 106 + 8 files changed, 2658 insertions(+), 2516 deletions(-) create mode 100644 test/code/parser/consistentVarMode.test diff --git a/grammar/php5.y b/grammar/php5.y index 10ba1df..894b845 100644 --- a/grammar/php5.y +++ b/grammar/php5.y @@ -36,12 +36,12 @@ semi_reserved: ; identifier_ex: - T_STRING { $$ = makeIdent($1); } - | semi_reserved { $$ = makeIdent($1); } + T_STRING { $$ = maybeMakeIdent($1); } + | semi_reserved { $$ = maybeMakeIdent($1); } ; identifier: - T_STRING { $$ = makeIdent($1); } + T_STRING { $$ = maybeMakeIdent($1); } ; namespace_name_parts: @@ -53,6 +53,10 @@ namespace_name: namespace_name_parts { $$ = Name[$1]; } ; +plain_variable: + T_VARIABLE { $$ = maybeMakeVar(parseVar($1)); } +; + top_statement: statement { $$ = $1; } | function_declaration_statement { $$ = $1; } @@ -209,8 +213,8 @@ catches: ; catch: - T_CATCH '(' name T_VARIABLE ')' '{' inner_statement_list '}' - { $$ = Stmt\Catch_[array($3), parseVar($4), $7]; } + T_CATCH '(' name plain_variable ')' '{' inner_statement_list '}' + { $$ = Stmt\Catch_[array($3), $4, $7]; } ; optional_finally: @@ -372,16 +376,16 @@ non_empty_parameter_list: ; parameter: - optional_param_type optional_ref optional_ellipsis T_VARIABLE - { $$ = Node\Param[parseVar($4), null, $1, $2, $3]; $this->checkParam($$); } - | optional_param_type optional_ref optional_ellipsis T_VARIABLE '=' static_scalar - { $$ = Node\Param[parseVar($4), $6, $1, $2, $3]; $this->checkParam($$); } + optional_param_type optional_ref optional_ellipsis plain_variable + { $$ = Node\Param[$4, null, $1, $2, $3]; $this->checkParam($$); } + | optional_param_type optional_ref optional_ellipsis plain_variable '=' static_scalar + { $$ = Node\Param[$4, $6, $1, $2, $3]; $this->checkParam($$); } ; type: name { $$ = $1; } - | T_ARRAY { $$ = makeIdent('array'); } - | T_CALLABLE { $$ = makeIdent('callable'); } + | T_ARRAY { $$ = maybeMakeIdent('array'); } + | T_CALLABLE { $$ = maybeMakeIdent('callable'); } ; optional_param_type: @@ -428,8 +432,8 @@ static_var_list: ; static_var: - T_VARIABLE { $$ = Stmt\StaticVar[parseVar($1), null]; } - | T_VARIABLE '=' static_scalar { $$ = Stmt\StaticVar[parseVar($1), $3]; } + plain_variable { $$ = Stmt\StaticVar[$1, null]; } + | plain_variable '=' static_scalar { $$ = Stmt\StaticVar[$1, $3]; } ; class_statement_list: @@ -673,7 +677,7 @@ lexical_var_list: ; lexical_var: - optional_ref T_VARIABLE { $$ = Expr\ClosureUse[parseVar($2), $1]; } + optional_ref plain_variable { $$ = Expr\ClosureUse[$2, $1]; } ; function_call: diff --git a/grammar/php7.y b/grammar/php7.y index 0bc721c..b02eb7e 100644 --- a/grammar/php7.y +++ b/grammar/php7.y @@ -36,12 +36,12 @@ semi_reserved: ; identifier_ex: - T_STRING { $$ = makeIdent($1); } - | semi_reserved { $$ = makeIdent($1); } + T_STRING { $$ = maybeMakeIdent($1); } + | semi_reserved { $$ = maybeMakeIdent($1); } ; identifier: - T_STRING { $$ = makeIdent($1); } + T_STRING { $$ = maybeMakeIdent($1); } ; namespace_name_parts: @@ -53,6 +53,10 @@ namespace_name: namespace_name_parts { $$ = Name[$1]; } ; +plain_variable: + T_VARIABLE { $$ = maybeMakeVar(parseVar($1)); } +; + top_statement: statement { $$ = $1; } | function_declaration_statement { $$ = $1; } @@ -210,8 +214,8 @@ name_union: ; catch: - T_CATCH '(' name_union T_VARIABLE ')' '{' inner_statement_list '}' - { $$ = Stmt\Catch_[$3, parseVar($4), $7]; } + T_CATCH '(' name_union plain_variable ')' '{' inner_statement_list '}' + { $$ = Stmt\Catch_[$3, $4, $7]; } ; optional_finally: @@ -374,10 +378,10 @@ non_empty_parameter_list: ; parameter: - optional_param_type optional_ref optional_ellipsis T_VARIABLE - { $$ = Node\Param[parseVar($4), null, $1, $2, $3]; $this->checkParam($$); } - | optional_param_type optional_ref optional_ellipsis T_VARIABLE '=' expr - { $$ = Node\Param[parseVar($4), $6, $1, $2, $3]; $this->checkParam($$); } + optional_param_type optional_ref optional_ellipsis plain_variable + { $$ = Node\Param[$4, null, $1, $2, $3]; $this->checkParam($$); } + | optional_param_type optional_ref optional_ellipsis plain_variable '=' expr + { $$ = Node\Param[$4, $6, $1, $2, $3]; $this->checkParam($$); } ; type_expr: @@ -387,8 +391,8 @@ type_expr: type: name { $$ = $this->handleBuiltinTypes($1); } - | T_ARRAY { $$ = makeIdent('array'); } - | T_CALLABLE { $$ = makeIdent('callable'); } + | T_ARRAY { $$ = maybeMakeIdent('array'); } + | T_CALLABLE { $$ = maybeMakeIdent('callable'); } ; optional_param_type: @@ -432,8 +436,8 @@ static_var_list: ; static_var: - T_VARIABLE { $$ = Stmt\StaticVar[parseVar($1), null]; } - | T_VARIABLE '=' expr { $$ = Stmt\StaticVar[parseVar($1), $3]; } + plain_variable { $$ = Stmt\StaticVar[$1, null]; } + | plain_variable '=' expr { $$ = Stmt\StaticVar[$1, $3]; } ; class_statement_list: @@ -647,7 +651,7 @@ lexical_var_list: ; lexical_var: - optional_ref T_VARIABLE { $$ = Expr\ClosureUse[parseVar($2), $1]; } + optional_ref plain_variable { $$ = Expr\ClosureUse[$2, $1]; } ; function_call: diff --git a/grammar/rebuildParsers.php b/grammar/rebuildParsers.php index 2cf782a..0300db7 100644 --- a/grammar/rebuildParsers.php +++ b/grammar/rebuildParsers.php @@ -210,13 +210,20 @@ function resolveMacros($code) { . 'array_merge($attrs[\'comments\'], $stmts[0]->getAttribute(\'comments\', []))); }'; } - if ('makeIdent' == $name) { + if ('maybeMakeIdent' == $name) { assertArgs(1, $args, $name); return '($this->useIdentifierNodes ? new Node\Identifier(' . $args[0] . ', ' . '$this->startAttributeStack[#1] + $this->endAttributes) : ' . $args[0] . ')'; } + if ('maybeMakeVar' == $name) { + assertArgs(1, $args, $name); + + return '($this->useConsistentVariableNodes ? new Expr\Variable(' . $args[0] . ', ' + . '$this->startAttributeStack[#1] + $this->endAttributes) : ' . $args[0] . ')'; + } + return $matches[0]; }, $code diff --git a/lib/PhpParser/Parser/Php5.php b/lib/PhpParser/Parser/Php5.php index 02b7f9d..4a889e7 100644 --- a/lib/PhpParser/Parser/Php5.php +++ b/lib/PhpParser/Parser/Php5.php @@ -18,7 +18,7 @@ use PhpParser\Node\Stmt; class Php5 extends \PhpParser\ParserAbstract { protected $tokenToSymbolMapSize = 392; - protected $actionTableSize = 1007; + protected $actionTableSize = 1004; protected $gotoTableSize = 637; protected $invalidSymbol = 157; @@ -235,105 +235,105 @@ class Php5 extends \PhpParser\ParserAbstract protected $action = array( 673, 674, 675, 676, 677,-32766, 678, 679, 680, 716, 717, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 421, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 422, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,-32766,-32766,-32766,-32766,-32766,-32766,-32766, - -32766,-32767,-32767,-32767,-32767, 8, 237, 238,-32766,-32766, + -32766,-32767,-32767,-32767,-32767, 467, 237, 238,-32766,-32766, -32766,-32766, 681,-32766, 0,-32766,-32766,-32766,-32766,-32766, -32766,-32767,-32767,-32767,-32767,-32767, 682, 683, 684, 685, - 686, 687, 688, 911, 335, 748,-32766,-32766,-32766,-32766, - -32766, 419, 689, 690, 691, 692, 693, 694, 695, 696, + 686, 687, 688, 1175, 204, 748,-32766,-32766,-32766,-32766, + -32766, 23, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 719, 720, 721, 722, 723, 711, 712, 713, 714, 715, 700, 701, 702, 703, 704, 705, 706, 742, 743, 744, 745, 746, 747, 707, 708, 709, 710, - 740, 731, 729, 730, 726, 727, 27, 718, 724, 725, - 732, 733, 735, 734, 736, 737, 52, 53, 422, 54, - 55, 728, 739, 738, 282, 56, 57, 284, 58,-32766, + 740, 731, 729, 730, 726, 727, 121, 718, 724, 725, + 732, 733, 735, 734, 736, 737, 52, 53, 423, 54, + 55, 728, 739, 738, 420, 56, 57, 339, 58,-32766, -32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766, 7,-32767, - -32767,-32767,-32767, 50, 329, 1056, 521, 947, 948, 949, - 946, 945, 944, 939, 1215, 204, 1217, 1216, 765, 766, - 823, 59, 60,-32766,-32766,-32766, 921, 61, 1174, 62, + -32767,-32767,-32767, 50, 329, 1057, 589, 948, 949, 950, + 947, 946, 945, 940, 1216, 306, 1218, 1217, 766, 767, + 824, 59, 60,-32766,-32766,-32766, 921, 61, 1175, 62, 291, 292, 63, 64, 65, 66, 67, 68, 69, 70, - 357, 24, 299, 71, 415,-32766,-32766,-32766, 1187, 1089, - 1090, 751, 750, 1180, 213, 214, 215, 470,-32766,-32766, - -32766, 824, 409, 1101, 309,-32766, 18,-32766,-32766,-32766, - -32766,-32766,-32766, 1038, 200, -270, 434, 1038,-32766, 23, - -32766,-32766,-32766,-32766,-32766, 120, 494, 947, 948, 949, - 946, 945, 944, 121, 478, 479, 283, 624, 125,-32766, - 895, 896, 339, 480, 481,-32766, 1095, 1096, 1097, 1098, - 1092, 1093, 307, 495,-32766, 447, 430, 495, 1099, 1094, - 430, 414, -221, 871, 750, 39, 280, 332, 321, 1188, - 322, 423, -123, -123, -123, -4, 824, 469, 99, 100, - 101, 813, 301, 377, 38, 19, 424, -123, 471, -123, - 472, -123, 473, -123, 102, 425, -123, -123, -123, 28, - 29, 426, 427, 625, 30, 474, 430, 814, 72, 348, - 925, 349, 350, 475, 476,-32766,-32766,-32766, 298, 477, - 1038, 810, 795, 842, 428, 429,-32767,-32767,-32767,-32767, + 357, 24, 299, 71, 415,-32766,-32766,-32766, 1188, 1090, + 1091, 751, 750, 1181, 213, 214, 215, 473,-32766,-32766, + -32766, 825, 409, 1102, 309,-32766, 903,-32766,-32766,-32766, + -32766,-32766,-32766, 1039, 200, -271, 435, 1039,-32766, 282, + -32766,-32766,-32766,-32766,-32766, 120, 497, 948, 949, 950, + 947, 946, 945, 348, 481, 482, 293, 624, 125,-32766, + 896, 897, 339, 483, 484,-32766, 1096, 1097, 1098, 1099, + 1093, 1094, 307, 498,-32766, 418, 431, 498, 1100, 1095, + 431, 326, -222, 872, 750, 39, 280, 332, 321, 18, + 322, 424, -124, -124, -124, -4, 825, 472, 99, 100, + 101, 814, 301, 377, 38, 19, 425, -124, 474, -124, + 475, -124, 476, -124, 102, 426, -124, -124, -124, 28, + 29, 427, 428, 625, 30, 477, 431, 815, 72, 297, + 926, 350, 349, 478, 479,-32766,-32766,-32766, 298, 480, + 1039, 811, 796, 843, 429, 430,-32767,-32767,-32767,-32767, 94, 95, 96, 97, 98,-32766, 126,-32766,-32766,-32766, - -32766, 1139, 213, 214, 215, 295, 423, 239, 826, 639, - -123, 1038, 469, 895, 896, 1207, 813, 1038, 1206, 38, - 19, 424, 200, 471, 902, 472, 495, 473, 127, 430, - 425, 213, 214, 215, 28, 29, 426, 427, 407, 30, - 474, 1038, 872, 72, 320, 824, 349, 350, 475, 476, - 1038, 200, 214, 215, 477, 418, 811, 757, 842, 428, - 429, 213, 214, 215, 295, -217, 76, 77, 78, 46, - 338, 200, 480, 654, 326, 444, 31, 294, 331, 466, - 297, 200, 241, 826, 639, -4, 32, 306, 79, 80, + -32766, 1140, 213, 214, 215, 295, 424, 239, 827, 639, + -124, 1039, 472, 896, 897, 1208, 814, 1039, 1207, 38, + 19, 425, 200, 474, 1189, 475, 498, 476, 127, 431, + 426, 213, 214, 215, 28, 29, 427, 428, 407, 30, + 477, 1039, 873, 72, 320, 825, 350, 349, 478, 479, + 1039, 200, 214, 215, 480, 419, 765, 758, 843, 429, + 430, 213, 214, 215, 295, -218, 76, 77, 78, 47, + 338, 200, 483, 648, 27, 445, 31, 294, 331, 8, + 335, 200, 241, 827, 639, -4, 32, 414, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 1212, 301, 34, 824, 423, 807, 124,-32766,-32766, - -32766, 469, 901, 129, 102, 813, 1174, 577, 38, 19, - 424, 448, 471, 1180, 472, 119, 473, 49,-32766, 425, - -32766,-32766, 642, 28, 29, 426, 824, 803, 30, 474, - 416, 116, 72, 805, 47, 349, 350,-32766,-32766,-32766, - -32766,-32766,-32766, 477, 200, 1038, 234, 235, 236, 213, - 214, 215,-32766,-32766, 643, 1140, 124,-32766,-32766,-32766, - -32766,-32766, 237, 238, 423, 231, 232, 233, 293, 200, - 469, 586, 826, 639, 813, 445, 764, 38, 19, 424, - 339, 471, 313, 472, 751, 473, 1180, 332, 425, 96, - 97, 98, 28, 29, 426, 824, 423, 30, 474, 118, - 920, 72, 469, 215, 349, 350, 813, 242, 1038, 38, - 19, 424, 477, 471, 207, 472, 117, 473, 1038, 1066, - 425, 200, 835, 645, 28, 29, 426, 824, 1101, 30, - 474, 296, 244, 72, 206, 123, 349, 350,-32766,-32766, - 495, 826, 639, 430, 477, 205,-32766,-32766,-32766, 440, - 495, 115, 641, 430, 243, 648, 237, 238, 435,-32766, - 332, 460, 592, 455, 20, 423,-32766, 130, 358, 765, - 766, 469, 647, 826, 639, 813, 936, 657, 38, 19, - 424, 651, 471, 128, 472, -82, 473, 600, 601, 425, - 822, 924, 667, 28, 29, 426, 824, 423, 30, 474, - 758, 644, 72, 469, 301, 349, 350, 813, 102, 299, - 38, 19, 424, 477, 471, 51, 472, 750, 473, 606, - 43, 425, 42, 752, 41, 28, 29, 426, 751, 44, - 30, 474, 45, 48, 72, 443, 633, 349, 350, 519, - 527,-32766, 858, 639, 597, 477, 623, 33, 103, 104, + 101, 1213, 301, 34, 825, 424, 804, 124,-32766,-32766, + -32766, 472, 902, 129, 102, 814, 912, 580, 38, 19, + 425, 448, 474, 1181, 475, 119, 476, 46,-32766, 426, + -32766,-32766, 643, 28, 29, 427, 825, 806, 30, 477, + 416, 117, 72, 808, 49, 350, 349,-32766,-32766,-32766, + -32766,-32766,-32766, 480, 200, 1039, 234, 235, 236, 213, + 214, 215,-32766,-32766, 654, 1141, 124,-32766,-32766,-32766, + -32766,-32766, 237, 238, 424, 96, 97, 98, 283, 200, + 472, 524, 827, 639, 814, 446, 812, 38, 19, 425, + 284, 474, 823, 475, 751, 476, 1181, 332, 426, 231, + 232, 233, 28, 29, 427, 825, 424, 30, 477, 116, + 922, 72, 472, 215, 350, 349, 814, 207, 1039, 38, + 19, 425, 480, 474, 243, 475, 118, 476, 1039, 1067, + 426, 200, 836, 642, 28, 29, 427, 825, 1102, 30, + 477, 296, 244, 72, 206, 123, 350, 349,-32766,-32766, + 498, 827, 639, 431, 480, 115,-32766,-32766,-32766, 441, + 498, 242, 641, 431, 205, 645, 237, 238, 436,-32766, + 332, 455, 20, 460, 595, 424,-32766, 130, 358, 766, + 767, 472, 651, 827, 639, 814, 925, 667, 38, 19, + 425, -82, 474, 313, 475, 647, 476, 602, 603, 426, + 128, 759, 644, 28, 29, 427, 825, 424, 30, 477, + 937, 657, 72, 472, 301, 350, 349, 814, 102, 299, + 38, 19, 425, 480, 474, 45, 475, 752, 476, 608, + 43, 426, 42, 750, 44, 28, 29, 427, 751, 41, + 30, 477, 51, 48, 72, 444, 633, 350, 349, 754, + 530,-32766, 827, 639, 600, 480, 605, 33, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 603, 612, 1059, 580, 620, 610, 423, 583, -80, 12, - 464, 446, 469, 279, 826, 639, 813, 372, 440, 38, - 19, 424, 596, 471, 837, 472, 240, 473, 977, 979, - 425, 438, 843, 844, 28, 29, 426, 330, 1036, 30, - 474, 0, 1146, 72, 208, 209, 349, 350, 308, 0, - 210, 327, 211, 480, 477, 328, 334, 1100, -417, 310, - -498, -499, 0, 0, 202, 0, 0, 0, 0, 208, - 209, 0, 1089, 1090, 0, 210,-32766, 211, -407, 11, - 1091, 9, 4, 826, 639, 3, -399, 370, -408, 202, - 856, 838, 0, 384, 385, 529, 411, 1089, 1090, 393, - -498,-32766, 410, 859, 767, 1091, 821, 815, 763, 662, - 661, 37, 36, 854, 874, 865, 866, 762, 761, 809, - 0, 798, 930, 929, 928, 931, 800, 566, 804, 1095, - 1096, 1097, 1098, 1092, 1093, 383, 806, 808, 932, 812, - 820, 1099, 1094, 640, 650, 652, 0, 653, 212, 655, - -32766, 656, 566, 659, 1095, 1096, 1097, 1098, 1092, 1093, - 383, 664, 665, 666, 406, 405, 1099, 1094, 325, 324, - 122, 0, 75, 212, 770,-32766, 864, 769, 663, 796, - 459, 1211, 1181, 1179, 1165, 1177, 1080, 913, 1185, 1175, - 863, 1052, 839, 840, 841, 937, 829, 1041, 768, 1040, - 831, 1213, 759, 760, 1214, 0, 35, 26, 413, 408, - 336, 305, 40, 73, 304, 25, 22, 303, 302, 290, - 289, 281, 203,-32766, 74, 0, 1017, 570, 1018, 1042, - -218, 1082, -217, 1105, 903, 1046, 1043, 630, 560, 467, - 463, 462, 456, 378, 16, 15, 14, 0, 0, 0, - 604, 1160, 1159, 1106, 1209, 1079, 1176, 1047, 1164, 1178, - 1065, 1050, 1051, 1048, 1049, 0, 1145 + 583, 620, 612, 334, 599, -80, 424, 844, 12, 447, + 279, 1101, 472, 586, 859, 639, 814, 410, 406, 38, + 19, 425, 439, 474, 465, 475, 240, 476, 978, 980, + 426, 330, -499, 0, 28, 29, 427, 0, 327, 30, + 477, 845, 1147, 72, 208, 209, 350, 349, 483, 0, + 210, 328, 211, -500, 480, 308, 310, 0, 0, 0, + 0, 0, 0, 0, 202, 9, 0, 0, 4, 208, + 209, 370, 1090, 1091, -408, 210,-32766, 211, -400, 3, + 1092, 11, -409, 827, 639, 838, -219, 411, 532, 202, + 441, 393, 385, 384, 372, 1043, 0, 1090, 1091, 813, + -499,-32766, 662, 661, 37, 1092, 36, 763, 762, 929, + 805, 931, 807, 809, 821, 764, 810, 930, 932, 933, + 0, 855, 857, 860, 799, 867, 866, 569, 875, 1096, + 1097, 1098, 1099, 1093, 1094, 383, 816, 801, 822, 1019, + 325, 1100, 1095, 324, 122, 75, 1037, 405, 212, 666, + -32766, 665, 569, 664, 1096, 1097, 1098, 1099, 1093, 1094, + 383, 659, 656, 655, 653, 652, 1100, 1095, 650, 640, + 1018, 938, 606, 212, 830,-32766, 865, 839, 864, 768, + 769, 459, 1212, 1182, 1180, 1166, 1178, 1081, 914, 1186, + 1176, 1053, 840, 841, 1042, 1041, 832, 1214, 760, 761, + 1215, 797, 663, 771, 770, 842, 0, 305, 304, 303, + 336, 302, 290, 22, 25, 289, 408, 413, 281, 203, + 26, 35, 40, 74, 73,-32766, 0, 573, 1083, 1106, + 904, 1047, 1044, 630, 563, 470, 464, 463, 456, 378, + 16, 15, 14, -218, 0, 0, -418, 0, 1161, 1160, + 1107, 1210, 1080, 1177, 1048, 1165, 1179, 1066, 1051, 1052, + 1049, 1050, 0, 1146 ); protected $actionCheck = array( @@ -411,40 +411,40 @@ class Php5 extends \PhpParser\ParserAbstract 104, 105, 67, 67, 108, 86, 89, 111, 112, 79, 82, 82, 148, 149, 109, 119, 79, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 79, 79, 79, 87, 91, 93, 71, 96, 94, 94, - 102, 94, 77, 94, 148, 149, 81, 146, 146, 84, - 85, 86, 96, 88, 147, 90, 29, 92, 56, 57, - 95, 102, 123, 123, 99, 100, 101, 110, 154, 104, - 105, -1, 139, 108, 47, 48, 111, 112, 128, -1, - 53, 126, 55, 129, 119, 127, 126, 139, 154, 128, - 128, 128, -1, -1, 67, -1, -1, -1, -1, 47, - 48, -1, 75, 76, -1, 53, 79, 55, 142, 142, - 83, 142, 142, 148, 149, 142, 142, 142, 142, 67, - 148, 150, -1, 146, 146, 146, 146, 75, 76, 146, - 128, 79, 146, 148, 150, 83, 148, 148, 148, 148, + 87, 91, 93, 126, 96, 94, 71, 123, 94, 94, + 94, 139, 77, 96, 148, 149, 81, 146, 149, 84, + 85, 86, 102, 88, 102, 90, 29, 92, 56, 57, + 95, 110, 128, -1, 99, 100, 101, -1, 126, 104, + 105, 123, 139, 108, 47, 48, 111, 112, 129, -1, + 53, 127, 55, 128, 119, 128, 128, -1, -1, -1, + -1, -1, -1, -1, 67, 142, -1, -1, 142, 47, + 48, 142, 75, 76, 142, 53, 79, 55, 142, 142, + 83, 142, 142, 148, 149, 147, 152, 146, 146, 67, + 146, 146, 146, 146, 146, 152, -1, 75, 76, 148, + 128, 79, 148, 148, 148, 83, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, -1, 148, 148, 148, 148, 148, 148, 130, 148, 132, - 133, 134, 135, 136, 137, 138, 148, 148, 148, 148, - 148, 144, 145, 149, 149, 149, -1, 149, 151, 149, + 133, 134, 135, 136, 137, 138, 148, 148, 148, 152, + 149, 144, 145, 149, 149, 149, 154, 149, 151, 149, 153, 149, 130, 149, 132, 133, 134, 135, 136, 137, 138, 149, 149, 149, 149, 149, 144, 145, 149, 149, - 149, -1, 149, 151, 150, 153, 150, 150, 150, 150, + 152, 150, 155, 151, 150, 153, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, - 150, 150, 150, 150, 150, -1, 151, 151, 151, 151, + 150, 150, 150, 150, 150, 150, -1, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, -1, 152, 152, 152, 152, + 151, 151, 151, 151, 151, 151, -1, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, -1, -1, -1, + 152, 152, 152, 152, -1, -1, 154, -1, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, -1, 156 + 155, 155, -1, 156 ); protected $actionBase = array( - 0, 220, 295, 109, 109, 180, 714, -2, -2, -2, - -2, -2, 135, 505, 606, 404, 606, 473, 574, 675, - 675, 675, 330, 389, 513, 513, 819, 513, 359, 365, - 328, 225, 586, 221, 576, 398, 398, 398, 398, 134, + 0, 220, 295, 109, 109, 180, 703, -2, -2, -2, + -2, -2, 135, 473, 404, 505, 404, 574, 606, 675, + 675, 675, 330, 389, 221, 221, 816, 221, 328, 359, + 365, 225, 586, 513, 576, 398, 398, 398, 398, 134, 134, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, @@ -454,9 +454,9 @@ class Php5 extends \PhpParser\ParserAbstract 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, - 398, 254, 179, 482, 460, 720, 728, 729, 732, 817, - 659, 816, 771, 772, 634, 773, 774, 775, 776, 777, - 770, 778, 835, 779, 418, 418, 418, 418, 418, 418, + 398, 254, 179, 482, 460, 702, 704, 705, 706, 683, + 656, 727, 772, 773, 641, 774, 775, 776, 777, 778, + 771, 779, 757, 780, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, -3, 354, 383, 413, 206, 524, 521, 521, 521, 521, 521, 521, 521, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, @@ -468,43 +468,43 @@ class Php5 extends \PhpParser\ParserAbstract 762, 762, 762, 762, 762, 470, -20, -20, 509, 608, 327, 587, 210, 489, 197, 25, 25, 25, 25, 25, 17, 45, 5, 5, 5, 5, 712, 305, 305, 305, - 305, 118, 118, 118, 118, 784, 783, 782, 781, 303, - 303, 664, 664, 621, 761, 522, 522, 498, 498, 487, + 305, 118, 118, 118, 118, 795, 783, 782, 781, 303, + 303, 659, 659, 621, 735, 498, 498, 522, 522, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 387, - 156, 812, 130, 130, 130, 130, 243, 84, 207, 207, - 207, 643, 850, 243, 248, 248, 248, 476, 476, 476, + 156, 814, 130, 130, 130, 130, 243, 469, 207, 207, + 207, 643, 847, 243, 248, 248, 248, 476, 476, 476, 76, 638, 296, 296, 547, 547, 547, 477, 477, 477, - 477, 483, 763, 639, 477, 477, 477, 447, 97, 334, - 651, 780, 666, 766, 523, 686, 96, 696, 690, -6, - 669, 571, 569, 561, 684, 406, 807, -6, 254, 508, - 430, 630, 731, 408, 710, 193, 268, 363, 532, 362, - 407, 74, 760, 709, 815, 814, 137, 321, 673, 630, - 630, 630, 232, 469, 759, 756, 362, 273, 570, 570, - 570, 570, 767, 755, 570, 570, 570, 570, 764, 694, - 38, 432, 788, 13, 716, 631, 631, 620, 620, 631, - 631, 631, 631, 567, 631, 796, 805, 805, 620, 620, - 661, 567, 801, 801, 801, 801, 620, 567, 620, 620, - 631, 620, 805, 805, 567, 621, 805, 119, 567, 665, - 631, 670, 670, 801, 702, 701, 620, 640, 620, 668, - 805, 805, 805, 668, 567, 801, 615, 617, 168, 805, - 801, 533, 533, 615, 567, 533, 661, 533, 54, 636, - 637, 795, 802, 798, 734, 649, 650, 809, 808, 813, - 810, 804, 641, 689, 700, 711, 616, 635, 633, 642, - 645, 683, 646, 660, 669, 612, 622, 622, 622, 672, - 680, 672, 622, 622, 622, 622, 622, 622, 622, 622, - 842, 685, 676, 671, 629, 698, 610, 611, 657, 599, - 744, 658, 689, 689, 769, 824, 831, 644, 624, 626, - 807, 826, 672, 849, 704, 246, 579, 806, 768, 687, - 688, 672, 803, 672, 752, 672, 823, 794, 689, 793, - 622, 822, 848, 847, 846, 845, 844, 843, 836, 841, - 628, 840, 718, 656, 830, 440, 811, 684, 679, 693, - 699, 67, 839, 792, 672, 672, 753, 763, 672, 754, - 706, 703, 834, 707, 829, 838, 658, 828, 672, 648, - 837, 67, 623, 625, 818, 652, 708, 797, 662, 821, - 799, 735, 572, 619, 791, 632, 713, 833, 832, 820, - 695, 736, 597, 738, 653, 663, 647, 790, 740, 800, - 682, 789, 681, 825, 654, 612, 677, 667, 655, 627, - 742, 787, 827, 705, 730, 717, 786, 715, 785, 0, + 477, 483, 736, 639, 477, 477, 477, 362, 97, 334, + 657, 768, 648, 766, 508, 680, 96, 611, 681, 660, + 407, 569, 571, 561, 676, 406, 800, 407, 254, 532, + 447, 630, 691, 268, 700, 193, 408, 363, 523, 430, + -6, 137, 734, 699, 815, 758, 232, 321, 665, 630, + 630, 630, 74, 84, 731, 738, 430, 273, 570, 570, + 570, 570, 794, 609, 570, 570, 570, 570, 793, 769, + 432, 38, 770, 13, 701, 631, 631, 626, 626, 631, + 631, 631, 631, 567, 631, 809, 802, 802, 626, 640, + 626, 647, 567, 811, 811, 811, 811, 626, 567, 626, + 626, 631, 626, 802, 802, 567, 621, 802, 427, 567, + 652, 631, 617, 617, 811, 695, 694, 626, 626, 664, + 802, 802, 802, 664, 567, 811, 615, 678, 67, 802, + 811, 634, 640, 634, 615, 567, 634, 647, 640, 640, + 634, 54, 632, 642, 810, 813, 805, 760, 624, 658, + 804, 801, 812, 807, 803, 533, 682, 707, 708, 610, + 635, 633, 637, 628, 677, 646, 667, 660, 684, 622, + 622, 622, 644, 666, 644, 622, 622, 622, 622, 622, + 622, 622, 622, 839, 669, 672, 668, 629, 730, 619, + 688, 655, 599, 752, 612, 682, 682, 791, 820, 827, + 832, 732, 620, 800, 822, 644, 846, 698, 119, 572, + 798, 792, 687, 686, 644, 797, 644, 744, 644, 819, + 790, 682, 789, 622, 818, 845, 844, 843, 842, 841, + 840, 833, 838, 645, 837, 729, 653, 826, 168, 808, + 676, 663, 685, 728, 433, 836, 788, 644, 644, 742, + 736, 644, 740, 720, 696, 830, 718, 825, 835, 612, + 824, 644, 662, 834, 433, 636, 625, 674, 649, 717, + 806, 817, 799, 759, 616, 579, 787, 623, 716, 829, + 828, 831, 715, 756, 597, 755, 650, 786, 754, 796, + 714, 785, 767, 821, 651, 684, 679, 661, 654, 627, + 753, 784, 823, 713, 711, 710, 764, 709, 761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, @@ -541,23 +541,23 @@ class Php5 extends \PhpParser\ParserAbstract 631, 631, 631, 631, 631, 296, 414, 414, 414, 296, 296, 631, 0, 0, 0, 0, 0, 0, 631, 296, 0, 0, 631, 631, 631, 631, 631, 631, 631, 631, - 414, 296, 631, 631, 631, 805, 0, 414, 550, 550, - 550, 550, 67, 362, 0, 631, 631, 0, 640, 0, - 0, 0, 805, 0, 620, 0, 0, 0, 0, 622, - 246, 0, 322, 0, 0, 0, 0, 0, 0, 0, - 626, 322, 433, 433, 0, 0, 628, 622, 622, 622, - 0, 0, 626, 626, 0, 0, 0, 0, 0, 0, - 427, 626, 0, 0, 0, 0, 427, 274, 0, 0, - 274, 0, 67 + 414, 296, 631, 631, 631, 802, 0, 414, 550, 550, + 550, 550, 433, 430, 0, 631, 631, 640, 0, 0, + 0, 0, 802, 0, 626, 0, 0, 0, 0, 622, + 119, 0, 246, 0, 0, 0, 0, 0, 0, 0, + 620, 246, 322, 322, 0, 0, 645, 622, 622, 622, + 0, 0, 620, 620, 0, 0, 0, 0, 0, 0, + 274, 620, 0, 0, 0, 0, 274, 440, 0, 0, + 440, 0, 433 ); protected $actionDefault = array( 3,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 526, 526,32767, 482,32767,32767, - 32767,32767,32767,32767,32767, 288, 288, 288,32767,32767, - 32767, 514, 514, 514, 514, 514, 514, 514, 514, 514, - 514, 514,32767,32767,32767,32767,32767, 370,32767,32767, + 32767,32767,32767,32767, 527, 527,32767, 483,32767,32767, + 32767,32767,32767,32767,32767, 289, 289, 289,32767,32767, + 32767, 515, 515, 515, 515, 515, 515, 515, 515, 515, + 515, 515,32767,32767,32767,32767,32767, 371,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, @@ -565,228 +565,228 @@ class Php5 extends \PhpParser\ParserAbstract 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 376, 531,32767,32767,32767,32767,32767, + 32767,32767,32767, 377, 532,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 351, 352, 354, 355, 287, 515, - 238, 377, 530, 286, 240, 315, 486,32767,32767,32767, - 317, 117, 249, 194, 485, 120, 285, 225, 369, 371, - 316, 292, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 291, 442, 348, 347, 346, 444, - 32767, 443, 479, 479, 482,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 352, 353, 355, 356, 288, 516, + 239, 378, 531, 287, 241, 316, 487,32767,32767,32767, + 318, 118, 250, 195, 486, 121, 286, 226, 370, 372, + 317, 293, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 292, 443, 349, 348, 347, 445, + 32767, 444, 480, 480, 483,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 313, 470, 469, 314, 440, - 318, 441, 320, 445, 319, 336, 337, 334, 335, 338, - 447, 446, 463, 464, 461, 462, 290, 339, 340, 341, - 342, 465, 466, 467, 468, 272, 272, 272, 272,32767, - 32767, 525, 525,32767,32767, 327, 328, 454, 455,32767, + 32767,32767,32767,32767,32767, 314, 471, 470, 315, 441, + 319, 442, 321, 446, 320, 337, 338, 335, 336, 339, + 448, 447, 464, 465, 462, 463, 291, 340, 341, 342, + 343, 466, 467, 468, 469, 273, 273, 273, 273,32767, + 32767, 526, 526,32767,32767, 328, 329, 455, 456,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 273,32767, 229, 229, 229, 229, 229,32767,32767,32767, - 32767,32767,32767,32767, 322, 323, 321, 449, 450, 448, - 32767, 416,32767, 418,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 487,32767,32767, - 32767,32767,32767,32767,32767, 500, 405,32767,32767,32767, - 398, 213, 215, 162, 473,32767,32767,32767,32767,32767, - 505, 332,32767,32767,32767,32767,32767, 540,32767, 500, - 32767,32767,32767,32767,32767,32767,32767,32767, 345, 324, - 325, 326,32767,32767,32767,32767, 504, 498, 457, 458, - 459, 460,32767,32767, 451, 452, 453, 456,32767,32767, + 274,32767, 230, 230, 230, 230, 230,32767,32767,32767, + 32767,32767,32767,32767, 323, 324, 322, 450, 451, 449, + 32767, 417,32767, 419,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 488,32767,32767, + 32767,32767,32767,32767,32767, 501, 406,32767,32767, 399, + 32767, 214, 216, 163, 474,32767,32767,32767,32767,32767, + 506, 333,32767,32767,32767,32767,32767, 541,32767, 501, + 32767,32767,32767,32767,32767,32767,32767,32767, 346, 325, + 326, 327,32767,32767,32767,32767, 505, 499, 458, 459, + 460, 461,32767,32767, 452, 453, 454, 457,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 166,32767, 413, 419, 419,32767,32767, - 32767, 166,32767,32767,32767,32767,32767, 166,32767,32767, - 32767,32767, 503, 502, 166,32767, 399, 481, 166, 179, - 32767, 177, 177,32767, 199, 199,32767,32767,32767, 181, - 474, 493,32767, 181, 166,32767, 387, 168, 481,32767, - 32767, 231, 231, 387, 166, 231,32767, 231,32767, 83, - 423,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 400,32767,32767,32767, 366, 367, 476, - 489,32767, 490,32767, 398,32767, 330, 331, 333, 310, - 32767, 312, 356, 357, 358, 359, 360, 361, 362, 364, - 32767,32767, 403, 406,32767,32767,32767, 85, 109, 248, - 32767, 538, 85, 401,32767,32767, 295, 538,32767,32767, - 32767,32767, 533,32767,32767, 289,32767,32767,32767, 85, - 85, 244,32767, 164,32767, 523,32767, 498, 402,32767, - 329,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 499,32767,32767,32767,32767, 220,32767, 436,32767, 85, - 32767, 180,32767,32767, 293, 239,32767,32767, 532,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 165,32767, - 32767, 182,32767,32767, 498,32767,32767,32767,32767,32767, - 32767,32767,32767, 284,32767,32767,32767,32767,32767, 498, - 32767,32767, 224,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 83, 60,32767, 266,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 122, - 122, 3, 122, 122, 3, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 122, 207, 251, - 210, 199, 199, 159, 251, 251, 251, 258 + 32767,32767,32767, 167,32767, 414, 420, 420,32767,32767, + 32767,32767, 167,32767,32767,32767,32767,32767, 167,32767, + 32767,32767,32767, 504, 503, 167,32767, 400, 482, 167, + 180,32767, 178, 178,32767, 200, 200,32767,32767, 182, + 475, 494,32767, 182, 167,32767, 388, 169, 482,32767, + 32767, 232,32767, 232, 388, 167, 232,32767,32767,32767, + 232,32767, 83, 424,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 401,32767,32767,32767, + 367, 368, 477, 490,32767, 491,32767, 399,32767, 331, + 332, 334, 311,32767, 313, 357, 358, 359, 360, 361, + 362, 363, 365,32767,32767, 404, 407,32767,32767,32767, + 85, 110, 249,32767, 539, 85, 402,32767,32767, 296, + 539,32767,32767,32767,32767, 534,32767,32767, 290,32767, + 32767,32767, 85, 85, 245,32767, 165,32767, 524,32767, + 499, 403,32767, 330,32767,32767,32767,32767,32767,32767, + 32767,32767,32767, 500,32767,32767,32767,32767, 221,32767, + 437,32767, 85,32767, 181,32767,32767, 294, 240,32767, + 32767, 533,32767,32767,32767,32767,32767,32767,32767,32767, + 32767, 166,32767,32767, 183,32767,32767, 499,32767,32767, + 32767,32767,32767,32767,32767, 285,32767,32767,32767,32767, + 32767, 499,32767,32767, 225,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 83, 60,32767, 267,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 123, + 123, 3, 123, 123, 3, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, 208, 252, + 211, 200, 200, 160, 252, 252, 252, 259 ); protected $goto = array( 160, 160, 134, 134, 139, 134, 135, 136, 137, 142, 144, 181, 162, 158, 158, 158, 158, 139, 139, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - 154, 155, 156, 157, 178, 133, 179, 496, 497, 361, - 498, 502, 503, 504, 505, 506, 507, 508, 509, 964, + 154, 155, 156, 157, 178, 133, 179, 499, 500, 361, + 501, 505, 506, 507, 508, 509, 510, 511, 512, 965, 138, 140, 141, 143, 165, 170, 180, 196, 245, 248, 250, 252, 254, 255, 256, 257, 258, 259, 267, 268, 269, 270, 285, 286, 314, 315, 316, 379, 380, 381, - 550, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 553, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 145, 146, 147, 161, 148, 163, 149, 197, 164, 150, 151, 152, 198, 153, 131, 626, - 568, 755, 568, 568, 568, 568, 568, 568, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, - 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, - 568, 568, 568, 568, 568, 1102, 756, 1102, 1102, 1102, - 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, - 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, - 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, - 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, - 635, 887, 887, 1192, 1192, 526, 1171, 168, 1171, 512, - 786, 512, 171, 172, 173, 388, 389, 390, 391, 167, + 571, 757, 571, 571, 571, 571, 571, 571, 571, 571, + 571, 571, 571, 571, 571, 571, 571, 571, 571, 571, + 571, 571, 571, 571, 571, 571, 571, 571, 571, 571, + 571, 571, 571, 571, 571, 571, 571, 571, 571, 571, + 571, 571, 571, 571, 571, 1103, 756, 1103, 1103, 1103, + 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, + 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, + 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, + 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, + 635, 888, 888, 1193, 1193, 529, 1172, 168, 1172, 515, + 787, 515, 171, 172, 173, 388, 389, 390, 391, 167, 195, 199, 201, 249, 251, 253, 260, 261, 262, 263, 264, 265, 271, 272, 273, 274, 287, 288, 317, 318, 319, 394, 395, 396, 397, 169, 174, 246, 247, 175, - 176, 177, 500, 500, 500, 500, 500, 500, 6, 584, - 587, 632, 500, 500, 500, 500, 500, 500, 500, 500, - 500, 500, 511, 634, 511, 387, 609, 545, 545, 574, - 541, 581, 607, 792, 754, 543, 543, 499, 501, 532, - 547, 575, 578, 588, 594, 873, 341, 853, 513, 658, - 513, 514, 882, 877, 567, 817, 567, 567, 567, 567, - 567, 567, 567, 567, 567, 567, 567, 567, 567, 567, - 567, 567, 567, 567, 567, 567, 567, 567, 567, 567, - 567, 567, 567, 567, 567, 567, 567, 567, 567, 567, - 567, 567, 567, 567, 567, 567, 567, 567, 567, 552, - 553, 554, 555, 556, 557, 558, 559, 561, 590, 1078, - 1077, 551, 517, 1163, 857, 525, 522, 522, 522, 450, - 452, 935, 637, 522, 905, 1103, 619, 933, 525, 525, - 1060, 323, 312, 436, 436, 436, 436, 436, 436, 540, - 522, 1196, 546, 436, 436, 436, 436, 436, 436, 436, - 436, 436, 436, 1067, 599, 1067, 894, 894, 894, 894, - 894, 362, 1151, 538, 779, 660, 563, 894, 595, 870, - 884, 614, 869, 617, 880, 621, 622, 629, 631, 636, - 638, 851, 851, 851, 851, 1170, 608, 1170, 846, 852, - 616, 779, 779, 1189, 1186, 1186, 1186, 522, 522, 962, - 375, 539, 569, 522, 522, 891, 522, 900, 1063, 1064, - 613, 347, 1060, 618, 356, 359, 1011, 398, 1169, 1203, - 1203, 530, 523, 775, 368, 542, 1061, 1162, 1061, 1083, - 549, 1203, 548, 573, 373, 1062, 1021, 17, 13, 355, - 909, 457, 369, 369, 369, 402, 1184, 1184, 1184, 772, - 772, 10, 1053, 780, 780, 780, 782, 562, 771, 1202, - 1202, 773, 342, 343, 783, 646, 369, 861, 1058, 21, - 453, 1202, 914, 386, 605, 591, 344, 404, 276, 277, - 278, 1205, 579, 465, 1148, 951, 0, 0, 0, 0, - 0, 0, 0, 0, 537, 0, 943, 0, 0, 0, + 176, 177, 503, 503, 503, 503, 503, 503, 6, 587, + 590, 632, 503, 503, 503, 503, 503, 503, 503, 503, + 503, 503, 514, 634, 514, 387, 611, 548, 548, 577, + 544, 584, 609, 793, 755, 546, 546, 502, 504, 535, + 550, 578, 581, 591, 597, 874, 818, 854, 341, 658, + 906, 517, 883, 878, 570, 858, 570, 570, 570, 570, + 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, + 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, + 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, + 570, 570, 570, 570, 570, 570, 570, 570, 570, 555, + 556, 557, 558, 559, 560, 561, 562, 564, 593, 1079, + 1078, 554, 520, 1164, 1197, 528, 525, 525, 525, 450, + 452, 936, 637, 525, 549, 1104, 619, 934, 528, 528, + 1061, 323, 312, 437, 437, 437, 437, 437, 437, 543, + 525, 362, 601, 437, 437, 437, 437, 437, 437, 437, + 437, 437, 437, 1068, 1152, 1068, 895, 895, 895, 895, + 895, 610, 1190, 541, 780, 660, 566, 895, 598, 871, + 885, 616, 870, 617, 881, 621, 622, 629, 631, 636, + 638, 852, 852, 852, 852, 1084, 375, 1012, 847, 853, + 469, 780, 780, 1022, 17, 13, 355, 525, 525, 963, + 892, 542, 572, 525, 525, 614, 525, 347, 356, 1064, + 1065, 1060, 623, 1061, 565, 533, 594, 344, 404, 545, + 369, 369, 369, 526, 901, 21, 1062, 1163, 1062, 1171, + 607, 1171, 398, 551, 457, 1063, 776, 368, 1187, 1187, + 1187, 276, 277, 278, 369, 10, 1185, 1185, 1185, 773, + 773, 386, 373, 781, 781, 781, 783, 774, 772, 1203, + 1203, 646, 1170, 342, 343, 1204, 1204, 615, 402, 552, + 618, 1203, 576, 516, 359, 516, 910, 1204, 1054, 915, + 1059, 1206, 784, 862, 453, 582, 1149, 466, 952, 0, + 0, 0, 0, 0, 540, 0, 944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 516, 536, 0, 0, 0, - 0, 531, 0, 0, 0, 0, 516, 536, 0, 0, - 0, 0, 0, 0, 515, 0, 520, 439, 0, 441, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 778, 0, 1210 + 0, 0, 0, 0, 0, 519, 539, 0, 0, 0, + 0, 0, 534, 0, 0, 0, 519, 0, 539, 0, + 0, 0, 0, 0, 0, 518, 0, 523, 440, 0, + 442, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 779, 1211 ); protected $gotoCheck = array( - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 54, - 113, 12, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 113, 113, 120, 13, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 8, 71, 71, 71, 71, 94, 111, 24, 111, 113, - 26, 113, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 110, 110, 110, 110, 110, 110, 91, 57, - 57, 57, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 5, 110, 48, 48, 48, 48, 48, - 48, 37, 37, 11, 11, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 11, 66, 11, 116, 11, - 116, 11, 11, 11, 54, 47, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 118, - 118, 41, 9, 76, 30, 41, 9, 9, 9, 7, - 7, 7, 7, 9, 78, 7, 7, 7, 41, 41, - 76, 119, 119, 54, 54, 54, 54, 54, 54, 9, - 9, 133, 102, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 121, 54, 54, 54, 54, 54, - 54, 44, 125, 29, 20, 29, 29, 54, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 54, 54, 54, 54, 112, 46, 112, 54, 54, - 54, 20, 20, 131, 112, 112, 112, 9, 9, 94, - 45, 9, 9, 9, 9, 73, 9, 75, 76, 76, - 58, 15, 76, 58, 55, 58, 95, 19, 112, 135, - 135, 55, 9, 22, 10, 55, 76, 76, 76, 31, - 2, 135, 9, 2, 14, 76, 31, 31, 31, 31, - 79, 55, 117, 117, 117, 18, 8, 8, 8, 20, - 20, 55, 106, 20, 20, 20, 20, 31, 20, 134, - 134, 21, 66, 66, 23, 68, 117, 65, 108, 31, - 60, 134, 80, 117, 31, 64, 64, 64, 62, 62, - 62, 134, 61, 101, 124, 93, -1, -1, -1, -1, - -1, -1, -1, -1, 8, -1, 91, -1, -1, -1, + 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, 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, 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, 55, + 114, 14, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 114, 114, 114, 121, 13, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, + 8, 72, 72, 72, 72, 95, 112, 25, 112, 114, + 27, 114, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 111, 111, 111, 111, 111, 111, 92, 58, + 58, 58, 111, 111, 111, 111, 111, 111, 111, 111, + 111, 111, 111, 5, 111, 49, 49, 49, 49, 49, + 49, 38, 38, 12, 12, 49, 49, 49, 49, 49, + 49, 49, 49, 49, 49, 12, 48, 12, 67, 12, + 79, 12, 12, 12, 55, 31, 55, 55, 55, 55, + 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 55, 55, 55, 55, 55, 55, 55, 55, 55, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 119, + 119, 42, 9, 77, 134, 42, 9, 9, 9, 7, + 7, 7, 7, 9, 103, 7, 7, 7, 42, 42, + 77, 120, 120, 55, 55, 55, 55, 55, 55, 9, + 9, 45, 122, 55, 55, 55, 55, 55, 55, 55, + 55, 55, 55, 55, 126, 55, 55, 55, 55, 55, + 55, 47, 132, 30, 21, 30, 30, 55, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 55, 55, 55, 55, 32, 46, 96, 55, 55, + 55, 21, 21, 32, 32, 32, 32, 9, 9, 95, + 74, 9, 9, 9, 9, 11, 9, 16, 56, 77, + 77, 11, 11, 77, 32, 56, 65, 65, 65, 56, + 118, 118, 118, 9, 76, 32, 77, 77, 77, 113, + 32, 113, 20, 9, 56, 77, 23, 10, 113, 113, + 113, 63, 63, 63, 118, 56, 8, 8, 8, 21, + 21, 118, 15, 21, 21, 21, 21, 22, 21, 135, + 135, 69, 113, 67, 67, 136, 136, 59, 19, 2, + 59, 135, 2, 117, 59, 117, 80, 136, 107, 81, + 109, 135, 24, 66, 61, 62, 125, 102, 94, -1, + -1, -1, -1, -1, 8, -1, 92, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, 8, -1, -1, -1, - -1, 94, -1, -1, -1, -1, 8, 8, -1, -1, - -1, -1, -1, -1, 8, -1, 8, 8, -1, 8, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 8, -1, 8 + -1, -1, 95, -1, -1, -1, 8, -1, 8, -1, + -1, -1, -1, -1, -1, 8, -1, 8, 8, -1, + 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 8, 8 ); protected $gotoBase = array( - 0, 0, -161, 0, 0, 261, 0, 366, 188, 42, - 143, 282, 109, 154, 137, 141, 0, 0, 89, 142, - 94, 163, 147, 96, 7, 0, 202, 0, 0, -227, - 346, 64, 0, 0, 0, 0, 0, 245, 0, 0, - -22, 339, 0, 0, 373, 160, 156, 289, -4, 0, - 0, 0, 0, 0, 104, 37, 0, -44, -2, 0, - 78, 79, -136, 0, 197, 98, -149, 0, 157, 0, - 0, -78, 0, 149, 0, 144, 26, 0, 351, 133, - 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 246, 0, 69, 166, 165, 0, 0, 0, 0, - 0, 70, 367, 307, 0, 0, 85, 0, 97, 0, - -27, -93, 136, -90, 0, 0, -1, 184, 50, 60, - -45, 201, 0, 0, 76, 208, 0, 0, 0, 0, - 0, 161, 0, 364, 198, 158, 0, 0 + 0, 0, -122, 0, 0, 261, 0, 366, 188, 42, + 156, -7, 282, 154, 109, 155, 137, 0, 0, 112, + 157, 94, 159, 160, 114, 7, 0, 202, 0, 0, + -227, 287, 20, 0, 0, 0, 0, 0, 245, 0, + 0, -22, 339, 0, 0, 353, 146, 131, 280, -4, + 0, 0, 0, 0, 0, 104, 30, 0, -44, 54, + 0, 91, 82, -173, 0, 138, 113, -148, 0, 153, + 0, 0, -78, 0, 144, 0, 161, 26, 0, 277, + 169, 110, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 246, 0, 71, 166, 136, 0, 0, 0, + 0, 0, 73, 349, 307, 0, 0, 111, 0, 108, + 0, -27, -93, 180, -90, 0, 0, 224, 162, 50, + 60, -45, 189, 0, 0, 78, 200, 0, 0, 0, + 0, 0, 130, 0, 337, 198, 204, 0, 0 ); protected $gotoDefault = array( - -32768, 468, 669, 2, 670, 741, 749, 602, 482, 483, - 518, 855, 793, 794, 364, 412, 484, 363, 399, 392, - 781, 774, 776, 784, 166, 400, 787, 1, 789, 524, - 825, 1012, 351, 797, 352, 593, 799, 534, 801, 802, - 132, 485, 365, 366, 535, 374, 582, 816, 266, 371, - 818, 353, 819, 828, 354, 615, 598, 564, 611, 431, - 449, 576, 275, 544, 571, 860, 340, 868, 649, 876, - 879, 486, 565, 890, 454, 898, 1088, 382, 904, 910, - 915, 918, 420, 401, 589, 922, 923, 5, 927, 627, - 628, 942, 300, 950, 963, 417, 1031, 1033, 487, 488, - 528, 461, 510, 533, 489, 1054, 442, 403, 1057, 490, - 491, 432, 433, 1075, 1072, 346, 1156, 345, 451, 311, - 1143, 585, 1107, 458, 1195, 1152, 337, 492, 493, 360, - 376, 1190, 437, 1197, 1204, 333, 367, 572 + -32768, 471, 669, 2, 670, 741, 749, 604, 485, 486, + 521, 522, 856, 794, 795, 364, 412, 487, 363, 399, + 392, 782, 775, 777, 785, 166, 400, 788, 1, 790, + 527, 826, 1013, 351, 798, 352, 596, 800, 537, 802, + 803, 132, 488, 365, 366, 538, 374, 585, 817, 266, + 371, 819, 353, 820, 829, 354, 468, 462, 567, 613, + 432, 449, 579, 275, 547, 574, 861, 340, 869, 649, + 877, 880, 489, 568, 891, 454, 899, 1089, 382, 905, + 911, 916, 919, 421, 401, 592, 923, 924, 5, 928, + 627, 628, 943, 300, 951, 964, 417, 1032, 1034, 490, + 491, 531, 461, 513, 536, 492, 1055, 443, 403, 1058, + 493, 494, 433, 434, 1076, 1073, 346, 1157, 345, 451, + 311, 1144, 588, 1108, 458, 1196, 1153, 337, 495, 496, + 360, 376, 1191, 438, 1198, 1205, 333, 367, 575 ); protected $ruleToNonTerminal = array( @@ -798,53 +798,54 @@ class Php5 extends \PhpParser\ParserAbstract 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, - 7, 7, 8, 9, 9, 10, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 15, 15, 16, - 16, 16, 16, 18, 18, 14, 14, 19, 19, 20, - 20, 21, 21, 22, 22, 17, 17, 23, 25, 25, - 26, 27, 27, 29, 28, 28, 28, 28, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 11, 11, 51, - 51, 53, 52, 52, 45, 45, 55, 55, 56, 56, - 12, 13, 13, 13, 59, 59, 59, 60, 60, 63, - 63, 61, 61, 64, 64, 38, 38, 47, 47, 50, - 50, 50, 49, 49, 65, 39, 39, 39, 39, 66, - 66, 67, 67, 68, 68, 36, 36, 32, 32, 69, - 34, 34, 70, 33, 33, 35, 35, 46, 46, 46, - 57, 57, 72, 72, 73, 73, 75, 75, 75, 74, - 74, 58, 58, 76, 76, 76, 77, 77, 78, 78, - 78, 42, 42, 79, 79, 79, 43, 43, 80, 80, - 62, 62, 81, 81, 81, 81, 86, 86, 87, 87, - 88, 88, 88, 88, 88, 89, 90, 90, 85, 85, - 82, 82, 84, 84, 92, 92, 91, 91, 91, 91, - 91, 91, 83, 83, 93, 93, 44, 44, 37, 37, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 31, 31, 41, 41, 98, 98, - 99, 99, 99, 99, 105, 94, 94, 101, 101, 107, - 107, 108, 109, 109, 109, 109, 109, 109, 113, 113, - 54, 54, 54, 95, 95, 114, 114, 110, 110, 115, - 115, 115, 115, 96, 96, 96, 100, 100, 100, 106, - 106, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 120, 120, 120, 24, 24, 24, 24, 24, 24, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 104, 104, 97, 97, 97, 97, 121, - 121, 124, 124, 123, 123, 125, 125, 48, 48, 48, - 48, 127, 127, 126, 126, 126, 126, 126, 128, 128, - 112, 112, 116, 116, 111, 111, 129, 129, 129, 129, - 117, 117, 117, 117, 103, 103, 118, 118, 118, 118, - 71, 130, 130, 131, 131, 131, 102, 102, 132, 132, - 133, 133, 133, 133, 119, 119, 119, 119, 135, 136, - 134, 134, 134, 134, 134, 134, 134, 137, 137, 137 + 7, 7, 8, 9, 9, 10, 11, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 16, 16, + 17, 17, 17, 17, 19, 19, 15, 15, 20, 20, + 21, 21, 22, 22, 23, 23, 18, 18, 24, 26, + 26, 27, 28, 28, 30, 29, 29, 29, 29, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 12, 12, + 52, 52, 54, 53, 53, 46, 46, 56, 56, 57, + 57, 13, 14, 14, 14, 60, 60, 60, 61, 61, + 64, 64, 62, 62, 65, 65, 39, 39, 48, 48, + 51, 51, 51, 50, 50, 66, 40, 40, 40, 40, + 67, 67, 68, 68, 69, 69, 37, 37, 33, 33, + 70, 35, 35, 71, 34, 34, 36, 36, 47, 47, + 47, 58, 58, 73, 73, 74, 74, 76, 76, 76, + 75, 75, 59, 59, 77, 77, 77, 78, 78, 79, + 79, 79, 43, 43, 80, 80, 80, 44, 44, 81, + 81, 63, 63, 82, 82, 82, 82, 87, 87, 88, + 88, 89, 89, 89, 89, 89, 90, 91, 91, 86, + 86, 83, 83, 85, 85, 93, 93, 92, 92, 92, + 92, 92, 92, 84, 84, 94, 94, 45, 45, 38, + 38, 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, 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, 41, 41, 41, 41, 41, + 41, 41, 41, 41, 41, 32, 32, 42, 42, 99, + 99, 100, 100, 100, 100, 106, 95, 95, 102, 102, + 108, 108, 109, 110, 110, 110, 110, 110, 110, 114, + 114, 55, 55, 55, 96, 96, 115, 115, 111, 111, + 116, 116, 116, 116, 97, 97, 97, 101, 101, 101, + 107, 107, 121, 121, 121, 121, 121, 121, 121, 121, + 121, 121, 121, 121, 121, 25, 25, 25, 25, 25, + 25, 123, 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 105, 105, 98, 98, 98, 98, + 122, 122, 125, 125, 124, 124, 126, 126, 49, 49, + 49, 49, 128, 128, 127, 127, 127, 127, 127, 129, + 129, 113, 113, 117, 117, 112, 112, 130, 130, 130, + 130, 118, 118, 118, 118, 104, 104, 119, 119, 119, + 119, 72, 131, 131, 132, 132, 132, 103, 103, 133, + 133, 134, 134, 134, 134, 120, 120, 120, 120, 136, + 137, 135, 135, 135, 135, 135, 135, 135, 138, 138, + 138 ); protected $ruleToLength = array( @@ -857,52 +858,53 @@ class Php5 extends \PhpParser\ParserAbstract 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, - 3, 5, 4, 3, 4, 2, 3, 1, 1, 7, - 8, 6, 7, 3, 1, 3, 1, 3, 1, 1, - 3, 1, 2, 1, 2, 3, 1, 3, 3, 1, - 3, 2, 0, 1, 1, 1, 1, 1, 3, 5, - 8, 3, 5, 9, 3, 2, 3, 2, 3, 2, - 3, 2, 3, 3, 3, 1, 2, 5, 7, 9, - 5, 6, 3, 3, 2, 2, 1, 1, 1, 0, - 2, 8, 0, 4, 1, 3, 0, 1, 0, 1, - 10, 7, 6, 5, 1, 2, 2, 0, 2, 0, - 2, 0, 2, 1, 3, 1, 4, 1, 4, 1, - 1, 4, 1, 3, 3, 3, 4, 4, 5, 0, - 2, 4, 3, 1, 1, 1, 4, 0, 2, 3, - 0, 2, 4, 0, 2, 0, 3, 1, 2, 1, - 1, 0, 1, 3, 4, 6, 1, 1, 1, 0, - 1, 0, 2, 2, 3, 3, 1, 3, 1, 2, - 2, 3, 1, 1, 2, 4, 3, 1, 1, 3, - 2, 0, 3, 3, 9, 3, 1, 3, 0, 2, - 4, 5, 4, 4, 4, 3, 1, 1, 1, 3, - 1, 1, 0, 1, 1, 2, 1, 1, 1, 1, - 1, 1, 1, 3, 1, 3, 3, 1, 0, 1, - 1, 3, 3, 4, 4, 1, 2, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, - 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, + 1, 3, 5, 4, 3, 4, 2, 3, 1, 1, + 7, 8, 6, 7, 3, 1, 3, 1, 3, 1, + 1, 3, 1, 2, 1, 2, 3, 1, 3, 3, + 1, 3, 2, 0, 1, 1, 1, 1, 1, 3, + 5, 8, 3, 5, 9, 3, 2, 3, 2, 3, + 2, 3, 2, 3, 3, 3, 1, 2, 5, 7, + 9, 5, 6, 3, 3, 2, 2, 1, 1, 1, + 0, 2, 8, 0, 4, 1, 3, 0, 1, 0, + 1, 10, 7, 6, 5, 1, 2, 2, 0, 2, + 0, 2, 0, 2, 1, 3, 1, 4, 1, 4, + 1, 1, 4, 1, 3, 3, 3, 4, 4, 5, + 0, 2, 4, 3, 1, 1, 1, 4, 0, 2, + 3, 0, 2, 4, 0, 2, 0, 3, 1, 2, + 1, 1, 0, 1, 3, 4, 6, 1, 1, 1, + 0, 1, 0, 2, 2, 3, 3, 1, 3, 1, + 2, 2, 3, 1, 1, 2, 4, 3, 1, 1, + 3, 2, 0, 3, 3, 9, 3, 1, 3, 0, + 2, 4, 5, 4, 4, 4, 3, 1, 1, 1, + 3, 1, 1, 0, 1, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 3, 1, 3, 3, 1, 0, + 1, 1, 3, 3, 4, 4, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 1, 3, 5, 4, 3, 4, - 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 1, 1, 3, 2, - 1, 2, 10, 11, 3, 3, 2, 4, 4, 3, - 4, 4, 4, 4, 7, 3, 2, 0, 4, 1, - 3, 2, 2, 4, 6, 2, 2, 4, 1, 1, - 1, 2, 3, 1, 1, 1, 1, 1, 1, 3, - 3, 4, 4, 0, 2, 1, 0, 1, 1, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 2, 1, 3, 1, 4, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, - 2, 3, 3, 3, 3, 3, 3, 3, 3, 5, - 4, 4, 3, 1, 3, 1, 1, 3, 3, 0, - 2, 0, 1, 3, 1, 3, 1, 1, 1, 1, - 1, 6, 4, 3, 4, 2, 4, 4, 1, 3, - 1, 2, 1, 1, 4, 1, 3, 6, 4, 4, - 4, 4, 1, 4, 0, 1, 1, 3, 1, 1, - 4, 3, 1, 1, 1, 0, 0, 2, 3, 1, - 3, 1, 4, 2, 2, 2, 1, 2, 1, 1, - 1, 4, 3, 3, 3, 6, 3, 1, 1, 1 + 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 1, 3, 5, 4, 3, + 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 1, 1, 1, 3, + 2, 1, 2, 10, 11, 3, 3, 2, 4, 4, + 3, 4, 4, 4, 4, 7, 3, 2, 0, 4, + 1, 3, 2, 2, 4, 6, 2, 2, 4, 1, + 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, + 3, 3, 4, 4, 0, 2, 1, 0, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 3, 2, 1, 3, 1, 4, 3, + 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, + 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 5, 4, 4, 3, 1, 3, 1, 1, 3, 3, + 0, 2, 0, 1, 3, 1, 3, 1, 1, 1, + 1, 1, 6, 4, 3, 4, 2, 4, 4, 1, + 3, 1, 2, 1, 1, 4, 1, 3, 6, 4, + 4, 4, 4, 1, 4, 0, 1, 1, 3, 1, + 1, 4, 3, 1, 1, 1, 0, 0, 2, 3, + 1, 3, 1, 4, 2, 2, 2, 1, 2, 1, + 1, 1, 4, 3, 3, 3, 6, 3, 1, 1, + 1 ); protected function reduceRule0() { @@ -1251,7 +1253,7 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule86() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = ($this->useConsistentVariableNodes ? new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes) : substr($this->semStack[$this->stackPos-(1-1)], 1)); } protected function reduceRule87() { @@ -1263,148 +1265,148 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule89() { - $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule90() { - $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(3-2)], null, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->checkNamespace($this->semValue); + $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule91() { - $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(5-2)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); $this->checkNamespace($this->semValue); + $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(3-2)], null, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->checkNamespace($this->semValue); } protected function reduceRule92() { - $this->semValue = new Stmt\Namespace_(null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); $this->checkNamespace($this->semValue); + $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(5-2)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); $this->checkNamespace($this->semValue); } protected function reduceRule93() { - $this->semValue = new Stmt\Use_($this->semStack[$this->stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Stmt\Namespace_(null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); $this->checkNamespace($this->semValue); } protected function reduceRule94() { - $this->semValue = new Stmt\Use_($this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-2)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Stmt\Use_($this->semStack[$this->stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule95() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = new Stmt\Use_($this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-2)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule96() { - $this->semValue = new Stmt\Const_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } protected function reduceRule97() { - $this->semValue = Stmt\Use_::TYPE_FUNCTION; + $this->semValue = new Stmt\Const_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule98() { - $this->semValue = Stmt\Use_::TYPE_CONSTANT; + $this->semValue = Stmt\Use_::TYPE_FUNCTION; } protected function reduceRule99() { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(7-3)], $this->startAttributeStack[$this->stackPos-(7-3)] + $this->endAttributeStack[$this->stackPos-(7-3)]), $this->semStack[$this->stackPos-(7-6)], $this->semStack[$this->stackPos-(7-2)], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); + $this->semValue = Stmt\Use_::TYPE_CONSTANT; } protected function reduceRule100() { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(8-4)], $this->startAttributeStack[$this->stackPos-(8-4)] + $this->endAttributeStack[$this->stackPos-(8-4)]), $this->semStack[$this->stackPos-(8-7)], $this->semStack[$this->stackPos-(8-2)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes); + $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(7-3)], $this->startAttributeStack[$this->stackPos-(7-3)] + $this->endAttributeStack[$this->stackPos-(7-3)]), $this->semStack[$this->stackPos-(7-6)], $this->semStack[$this->stackPos-(7-2)], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); } protected function reduceRule101() { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(6-2)], $this->startAttributeStack[$this->stackPos-(6-2)] + $this->endAttributeStack[$this->stackPos-(6-2)]), $this->semStack[$this->stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); + $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(8-4)], $this->startAttributeStack[$this->stackPos-(8-4)] + $this->endAttributeStack[$this->stackPos-(8-4)]), $this->semStack[$this->stackPos-(8-7)], $this->semStack[$this->stackPos-(8-2)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes); } protected function reduceRule102() { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(7-3)], $this->startAttributeStack[$this->stackPos-(7-3)] + $this->endAttributeStack[$this->stackPos-(7-3)]), $this->semStack[$this->stackPos-(7-6)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); + $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(6-2)], $this->startAttributeStack[$this->stackPos-(6-2)] + $this->endAttributeStack[$this->stackPos-(6-2)]), $this->semStack[$this->stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); } protected function reduceRule103() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(7-3)], $this->startAttributeStack[$this->stackPos-(7-3)] + $this->endAttributeStack[$this->stackPos-(7-3)]), $this->semStack[$this->stackPos-(7-6)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); } protected function reduceRule104() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule105() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule106() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule107() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule108() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule109() { - $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $this->stackPos-(1-1)); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule110() { - $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $this->stackPos-(3-3)); + $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $this->stackPos-(1-1)); } protected function reduceRule111() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $this->stackPos-(3-3)); } protected function reduceRule112() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule113() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL; + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; } protected function reduceRule114() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; $this->semValue->type = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL; } protected function reduceRule115() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; $this->semValue->type = $this->semStack[$this->stackPos-(2-1)]; } protected function reduceRule116() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule117() { - $this->semValue = new Node\Const_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule118() { $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } - protected function reduceRule119() { + protected function reduceRule117() { $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } - protected function reduceRule120() { + protected function reduceRule118() { $this->semValue = new Node\Const_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } + protected function reduceRule119() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule120() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + protected function reduceRule121() { - if (is_array($this->semStack[$this->stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); } else { $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; }; + $this->semValue = new Node\Const_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule122() { - $this->semValue = array(); + if (is_array($this->semStack[$this->stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); } else { $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; }; } protected function reduceRule123() { - $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop(['comments' => $startAttributes['comments']]); } else { $nop = null; }; - if ($nop !== null) { $this->semStack[$this->stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = array(); } protected function reduceRule124() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop(['comments' => $startAttributes['comments']]); } else { $nop = null; }; + if ($nop !== null) { $this->semStack[$this->stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule125() { @@ -1416,314 +1418,314 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule127() { - throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule128() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; $attrs = $this->startAttributeStack[$this->stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments']) && isset($stmts[0])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); }; - } - - protected function reduceRule129() { - $this->semValue = new Stmt\If_($this->semStack[$this->stackPos-(5-2)], ['stmts' => is_array($this->semStack[$this->stackPos-(5-3)]) ? $this->semStack[$this->stackPos-(5-3)] : array($this->semStack[$this->stackPos-(5-3)]), 'elseifs' => $this->semStack[$this->stackPos-(5-4)], 'else' => $this->semStack[$this->stackPos-(5-5)]], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); - } - - protected function reduceRule130() { - $this->semValue = new Stmt\If_($this->semStack[$this->stackPos-(8-2)], ['stmts' => $this->semStack[$this->stackPos-(8-4)], 'elseifs' => $this->semStack[$this->stackPos-(8-5)], 'else' => $this->semStack[$this->stackPos-(8-6)]], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes); - } - - protected function reduceRule131() { - $this->semValue = new Stmt\While_($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule132() { - $this->semValue = new Stmt\Do_($this->semStack[$this->stackPos-(5-4)], is_array($this->semStack[$this->stackPos-(5-2)]) ? $this->semStack[$this->stackPos-(5-2)] : array($this->semStack[$this->stackPos-(5-2)]), $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); - } - - protected function reduceRule133() { - $this->semValue = new Stmt\For_(['init' => $this->semStack[$this->stackPos-(9-3)], 'cond' => $this->semStack[$this->stackPos-(9-5)], 'loop' => $this->semStack[$this->stackPos-(9-7)], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes); - } - - protected function reduceRule134() { - $this->semValue = new Stmt\Switch_($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule135() { - $this->semValue = new Stmt\Break_(null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule136() { - $this->semValue = new Stmt\Break_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule137() { - $this->semValue = new Stmt\Continue_(null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule138() { - $this->semValue = new Stmt\Continue_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule139() { - $this->semValue = new Stmt\Return_(null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule140() { - $this->semValue = new Stmt\Return_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule141() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule142() { - $this->semValue = new Stmt\Global_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule143() { - $this->semValue = new Stmt\Static_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule144() { - $this->semValue = new Stmt\Echo_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule145() { - $this->semValue = new Stmt\InlineHTML($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule146() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule147() { - $this->semValue = new Stmt\Unset_($this->semStack[$this->stackPos-(5-3)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); - } - - protected function reduceRule148() { - $this->semValue = new Stmt\Foreach_($this->semStack[$this->stackPos-(7-3)], $this->semStack[$this->stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$this->stackPos-(7-5)][1], 'stmts' => $this->semStack[$this->stackPos-(7-7)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); - } - - protected function reduceRule149() { - $this->semValue = new Stmt\Foreach_($this->semStack[$this->stackPos-(9-3)], $this->semStack[$this->stackPos-(9-7)][0], ['keyVar' => $this->semStack[$this->stackPos-(9-5)], 'byRef' => $this->semStack[$this->stackPos-(9-7)][1], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes); - } - - protected function reduceRule150() { - $this->semValue = new Stmt\Declare_($this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); - } - - protected function reduceRule151() { - $this->semValue = new Stmt\TryCatch($this->semStack[$this->stackPos-(6-3)], $this->semStack[$this->stackPos-(6-5)], $this->semStack[$this->stackPos-(6-6)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue); - } - - protected function reduceRule152() { - $this->semValue = new Stmt\Throw_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule153() { - $this->semValue = new Stmt\Goto_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule154() { - $this->semValue = new Stmt\Label($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule155() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule156() { - $this->semValue = array(); /* means: no statement */ - } - - protected function reduceRule157() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + protected function reduceRule128() { + throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule129() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; $attrs = $this->startAttributeStack[$this->stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments']) && isset($stmts[0])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); }; + } + + protected function reduceRule130() { + $this->semValue = new Stmt\If_($this->semStack[$this->stackPos-(5-2)], ['stmts' => is_array($this->semStack[$this->stackPos-(5-3)]) ? $this->semStack[$this->stackPos-(5-3)] : array($this->semStack[$this->stackPos-(5-3)]), 'elseifs' => $this->semStack[$this->stackPos-(5-4)], 'else' => $this->semStack[$this->stackPos-(5-5)]], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + } + + protected function reduceRule131() { + $this->semValue = new Stmt\If_($this->semStack[$this->stackPos-(8-2)], ['stmts' => $this->semStack[$this->stackPos-(8-4)], 'elseifs' => $this->semStack[$this->stackPos-(8-5)], 'else' => $this->semStack[$this->stackPos-(8-6)]], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes); + } + + protected function reduceRule132() { + $this->semValue = new Stmt\While_($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule133() { + $this->semValue = new Stmt\Do_($this->semStack[$this->stackPos-(5-4)], is_array($this->semStack[$this->stackPos-(5-2)]) ? $this->semStack[$this->stackPos-(5-2)] : array($this->semStack[$this->stackPos-(5-2)]), $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + } + + protected function reduceRule134() { + $this->semValue = new Stmt\For_(['init' => $this->semStack[$this->stackPos-(9-3)], 'cond' => $this->semStack[$this->stackPos-(9-5)], 'loop' => $this->semStack[$this->stackPos-(9-7)], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes); + } + + protected function reduceRule135() { + $this->semValue = new Stmt\Switch_($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule136() { + $this->semValue = new Stmt\Break_(null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule137() { + $this->semValue = new Stmt\Break_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule138() { + $this->semValue = new Stmt\Continue_(null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule139() { + $this->semValue = new Stmt\Continue_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule140() { + $this->semValue = new Stmt\Return_(null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule141() { + $this->semValue = new Stmt\Return_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule142() { + $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule143() { + $this->semValue = new Stmt\Global_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule144() { + $this->semValue = new Stmt\Static_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule145() { + $this->semValue = new Stmt\Echo_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule146() { + $this->semValue = new Stmt\InlineHTML($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule147() { + $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule148() { + $this->semValue = new Stmt\Unset_($this->semStack[$this->stackPos-(5-3)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + } + + protected function reduceRule149() { + $this->semValue = new Stmt\Foreach_($this->semStack[$this->stackPos-(7-3)], $this->semStack[$this->stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$this->stackPos-(7-5)][1], 'stmts' => $this->semStack[$this->stackPos-(7-7)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); + } + + protected function reduceRule150() { + $this->semValue = new Stmt\Foreach_($this->semStack[$this->stackPos-(9-3)], $this->semStack[$this->stackPos-(9-7)][0], ['keyVar' => $this->semStack[$this->stackPos-(9-5)], 'byRef' => $this->semStack[$this->stackPos-(9-7)][1], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes); + } + + protected function reduceRule151() { + $this->semValue = new Stmt\Declare_($this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + } + + protected function reduceRule152() { + $this->semValue = new Stmt\TryCatch($this->semStack[$this->stackPos-(6-3)], $this->semStack[$this->stackPos-(6-5)], $this->semStack[$this->stackPos-(6-6)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue); + } + + protected function reduceRule153() { + $this->semValue = new Stmt\Throw_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule154() { + $this->semValue = new Stmt\Goto_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule155() { + $this->semValue = new Stmt\Label($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule156() { + $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule157() { + $this->semValue = array(); /* means: no statement */ + } + protected function reduceRule158() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule159() { $startAttributes = $this->startAttributeStack[$this->stackPos-(1-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop(['comments' => $startAttributes['comments']]); } else { $this->semValue = null; }; if ($this->semValue === null) $this->semValue = array(); /* means: no statement */ } - protected function reduceRule159() { + protected function reduceRule160() { $this->semValue = array(); } - protected function reduceRule160() { + protected function reduceRule161() { $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } - protected function reduceRule161() { - $this->semValue = new Stmt\Catch_(array($this->semStack[$this->stackPos-(8-3)]), substr($this->semStack[$this->stackPos-(8-4)], 1), $this->semStack[$this->stackPos-(8-7)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes); - } - protected function reduceRule162() { - $this->semValue = null; + $this->semValue = new Stmt\Catch_(array($this->semStack[$this->stackPos-(8-3)]), $this->semStack[$this->stackPos-(8-4)], $this->semStack[$this->stackPos-(8-7)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes); } protected function reduceRule163() { - $this->semValue = new Stmt\Finally_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = null; } protected function reduceRule164() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = new Stmt\Finally_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule165() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule166() { - $this->semValue = false; + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule167() { - $this->semValue = true; - } - - protected function reduceRule168() { $this->semValue = false; } - protected function reduceRule169() { + protected function reduceRule168() { $this->semValue = true; } + protected function reduceRule169() { + $this->semValue = false; + } + protected function reduceRule170() { - $this->semValue = new Stmt\Function_($this->semStack[$this->stackPos-(10-3)], ['byRef' => $this->semStack[$this->stackPos-(10-2)], 'params' => $this->semStack[$this->stackPos-(10-5)], 'returnType' => $this->semStack[$this->stackPos-(10-7)], 'stmts' => $this->semStack[$this->stackPos-(10-9)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes); + $this->semValue = true; } protected function reduceRule171() { + $this->semValue = new Stmt\Function_($this->semStack[$this->stackPos-(10-3)], ['byRef' => $this->semStack[$this->stackPos-(10-2)], 'params' => $this->semStack[$this->stackPos-(10-5)], 'returnType' => $this->semStack[$this->stackPos-(10-7)], 'stmts' => $this->semStack[$this->stackPos-(10-9)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes); + } + + protected function reduceRule172() { $this->semValue = new Stmt\Class_($this->semStack[$this->stackPos-(7-2)], ['type' => $this->semStack[$this->stackPos-(7-1)], 'extends' => $this->semStack[$this->stackPos-(7-3)], 'implements' => $this->semStack[$this->stackPos-(7-4)], 'stmts' => $this->semStack[$this->stackPos-(7-6)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); $this->checkClass($this->semValue, $this->stackPos-(7-2)); } - protected function reduceRule172() { + protected function reduceRule173() { $this->semValue = new Stmt\Interface_($this->semStack[$this->stackPos-(6-2)], ['extends' => $this->semStack[$this->stackPos-(6-3)], 'stmts' => $this->semStack[$this->stackPos-(6-5)]], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); $this->checkInterface($this->semValue, $this->stackPos-(6-2)); } - protected function reduceRule173() { + protected function reduceRule174() { $this->semValue = new Stmt\Trait_($this->semStack[$this->stackPos-(5-2)], ['stmts' => $this->semStack[$this->stackPos-(5-4)]], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); } - protected function reduceRule174() { + protected function reduceRule175() { $this->semValue = 0; } - protected function reduceRule175() { + protected function reduceRule176() { $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; } - protected function reduceRule176() { + protected function reduceRule177() { $this->semValue = Stmt\Class_::MODIFIER_FINAL; } - protected function reduceRule177() { - $this->semValue = null; - } - protected function reduceRule178() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + $this->semValue = null; } protected function reduceRule179() { - $this->semValue = array(); + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; } protected function reduceRule180() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + $this->semValue = array(); } protected function reduceRule181() { - $this->semValue = array(); - } - - protected function reduceRule182() { $this->semValue = $this->semStack[$this->stackPos-(2-2)]; } - protected function reduceRule183() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule184() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule185() { - $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule186() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule187() { - $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule188() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule189() { - $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule190() { - $this->semValue = null; - } - - protected function reduceRule191() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule192() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule193() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule194() { - $this->semValue = new Stmt\DeclareDeclare($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule195() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule196() { - $this->semValue = $this->semStack[$this->stackPos-(4-3)]; - } - - protected function reduceRule197() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule198() { - $this->semValue = $this->semStack[$this->stackPos-(5-3)]; - } - - protected function reduceRule199() { + protected function reduceRule182() { $this->semValue = array(); } + protected function reduceRule183() { + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + } + + protected function reduceRule184() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule185() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule186() { + $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule187() { + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + } + + protected function reduceRule188() { + $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule189() { + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + } + + protected function reduceRule190() { + $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule191() { + $this->semValue = null; + } + + protected function reduceRule192() { + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + } + + protected function reduceRule193() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule194() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule195() { + $this->semValue = new Stmt\DeclareDeclare($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule196() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule197() { + $this->semValue = $this->semStack[$this->stackPos-(4-3)]; + } + + protected function reduceRule198() { + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + } + + protected function reduceRule199() { + $this->semValue = $this->semStack[$this->stackPos-(5-3)]; + } + protected function reduceRule200() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = array(); } protected function reduceRule201() { - $this->semValue = new Stmt\Case_($this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } protected function reduceRule202() { - $this->semValue = new Stmt\Case_(null, $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Stmt\Case_($this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule203() { - $this->semValue = $this->semStack[$this->stackPos]; + $this->semValue = new Stmt\Case_(null, $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule204() { @@ -1731,240 +1733,240 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule205() { - $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = $this->semStack[$this->stackPos]; } protected function reduceRule206() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule207() { - $this->semValue = array(); + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; } protected function reduceRule208() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = array(); } protected function reduceRule209() { - $this->semValue = new Stmt\ElseIf_($this->semStack[$this->stackPos-(3-2)], is_array($this->semStack[$this->stackPos-(3-3)]) ? $this->semStack[$this->stackPos-(3-3)] : array($this->semStack[$this->stackPos-(3-3)]), $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } protected function reduceRule210() { - $this->semValue = array(); + $this->semValue = new Stmt\ElseIf_($this->semStack[$this->stackPos-(3-2)], is_array($this->semStack[$this->stackPos-(3-3)]) ? $this->semStack[$this->stackPos-(3-3)] : array($this->semStack[$this->stackPos-(3-3)]), $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule211() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = array(); } protected function reduceRule212() { - $this->semValue = new Stmt\ElseIf_($this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule213() { - $this->semValue = null; - } - - protected function reduceRule214() { - $this->semValue = new Stmt\Else_(is_array($this->semStack[$this->stackPos-(2-2)]) ? $this->semStack[$this->stackPos-(2-2)] : array($this->semStack[$this->stackPos-(2-2)]), $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule215() { - $this->semValue = null; - } - - protected function reduceRule216() { - $this->semValue = new Stmt\Else_($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule217() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); - } - - protected function reduceRule218() { - $this->semValue = array($this->semStack[$this->stackPos-(2-2)], true); - } - - protected function reduceRule219() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); - } - - protected function reduceRule220() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule221() { - $this->semValue = array(); - } - - protected function reduceRule222() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule223() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule224() { - $this->semValue = new Node\Param(substr($this->semStack[$this->stackPos-(4-4)], 1), null, $this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); $this->checkParam($this->semValue); - } - - protected function reduceRule225() { - $this->semValue = new Node\Param(substr($this->semStack[$this->stackPos-(6-4)], 1), $this->semStack[$this->stackPos-(6-6)], $this->semStack[$this->stackPos-(6-1)], $this->semStack[$this->stackPos-(6-2)], $this->semStack[$this->stackPos-(6-3)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); $this->checkParam($this->semValue); - } - - protected function reduceRule226() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule227() { - $this->semValue = ($this->useIdentifierNodes ? new Node\Identifier('array', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes) : 'array'); - } - - protected function reduceRule228() { - $this->semValue = ($this->useIdentifierNodes ? new Node\Identifier('callable', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes) : 'callable'); - } - - protected function reduceRule229() { - $this->semValue = null; - } - - protected function reduceRule230() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule231() { - $this->semValue = null; - } - - protected function reduceRule232() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; - } - - protected function reduceRule233() { - $this->semValue = array(); - } - - protected function reduceRule234() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule235() { - $this->semValue = array(new Node\Arg($this->semStack[$this->stackPos-(3-2)], false, false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes)); - } - - protected function reduceRule236() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule237() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule238() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(1-1)], false, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule239() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], true, false, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule240() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], false, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule241() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule242() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule243() { - $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule244() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule245() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule246() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule247() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule248() { - $this->semValue = new Stmt\StaticVar(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule249() { - $this->semValue = new Stmt\StaticVar(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule250() { $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } - protected function reduceRule251() { + protected function reduceRule213() { + $this->semValue = new Stmt\ElseIf_($this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule214() { + $this->semValue = null; + } + + protected function reduceRule215() { + $this->semValue = new Stmt\Else_(is_array($this->semStack[$this->stackPos-(2-2)]) ? $this->semStack[$this->stackPos-(2-2)] : array($this->semStack[$this->stackPos-(2-2)]), $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule216() { + $this->semValue = null; + } + + protected function reduceRule217() { + $this->semValue = new Stmt\Else_($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule218() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); + } + + protected function reduceRule219() { + $this->semValue = array($this->semStack[$this->stackPos-(2-2)], true); + } + + protected function reduceRule220() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); + } + + protected function reduceRule221() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule222() { $this->semValue = array(); } + protected function reduceRule223() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule224() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule225() { + $this->semValue = new Node\Param($this->semStack[$this->stackPos-(4-4)], null, $this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); $this->checkParam($this->semValue); + } + + protected function reduceRule226() { + $this->semValue = new Node\Param($this->semStack[$this->stackPos-(6-4)], $this->semStack[$this->stackPos-(6-6)], $this->semStack[$this->stackPos-(6-1)], $this->semStack[$this->stackPos-(6-2)], $this->semStack[$this->stackPos-(6-3)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); $this->checkParam($this->semValue); + } + + protected function reduceRule227() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule228() { + $this->semValue = ($this->useIdentifierNodes ? new Node\Identifier('array', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes) : 'array'); + } + + protected function reduceRule229() { + $this->semValue = ($this->useIdentifierNodes ? new Node\Identifier('callable', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes) : 'callable'); + } + + protected function reduceRule230() { + $this->semValue = null; + } + + protected function reduceRule231() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule232() { + $this->semValue = null; + } + + protected function reduceRule233() { + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + } + + protected function reduceRule234() { + $this->semValue = array(); + } + + protected function reduceRule235() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule236() { + $this->semValue = array(new Node\Arg($this->semStack[$this->stackPos-(3-2)], false, false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes)); + } + + protected function reduceRule237() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule238() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule239() { + $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(1-1)], false, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule240() { + $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], true, false, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule241() { + $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], false, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule242() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule243() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule244() { + $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule245() { + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule246() { + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule247() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule248() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule249() { + $this->semValue = new Stmt\StaticVar($this->semStack[$this->stackPos-(1-1)], null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule250() { + $this->semValue = new Stmt\StaticVar($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule251() { + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + protected function reduceRule252() { - $this->semValue = new Stmt\Property($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->checkProperty($this->semValue, $this->stackPos-(3-1)); + $this->semValue = array(); } protected function reduceRule253() { - $this->semValue = new Stmt\ClassConst($this->semStack[$this->stackPos-(3-2)], 0, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Stmt\Property($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->checkProperty($this->semValue, $this->stackPos-(3-1)); } protected function reduceRule254() { + $this->semValue = new Stmt\ClassConst($this->semStack[$this->stackPos-(3-2)], 0, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule255() { $this->semValue = new Stmt\ClassMethod($this->semStack[$this->stackPos-(9-4)], ['type' => $this->semStack[$this->stackPos-(9-1)], 'byRef' => $this->semStack[$this->stackPos-(9-3)], 'params' => $this->semStack[$this->stackPos-(9-6)], 'returnType' => $this->semStack[$this->stackPos-(9-8)], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes); $this->checkClassMethod($this->semValue, $this->stackPos-(9-1)); } - protected function reduceRule255() { + protected function reduceRule256() { $this->semValue = new Stmt\TraitUse($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } - protected function reduceRule256() { - $this->semValue = array(); - } - protected function reduceRule257() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = array(); } protected function reduceRule258() { - $this->semValue = array(); + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule259() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = array(); } protected function reduceRule260() { - $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } protected function reduceRule261() { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(5-1)][0], $this->semStack[$this->stackPos-(5-1)][1], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule262() { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], $this->semStack[$this->stackPos-(4-3)], null, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(5-1)][0], $this->semStack[$this->stackPos-(5-1)][1], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); } protected function reduceRule263() { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], $this->semStack[$this->stackPos-(4-3)], null, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule264() { @@ -1972,31 +1974,31 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule265() { - $this->semValue = array($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)]); + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule266() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = array($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)]); } protected function reduceRule267() { - $this->semValue = array(null, $this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule268() { - $this->semValue = null; - } - - protected function reduceRule269() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule270() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + protected function reduceRule268() { + $this->semValue = array(null, $this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule269() { + $this->semValue = null; + } + + protected function reduceRule270() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + protected function reduceRule271() { - $this->semValue = 0; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule272() { @@ -2004,7 +2006,7 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule273() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = 0; } protected function reduceRule274() { @@ -2012,63 +2014,63 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule275() { - $this->checkModifier($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->stackPos-(2-2)); $this->semValue = $this->semStack[$this->stackPos-(2-1)] | $this->semStack[$this->stackPos-(2-2)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule276() { - $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; + $this->checkModifier($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->stackPos-(2-2)); $this->semValue = $this->semStack[$this->stackPos-(2-1)] | $this->semStack[$this->stackPos-(2-2)]; } protected function reduceRule277() { - $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; } protected function reduceRule278() { - $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; } protected function reduceRule279() { - $this->semValue = Stmt\Class_::MODIFIER_STATIC; + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; } protected function reduceRule280() { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + $this->semValue = Stmt\Class_::MODIFIER_STATIC; } protected function reduceRule281() { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; } protected function reduceRule282() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = Stmt\Class_::MODIFIER_FINAL; } protected function reduceRule283() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule284() { - $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule285() { - $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule286() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule287() { $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } + protected function reduceRule284() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule285() { + $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule286() { + $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule287() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + protected function reduceRule288() { - $this->semValue = array(); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule289() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = array(); } protected function reduceRule290() { @@ -2076,7 +2078,7 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule291() { - $this->semValue = new Expr\Assign($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule292() { @@ -2084,7 +2086,7 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule293() { - $this->semValue = new Expr\AssignRef($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Assign($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule294() { @@ -2092,289 +2094,289 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule295() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Expr\AssignRef($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule296() { - $this->semValue = new Expr\Clone_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule297() { - $this->semValue = new Expr\AssignOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule298() { - $this->semValue = new Expr\AssignOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule299() { - $this->semValue = new Expr\AssignOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule300() { - $this->semValue = new Expr\AssignOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule301() { - $this->semValue = new Expr\AssignOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule302() { - $this->semValue = new Expr\AssignOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule303() { - $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule304() { - $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule305() { - $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule306() { - $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule307() { - $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule308() { - $this->semValue = new Expr\AssignOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule309() { - $this->semValue = new Expr\PostInc($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule310() { - $this->semValue = new Expr\PreInc($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule311() { - $this->semValue = new Expr\PostDec($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule312() { - $this->semValue = new Expr\PreDec($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule313() { - $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule314() { - $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule315() { - $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule316() { - $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule317() { - $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule318() { - $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule319() { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule320() { - $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule321() { - $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule322() { - $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule323() { - $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule324() { - $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule325() { - $this->semValue = new Expr\BinaryOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule326() { - $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule327() { - $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule328() { - $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule329() { - $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule330() { - $this->semValue = new Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule331() { - $this->semValue = new Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule332() { - $this->semValue = new Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule333() { - $this->semValue = new Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule334() { - $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule335() { - $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule336() { - $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule337() { - $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule338() { - $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule339() { - $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule340() { - $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule341() { - $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule342() { - $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule343() { - $this->semValue = new Expr\Instanceof_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule344() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + protected function reduceRule297() { + $this->semValue = new Expr\Clone_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule298() { + $this->semValue = new Expr\AssignOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule299() { + $this->semValue = new Expr\AssignOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule300() { + $this->semValue = new Expr\AssignOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule301() { + $this->semValue = new Expr\AssignOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule302() { + $this->semValue = new Expr\AssignOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule303() { + $this->semValue = new Expr\AssignOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule304() { + $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule305() { + $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule306() { + $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule307() { + $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule308() { + $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule309() { + $this->semValue = new Expr\AssignOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule310() { + $this->semValue = new Expr\PostInc($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule311() { + $this->semValue = new Expr\PreInc($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule312() { + $this->semValue = new Expr\PostDec($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule313() { + $this->semValue = new Expr\PreDec($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule314() { + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule315() { + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule316() { + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule317() { + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule318() { + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule319() { + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule320() { + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule321() { + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule322() { + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule323() { + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule324() { + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule325() { + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule326() { + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule327() { + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule328() { + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule329() { + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule330() { + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule331() { + $this->semValue = new Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule332() { + $this->semValue = new Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule333() { + $this->semValue = new Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule334() { + $this->semValue = new Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule335() { + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule336() { + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule337() { + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule338() { + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule339() { + $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule340() { + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule341() { + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule342() { + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule343() { + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule344() { + $this->semValue = new Expr\Instanceof_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + protected function reduceRule345() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule346() { - $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(5-1)], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule347() { - $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(4-1)], null, $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(5-1)], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); } protected function reduceRule348() { - $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(4-1)], null, $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule349() { - $this->semValue = new Expr\Isset_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule350() { - $this->semValue = new Expr\Empty_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Isset_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule351() { - $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Empty_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule352() { - $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule353() { - $this->semValue = new Expr\Eval_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule354() { - $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Eval_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule355() { - $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule356() { - $this->semValue = new Expr\Cast\Int_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule357() { - $this->semValue = new Expr\Cast\Double($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Int_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule358() { - $this->semValue = new Expr\Cast\String_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Double($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule359() { - $this->semValue = new Expr\Cast\Array_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\String_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule360() { - $this->semValue = new Expr\Cast\Object_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Array_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule361() { - $this->semValue = new Expr\Cast\Bool_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Object_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule362() { - $this->semValue = new Expr\Cast\Unset_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Bool_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule363() { + $this->semValue = new Expr\Cast\Unset_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule364() { $attrs = $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strtolower($this->semStack[$this->stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; $this->semValue = new Expr\Exit_($this->semStack[$this->stackPos-(2-2)], $attrs); } - protected function reduceRule364() { - $this->semValue = new Expr\ErrorSuppress($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - protected function reduceRule365() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Expr\ErrorSuppress($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule366() { @@ -2386,31 +2388,31 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule368() { - $this->semValue = new Expr\ShellExec($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule369() { - $this->semValue = new Expr\Print_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\ShellExec($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule370() { - $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\Print_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule371() { - $this->semValue = new Expr\YieldFrom($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule372() { - $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$this->stackPos-(10-2)], 'params' => $this->semStack[$this->stackPos-(10-4)], 'uses' => $this->semStack[$this->stackPos-(10-6)], 'returnType' => $this->semStack[$this->stackPos-(10-7)], 'stmts' => $this->semStack[$this->stackPos-(10-9)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes); + $this->semValue = new Expr\YieldFrom($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule373() { - $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$this->stackPos-(11-3)], 'params' => $this->semStack[$this->stackPos-(11-5)], 'uses' => $this->semStack[$this->stackPos-(11-7)], 'returnType' => $this->semStack[$this->stackPos-(11-8)], 'stmts' => $this->semStack[$this->stackPos-(11-10)]], $this->startAttributeStack[$this->stackPos-(11-1)] + $this->endAttributes); + $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$this->stackPos-(10-2)], 'params' => $this->semStack[$this->stackPos-(10-4)], 'uses' => $this->semStack[$this->stackPos-(10-6)], 'returnType' => $this->semStack[$this->stackPos-(10-7)], 'stmts' => $this->semStack[$this->stackPos-(10-9)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes); } protected function reduceRule374() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$this->stackPos-(11-3)], 'params' => $this->semStack[$this->stackPos-(11-5)], 'uses' => $this->semStack[$this->stackPos-(11-7)], 'returnType' => $this->semStack[$this->stackPos-(11-8)], 'stmts' => $this->semStack[$this->stackPos-(11-10)]], $this->startAttributeStack[$this->stackPos-(11-1)] + $this->endAttributes); } protected function reduceRule375() { @@ -2418,34 +2420,34 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule376() { - $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(2-2)], null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule377() { - $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-2)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(2-2)], null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule378() { + $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-2)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule379() { $attrs = $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG; $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(4-3)], $attrs); } - protected function reduceRule379() { + protected function reduceRule380() { $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT; $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(3-2)], $attrs); } - protected function reduceRule380() { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - protected function reduceRule381() { - $attrs = $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$this->stackPos-(4-1)][0] === "'" || ($this->semStack[$this->stackPos-(4-1)][1] === "'" && ($this->semStack[$this->stackPos-(4-1)][0] === 'b' || $this->semStack[$this->stackPos-(4-1)][0] === 'B')) ? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED); - $this->semValue = new Expr\ArrayDimFetch(new Scalar\String_(Scalar\String_::parse($this->semStack[$this->stackPos-(4-1)]), $attrs), $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule382() { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $attrs = $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$this->stackPos-(4-1)][0] === "'" || ($this->semStack[$this->stackPos-(4-1)][1] === "'" && ($this->semStack[$this->stackPos-(4-1)][0] === 'b' || $this->semStack[$this->stackPos-(4-1)][0] === 'B')) ? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED); + $this->semValue = new Expr\ArrayDimFetch(new Scalar\String_(Scalar\String_::parse($this->semStack[$this->stackPos-(4-1)]), $attrs), $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule383() { @@ -2453,51 +2455,55 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule384() { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule385() { $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$this->stackPos-(7-3)], 'implements' => $this->semStack[$this->stackPos-(7-4)], 'stmts' => $this->semStack[$this->stackPos-(7-6)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(7-2)]); $this->checkClass($this->semValue[0], -1); } - protected function reduceRule385() { + protected function reduceRule386() { $this->semValue = new Expr\New_($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } - protected function reduceRule386() { + protected function reduceRule387() { list($class, $ctorArgs) = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } - protected function reduceRule387() { + protected function reduceRule388() { $this->semValue = array(); } - protected function reduceRule388() { + protected function reduceRule389() { $this->semValue = $this->semStack[$this->stackPos-(4-3)]; } - protected function reduceRule389() { + protected function reduceRule390() { $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } - protected function reduceRule390() { + protected function reduceRule391() { $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } - protected function reduceRule391() { - $this->semValue = new Expr\ClosureUse(substr($this->semStack[$this->stackPos-(2-2)], 1), $this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - protected function reduceRule392() { - $this->semValue = new Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\ClosureUse($this->semStack[$this->stackPos-(2-2)], $this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule393() { - $this->semValue = new Expr\StaticCall($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule394() { - $this->semValue = new Expr\StaticCall($this->semStack[$this->stackPos-(6-1)], $this->semStack[$this->stackPos-(6-4)], $this->semStack[$this->stackPos-(6-6)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); + $this->semValue = new Expr\StaticCall($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule395() { + $this->semValue = new Expr\StaticCall($this->semStack[$this->stackPos-(6-1)], $this->semStack[$this->stackPos-(6-4)], $this->semStack[$this->stackPos-(6-6)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); + } + + protected function reduceRule396() { if ($this->semStack[$this->stackPos-(2-1)] instanceof Node\Expr\StaticPropertyFetch) { $this->semValue = new Expr\StaticCall($this->semStack[$this->stackPos-(2-1)]->class, new Expr\Variable($this->semStack[$this->stackPos-(2-1)]->name, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); @@ -2515,36 +2521,32 @@ class Php5 extends \PhpParser\ParserAbstract } - protected function reduceRule396() { + protected function reduceRule397() { $this->semValue = new Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } - protected function reduceRule397() { + protected function reduceRule398() { $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } - protected function reduceRule398() { - $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - protected function reduceRule399() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule400() { - $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule401() { - $this->semValue = new Name\FullyQualified($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule402() { - $this->semValue = new Name\Relative($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Name\FullyQualified($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule403() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Name\Relative($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule404() { @@ -2568,7 +2570,7 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule409() { - $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule410() { @@ -2576,7 +2578,7 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule411() { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule412() { @@ -2584,7 +2586,7 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule413() { - $this->semValue = null; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule414() { @@ -2592,276 +2594,276 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule415() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = null; } protected function reduceRule416() { - $this->semValue = array(); - } - - protected function reduceRule417() { - $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$this->stackPos-(1-1)], '`', false), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes)); - } - - protected function reduceRule418() { - foreach ($this->semStack[$this->stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', false); } }; $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule419() { - $this->semValue = array(); - } - - protected function reduceRule420() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + protected function reduceRule417() { + $this->semValue = array(); + } + + protected function reduceRule418() { + $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$this->stackPos-(1-1)], '`', false), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes)); + } + + protected function reduceRule419() { + foreach ($this->semStack[$this->stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', false); } }; $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule420() { + $this->semValue = array(); + } + protected function reduceRule421() { - $this->semValue = $this->parseLNumber($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes, true); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule422() { - $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->parseLNumber($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes, true); } protected function reduceRule423() { + $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule424() { $attrs = $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$this->stackPos-(1-1)][0] === "'" || ($this->semStack[$this->stackPos-(1-1)][1] === "'" && ($this->semStack[$this->stackPos-(1-1)][0] === 'b' || $this->semStack[$this->stackPos-(1-1)][0] === 'B')) ? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED); $this->semValue = new Scalar\String_(Scalar\String_::parse($this->semStack[$this->stackPos-(1-1)], false), $attrs); } - protected function reduceRule424() { + protected function reduceRule425() { $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule425() { + protected function reduceRule426() { $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule426() { + protected function reduceRule427() { $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule427() { + protected function reduceRule428() { $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule428() { + protected function reduceRule429() { $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule429() { + protected function reduceRule430() { $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule430() { + protected function reduceRule431() { $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule431() { + protected function reduceRule432() { $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule432() { + protected function reduceRule433() { $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$this->stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$this->stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];; $this->semValue = new Scalar\String_(Scalar\String_::parseDocString($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)], false), $attrs); } - protected function reduceRule433() { + protected function reduceRule434() { $attrs = $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$this->stackPos-(2-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$this->stackPos-(2-1)], $matches); $attrs['docLabel'] = $matches[1];; $this->semValue = new Scalar\String_('', $attrs); } - protected function reduceRule434() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - protected function reduceRule435() { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule436() { - $this->semValue = new Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule437() { - $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule438() { - $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule439() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule440() { - $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule441() { - $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule442() { - $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule443() { - $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule444() { - $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule445() { - $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule446() { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule447() { - $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule448() { - $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule449() { - $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule450() { - $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule451() { - $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule452() { - $this->semValue = new Expr\BinaryOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule453() { - $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule454() { - $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule455() { - $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule456() { - $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule457() { - $this->semValue = new Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule458() { - $this->semValue = new Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule459() { - $this->semValue = new Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule460() { - $this->semValue = new Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule461() { - $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule462() { - $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule463() { - $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule464() { - $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule465() { - $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule466() { - $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule467() { - $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule468() { - $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule469() { - $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(5-1)], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); - } - - protected function reduceRule470() { - $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(4-1)], null, $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule471() { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule472() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule473() { - $this->semValue = new Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule474() { $this->semValue = new Expr\ClassConstFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } - protected function reduceRule475() { + protected function reduceRule437() { + $this->semValue = new Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule438() { + $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule439() { + $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule440() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + protected function reduceRule441() { + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule442() { + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule443() { + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule444() { + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule445() { + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule446() { + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule447() { + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule448() { + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule449() { + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule450() { + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule451() { + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule452() { + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule453() { + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule454() { + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule455() { + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule456() { + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule457() { + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule458() { + $this->semValue = new Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule459() { + $this->semValue = new Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule460() { + $this->semValue = new Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule461() { + $this->semValue = new Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule462() { + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule463() { + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule464() { + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule465() { + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule466() { + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule467() { + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule468() { + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule469() { + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule470() { + $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(5-1)], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + } + + protected function reduceRule471() { + $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(4-1)], null, $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule472() { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule473() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule474() { + $this->semValue = new Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule475() { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + protected function reduceRule476() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule477() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule478() { $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; foreach ($this->semStack[$this->stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$this->stackPos-(3-2)], $attrs); } - protected function reduceRule478() { + protected function reduceRule479() { $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$this->stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$this->stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];; foreach ($this->semStack[$this->stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, null, true); } } $s->value = preg_replace('~(\r\n|\n|\r)\z~', '', $s->value); if ('' === $s->value) array_pop($this->semStack[$this->stackPos-(3-2)]);; $this->semValue = new Scalar\Encapsed($this->semStack[$this->stackPos-(3-2)], $attrs); } - protected function reduceRule479() { + protected function reduceRule480() { $this->semValue = array(); } - protected function reduceRule480() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - protected function reduceRule481() { - $this->semValue = $this->semStack[$this->stackPos]; + $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } protected function reduceRule482() { @@ -2869,23 +2871,23 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule483() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = $this->semStack[$this->stackPos]; } protected function reduceRule484() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule485() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule486() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule487() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule488() { @@ -2901,27 +2903,27 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule491() { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(6-2)], $this->semStack[$this->stackPos-(6-5)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule492() { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(6-2)], $this->semStack[$this->stackPos-(6-5)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); } protected function reduceRule493() { - $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule494() { - $this->semValue = new Expr\MethodCall($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule495() { - $this->semValue = new Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\MethodCall($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule496() { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule497() { @@ -2929,23 +2931,23 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule498() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule499() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule500() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule501() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule502() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule503() { @@ -2953,23 +2955,23 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule504() { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule505() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + protected function reduceRule505() { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + protected function reduceRule506() { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], substr($this->semStack[$this->stackPos-(3-3)], 1), $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule507() { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(6-1)], $this->semStack[$this->stackPos-(6-5)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], substr($this->semStack[$this->stackPos-(3-3)], 1), $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule508() { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(6-1)], $this->semStack[$this->stackPos-(6-5)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); } protected function reduceRule509() { @@ -2985,19 +2987,19 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule512() { - $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule513() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule514() { - $this->semValue = null; + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule515() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = null; } protected function reduceRule516() { @@ -3005,31 +3007,31 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule517() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule518() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + protected function reduceRule518() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + protected function reduceRule519() { - $this->semValue = new Expr\Error($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule520() { - $this->semValue = new Expr\List_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Error($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; } protected function reduceRule521() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = new Expr\List_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule522() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule523() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule524() { @@ -3037,43 +3039,43 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule525() { - $this->semValue = null; - } - - protected function reduceRule526() { - $this->semValue = array(); - } - - protected function reduceRule527() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule528() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule529() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule530() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule531() { $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } + protected function reduceRule526() { + $this->semValue = null; + } + + protected function reduceRule527() { + $this->semValue = array(); + } + + protected function reduceRule528() { + $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule529() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule530() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule531() { + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + protected function reduceRule532() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-1)], true, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule533() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(2-2)], null, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-1)], true, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule534() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(2-2)], null, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule535() { @@ -3081,35 +3083,35 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule536() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } protected function reduceRule537() { - $this->semValue = array($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule538() { - $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); } protected function reduceRule539() { - $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule540() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule541() { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule542() { - $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule543() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule544() { @@ -3117,22 +3119,26 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule545() { - $this->semValue = new Expr\ArrayDimFetch(new Expr\Variable($this->semStack[$this->stackPos-(6-2)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(6-4)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule546() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = new Expr\ArrayDimFetch(new Expr\Variable($this->semStack[$this->stackPos-(6-2)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(6-4)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); } protected function reduceRule547() { - $this->semValue = new Scalar\String_($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule548() { - $this->semValue = $this->parseNumString($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\String_($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule549() { + $this->semValue = $this->parseNumString($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule550() { $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } } diff --git a/lib/PhpParser/Parser/Php7.php b/lib/PhpParser/Parser/Php7.php index f8eac91..579c72d 100644 --- a/lib/PhpParser/Parser/Php7.php +++ b/lib/PhpParser/Parser/Php7.php @@ -18,7 +18,7 @@ use PhpParser\Node\Stmt; class Php7 extends \PhpParser\ParserAbstract { protected $tokenToSymbolMapSize = 392; - protected $actionTableSize = 889; + protected $actionTableSize = 886; protected $gotoTableSize = 477; protected $invalidSymbol = 157; @@ -234,94 +234,94 @@ class Php7 extends \PhpParser\ParserAbstract protected $action = array( 571, 572, 573, 574, 575, 215, 576, 577, 578, 614, - 615, 475, 27, 99, 100, 101, 102, 103, 104, 105, + 615, 477, 27, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,-32766,-32766,-32766, 95, 96, - 97, 116, 239, 0, -268,-32766,-32766,-32766, -470, -471, - 1052, 648, 1055, 1053, 98,-32766, 275,-32766,-32766,-32766, - -32766,-32766, 579, 873, 875,-32766,-32766,-32766,-32766,-32766, - -32766,-32766,-32766, 224,-32766, 717, 580, 581, 582, 583, - 584, 585, 586,-32766, 241, 646, 843, 844, 845, 842, - 841, 840, 587, 588, 589, 590, 591, 592, 593, 594, + 97, 116, 239, 0, -269,-32766,-32766,-32766, -472, -471, + 1053, 648, 1056, 1054, 98,-32766, 275,-32766,-32766,-32766, + -32766,-32766, 579, 874, 876,-32766,-32766,-32766,-32766,-32766, + -32766,-32766,-32766, 224,-32766, 718, 580, 581, 582, 583, + 584, 585, 586,-32766, 241, 646, 844, 845, 846, 843, + 842, 841, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 617, 618, 619, 620, 621, 609, 610, 611, 612, 613, 598, 599, 600, 601, 602, 603, 604, 640, 641, 642, 643, 644, 645, 605, 606, 607, 608, - 638, 629, 627, 628, 624, 625, 767, 616, 622, 623, - 630, 631, 633, 632, 634, 635, 42, 43, 387, 44, - 45, 626, 637, 636, -215, 46, 47, 955, 48,-32767, + 638, 629, 627, 628, 624, 625, 768, 616, 622, 623, + 630, 631, 633, 632, 634, 635, 42, 43, 389, 44, + 45, 626, 637, 636, -216, 46, 47, 956, 48,-32767, -32767,-32767,-32767, 90, 91, 92, 93, 94, 269, 346, - 22, 843, 844, 845, 842, 841, 840, 835,-32766,-32766, - -32766, 1044, 1005, 384, 1043, 120, 971, 439, -426, 248, - 800, 49, 50, -470, -471, -470, -471, 51,-32766, 52, + 22, 844, 845, 846, 843, 842, 841, 836,-32766,-32766, + -32766, 1045, 1006, 349, 1044, 120, 972, 441, -426, 248, + 801, 49, 50, -472, -471, -472, -471, 51,-32766, 52, 219, 220, 53, 54, 55, 56, 57, 58, 59, 60, - 1022, 22, 232, 61, 353, 948,-32766,-32766,-32766, 972, - 973, 649, 708, 1005, 216, -460, 125, 971,-32766,-32766, - -32766, 718, 401, 402, 24, 1005,-32766, 276,-32766,-32766, - -32766,-32766, 25, 222, 985, 286, 361, 266,-32766, -426, - -32766,-32766,-32766, 1008, 65, 768, 411, 226, -462, 258, - 1005, 28, 248, -426, 399, 400, 364, 521, 948, 539, - -426, 130, -429, 401, 402, 128, 977, 978, 979, 980, - 974, 975, 243, 520, -425, -424, 648, 412, 981, 976, - 358, 794, 795, 111, 967, 63, 112, 255, 368, 256, - 258, 388, -123, -123, -123, -4, 718, 389, 649, 1049, - -424, 707, 258, -220, 33, 17, 390, -123, 391, -123, - 392, -123, 393, -123, 816, 394, -123, -123, -123, 34, - 35, 354, 355, 522, 36, 395, 358, 258, 62, 117, - 821, 287, 288, 396, 397, -425, -424, 118, 41, 398, - 38, 40, 693, 738, 356, 357, -162, 22, 122, -425, - -424,-32766,-32766,-32766, 794, 795, -425, -424, -428, 1005, - -460, -424, 1005, 971, 412, -239, 388, 358, 720, 537, - -123,-32766, 389,-32766,-32766, -424, 707, 663, 664, 33, - 17, 390, -424, 391, 21, 392, 350, 393, -163, 289, - 394, 71, 948, -462, 34, 35, 354, 355, 339, 36, - 395, 246, 247, 62, 254, 718, 287, 288, 396, 397, - 402,-32766,-32766,-32766, 398, 955, 296, 655, 738, 356, - 357, 341, 113, 115, 352, 375, 72, 73, 74, 705, - 7, 65, 121, 544, 224, 242, 258, 259, 272, 258, - 92, 93, 94, 720, 537, -4, 26, 349, 75, 76, + 1023, 22, 232, 61, 354, 949,-32766,-32766,-32766, 973, + 974, 649, 709, 1006, 28, -461, 125, 972,-32766,-32766, + -32766, 719, 403, 404, 365, 1006,-32766, 539,-32766,-32766, + -32766,-32766, 25, 222, 986, 286, 362, 24,-32766, -426, + -32766,-32766,-32766, 1009, 65, 769, 413, 266, -164, 258, + 1006, 226, 248, -426, 401, 402, 216, 521, 949, 276, + -426, 124, -429, 403, 404, 111, 978, 979, 980, 981, + 975, 976, 243, 112, -427, -425, 648, 414, 982, 977, + 359, 795, 796, 128, 968, 63, 130, 255, 350, 256, + 258, 390, -124, -124, -124, -4, 719, 391, 649, 1050, + -425, 708, 258, -221, 33, 17, 392, -124, 393, -124, + 394, -124, 395, -124, 663, 396, -124, -124, -124, 34, + 35, 355, 356, 522, 36, 397, 359, 258, 62, 117, + 822, 287, 288, 398, 399, -427, -425, 118, -163, 400, + 38, 40, 694, 739, 357, 358, -240, 22, 122, -427, + -425,-32766,-32766,-32766, 795, 796, -427, -425, -430, 1006, + -461, -425, 1006, 972, 414, 21, 390, 359, 721, 537, + -124,-32766, 391,-32766,-32766, -425, 708, 664, 665, 33, + 17, 392, -425, 393, 41, 394, -463, 395, 353, 289, + 396, 71, 949, -164, 34, 35, 355, 356, 339, 36, + 397, 246, 247, 62, 254, 719, 287, 288, 398, 399, + 404,-32766,-32766,-32766, 400, 956, 296, 656, 739, 357, + 358, 341, 113, 115, 351, 375, 72, 73, 74, 706, + 385, 65, 121, 543, 224, 242, 258, 259, 272, 258, + 92, 93, 94, 721, 537, -4, 26, 7, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 124, 239, 131, 718, 388, 554,-32766,-32766,-32766, - 716, 389, 114, 1023, 98, 707,-32766,-32766, 33, 17, - 390, -162, 391, 1005, 392, 549, 393, -82, 369, 394, - 507, 508, 543, 34, 35, 354, 718, 225, 36, 395, - -239, 126, 62, 496, 18, 287, 288, 127, 298, 492, - 493, 382, 6, 398, 663, 664, 948, 794, 795, 801, - 704, 16, 119, -163, 541, 832, 555, 347, 820, 565, - 656, 540, 223, 221, 388, 376, 120, 731, 239, 98, - 389, 39, 720, 537, 707, 516, 650, 33, 17, 390, - 1054, 391, 648, 392, 649, 393, 315, 517, 394, 941, - 258, 817, 34, 35, 354, 718, 388, 36, 395, 494, - 504, 62, 389, 437, 287, 288, 707, 531, 662, 33, - 17, 390, 398, 391, 944, 392, 443, 393,-32766, 448, - 394, 362, 501, 550, 34, 35, 354, 718, 497, 36, - 395, 10, 214, 62, 367, 502, 287, 288, -80, 511, - 490, 754, 537, 274, 398, 740, 264, 250, 987, 739, - 984, 0, 271, 733, 3, 542, 267, 9, -383, 445, - 658, 0, 0, 0, 0, 388, 0, 0, 0, 0, - 0, 389, 268, 720, 537, 707, 227, 0, 33, 17, - 390, 0, 391, 0, 392, 0, 393, 0, 295, 394, - 0, 0, 0, 34, 35, 354, 718, 388, 36, 395, - 364, 325, 62, 389, 343, 287, 288, 707, 22, 320, - 33, 17, 390, 398, 391, 342, 392, 321, 393, 309, - 1005, 394, 701, 715, 971, 34, 35, 354, 661, 564, - 36, 395, 563, 703, 62, 709, 32, 287, 288, 31, - 698, 770, 720, 537, 755, 398, 714, 660, 659, 761, - 762, 696, 752, 948, 750, 826, 828, 827, 825, 702, - 824, 706, 0, 265, 337, 338, 388, 561, 560, 538, - 401, 402, 389, 545, 720, 537, 707, 547, 548, 33, - 17, 390, 552, 391, 553, 392, 556, 393, 558, 340, - 394, 270, 65, 1051, 34, 35, 354, 258, 657, 36, - 395, 694, 833, 62, 1050, 727, 287, 288,-32766,-32766, - -32766, 935, 666, 665, 398, 734, 936, 760, 668, 667, - 1048, 1006, 999, 1012, 1017, 1020, 759, 937,-32766, 735, + 97, 131, 239, 717, 719, 390, 554,-32766,-32766,-32766, + 549, 391, 114, -163, 98, 708,-32766,-32766, 33, 17, + 392, -240, 393, 1006, 394, -82, 395, 126, 369, 396, + 497, 18, 544, 34, 35, 355, 719, 225, 36, 397, + 802, 119, 62, 508, 509, 287, 288, 127, 298, 493, + 494, 383, 6, 400, 664, 665, 949, 795, 796, 1024, + 705, -463, 223, 942, 541, 821, 565, 347, 833, 555, + 657, 540, 221, 732, 390, 376, 120, 239, 39, 98, + 391, 516, 755, 537, 708, 652, 650, 33, 17, 392, + 1055, 393, 648, 394, 649, 395, 316, 502, 396, 16, + 258, 817, 34, 35, 355, 719, 390, 36, 397, 495, + 445, 62, 391,-32766, 287, 288, 708, 517, 818, 33, + 17, 392, 400, 393, 363, 394, 450, 395, 498, 512, + 396, 531, 503, 542, 34, 35, 355, 719, -80, 36, + 397, 214, 368, 62, 10, 274, 287, 288, 492, 662, + 267, 721, 537, 271, 400, 740, 268, 741, 3, 988, + 985, 734, 0, 0, 0, 550, 0, -384, 0, 0, + 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, + 0, 391, 0, 721, 537, 708, 227, 9, 33, 17, + 392, 295, 393, 0, 394, 264, 395, 321, 326, 396, + 342, 447, 322, 34, 35, 355, 719, 390, 36, 397, + 365, 310, 62, 391, 343, 287, 288, 708, 22, 702, + 33, 17, 392, 400, 393, 564, 394, 563, 395, 32, + 1006, 396, 703, 716, 972, 34, 35, 355, 31, 704, + 36, 397, 710, 699, 62, 771, 825, 287, 288, 661, + 660, 756, 721, 537, 762, 400, 763, 697, 753, 827, + 751, 829, 828, 949, 826, 715, 707, 250, 265, 337, + 338, 561, 560, 538, 545, 547, 390, 548, 552, 553, + 403, 404, 391, 556, 721, 537, 708, 558, 340, 33, + 17, 392, 659, 393, 1052, 394, 658, 395, 695, 834, + 396, 270, 65, 1051, 34, 35, 355, 258, 728, 36, + 397, 936, 667, 62, 666, 735, 287, 288,-32766,-32766, + -32766, 937, 761, 669, 400, 668, 1049, 1007, 1000, 1013, + 1018, 1021, 760, 938, 736, 557, 737, 738,-32766, 726, -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, - -32767, 557, 736, 720, 537, 238, 737, 725, 986, 237, - 236, 235, 218, 217, 132, 129, 123, 345, -450, -429, - 70, -428, 69, 68, -427, 20, -452, 67, 23, 29, - 66, 64, 37, 30, 0, 297, 19, 15, 11, 486, - 530, -218, 916, 913, 912, 473, -216, 468, 969, 959, - 527, 385, 381, 380, 377, 14, 13, 12, -215, 0, - 929, -395, 0, 495, 1011, 1046, 997, 998, 968 + -32767, 238, 237, 721, 537, 236, 930, 235, 218, 217, + 132, 129, 123, 345, -451, -430, 70, -429, 69, 68, + -428, 20, -453, 67, 23, 29, 66, 64, 37, 30, + 0, 297, 19, 15, 11, 488, 530, -219, 917, 914, + 913, 475, -217, 470, 970, 960, 527, 387, 382, 381, + 377, 14, 13, 12, -216, 0, -396, 0, 496, 1012, + 1047, 998, 999, 969, 0, 987 ); protected $actionCheck = array( @@ -347,12 +347,12 @@ class Php7 extends \PhpParser\ParserAbstract 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 1, 67, 68, 69, 70, 112, 8, 9, 10, 75, 76, 77, 148, 79, 13, 7, 67, 83, 8, 9, - 10, 1, 129, 130, 7, 79, 28, 33, 30, 31, + 10, 1, 129, 130, 146, 79, 28, 149, 30, 31, 32, 33, 140, 141, 139, 7, 102, 7, 28, 128, 30, 31, 32, 1, 151, 148, 112, 7, 7, 156, - 79, 13, 28, 142, 120, 121, 146, 77, 112, 149, + 79, 7, 28, 142, 120, 121, 13, 77, 112, 33, 149, 15, 151, 129, 130, 15, 132, 133, 134, 135, - 136, 137, 138, 79, 67, 67, 77, 143, 144, 145, + 136, 137, 138, 15, 67, 67, 77, 143, 144, 145, 146, 130, 131, 15, 1, 151, 15, 153, 7, 155, 156, 71, 72, 73, 74, 0, 1, 77, 77, 150, 67, 81, 156, 152, 84, 85, 86, 87, 88, 89, @@ -372,54 +372,54 @@ class Php7 extends \PhpParser\ParserAbstract 47, 48, 49, 148, 149, 150, 28, 7, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 15, 54, 15, 1, 71, 29, 8, 9, 10, + 52, 15, 54, 29, 1, 71, 29, 8, 9, 10, 29, 77, 13, 152, 66, 81, 8, 9, 84, 85, 86, 152, 88, 79, 90, 29, 92, 29, 128, 95, 72, 73, 29, 99, 100, 101, 1, 35, 104, 105, 152, 29, 108, 72, 73, 111, 112, 97, 98, 106, 107, 102, 103, 119, 102, 103, 112, 130, 131, 152, - 148, 152, 29, 152, 29, 148, 149, 123, 148, 149, - 148, 149, 35, 35, 71, 149, 147, 35, 54, 66, - 77, 67, 148, 149, 81, 74, 77, 84, 85, 86, - 80, 88, 77, 90, 77, 92, 78, 91, 95, 152, + 148, 152, 35, 152, 29, 148, 149, 123, 148, 149, + 148, 149, 35, 35, 71, 149, 147, 54, 67, 66, + 77, 74, 148, 149, 81, 79, 77, 84, 85, 86, + 80, 88, 77, 90, 77, 92, 78, 93, 95, 152, 156, 148, 99, 100, 101, 1, 71, 104, 105, 79, - 79, 108, 77, 79, 111, 112, 81, 89, 148, 84, - 85, 86, 119, 88, 79, 90, 82, 92, 82, 86, - 95, 102, 93, 29, 99, 100, 101, 1, 87, 104, - 105, 94, 94, 108, 94, 96, 111, 112, 94, 96, - 109, 148, 149, 126, 119, 123, 149, 152, 139, 123, - 139, -1, 110, 147, 142, 29, 126, 142, 142, 146, - 150, -1, -1, -1, -1, 71, -1, -1, -1, -1, - -1, 77, 127, 148, 149, 81, 35, -1, 84, 85, - 86, -1, 88, -1, 90, -1, 92, -1, 142, 95, - -1, -1, -1, 99, 100, 101, 1, 71, 104, 105, - 146, 146, 108, 77, 146, 111, 112, 81, 67, 146, - 84, 85, 86, 119, 88, 146, 90, 146, 92, 146, + 82, 108, 77, 82, 111, 112, 81, 91, 148, 84, + 85, 86, 119, 88, 102, 90, 86, 92, 87, 96, + 95, 89, 96, 29, 99, 100, 101, 1, 94, 104, + 105, 94, 94, 108, 94, 126, 111, 112, 109, 148, + 126, 148, 149, 110, 119, 123, 127, 123, 142, 139, + 139, 147, -1, -1, -1, 29, -1, 142, -1, -1, + -1, -1, -1, -1, -1, 71, -1, -1, -1, -1, + -1, 77, -1, 148, 149, 81, 35, 142, 84, 85, + 86, 142, 88, -1, 90, 149, 92, 146, 146, 95, + 146, 146, 146, 99, 100, 101, 1, 71, 104, 105, + 146, 146, 108, 77, 146, 111, 112, 81, 67, 148, + 84, 85, 86, 119, 88, 148, 90, 148, 92, 148, 79, 95, 148, 148, 83, 99, 100, 101, 148, 148, 104, 105, 148, 148, 108, 148, 148, 111, 112, 148, 148, 148, 148, 149, 148, 119, 148, 148, 148, 148, - 148, 148, 148, 112, 148, 148, 148, 148, 148, 148, - 148, 148, -1, 149, 149, 149, 71, 149, 149, 149, - 129, 130, 77, 149, 148, 149, 81, 149, 149, 84, - 85, 86, 149, 88, 149, 90, 149, 92, 149, 151, + 148, 148, 148, 112, 148, 148, 148, 152, 149, 149, + 149, 149, 149, 149, 149, 149, 71, 149, 149, 149, + 129, 130, 77, 149, 148, 149, 81, 149, 151, 84, + 85, 86, 150, 88, 150, 90, 150, 92, 150, 150, 95, 151, 151, 150, 99, 100, 101, 156, 150, 104, 105, 150, 150, 108, 150, 150, 111, 112, 8, 9, 10, 150, 150, 150, 119, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 28, 150, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 150, 150, 148, 149, 151, 150, 150, 155, 151, + 40, 151, 151, 148, 149, 151, 153, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, -1, 152, 152, 152, 152, 152, + -1, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, -1, - 153, 153, -1, 154, 154, 154, 154, 154, 154 + 152, 152, 152, 152, 152, -1, 153, -1, 154, 154, + 154, 154, 154, 154, -1, 155 ); protected $actionBase = array( - 0, 220, 295, 283, 180, 587, -2, -2, -2, -2, - -36, 606, 404, 574, 404, 505, 473, 675, 675, 675, - 28, 399, 508, 508, 508, 488, 503, 507, 472, 134, + 0, 220, 295, 283, 180, 581, -2, -2, -2, -2, + -36, 574, 473, 606, 473, 505, 404, 675, 675, 675, + 28, 399, 507, 507, 507, 488, 482, 497, 472, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, @@ -430,47 +430,47 @@ class Php7 extends \PhpParser\ParserAbstract 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 97, 64, 238, 578, 475, 710, 715, - 705, 706, 518, 703, 711, 201, 650, 651, 482, 652, - 653, 654, 655, 707, 729, 704, 708, 418, 418, 418, + 134, 134, 134, 97, 64, 201, 587, 585, 706, 711, + 701, 702, 517, 699, 707, 243, 646, 647, 468, 648, + 649, 650, 651, 703, 724, 700, 704, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 48, 469, 478, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 160, 160, 160, 343, 210, 208, 198, 17, 233, 27, 780, 780, 780, 780, 780, 108, 108, 108, 108, 621, 621, 93, 280, 280, 280, - 280, 280, 280, 280, 280, 280, 280, 280, 676, 672, - 659, 657, 414, 393, 393, 151, 151, 151, 151, 146, - -45, 224, 224, 95, 489, 673, 199, 199, 397, 111, - 207, -22, -22, -22, 275, 514, 92, 92, 242, -37, + 280, 280, 280, 280, 280, 280, 280, 280, 657, 656, + 654, 653, 414, 393, 393, 151, 151, 151, 151, 146, + -45, 224, 224, 95, 490, 730, 199, 199, 397, 207, + 111, -22, -22, -22, 275, 498, 92, 92, 242, -37, 233, 233, 274, 233, 422, 422, 422, 221, 221, 221, - 221, 221, 110, 516, 221, 221, 221, 519, 656, 390, - 523, 647, 273, 32, 31, 549, 538, 171, 499, 171, - 413, 441, 428, 496, 680, 171, 171, 396, 97, 387, - 494, 593, 440, 580, 382, 281, 370, 392, 379, 477, - 579, 713, 339, 712, 331, 149, 494, 494, 494, 377, - 594, 595, 358, -8, 649, 596, 381, 419, 241, 648, - 643, 166, 642, 423, 417, 194, 592, 487, 487, 485, - 485, 487, 487, 487, 487, 512, 487, 694, 694, 485, - 485, 500, 512, 701, 485, 512, 485, 485, 487, 485, - 694, 512, 512, 510, 487, 497, 497, 485, 504, 485, - 525, 694, 694, 525, 512, 564, 561, 511, 486, 406, - 406, 511, 512, 406, 500, 406, 33, 700, 699, 468, - 696, 698, 692, 618, 691, 600, 506, 502, 682, 681, - 689, 702, 697, 451, 493, 560, 268, 271, 492, 484, - 693, 499, 534, 483, 483, 483, 484, 688, 483, 483, - 483, 483, 483, 483, 483, 483, 734, 217, 526, 513, - 554, 591, 555, 314, 565, 553, 520, 322, 617, 491, - 493, 493, 631, 728, 727, 479, 680, 717, 685, 571, - 24, 456, 679, 671, 543, 551, 678, 619, 268, 716, - 623, 493, 490, 483, 687, 695, 732, 733, 690, 730, - 722, 67, 535, 567, 39, 480, 731, 628, 599, 598, - 568, 725, 709, 721, 720, 39, 572, 521, 714, 509, - 686, 501, 620, 604, 250, 634, 684, 573, 724, 723, - 726, 576, 581, 608, 246, 609, 458, 683, 466, 481, - 476, 582, 515, 635, 613, 674, 583, 584, 641, 645, - 718, 524, 534, 495, 522, 517, 498, 615, 646, 719, - 447, 586, 588, 589, 677, 590, 632, 0, 0, 0, + 221, 221, 78, 501, 221, 221, 221, 506, 652, 387, + 503, 642, 273, 31, 32, 524, 538, 171, 492, 171, + 413, 428, 441, 495, 676, 171, 171, 396, 97, 226, + 390, 493, 588, 166, 572, 382, 281, 370, 392, 417, + 516, 571, 709, 331, 708, 377, 149, 493, 493, 493, + 358, 589, 590, 339, -8, 645, 591, 241, 419, 379, + 643, 634, 423, 632, 440, 381, 568, 487, 487, 485, + 485, 487, 487, 487, 487, 508, 487, 690, 690, 485, + 476, 485, 500, 508, 697, 485, 508, 485, 485, 487, + 485, 690, 508, 508, 494, 487, 489, 489, 485, 485, + 499, 690, 690, 499, 508, 549, 547, 509, 484, 406, + 476, 406, 509, 508, 406, 500, 476, 406, 33, 696, + 695, 466, 692, 694, 688, 607, 687, 594, 502, 504, + 678, 677, 685, 698, 693, 444, 525, 471, 250, 258, + 486, 481, 689, 492, 534, 483, 483, 483, 481, 684, + 483, 483, 483, 483, 483, 483, 483, 483, 729, 230, + 519, 510, 541, 554, 555, 314, 561, 535, 518, 322, + 604, 491, 525, 525, 618, 723, 673, 479, 676, 713, + 681, 560, 24, 246, 674, 655, 521, 526, 671, 608, + 250, 712, 614, 525, 612, 483, 683, 691, 727, 728, + 686, 725, 718, 67, 522, 564, 39, 480, 726, 616, + 593, 592, 551, 721, 705, 717, 716, 39, 565, 511, + 710, 474, 682, 620, 595, 268, 623, 680, 567, 720, + 719, 722, 573, 576, 596, 271, 598, 456, 679, 451, + 477, 496, 578, 628, 599, 670, 579, 580, 631, 635, + 714, 514, 534, 515, 513, 520, 512, 600, 641, 715, + 447, 582, 583, 584, 659, 586, 619, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 134, -2, @@ -502,20 +502,20 @@ class Php7 extends \PhpParser\ParserAbstract 487, 92, 0, 0, 171, 0, 0, 0, 0, 0, 487, 487, 487, 0, 0, 0, 0, 0, 487, 92, 0, 0, 0, 420, 420, 39, 420, 420, 0, 0, - 0, 487, 487, 0, 504, 0, 0, 0, 0, 694, - 485, 0, 0, 0, 0, 0, 483, 24, 0, 228, - 0, 0, 0, 0, 0, 479, 228, 240, 0, 240, - 0, 0, 483, 483, 483, 0, 479, 479, 0, 0, - 230, 479, 0, 0, 0, 230, 152, 0, 152, 0, + 0, 487, 487, 0, 476, 0, 0, 0, 0, 690, + 485, 0, 0, 0, 0, 476, 0, 483, 24, 0, + 228, 0, 0, 0, 0, 0, 479, 228, 244, 0, + 244, 0, 0, 483, 483, 483, 0, 479, 479, 0, + 0, 240, 479, 0, 0, 0, 240, 152, 0, 152, 0, 0, 39 ); protected $actionDefault = array( 3,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 472, 472, 472,32767,32767,32767,32767, 286, - 464, 286, 286,32767, 422, 422, 422, 422, 422, 422, - 422, 464,32767,32767,32767,32767,32767, 365,32767,32767, + 32767,32767, 473, 473, 473,32767,32767,32767,32767, 287, + 465, 287, 287,32767, 423, 423, 423, 423, 423, 423, + 423, 465,32767,32767,32767,32767,32767, 366,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, @@ -524,184 +524,184 @@ class Php7 extends \PhpParser\ParserAbstract 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 469,32767,32767,32767,32767, + 32767,32767,32767,32767,32767, 470,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 348, 349, 351, - 352, 285, 423, 238, 468, 284, 117, 247, 240, 192, - 283, 224, 120, 313, 366, 315, 364, 368, 314, 291, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 289, 290, 367, 345, 344, 343, 311, 312, - 288, 316, 318, 288, 317, 334, 335, 332, 333, 336, - 337, 338, 339, 340,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 270, 270, - 270, 270,32767, 325, 326, 230, 230, 230, 230,32767, - 271, 230,32767,32767,32767,32767,32767,32767,32767, 416, - 342, 320, 321, 319,32767, 394,32767, 396,32767,32767, - 308, 310, 388, 292,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 349, 350, 352, + 353, 286, 424, 239, 469, 285, 118, 248, 241, 193, + 284, 225, 121, 314, 367, 316, 365, 369, 315, 292, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 290, 291, 368, 346, 345, 344, 312, 313, + 289, 317, 319, 289, 318, 335, 336, 333, 334, 337, + 338, 339, 340, 341,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 271, 271, + 271, 271,32767, 326, 327, 231, 231, 231, 231,32767, + 272, 231,32767,32767,32767,32767,32767,32767,32767, 417, + 343, 321, 322, 320,32767, 395,32767, 397,32767,32767, + 309, 311, 389, 293,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 391, 424, 424,32767,32767,32767, 382,32767, - 160, 211, 213, 399,32767,32767,32767,32767,32767,32767, - 330,32767,32767,32767,32767,32767, 479,32767,32767,32767, - 32767,32767, 424,32767,32767,32767, 322, 323, 324,32767, - 32767,32767, 424, 424,32767,32767, 424,32767, 424,32767, + 32767,32767, 392, 425, 425,32767,32767,32767, 383,32767, + 161, 212, 214, 400,32767,32767,32767,32767,32767,32767, + 32767, 331,32767,32767,32767,32767,32767, 480,32767,32767, + 32767,32767,32767, 425,32767,32767,32767, 323, 324, 325, + 32767,32767,32767, 425, 425,32767,32767, 425,32767, 425, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 164,32767, 397, 397,32767, - 32767,32767, 164, 392,32767, 164,32767,32767,32767,32767, - 32767, 164, 164, 177,32767, 175, 175,32767,32767,32767, - 179,32767, 438, 179, 164, 197, 197, 374, 166, 232, - 232, 374, 164, 232,32767, 232,32767,32767,32767, 83, + 32767,32767,32767,32767,32767, 165,32767, 398, 398,32767, + 32767,32767,32767, 165, 393,32767, 165,32767,32767,32767, + 32767,32767, 165, 165, 178,32767, 176, 176,32767,32767, + 180,32767, 439, 180, 165, 198, 198, 375, 167, 233, + 32767, 233, 375, 165, 233,32767,32767, 233,32767,32767, + 32767, 83,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 385,32767,32767, 405, + 32767, 418, 437, 383,32767, 329, 330, 332,32767, 427, + 354, 355, 356, 357, 358, 359, 360, 362,32767, 466, + 388,32767,32767,32767,32767,32767,32767, 85, 110, 247, + 32767, 478, 85, 386,32767, 478,32767,32767,32767,32767, + 32767,32767, 288,32767,32767,32767, 85, 85,32767,32767, + 462,32767, 425, 387,32767, 328, 401, 444,32767,32767, + 426,32767,32767, 220, 85,32767, 179,32767,32767,32767, + 32767,32767,32767,32767, 405,32767,32767, 181,32767,32767, + 425,32767,32767,32767,32767, 283,32767,32767,32767,32767, + 32767, 425,32767,32767,32767, 224,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 384,32767,32767, 404,32767, 417, - 436, 382,32767, 328, 329, 331,32767, 426, 353, 354, - 355, 356, 357, 358, 359, 361,32767, 465, 387,32767, - 32767,32767,32767,32767,32767, 85, 109, 246,32767, 477, - 85, 385,32767, 477,32767,32767,32767,32767,32767,32767, - 287,32767,32767,32767, 85, 85,32767,32767, 461,32767, - 424, 386,32767, 327, 400, 443,32767,32767, 425,32767, - 32767, 219, 85,32767, 178,32767,32767,32767,32767,32767, - 32767,32767, 404,32767,32767, 180,32767,32767, 424,32767, - 32767,32767,32767,32767, 282,32767,32767,32767,32767,32767, - 424,32767,32767,32767, 223,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 83, 60,32767, 264,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 122, 122, 3, - 3, 122, 122, 122, 122, 122, 122, 122, 122, 122, - 122, 122, 122, 122, 122, 122, 249, 155, 249, 205, - 249, 249, 208, 197, 197, 256 + 32767, 83, 60,32767, 265,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 123, 123, 3, + 3, 123, 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 250, 156, 250, 206, + 250, 250, 209, 198, 198, 257 ); protected $goto = array( 163, 163, 135, 135, 135, 146, 148, 179, 164, 161, 145, 161, 161, 161, 162, 162, 162, 162, 162, 162, - 162, 145, 157, 158, 159, 160, 176, 174, 177, 413, - 414, 300, 415, 418, 419, 420, 421, 422, 423, 424, - 425, 860, 136, 137, 138, 139, 140, 141, 142, 143, + 162, 145, 157, 158, 159, 160, 176, 174, 177, 415, + 416, 301, 417, 420, 421, 422, 423, 424, 425, 426, + 427, 861, 136, 137, 138, 139, 140, 141, 142, 143, 144, 147, 173, 175, 178, 195, 198, 199, 201, 202, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 233, 234, 251, 252, 253, 316, 317, 318, 463, 180, + 233, 234, 251, 252, 253, 317, 318, 319, 465, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 149, 194, 150, 165, 166, 167, 196, 168, 151, 152, 153, 169, 154, 197, 133, 170, 155, - 171, 172, 156, 523, 200, 654, 435, 533, 480, 498, - 465, 690, 652, 1040, 1040, 200, 440, 440, 440, 278, - 653, 769, 5, 749, 440, 559, 1040, 429, 778, 773, - 431, 434, 447, 466, 467, 469, 453, 455, 440, 562, - 487, 489, 510, 513, 766, 518, 519, 780, 526, 765, - 528, 534, 776, 536, 482, 482, 970, 970, 970, 970, - 970, 970, 970, 970, 970, 970, 970, 970, 416, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 416, 416, 677, 505, 945, 684, 514, 532, 299, 440, - 440, 753, 458, 454, 472, 440, 440, 711, 440, 464, - 831, 535, 803, 458, 515, 829, 485, 279, 428, 336, - 441, 257, 245, 677, 677, 428, 461, 417, 417, 417, - 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, - 417, 294, 1039, 1039, 483, 484, 529, 446, 456, 229, - 459, 230, 231, 462, 477, 1039, 1032, 301, 1024, 499, - 378, 946, 907, 313, 799, 788, 1013, 329, 8, 792, - 285, 1042, 947, 1001, 310, 670, 670, 673, 307, 678, - 678, 678, 680, 671, 669, 807, 546, 332, 938, 757, - 681, 373, 810, 479, 943, 383, 847, 0, 323, 500, - 328, 312, 312, 260, 261, 283, 460, 263, 322, 284, - 326, 488, 0, 0, 0, 0, 280, 281, 0, 0, + 171, 172, 156, 523, 200, 655, 437, 533, 482, 499, + 467, 691, 653, 1041, 1041, 200, 442, 442, 442, 278, + 654, 770, 5, 750, 442, 559, 1041, 431, 779, 774, + 433, 436, 449, 468, 469, 471, 455, 457, 442, 562, + 489, 491, 511, 513, 767, 518, 519, 781, 526, 766, + 528, 534, 777, 536, 484, 484, 971, 971, 971, 971, + 971, 971, 971, 971, 971, 971, 971, 971, 419, 419, + 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, + 419, 419, 678, 946, 685, 506, 520, 712, 514, 442, + 442, 300, 460, 456, 474, 442, 442, 532, 442, 466, + 832, 535, 754, 460, 515, 830, 487, 279, 430, 336, + 804, 443, 1033, 678, 678, 430, 461, 463, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 294, 257, 245, 1040, 1040, 302, 448, 458, + 229, 1025, 230, 231, 485, 486, 529, 500, 1040, 314, + 378, 947, 464, 479, 908, 789, 1014, 285, 800, 8, + 793, 948, 1002, 330, 1043, 671, 671, 505, 674, 679, + 679, 679, 681, 945, 670, 672, 808, 308, 311, 546, + 333, 939, 811, 682, 944, 373, 758, 481, 324, 501, + 329, 313, 313, 260, 261, 283, 462, 263, 323, 284, + 327, 490, 384, 0, 848, 0, 280, 281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 949, 0, 0, 793, 793, 793, 793, 949, 1010, - 793, 793, 0, 1019, 1019, 0, 1010, 793, 0, 0, - 0, 0, 839, 1021, 1021, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1007, 747, 747, 747, 723, - 747, 0, 0, 742, 748, 724, 783, 783, 1029, 0, + 0, 950, 0, 0, 794, 794, 794, 794, 950, 1011, + 794, 794, 0, 1020, 1020, 0, 1011, 794, 0, 0, + 0, 0, 840, 1022, 1022, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1008, 748, 748, 748, 724, + 748, 0, 0, 743, 749, 725, 784, 784, 1030, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 452, 0, 0, 809, 0, 809, 0, 0, 0, - 0, 0, 1014, 1015, 0, 0, 0, 0, 0, 0, + 0, 454, 0, 0, 810, 0, 810, 0, 0, 0, + 0, 0, 1015, 1016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 433, 451, 0, 0, - 0, 0, 0, 0, 0, 0, 433, 451, 0, 0, - 0, 432, 0, 438, 363, 0, 365, 0, 0, 0, - 0, 0, 0, 0, 676, 0, 1047 + 0, 0, 0, 0, 0, 0, 435, 453, 0, 0, + 0, 0, 0, 0, 0, 0, 435, 0, 453, 0, + 0, 0, 434, 0, 440, 364, 0, 366, 0, 0, + 0, 0, 0, 0, 0, 677, 1048 ); protected $gotoCheck = array( - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 53, 46, 13, 9, 8, 36, 36, - 81, 11, 11, 125, 125, 46, 9, 9, 9, 65, - 12, 11, 93, 11, 9, 11, 125, 11, 11, 11, - 39, 39, 39, 39, 39, 39, 29, 9, 9, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 114, 20, 57, 77, 26, 57, 5, 57, 9, - 9, 30, 70, 9, 9, 9, 9, 45, 9, 7, - 7, 7, 79, 70, 7, 7, 63, 63, 110, 63, - 9, 113, 113, 20, 20, 110, 9, 116, 116, 116, - 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, - 116, 54, 124, 124, 56, 56, 56, 54, 54, 61, - 115, 61, 61, 2, 2, 124, 123, 42, 121, 44, - 54, 77, 97, 43, 75, 73, 118, 19, 54, 76, - 15, 124, 77, 77, 14, 20, 20, 22, 10, 20, - 20, 20, 20, 21, 20, 80, 67, 18, 103, 64, - 23, 59, 82, 60, 105, 101, 95, -1, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, -1, -1, -1, -1, 65, 65, -1, -1, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 54, 47, 14, 9, 8, 37, 37, + 82, 12, 12, 126, 126, 47, 9, 9, 9, 66, + 13, 12, 94, 12, 9, 12, 126, 12, 12, 12, + 40, 40, 40, 40, 40, 40, 30, 9, 9, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 72, 72, 72, 72, 72, 72, + 72, 72, 72, 72, 72, 72, 72, 72, 117, 117, + 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 21, 78, 27, 58, 11, 46, 58, 9, + 9, 58, 71, 9, 9, 9, 9, 5, 9, 7, + 7, 7, 31, 71, 7, 7, 64, 64, 111, 64, + 80, 9, 124, 21, 21, 111, 116, 9, 115, 115, + 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, + 115, 115, 55, 114, 114, 125, 125, 43, 55, 55, + 62, 122, 62, 62, 57, 57, 57, 45, 125, 44, + 55, 78, 2, 2, 98, 74, 119, 16, 76, 55, + 77, 78, 78, 20, 125, 21, 21, 11, 23, 21, + 21, 21, 21, 11, 21, 22, 81, 10, 15, 68, + 19, 104, 83, 24, 106, 60, 65, 61, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 102, -1, 96, -1, 66, 66, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 53, -1, -1, 53, 53, 53, 53, 53, 81, - 53, 53, -1, 8, 8, -1, 81, 53, -1, -1, - -1, -1, 93, 81, 81, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 81, 53, 53, 53, 53, - 53, -1, -1, 53, 53, 53, 70, 70, 70, -1, + -1, 54, -1, -1, 54, 54, 54, 54, 54, 82, + 54, 54, -1, 8, 8, -1, 82, 54, -1, -1, + -1, -1, 94, 82, 82, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 82, 54, 54, 54, 54, + 54, -1, -1, 54, 54, 54, 71, 71, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 8, -1, -1, 81, -1, 81, -1, -1, -1, - -1, -1, 81, 81, -1, -1, -1, -1, -1, -1, + -1, 8, -1, -1, 82, -1, 82, -1, -1, -1, + -1, -1, 82, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, 8, -1, -1, - -1, -1, -1, -1, -1, -1, 8, 8, -1, -1, - -1, 8, -1, 8, 8, -1, 8, -1, -1, -1, - -1, -1, -1, -1, 8, -1, 8 + -1, -1, -1, -1, -1, -1, 8, -1, 8, -1, + -1, -1, 8, -1, 8, 8, -1, 8, -1, -1, + -1, -1, -1, -1, -1, 8, 8 ); protected $gotoBase = array( - 0, 0, -286, 0, 0, 187, 0, 206, 107, -138, - 6, 120, 128, 113, -11, 16, 0, 0, -51, 2, - -62, -3, 11, -59, -20, 0, 188, 0, 0, -392, - 185, 0, 0, 0, 0, 0, 87, 0, 0, 105, - 0, 0, 224, 45, 44, 193, 84, 0, 0, 0, - 0, 0, 0, 109, -114, 0, 8, -187, 0, -75, - -80, -309, 0, -52, -61, -247, 0, -12, 0, 0, - 172, -50, 0, 24, 0, 22, 21, -99, 0, 191, - -4, 117, -76, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 122, 0, -88, 0, 23, 0, 0, - 0, -86, 0, -60, 0, -58, 0, 0, 0, 0, - -14, 0, 0, -34, -36, 227, 13, 0, 19, 0, - 0, 217, 0, 232, -2, -121, 0, 0 + 0, 0, -277, 0, 0, 197, 0, 206, 107, -138, + 15, -103, 120, 128, 113, 3, 13, 0, 0, -48, + 8, -62, -1, 12, -56, -20, 0, 187, 0, 0, + -392, 196, 0, 0, 0, 0, 0, 87, 0, 0, + 105, 0, 0, 214, 41, 42, 183, 84, 0, 0, + 0, 0, 0, 0, 109, -114, 0, 18, -186, 0, + -72, -76, -308, 0, -52, -55, -247, 0, -9, 0, + 0, 172, -50, 0, 24, 0, 26, 22, -100, 0, + 199, -3, 117, -58, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 122, 0, -71, 0, 25, 0, + 0, 0, -70, 0, -57, 0, -59, 0, 0, 0, + 0, -14, 0, 0, -12, 14, 203, -36, 0, 19, + 0, 0, 210, 0, 198, 1, -121, 0, 0 ); protected $gotoDefault = array( - -32768, 386, 567, 2, 568, 639, 647, 506, 403, 404, - 436, 751, 691, 692, 303, 344, 405, 302, 330, 324, - 679, 672, 674, 682, 134, 333, 685, 1, 687, 442, - 719, 291, 695, 292, 509, 697, 449, 699, 700, 430, - 304, 305, 450, 311, 481, 710, 203, 308, 712, 290, - 713, 722, 335, 293, 512, 491, 470, 503, 359, 370, - 478, 228, 457, 474, 756, 277, 764, 551, 772, 775, - 406, 407, 471, 787, 374, 797, 791, 964, 319, 802, - 808, 996, 811, 814, 351, 331, 327, 818, 819, 4, - 823, 524, 525, 838, 240, 846, 859, 348, 926, 928, - 444, 379, 939, 366, 334, 942, 1000, 360, 408, 371, - 956, 262, 282, 244, 409, 426, 249, 410, 372, 1003, - 314, 1025, 427, 1033, 1041, 273, 306, 476 + -32768, 388, 567, 2, 568, 639, 647, 507, 405, 406, + 438, 439, 752, 692, 693, 304, 344, 407, 303, 331, + 325, 680, 673, 675, 683, 134, 334, 686, 1, 688, + 444, 720, 291, 696, 292, 510, 698, 451, 700, 701, + 432, 305, 306, 452, 312, 483, 711, 203, 309, 713, + 290, 714, 723, 299, 293, 386, 380, 472, 504, 360, + 370, 480, 228, 459, 476, 757, 277, 765, 551, 773, + 776, 408, 409, 473, 788, 374, 798, 792, 965, 320, + 803, 809, 997, 812, 815, 352, 332, 328, 819, 820, + 4, 824, 524, 525, 839, 240, 847, 860, 348, 927, + 929, 446, 379, 940, 367, 335, 943, 1001, 361, 410, + 371, 957, 262, 282, 244, 411, 428, 249, 412, 372, + 1004, 315, 1026, 429, 1034, 1042, 273, 307, 478 ); protected $ruleToNonTerminal = array( @@ -713,47 +713,48 @@ class Php7 extends \PhpParser\ParserAbstract 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, - 7, 7, 8, 9, 9, 10, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 15, 15, 16, - 16, 16, 16, 18, 18, 14, 14, 19, 19, 20, - 20, 21, 21, 22, 22, 17, 17, 23, 25, 25, - 26, 27, 27, 29, 28, 28, 28, 28, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 11, 11, 49, 49, 52, 52, 51, - 50, 50, 43, 43, 54, 54, 55, 55, 12, 13, - 13, 13, 58, 58, 58, 59, 59, 62, 62, 60, - 60, 63, 63, 37, 37, 45, 45, 48, 48, 48, - 47, 47, 64, 38, 38, 38, 38, 65, 65, 66, - 66, 67, 67, 35, 35, 31, 31, 68, 33, 33, - 69, 32, 32, 34, 34, 44, 44, 44, 44, 56, - 56, 72, 72, 73, 73, 75, 75, 76, 76, 76, - 74, 74, 57, 57, 77, 77, 78, 78, 79, 79, - 79, 40, 40, 80, 41, 41, 82, 82, 61, 61, - 83, 83, 83, 83, 88, 88, 89, 89, 90, 90, - 90, 90, 90, 91, 92, 92, 87, 87, 84, 84, - 86, 86, 94, 94, 93, 93, 93, 93, 93, 93, - 85, 85, 95, 95, 42, 42, 36, 36, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 102, 96, 96, 101, 101, 104, 104, 105, 106, - 106, 106, 110, 110, 53, 53, 53, 97, 97, 97, - 108, 108, 98, 98, 100, 100, 100, 103, 103, 114, - 114, 114, 71, 116, 116, 116, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 39, 39, 112, 112, 112, 107, 107, 107, - 117, 117, 117, 117, 117, 117, 46, 46, 46, 81, - 81, 81, 81, 119, 111, 111, 111, 111, 111, 111, - 109, 109, 109, 118, 118, 118, 118, 70, 120, 120, - 121, 121, 121, 121, 121, 115, 122, 122, 123, 123, - 123, 123, 123, 113, 113, 113, 113, 125, 126, 124, - 124, 124, 124, 124, 124, 124, 127, 127, 127, 127 + 7, 7, 8, 9, 9, 10, 11, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 16, 16, + 17, 17, 17, 17, 19, 19, 15, 15, 20, 20, + 21, 21, 22, 22, 23, 23, 18, 18, 24, 26, + 26, 27, 28, 28, 30, 29, 29, 29, 29, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 12, 12, 50, 50, 53, 53, + 52, 51, 51, 44, 44, 55, 55, 56, 56, 13, + 14, 14, 14, 59, 59, 59, 60, 60, 63, 63, + 61, 61, 64, 64, 38, 38, 46, 46, 49, 49, + 49, 48, 48, 65, 39, 39, 39, 39, 66, 66, + 67, 67, 68, 68, 36, 36, 32, 32, 69, 34, + 34, 70, 33, 33, 35, 35, 45, 45, 45, 45, + 57, 57, 73, 73, 74, 74, 76, 76, 77, 77, + 77, 75, 75, 58, 58, 78, 78, 79, 79, 80, + 80, 80, 41, 41, 81, 42, 42, 83, 83, 62, + 62, 84, 84, 84, 84, 89, 89, 90, 90, 91, + 91, 91, 91, 91, 92, 93, 93, 88, 88, 85, + 85, 87, 87, 95, 95, 94, 94, 94, 94, 94, + 94, 86, 86, 96, 96, 43, 43, 37, 37, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 103, 97, 97, 102, 102, 105, 105, 106, + 107, 107, 107, 111, 111, 54, 54, 54, 98, 98, + 98, 109, 109, 99, 99, 101, 101, 101, 104, 104, + 115, 115, 115, 72, 117, 117, 117, 100, 100, 100, + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + 100, 100, 100, 40, 40, 113, 113, 113, 108, 108, + 108, 118, 118, 118, 118, 118, 118, 47, 47, 47, + 82, 82, 82, 82, 120, 112, 112, 112, 112, 112, + 112, 110, 110, 110, 119, 119, 119, 119, 71, 121, + 121, 122, 122, 122, 122, 122, 116, 123, 123, 124, + 124, 124, 124, 124, 114, 114, 114, 114, 126, 127, + 125, 125, 125, 125, 125, 125, 125, 128, 128, 128, + 128 ); protected $ruleToLength = array( @@ -766,46 +767,47 @@ class Php7 extends \PhpParser\ParserAbstract 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, - 3, 5, 4, 3, 4, 2, 3, 1, 1, 7, - 8, 6, 7, 3, 1, 3, 1, 3, 1, 1, - 3, 1, 2, 1, 2, 3, 1, 3, 3, 1, - 3, 2, 0, 1, 1, 1, 1, 1, 3, 7, - 10, 5, 7, 9, 5, 3, 3, 3, 3, 3, - 3, 1, 2, 5, 7, 9, 5, 6, 3, 3, - 2, 2, 1, 1, 1, 0, 2, 1, 3, 8, - 0, 4, 1, 3, 0, 1, 0, 1, 10, 7, - 6, 5, 1, 2, 2, 0, 2, 0, 2, 0, - 2, 1, 3, 1, 4, 1, 4, 1, 1, 4, - 1, 3, 3, 3, 4, 4, 5, 0, 2, 4, - 3, 1, 1, 1, 4, 0, 2, 5, 0, 2, - 6, 0, 2, 0, 3, 1, 2, 1, 1, 1, - 0, 1, 3, 4, 6, 1, 2, 1, 1, 1, - 0, 1, 0, 2, 2, 3, 1, 3, 1, 2, - 2, 3, 1, 1, 3, 1, 1, 3, 2, 0, - 3, 4, 9, 3, 1, 3, 0, 2, 4, 5, - 4, 4, 4, 3, 1, 1, 1, 3, 1, 1, - 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, - 1, 3, 1, 3, 3, 1, 0, 1, 1, 3, - 3, 3, 4, 1, 2, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, - 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 1, 3, 5, 4, 3, 4, 2, 3, 1, 1, + 7, 8, 6, 7, 3, 1, 3, 1, 3, 1, + 1, 3, 1, 2, 1, 2, 3, 1, 3, 3, + 1, 3, 2, 0, 1, 1, 1, 1, 1, 3, + 7, 10, 5, 7, 9, 5, 3, 3, 3, 3, + 3, 3, 1, 2, 5, 7, 9, 5, 6, 3, + 3, 2, 2, 1, 1, 1, 0, 2, 1, 3, + 8, 0, 4, 1, 3, 0, 1, 0, 1, 10, + 7, 6, 5, 1, 2, 2, 0, 2, 0, 2, + 0, 2, 1, 3, 1, 4, 1, 4, 1, 1, + 4, 1, 3, 3, 3, 4, 4, 5, 0, 2, + 4, 3, 1, 1, 1, 4, 0, 2, 5, 0, + 2, 6, 0, 2, 0, 3, 1, 2, 1, 1, + 1, 0, 1, 3, 4, 6, 1, 2, 1, 1, + 1, 0, 1, 0, 2, 2, 3, 1, 3, 1, + 2, 2, 3, 1, 1, 3, 1, 1, 3, 2, + 0, 3, 4, 9, 3, 1, 3, 0, 2, 4, + 5, 4, 4, 4, 3, 1, 1, 1, 3, 1, + 1, 0, 1, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 3, 1, 3, 3, 1, 0, 1, 1, + 3, 3, 3, 4, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 5, 4, 3, 4, 4, 2, 2, - 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 1, 3, 2, 1, 2, 4, 2, 10, - 11, 7, 3, 2, 0, 4, 1, 3, 2, 2, - 2, 4, 1, 1, 1, 2, 3, 1, 1, 1, - 1, 1, 0, 3, 0, 1, 1, 0, 1, 1, - 3, 3, 3, 4, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, - 3, 3, 0, 1, 1, 3, 1, 1, 3, 1, - 1, 4, 4, 4, 1, 4, 1, 1, 3, 1, - 4, 2, 2, 3, 1, 4, 4, 3, 3, 3, - 1, 3, 1, 1, 3, 1, 1, 4, 3, 1, - 1, 1, 3, 3, 0, 1, 3, 1, 3, 1, - 4, 2, 0, 2, 2, 1, 2, 1, 1, 1, - 4, 3, 3, 3, 6, 3, 1, 1, 2, 1 + 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, + 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 5, 4, 3, 4, 4, 2, + 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 1, 3, 2, 1, 2, 4, 2, + 10, 11, 7, 3, 2, 0, 4, 1, 3, 2, + 2, 2, 4, 1, 1, 1, 2, 3, 1, 1, + 1, 1, 1, 0, 3, 0, 1, 1, 0, 1, + 1, 3, 3, 3, 4, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, + 2, 3, 3, 0, 1, 1, 3, 1, 1, 3, + 1, 1, 4, 4, 4, 1, 4, 1, 1, 3, + 1, 4, 2, 2, 3, 1, 4, 4, 3, 3, + 3, 1, 3, 1, 1, 3, 1, 1, 4, 3, + 1, 1, 1, 3, 3, 0, 1, 3, 1, 3, + 1, 4, 2, 0, 2, 2, 1, 2, 1, 1, + 1, 4, 3, 3, 3, 6, 3, 1, 1, 2, + 1 ); protected function reduceRule0() { @@ -1154,7 +1156,7 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule86() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = ($this->useConsistentVariableNodes ? new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes) : substr($this->semStack[$this->stackPos-(1-1)], 1)); } protected function reduceRule87() { @@ -1166,148 +1168,148 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule89() { - $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule90() { - $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(3-2)], null, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->checkNamespace($this->semValue); + $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule91() { - $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(5-2)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); $this->checkNamespace($this->semValue); + $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(3-2)], null, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->checkNamespace($this->semValue); } protected function reduceRule92() { - $this->semValue = new Stmt\Namespace_(null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); $this->checkNamespace($this->semValue); + $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(5-2)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); $this->checkNamespace($this->semValue); } protected function reduceRule93() { - $this->semValue = new Stmt\Use_($this->semStack[$this->stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Stmt\Namespace_(null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); $this->checkNamespace($this->semValue); } protected function reduceRule94() { - $this->semValue = new Stmt\Use_($this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-2)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Stmt\Use_($this->semStack[$this->stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule95() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = new Stmt\Use_($this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-2)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule96() { - $this->semValue = new Stmt\Const_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } protected function reduceRule97() { - $this->semValue = Stmt\Use_::TYPE_FUNCTION; + $this->semValue = new Stmt\Const_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule98() { - $this->semValue = Stmt\Use_::TYPE_CONSTANT; + $this->semValue = Stmt\Use_::TYPE_FUNCTION; } protected function reduceRule99() { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(7-3)], $this->startAttributeStack[$this->stackPos-(7-3)] + $this->endAttributeStack[$this->stackPos-(7-3)]), $this->semStack[$this->stackPos-(7-6)], $this->semStack[$this->stackPos-(7-2)], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); + $this->semValue = Stmt\Use_::TYPE_CONSTANT; } protected function reduceRule100() { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(8-4)], $this->startAttributeStack[$this->stackPos-(8-4)] + $this->endAttributeStack[$this->stackPos-(8-4)]), $this->semStack[$this->stackPos-(8-7)], $this->semStack[$this->stackPos-(8-2)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes); + $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(7-3)], $this->startAttributeStack[$this->stackPos-(7-3)] + $this->endAttributeStack[$this->stackPos-(7-3)]), $this->semStack[$this->stackPos-(7-6)], $this->semStack[$this->stackPos-(7-2)], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); } protected function reduceRule101() { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(6-2)], $this->startAttributeStack[$this->stackPos-(6-2)] + $this->endAttributeStack[$this->stackPos-(6-2)]), $this->semStack[$this->stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); + $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(8-4)], $this->startAttributeStack[$this->stackPos-(8-4)] + $this->endAttributeStack[$this->stackPos-(8-4)]), $this->semStack[$this->stackPos-(8-7)], $this->semStack[$this->stackPos-(8-2)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes); } protected function reduceRule102() { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(7-3)], $this->startAttributeStack[$this->stackPos-(7-3)] + $this->endAttributeStack[$this->stackPos-(7-3)]), $this->semStack[$this->stackPos-(7-6)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); + $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(6-2)], $this->startAttributeStack[$this->stackPos-(6-2)] + $this->endAttributeStack[$this->stackPos-(6-2)]), $this->semStack[$this->stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); } protected function reduceRule103() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(7-3)], $this->startAttributeStack[$this->stackPos-(7-3)] + $this->endAttributeStack[$this->stackPos-(7-3)]), $this->semStack[$this->stackPos-(7-6)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); } protected function reduceRule104() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule105() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule106() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule107() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule108() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule109() { - $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $this->stackPos-(1-1)); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule110() { - $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $this->stackPos-(3-3)); + $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $this->stackPos-(1-1)); } protected function reduceRule111() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $this->stackPos-(3-3)); } protected function reduceRule112() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule113() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL; + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; } protected function reduceRule114() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; $this->semValue->type = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL; } protected function reduceRule115() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; $this->semValue->type = $this->semStack[$this->stackPos-(2-1)]; } protected function reduceRule116() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule117() { - $this->semValue = new Node\Const_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule118() { $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } - protected function reduceRule119() { + protected function reduceRule117() { $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } - protected function reduceRule120() { + protected function reduceRule118() { $this->semValue = new Node\Const_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } + protected function reduceRule119() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule120() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + protected function reduceRule121() { - if (is_array($this->semStack[$this->stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); } else { $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; }; + $this->semValue = new Node\Const_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule122() { - $this->semValue = array(); + if (is_array($this->semStack[$this->stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); } else { $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; }; } protected function reduceRule123() { - $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop(['comments' => $startAttributes['comments']]); } else { $nop = null; }; - if ($nop !== null) { $this->semStack[$this->stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = array(); } protected function reduceRule124() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop(['comments' => $startAttributes['comments']]); } else { $nop = null; }; + if ($nop !== null) { $this->semStack[$this->stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule125() { @@ -1319,306 +1321,306 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule127() { - throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule128() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; $attrs = $this->startAttributeStack[$this->stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments']) && isset($stmts[0])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); }; - } - - protected function reduceRule129() { - $this->semValue = new Stmt\If_($this->semStack[$this->stackPos-(7-3)], ['stmts' => is_array($this->semStack[$this->stackPos-(7-5)]) ? $this->semStack[$this->stackPos-(7-5)] : array($this->semStack[$this->stackPos-(7-5)]), 'elseifs' => $this->semStack[$this->stackPos-(7-6)], 'else' => $this->semStack[$this->stackPos-(7-7)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); - } - - protected function reduceRule130() { - $this->semValue = new Stmt\If_($this->semStack[$this->stackPos-(10-3)], ['stmts' => $this->semStack[$this->stackPos-(10-6)], 'elseifs' => $this->semStack[$this->stackPos-(10-7)], 'else' => $this->semStack[$this->stackPos-(10-8)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes); - } - - protected function reduceRule131() { - $this->semValue = new Stmt\While_($this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); - } - - protected function reduceRule132() { - $this->semValue = new Stmt\Do_($this->semStack[$this->stackPos-(7-5)], is_array($this->semStack[$this->stackPos-(7-2)]) ? $this->semStack[$this->stackPos-(7-2)] : array($this->semStack[$this->stackPos-(7-2)]), $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); - } - - protected function reduceRule133() { - $this->semValue = new Stmt\For_(['init' => $this->semStack[$this->stackPos-(9-3)], 'cond' => $this->semStack[$this->stackPos-(9-5)], 'loop' => $this->semStack[$this->stackPos-(9-7)], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes); - } - - protected function reduceRule134() { - $this->semValue = new Stmt\Switch_($this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); - } - - protected function reduceRule135() { - $this->semValue = new Stmt\Break_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule136() { - $this->semValue = new Stmt\Continue_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule137() { - $this->semValue = new Stmt\Return_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule138() { - $this->semValue = new Stmt\Global_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule139() { - $this->semValue = new Stmt\Static_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule140() { - $this->semValue = new Stmt\Echo_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule141() { - $this->semValue = new Stmt\InlineHTML($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule142() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule143() { - $this->semValue = new Stmt\Unset_($this->semStack[$this->stackPos-(5-3)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); - } - - protected function reduceRule144() { - $this->semValue = new Stmt\Foreach_($this->semStack[$this->stackPos-(7-3)], $this->semStack[$this->stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$this->stackPos-(7-5)][1], 'stmts' => $this->semStack[$this->stackPos-(7-7)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); - } - - protected function reduceRule145() { - $this->semValue = new Stmt\Foreach_($this->semStack[$this->stackPos-(9-3)], $this->semStack[$this->stackPos-(9-7)][0], ['keyVar' => $this->semStack[$this->stackPos-(9-5)], 'byRef' => $this->semStack[$this->stackPos-(9-7)][1], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes); - } - - protected function reduceRule146() { - $this->semValue = new Stmt\Declare_($this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); - } - - protected function reduceRule147() { - $this->semValue = new Stmt\TryCatch($this->semStack[$this->stackPos-(6-3)], $this->semStack[$this->stackPos-(6-5)], $this->semStack[$this->stackPos-(6-6)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue); - } - - protected function reduceRule148() { - $this->semValue = new Stmt\Throw_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule149() { - $this->semValue = new Stmt\Goto_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule150() { - $this->semValue = new Stmt\Label($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule151() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule152() { - $this->semValue = array(); /* means: no statement */ - } - - protected function reduceRule153() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + protected function reduceRule128() { + throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule129() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; $attrs = $this->startAttributeStack[$this->stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments']) && isset($stmts[0])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); }; + } + + protected function reduceRule130() { + $this->semValue = new Stmt\If_($this->semStack[$this->stackPos-(7-3)], ['stmts' => is_array($this->semStack[$this->stackPos-(7-5)]) ? $this->semStack[$this->stackPos-(7-5)] : array($this->semStack[$this->stackPos-(7-5)]), 'elseifs' => $this->semStack[$this->stackPos-(7-6)], 'else' => $this->semStack[$this->stackPos-(7-7)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); + } + + protected function reduceRule131() { + $this->semValue = new Stmt\If_($this->semStack[$this->stackPos-(10-3)], ['stmts' => $this->semStack[$this->stackPos-(10-6)], 'elseifs' => $this->semStack[$this->stackPos-(10-7)], 'else' => $this->semStack[$this->stackPos-(10-8)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes); + } + + protected function reduceRule132() { + $this->semValue = new Stmt\While_($this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + } + + protected function reduceRule133() { + $this->semValue = new Stmt\Do_($this->semStack[$this->stackPos-(7-5)], is_array($this->semStack[$this->stackPos-(7-2)]) ? $this->semStack[$this->stackPos-(7-2)] : array($this->semStack[$this->stackPos-(7-2)]), $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); + } + + protected function reduceRule134() { + $this->semValue = new Stmt\For_(['init' => $this->semStack[$this->stackPos-(9-3)], 'cond' => $this->semStack[$this->stackPos-(9-5)], 'loop' => $this->semStack[$this->stackPos-(9-7)], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes); + } + + protected function reduceRule135() { + $this->semValue = new Stmt\Switch_($this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + } + + protected function reduceRule136() { + $this->semValue = new Stmt\Break_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule137() { + $this->semValue = new Stmt\Continue_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule138() { + $this->semValue = new Stmt\Return_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule139() { + $this->semValue = new Stmt\Global_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule140() { + $this->semValue = new Stmt\Static_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule141() { + $this->semValue = new Stmt\Echo_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule142() { + $this->semValue = new Stmt\InlineHTML($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule143() { + $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule144() { + $this->semValue = new Stmt\Unset_($this->semStack[$this->stackPos-(5-3)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + } + + protected function reduceRule145() { + $this->semValue = new Stmt\Foreach_($this->semStack[$this->stackPos-(7-3)], $this->semStack[$this->stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$this->stackPos-(7-5)][1], 'stmts' => $this->semStack[$this->stackPos-(7-7)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); + } + + protected function reduceRule146() { + $this->semValue = new Stmt\Foreach_($this->semStack[$this->stackPos-(9-3)], $this->semStack[$this->stackPos-(9-7)][0], ['keyVar' => $this->semStack[$this->stackPos-(9-5)], 'byRef' => $this->semStack[$this->stackPos-(9-7)][1], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes); + } + + protected function reduceRule147() { + $this->semValue = new Stmt\Declare_($this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + } + + protected function reduceRule148() { + $this->semValue = new Stmt\TryCatch($this->semStack[$this->stackPos-(6-3)], $this->semStack[$this->stackPos-(6-5)], $this->semStack[$this->stackPos-(6-6)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue); + } + + protected function reduceRule149() { + $this->semValue = new Stmt\Throw_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule150() { + $this->semValue = new Stmt\Goto_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule151() { + $this->semValue = new Stmt\Label($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule152() { + $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule153() { + $this->semValue = array(); /* means: no statement */ + } + protected function reduceRule154() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule155() { $startAttributes = $this->startAttributeStack[$this->stackPos-(1-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop(['comments' => $startAttributes['comments']]); } else { $this->semValue = null; }; if ($this->semValue === null) $this->semValue = array(); /* means: no statement */ } - protected function reduceRule155() { + protected function reduceRule156() { $this->semValue = array(); } - protected function reduceRule156() { + protected function reduceRule157() { $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } - protected function reduceRule157() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - protected function reduceRule158() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule159() { - $this->semValue = new Stmt\Catch_($this->semStack[$this->stackPos-(8-3)], substr($this->semStack[$this->stackPos-(8-4)], 1), $this->semStack[$this->stackPos-(8-7)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes); - } - - protected function reduceRule160() { - $this->semValue = null; - } - - protected function reduceRule161() { - $this->semValue = new Stmt\Finally_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule162() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule163() { $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } + protected function reduceRule160() { + $this->semValue = new Stmt\Catch_($this->semStack[$this->stackPos-(8-3)], $this->semStack[$this->stackPos-(8-4)], $this->semStack[$this->stackPos-(8-7)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes); + } + + protected function reduceRule161() { + $this->semValue = null; + } + + protected function reduceRule162() { + $this->semValue = new Stmt\Finally_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule163() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + protected function reduceRule164() { - $this->semValue = false; + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule165() { - $this->semValue = true; - } - - protected function reduceRule166() { $this->semValue = false; } - protected function reduceRule167() { + protected function reduceRule166() { $this->semValue = true; } + protected function reduceRule167() { + $this->semValue = false; + } + protected function reduceRule168() { - $this->semValue = new Stmt\Function_($this->semStack[$this->stackPos-(10-3)], ['byRef' => $this->semStack[$this->stackPos-(10-2)], 'params' => $this->semStack[$this->stackPos-(10-5)], 'returnType' => $this->semStack[$this->stackPos-(10-7)], 'stmts' => $this->semStack[$this->stackPos-(10-9)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes); + $this->semValue = true; } protected function reduceRule169() { + $this->semValue = new Stmt\Function_($this->semStack[$this->stackPos-(10-3)], ['byRef' => $this->semStack[$this->stackPos-(10-2)], 'params' => $this->semStack[$this->stackPos-(10-5)], 'returnType' => $this->semStack[$this->stackPos-(10-7)], 'stmts' => $this->semStack[$this->stackPos-(10-9)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes); + } + + protected function reduceRule170() { $this->semValue = new Stmt\Class_($this->semStack[$this->stackPos-(7-2)], ['type' => $this->semStack[$this->stackPos-(7-1)], 'extends' => $this->semStack[$this->stackPos-(7-3)], 'implements' => $this->semStack[$this->stackPos-(7-4)], 'stmts' => $this->semStack[$this->stackPos-(7-6)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); $this->checkClass($this->semValue, $this->stackPos-(7-2)); } - protected function reduceRule170() { + protected function reduceRule171() { $this->semValue = new Stmt\Interface_($this->semStack[$this->stackPos-(6-2)], ['extends' => $this->semStack[$this->stackPos-(6-3)], 'stmts' => $this->semStack[$this->stackPos-(6-5)]], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); $this->checkInterface($this->semValue, $this->stackPos-(6-2)); } - protected function reduceRule171() { + protected function reduceRule172() { $this->semValue = new Stmt\Trait_($this->semStack[$this->stackPos-(5-2)], ['stmts' => $this->semStack[$this->stackPos-(5-4)]], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); } - protected function reduceRule172() { + protected function reduceRule173() { $this->semValue = 0; } - protected function reduceRule173() { + protected function reduceRule174() { $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; } - protected function reduceRule174() { + protected function reduceRule175() { $this->semValue = Stmt\Class_::MODIFIER_FINAL; } - protected function reduceRule175() { - $this->semValue = null; - } - protected function reduceRule176() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + $this->semValue = null; } protected function reduceRule177() { - $this->semValue = array(); + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; } protected function reduceRule178() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + $this->semValue = array(); } protected function reduceRule179() { - $this->semValue = array(); - } - - protected function reduceRule180() { $this->semValue = $this->semStack[$this->stackPos-(2-2)]; } - protected function reduceRule181() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule182() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule183() { - $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule184() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule185() { - $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule186() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule187() { - $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule188() { - $this->semValue = null; - } - - protected function reduceRule189() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule190() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule191() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule192() { - $this->semValue = new Stmt\DeclareDeclare($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule193() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule194() { - $this->semValue = $this->semStack[$this->stackPos-(4-3)]; - } - - protected function reduceRule195() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule196() { - $this->semValue = $this->semStack[$this->stackPos-(5-3)]; - } - - protected function reduceRule197() { + protected function reduceRule180() { $this->semValue = array(); } + protected function reduceRule181() { + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + } + + protected function reduceRule182() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule183() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule184() { + $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule185() { + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + } + + protected function reduceRule186() { + $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule187() { + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + } + + protected function reduceRule188() { + $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule189() { + $this->semValue = null; + } + + protected function reduceRule190() { + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + } + + protected function reduceRule191() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule192() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule193() { + $this->semValue = new Stmt\DeclareDeclare($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule194() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule195() { + $this->semValue = $this->semStack[$this->stackPos-(4-3)]; + } + + protected function reduceRule196() { + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + } + + protected function reduceRule197() { + $this->semValue = $this->semStack[$this->stackPos-(5-3)]; + } + protected function reduceRule198() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = array(); } protected function reduceRule199() { - $this->semValue = new Stmt\Case_($this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } protected function reduceRule200() { - $this->semValue = new Stmt\Case_(null, $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Stmt\Case_($this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule201() { - $this->semValue = $this->semStack[$this->stackPos]; + $this->semValue = new Stmt\Case_(null, $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule202() { @@ -1626,63 +1628,63 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule203() { - $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = $this->semStack[$this->stackPos]; } protected function reduceRule204() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule205() { - $this->semValue = array(); + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; } protected function reduceRule206() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule207() { - $this->semValue = new Stmt\ElseIf_($this->semStack[$this->stackPos-(5-3)], is_array($this->semStack[$this->stackPos-(5-5)]) ? $this->semStack[$this->stackPos-(5-5)] : array($this->semStack[$this->stackPos-(5-5)]), $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); - } - - protected function reduceRule208() { $this->semValue = array(); } - protected function reduceRule209() { + protected function reduceRule207() { $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } + protected function reduceRule208() { + $this->semValue = new Stmt\ElseIf_($this->semStack[$this->stackPos-(5-3)], is_array($this->semStack[$this->stackPos-(5-5)]) ? $this->semStack[$this->stackPos-(5-5)] : array($this->semStack[$this->stackPos-(5-5)]), $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + } + + protected function reduceRule209() { + $this->semValue = array(); + } + protected function reduceRule210() { - $this->semValue = new Stmt\ElseIf_($this->semStack[$this->stackPos-(6-3)], $this->semStack[$this->stackPos-(6-6)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } protected function reduceRule211() { - $this->semValue = null; + $this->semValue = new Stmt\ElseIf_($this->semStack[$this->stackPos-(6-3)], $this->semStack[$this->stackPos-(6-6)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); } protected function reduceRule212() { - $this->semValue = new Stmt\Else_(is_array($this->semStack[$this->stackPos-(2-2)]) ? $this->semStack[$this->stackPos-(2-2)] : array($this->semStack[$this->stackPos-(2-2)]), $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule213() { $this->semValue = null; } + protected function reduceRule213() { + $this->semValue = new Stmt\Else_(is_array($this->semStack[$this->stackPos-(2-2)]) ? $this->semStack[$this->stackPos-(2-2)] : array($this->semStack[$this->stackPos-(2-2)]), $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + protected function reduceRule214() { - $this->semValue = new Stmt\Else_($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = null; } protected function reduceRule215() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); + $this->semValue = new Stmt\Else_($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule216() { - $this->semValue = array($this->semStack[$this->stackPos-(2-2)], true); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); } protected function reduceRule217() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); + $this->semValue = array($this->semStack[$this->stackPos-(2-2)], true); } protected function reduceRule218() { @@ -1690,176 +1692,176 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule219() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); } protected function reduceRule220() { - $this->semValue = array(); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule221() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = array(); } protected function reduceRule222() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule223() { - $this->semValue = new Node\Param(substr($this->semStack[$this->stackPos-(4-4)], 1), null, $this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); $this->checkParam($this->semValue); + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule224() { - $this->semValue = new Node\Param(substr($this->semStack[$this->stackPos-(6-4)], 1), $this->semStack[$this->stackPos-(6-6)], $this->semStack[$this->stackPos-(6-1)], $this->semStack[$this->stackPos-(6-2)], $this->semStack[$this->stackPos-(6-3)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); $this->checkParam($this->semValue); + $this->semValue = new Node\Param($this->semStack[$this->stackPos-(4-4)], null, $this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); $this->checkParam($this->semValue); } protected function reduceRule225() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Node\Param($this->semStack[$this->stackPos-(6-4)], $this->semStack[$this->stackPos-(6-6)], $this->semStack[$this->stackPos-(6-1)], $this->semStack[$this->stackPos-(6-2)], $this->semStack[$this->stackPos-(6-3)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); $this->checkParam($this->semValue); } protected function reduceRule226() { - $this->semValue = new Node\NullableType($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule227() { - $this->semValue = $this->handleBuiltinTypes($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule228() { - $this->semValue = ($this->useIdentifierNodes ? new Node\Identifier('array', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes) : 'array'); - } - - protected function reduceRule229() { - $this->semValue = ($this->useIdentifierNodes ? new Node\Identifier('callable', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes) : 'callable'); - } - - protected function reduceRule230() { - $this->semValue = null; - } - - protected function reduceRule231() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } - protected function reduceRule232() { + protected function reduceRule227() { + $this->semValue = new Node\NullableType($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule228() { + $this->semValue = $this->handleBuiltinTypes($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule229() { + $this->semValue = ($this->useIdentifierNodes ? new Node\Identifier('array', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes) : 'array'); + } + + protected function reduceRule230() { + $this->semValue = ($this->useIdentifierNodes ? new Node\Identifier('callable', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes) : 'callable'); + } + + protected function reduceRule231() { $this->semValue = null; } + protected function reduceRule232() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + protected function reduceRule233() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + $this->semValue = null; } protected function reduceRule234() { - $this->semValue = array(); + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; } protected function reduceRule235() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule236() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule237() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule238() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(1-1)], false, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule239() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], true, false, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule240() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], false, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule241() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule242() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule243() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule244() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule245() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule246() { - $this->semValue = new Stmt\StaticVar(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule247() { - $this->semValue = new Stmt\StaticVar(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule248() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule249() { $this->semValue = array(); } + protected function reduceRule236() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule237() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule238() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule239() { + $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(1-1)], false, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule240() { + $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], true, false, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule241() { + $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], false, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule242() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule243() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule244() { + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule245() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule246() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule247() { + $this->semValue = new Stmt\StaticVar($this->semStack[$this->stackPos-(1-1)], null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule248() { + $this->semValue = new Stmt\StaticVar($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule249() { + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + protected function reduceRule250() { - $this->semValue = new Stmt\Property($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->checkProperty($this->semValue, $this->stackPos-(3-1)); + $this->semValue = array(); } protected function reduceRule251() { - $this->semValue = new Stmt\ClassConst($this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-1)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); $this->checkClassConst($this->semValue, $this->stackPos-(4-1)); + $this->semValue = new Stmt\Property($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->checkProperty($this->semValue, $this->stackPos-(3-1)); } protected function reduceRule252() { + $this->semValue = new Stmt\ClassConst($this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-1)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); $this->checkClassConst($this->semValue, $this->stackPos-(4-1)); + } + + protected function reduceRule253() { $this->semValue = new Stmt\ClassMethod($this->semStack[$this->stackPos-(9-4)], ['type' => $this->semStack[$this->stackPos-(9-1)], 'byRef' => $this->semStack[$this->stackPos-(9-3)], 'params' => $this->semStack[$this->stackPos-(9-6)], 'returnType' => $this->semStack[$this->stackPos-(9-8)], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes); $this->checkClassMethod($this->semValue, $this->stackPos-(9-1)); } - protected function reduceRule253() { + protected function reduceRule254() { $this->semValue = new Stmt\TraitUse($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } - protected function reduceRule254() { - $this->semValue = array(); - } - protected function reduceRule255() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = array(); } protected function reduceRule256() { - $this->semValue = array(); + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule257() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = array(); } protected function reduceRule258() { - $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } protected function reduceRule259() { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(5-1)][0], $this->semStack[$this->stackPos-(5-1)][1], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule260() { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], $this->semStack[$this->stackPos-(4-3)], null, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(5-1)][0], $this->semStack[$this->stackPos-(5-1)][1], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); } protected function reduceRule261() { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], $this->semStack[$this->stackPos-(4-3)], null, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule262() { @@ -1867,31 +1869,31 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule263() { - $this->semValue = array($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)]); + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule264() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = array($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)]); } protected function reduceRule265() { - $this->semValue = array(null, $this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule266() { - $this->semValue = null; - } - - protected function reduceRule267() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule268() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + protected function reduceRule266() { + $this->semValue = array(null, $this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule267() { + $this->semValue = null; + } + + protected function reduceRule268() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + protected function reduceRule269() { - $this->semValue = 0; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule270() { @@ -1899,7 +1901,7 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule271() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = 0; } protected function reduceRule272() { @@ -1907,63 +1909,63 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule273() { - $this->checkModifier($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->stackPos-(2-2)); $this->semValue = $this->semStack[$this->stackPos-(2-1)] | $this->semStack[$this->stackPos-(2-2)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule274() { - $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; + $this->checkModifier($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->stackPos-(2-2)); $this->semValue = $this->semStack[$this->stackPos-(2-1)] | $this->semStack[$this->stackPos-(2-2)]; } protected function reduceRule275() { - $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; } protected function reduceRule276() { - $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; } protected function reduceRule277() { - $this->semValue = Stmt\Class_::MODIFIER_STATIC; + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; } protected function reduceRule278() { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + $this->semValue = Stmt\Class_::MODIFIER_STATIC; } protected function reduceRule279() { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; } protected function reduceRule280() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = Stmt\Class_::MODIFIER_FINAL; } protected function reduceRule281() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule282() { - $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule283() { - $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule284() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule285() { $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } + protected function reduceRule282() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule283() { + $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule284() { + $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule285() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + protected function reduceRule286() { - $this->semValue = array(); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule287() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = array(); } protected function reduceRule288() { @@ -1971,7 +1973,7 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule289() { - $this->semValue = new Expr\Assign($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule290() { @@ -1983,358 +1985,358 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule292() { - $this->semValue = new Expr\AssignRef($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Assign($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule293() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Expr\AssignRef($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule294() { - $this->semValue = new Expr\Clone_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule295() { - $this->semValue = new Expr\AssignOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Clone_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule296() { - $this->semValue = new Expr\AssignOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule297() { - $this->semValue = new Expr\AssignOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule298() { - $this->semValue = new Expr\AssignOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule299() { - $this->semValue = new Expr\AssignOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule300() { - $this->semValue = new Expr\AssignOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule301() { - $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule302() { - $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule303() { - $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule304() { - $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule305() { - $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule306() { - $this->semValue = new Expr\AssignOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule307() { - $this->semValue = new Expr\PostInc($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule308() { - $this->semValue = new Expr\PreInc($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\PostInc($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule309() { - $this->semValue = new Expr\PostDec($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\PreInc($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule310() { - $this->semValue = new Expr\PreDec($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\PostDec($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule311() { - $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PreDec($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule312() { - $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule313() { - $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule314() { - $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule315() { - $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule316() { - $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule317() { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule318() { - $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule319() { - $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule320() { - $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule321() { - $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule322() { - $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule323() { - $this->semValue = new Expr\BinaryOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule324() { - $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule325() { - $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule326() { - $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule327() { - $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule328() { - $this->semValue = new Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule329() { - $this->semValue = new Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule330() { - $this->semValue = new Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule331() { - $this->semValue = new Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule332() { - $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule333() { - $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule334() { - $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule335() { - $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule336() { - $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule337() { - $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule338() { - $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule339() { - $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule340() { - $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule341() { - $this->semValue = new Expr\Instanceof_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule342() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = new Expr\Instanceof_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule343() { - $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(5-1)], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule344() { - $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(4-1)], null, $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(5-1)], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); } protected function reduceRule345() { - $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(4-1)], null, $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule346() { - $this->semValue = new Expr\Isset_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule347() { - $this->semValue = new Expr\Empty_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Isset_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule348() { - $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Empty_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule349() { - $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule350() { - $this->semValue = new Expr\Eval_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule351() { - $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Eval_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule352() { - $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule353() { - $this->semValue = new Expr\Cast\Int_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule354() { - $this->semValue = new Expr\Cast\Double($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Int_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule355() { - $this->semValue = new Expr\Cast\String_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Double($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule356() { - $this->semValue = new Expr\Cast\Array_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\String_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule357() { - $this->semValue = new Expr\Cast\Object_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Array_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule358() { - $this->semValue = new Expr\Cast\Bool_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Object_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule359() { - $this->semValue = new Expr\Cast\Unset_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Bool_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule360() { + $this->semValue = new Expr\Cast\Unset_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule361() { $attrs = $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strtolower($this->semStack[$this->stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; $this->semValue = new Expr\Exit_($this->semStack[$this->stackPos-(2-2)], $attrs); } - protected function reduceRule361() { + protected function reduceRule362() { $this->semValue = new Expr\ErrorSuppress($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } - protected function reduceRule362() { + protected function reduceRule363() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } - protected function reduceRule363() { + protected function reduceRule364() { $this->semValue = new Expr\ShellExec($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } - protected function reduceRule364() { + protected function reduceRule365() { $this->semValue = new Expr\Print_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } - protected function reduceRule365() { + protected function reduceRule366() { $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule366() { + protected function reduceRule367() { $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(2-2)], null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } - protected function reduceRule367() { + protected function reduceRule368() { $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-2)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } - protected function reduceRule368() { + protected function reduceRule369() { $this->semValue = new Expr\YieldFrom($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } - protected function reduceRule369() { + protected function reduceRule370() { $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$this->stackPos-(10-2)], 'params' => $this->semStack[$this->stackPos-(10-4)], 'uses' => $this->semStack[$this->stackPos-(10-6)], 'returnType' => $this->semStack[$this->stackPos-(10-7)], 'stmts' => $this->semStack[$this->stackPos-(10-9)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes); } - protected function reduceRule370() { + protected function reduceRule371() { $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$this->stackPos-(11-3)], 'params' => $this->semStack[$this->stackPos-(11-5)], 'uses' => $this->semStack[$this->stackPos-(11-7)], 'returnType' => $this->semStack[$this->stackPos-(11-8)], 'stmts' => $this->semStack[$this->stackPos-(11-10)]], $this->startAttributeStack[$this->stackPos-(11-1)] + $this->endAttributes); } - protected function reduceRule371() { + protected function reduceRule372() { $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$this->stackPos-(7-3)], 'implements' => $this->semStack[$this->stackPos-(7-4)], 'stmts' => $this->semStack[$this->stackPos-(7-6)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(7-2)]); $this->checkClass($this->semValue[0], -1); } - protected function reduceRule372() { + protected function reduceRule373() { $this->semValue = new Expr\New_($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } - protected function reduceRule373() { + protected function reduceRule374() { list($class, $ctorArgs) = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } - protected function reduceRule374() { + protected function reduceRule375() { $this->semValue = array(); } - protected function reduceRule375() { + protected function reduceRule376() { $this->semValue = $this->semStack[$this->stackPos-(4-3)]; } - protected function reduceRule376() { + protected function reduceRule377() { $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } - protected function reduceRule377() { + protected function reduceRule378() { $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } - protected function reduceRule378() { - $this->semValue = new Expr\ClosureUse(substr($this->semStack[$this->stackPos-(2-2)], 1), $this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - protected function reduceRule379() { - $this->semValue = new Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\ClosureUse($this->semStack[$this->stackPos-(2-2)], $this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule380() { @@ -2342,31 +2344,31 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule381() { - $this->semValue = new Expr\StaticCall($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule382() { - $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\StaticCall($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule383() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule384() { $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } + protected function reduceRule384() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + protected function reduceRule385() { - $this->semValue = new Name\FullyQualified($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule386() { - $this->semValue = new Name\Relative($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Name\FullyQualified($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule387() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Name\Relative($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule388() { @@ -2374,11 +2376,11 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule389() { - $this->semValue = new Expr\Error($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule390() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Expr\Error($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; } protected function reduceRule391() { @@ -2386,106 +2388,106 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule392() { - $this->semValue = null; - } - - protected function reduceRule393() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule394() { - $this->semValue = array(); - } - - protected function reduceRule395() { - $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$this->stackPos-(1-1)], '`'), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes)); - } - - protected function reduceRule396() { - foreach ($this->semStack[$this->stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule397() { - $this->semValue = array(); - } - - protected function reduceRule398() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + protected function reduceRule393() { + $this->semValue = null; + } + + protected function reduceRule394() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule395() { + $this->semValue = array(); + } + + protected function reduceRule396() { + $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$this->stackPos-(1-1)], '`'), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes)); + } + + protected function reduceRule397() { + foreach ($this->semStack[$this->stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule398() { + $this->semValue = array(); + } + protected function reduceRule399() { - $this->semValue = new Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule400() { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule401() { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$this->stackPos-(3-1)], new Expr\Error($this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes), $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = new Expr\ClassConstFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule402() { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$this->stackPos-(3-1)], new Expr\Error($this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes), $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->errorState = 2; + } + + protected function reduceRule403() { $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT; $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(3-2)], $attrs); } - protected function reduceRule403() { + protected function reduceRule404() { $attrs = $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG; $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(4-3)], $attrs); } - protected function reduceRule404() { + protected function reduceRule405() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } - protected function reduceRule405() { + protected function reduceRule406() { $attrs = $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$this->stackPos-(1-1)][0] === "'" || ($this->semStack[$this->stackPos-(1-1)][1] === "'" && ($this->semStack[$this->stackPos-(1-1)][0] === 'b' || $this->semStack[$this->stackPos-(1-1)][0] === 'B')) ? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED); $this->semValue = new Scalar\String_(Scalar\String_::parse($this->semStack[$this->stackPos-(1-1)]), $attrs); } - protected function reduceRule406() { + protected function reduceRule407() { $this->semValue = $this->parseLNumber($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule407() { + protected function reduceRule408() { $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule408() { + protected function reduceRule409() { $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule409() { + protected function reduceRule410() { $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule410() { + protected function reduceRule411() { $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule411() { + protected function reduceRule412() { $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule412() { + protected function reduceRule413() { $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule413() { + protected function reduceRule414() { $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule414() { + protected function reduceRule415() { $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule415() { - $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - protected function reduceRule416() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule417() { @@ -2493,31 +2495,31 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule418() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule419() { $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$this->stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$this->stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];; $this->semValue = new Scalar\String_(Scalar\String_::parseDocString($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)]), $attrs); } - protected function reduceRule419() { + protected function reduceRule420() { $attrs = $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$this->stackPos-(2-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$this->stackPos-(2-1)], $matches); $attrs['docLabel'] = $matches[1];; $this->semValue = new Scalar\String_('', $attrs); } - protected function reduceRule420() { + protected function reduceRule421() { $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; foreach ($this->semStack[$this->stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$this->stackPos-(3-2)], $attrs); } - protected function reduceRule421() { + protected function reduceRule422() { $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$this->stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$this->stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];; foreach ($this->semStack[$this->stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, null, true); } } $s->value = preg_replace('~(\r\n|\n|\r)\z~', '', $s->value); if ('' === $s->value) array_pop($this->semStack[$this->stackPos-(3-2)]);; $this->semValue = new Scalar\Encapsed($this->semStack[$this->stackPos-(3-2)], $attrs); } - protected function reduceRule422() { - $this->semValue = null; - } - protected function reduceRule423() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = null; } protected function reduceRule424() { @@ -2525,11 +2527,11 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule425() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule426() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule427() { @@ -2537,19 +2539,19 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule428() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule429() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + protected function reduceRule429() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + protected function reduceRule430() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule431() { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule432() { @@ -2561,15 +2563,15 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule434() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule435() { - $this->semValue = new Expr\MethodCall($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule436() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Expr\MethodCall($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule437() { @@ -2577,35 +2579,35 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule438() { - $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule439() { - $this->semValue = substr($this->semStack[$this->stackPos-(1-1)], 1); + $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule440() { - $this->semValue = $this->semStack[$this->stackPos-(4-3)]; + $this->semValue = substr($this->semStack[$this->stackPos-(1-1)], 1); } protected function reduceRule441() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(4-3)]; } protected function reduceRule442() { - $this->semValue = new Expr\Error($this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule443() { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Error($this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); $this->errorState = 2; } protected function reduceRule444() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule445() { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule446() { @@ -2613,11 +2615,11 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule447() { - $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule448() { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule449() { @@ -2625,47 +2627,47 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule450() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule451() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule452() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule453() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } - protected function reduceRule454() { + protected function reduceRule452() { $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } - protected function reduceRule455() { + protected function reduceRule453() { $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } + protected function reduceRule454() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule455() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + protected function reduceRule456() { - $this->semValue = new Expr\Error($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule457() { - $this->semValue = new Expr\List_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Error($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; } protected function reduceRule458() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = new Expr\List_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule459() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule460() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule461() { @@ -2673,7 +2675,7 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule462() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule463() { @@ -2681,43 +2683,43 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule464() { - $this->semValue = null; - } - - protected function reduceRule465() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end] === null) unset($this->semValue[$end]); - } - - protected function reduceRule466() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule467() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule468() { $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } - protected function reduceRule469() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule470() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-1)], true, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule471() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(2-2)], null, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule472() { + protected function reduceRule465() { $this->semValue = null; } + protected function reduceRule466() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end] === null) unset($this->semValue[$end]); + } + + protected function reduceRule467() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule468() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule469() { + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule470() { + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule471() { + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-1)], true, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule472() { + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(2-2)], null, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + protected function reduceRule473() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = null; } protected function reduceRule474() { @@ -2725,35 +2727,35 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule475() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } protected function reduceRule476() { - $this->semValue = array($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule477() { - $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); } protected function reduceRule478() { - $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule479() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule480() { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule481() { - $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule482() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule483() { @@ -2761,26 +2763,30 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule484() { - $this->semValue = new Expr\ArrayDimFetch(new Expr\Variable($this->semStack[$this->stackPos-(6-2)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(6-4)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule485() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = new Expr\ArrayDimFetch(new Expr\Variable($this->semStack[$this->stackPos-(6-2)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(6-4)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); } protected function reduceRule486() { - $this->semValue = new Scalar\String_($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule487() { - $this->semValue = $this->parseNumString($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\String_($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule488() { - $this->semValue = $this->parseNumString('-' . $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->parseNumString($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule489() { + $this->semValue = $this->parseNumString('-' . $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule490() { $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } } diff --git a/lib/PhpParser/ParserAbstract.php b/lib/PhpParser/ParserAbstract.php index 1510b7b..c45659c 100644 --- a/lib/PhpParser/ParserAbstract.php +++ b/lib/PhpParser/ParserAbstract.php @@ -113,20 +113,26 @@ abstract class ParserAbstract implements Parser /** @var bool Whether to create Identifier nodes for non-namespaced names */ protected $useIdentifierNodes; + /** @var bool Whether to consistently use Variable nodes */ + protected $useConsistentVariableNodes; /** * Creates a parser instance. * - * Options: If "useIdentifierNodes" is enabled, the parser will create Identifier nodes for - * non-namespaced names. Otherwise plain strings will be used. + * Options: + * * useIdentifierNodes: If this option is enabled, the parser will create Identifier nodes for + * non-namespaced names. Otherwise plain strings will be used. + * * useConsistentVariableNodes: If this option is enabled, the parser will create Variable + * nodes in more places (like function parameters, catch clause variables, etc.) * * @param Lexer $lexer A lexer - * @param array $options Options array. Currently only "useIdentifierNodes" is supporter. + * @param array $options Options array. */ public function __construct(Lexer $lexer, array $options = array()) { $this->lexer = $lexer; $this->errors = array(); $this->useIdentifierNodes = !empty($options['useIdentifierNodes']); + $this->useConsistentVariableNodes = !empty($options['useConsistentVariableNodes']); if (isset($options['throwOnError'])) { throw new \LogicException( diff --git a/test/PhpParser/CodeParsingTest.php b/test/PhpParser/CodeParsingTest.php index 4497aba..881c54f 100644 --- a/test/PhpParser/CodeParsingTest.php +++ b/test/PhpParser/CodeParsingTest.php @@ -16,7 +16,10 @@ class CodeParsingTest extends CodeTestAbstract $modes = []; } - $parserOptions = ['useIdentifierNodes' => isset($modes['ident'])]; + $parserOptions = [ + 'useIdentifierNodes' => isset($modes['ident']), + 'useConsistentVariableNodes' => isset($modes['consistentVars']), + ]; $lexer = new Lexer\Emulative(array('usedAttributes' => array( 'startLine', 'endLine', 'startFilePos', 'endFilePos', 'comments' diff --git a/test/code/parser/consistentVarMode.test b/test/code/parser/consistentVarMode.test new file mode 100644 index 0000000..74e337c --- /dev/null +++ b/test/code/parser/consistentVarMode.test @@ -0,0 +1,106 @@ +Consistent variable mode +----- +