From 6bcc6c31ddad88a048047131cfbf4b95eeac4b56 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Thu, 22 Dec 2016 21:13:42 +0100 Subject: [PATCH] Add useIdentifierNodes mode to parser In this mode non-namespaced names that are currently represented using strings will be represented using Identifier nodes instead. Identifier nodes have a string $name subnode and coerce to string. This allows preserving attributes and in particular location information on identifiers. --- grammar/php5.y | 48 +- grammar/php7.y | 46 +- grammar/rebuildParsers.php | 7 + lib/PhpParser/Node/Identifier.php | 38 + lib/PhpParser/Parser/Php5.php | 2984 +++++++++++++------------- lib/PhpParser/Parser/Php7.php | 2132 +++++++++--------- lib/PhpParser/ParserAbstract.php | 9 +- test/PhpParser/CodeParsingTest.php | 5 +- test/PhpParser/PrettyPrinterTest.php | 4 +- test/code/parser/identMode.test | 246 +++ 10 files changed, 2919 insertions(+), 2600 deletions(-) create mode 100644 lib/PhpParser/Node/Identifier.php create mode 100644 test/code/parser/identMode.test diff --git a/grammar/php5.y b/grammar/php5.y index 4c32f20e..3c82bb1f 100644 --- a/grammar/php5.y +++ b/grammar/php5.y @@ -35,9 +35,13 @@ semi_reserved: | T_STATIC | T_ABSTRACT | T_FINAL | T_PRIVATE | T_PROTECTED | T_PUBLIC ; +identifier_ex: + T_STRING { $$ = makeIdent($1); } + | semi_reserved { $$ = makeIdent($1); } +; + identifier: - T_STRING { $$ = $1; } - | semi_reserved { $$ = $1; } + T_STRING { $$ = makeIdent($1); } ; namespace_name_parts: @@ -103,7 +107,7 @@ inline_use_declarations: unprefixed_use_declaration: namespace_name { $$ = Stmt\UseUse[$1, null, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #1); } - | namespace_name T_AS T_STRING + | namespace_name T_AS identifier { $$ = Stmt\UseUse[$1, $3, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #3); } ; @@ -123,7 +127,7 @@ constant_declaration_list: ; constant_declaration: - T_STRING '=' static_scalar { $$ = Node\Const_[$1, $3]; } + identifier '=' static_scalar { $$ = Node\Const_[$1, $3]; } ; class_const_list: @@ -132,7 +136,7 @@ class_const_list: ; class_const: - identifier '=' static_scalar { $$ = Node\Const_[$1, $3]; } + identifier_ex '=' static_scalar { $$ = Node\Const_[$1, $3]; } ; inner_statement_list_ex: @@ -186,8 +190,8 @@ non_empty_statement: | T_TRY '{' inner_statement_list '}' catches optional_finally { $$ = Stmt\TryCatch[$3, $5, $6]; $this->checkTryCatch($$); } | T_THROW expr ';' { $$ = Stmt\Throw_[$2]; } - | T_GOTO T_STRING ';' { $$ = Stmt\Goto_[$2]; } - | T_STRING ':' { $$ = Stmt\Label[$1]; } + | T_GOTO identifier ';' { $$ = Stmt\Goto_[$2]; } + | identifier ':' { $$ = Stmt\Label[$1]; } | expr error { $$ = $1; } | error { $$ = array(); /* means: no statement */ } ; @@ -230,18 +234,18 @@ optional_ellipsis: ; function_declaration_statement: - T_FUNCTION optional_ref T_STRING '(' parameter_list ')' optional_return_type '{' inner_statement_list '}' + T_FUNCTION optional_ref identifier '(' parameter_list ')' optional_return_type '{' inner_statement_list '}' { $$ = Stmt\Function_[$3, ['byRef' => $2, 'params' => $5, 'returnType' => $7, 'stmts' => $9]]; } ; class_declaration_statement: - class_entry_type T_STRING extends_from implements_list '{' class_statement_list '}' + class_entry_type identifier extends_from implements_list '{' class_statement_list '}' { $$ = Stmt\Class_[$2, ['type' => $1, 'extends' => $3, 'implements' => $4, 'stmts' => $6]]; $this->checkClass($$, #2); } - | T_INTERFACE T_STRING interface_extends_list '{' class_statement_list '}' + | T_INTERFACE identifier interface_extends_list '{' class_statement_list '}' { $$ = Stmt\Interface_[$2, ['extends' => $3, 'stmts' => $5]]; $this->checkInterface($$, #2); } - | T_TRAIT T_STRING '{' class_statement_list '}' + | T_TRAIT identifier '{' class_statement_list '}' { $$ = Stmt\Trait_[$2, ['stmts' => $4]]; } ; @@ -293,7 +297,7 @@ declare_list: ; declare_list_element: - T_STRING '=' static_scalar { $$ = Stmt\DeclareDeclare[$1, $3]; } + identifier '=' static_scalar { $$ = Stmt\DeclareDeclare[$1, $3]; } ; switch_case_list: @@ -437,7 +441,7 @@ class_statement: variable_modifiers property_declaration_list ';' { $$ = Stmt\Property[$1, $2]; $this->checkProperty($$, #1); } | T_CONST class_const_list ';' { $$ = Stmt\ClassConst[$2, 0]; } - | method_modifiers T_FUNCTION optional_ref identifier '(' parameter_list ')' optional_return_type method_body + | method_modifiers T_FUNCTION optional_ref identifier_ex '(' parameter_list ')' optional_return_type method_body { $$ = Stmt\ClassMethod[$4, ['type' => $1, 'byRef' => $3, 'params' => $6, 'returnType' => $8, 'stmts' => $9]]; $this->checkClassMethod($$, #1); } | T_USE name_list trait_adaptations { $$ = Stmt\TraitUse[$2, $3]; } @@ -456,22 +460,22 @@ trait_adaptation_list: trait_adaptation: trait_method_reference_fully_qualified T_INSTEADOF name_list ';' { $$ = Stmt\TraitUseAdaptation\Precedence[$1[0], $1[1], $3]; } - | trait_method_reference T_AS member_modifier identifier ';' + | trait_method_reference T_AS member_modifier identifier_ex ';' { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], $3, $4]; } | trait_method_reference T_AS member_modifier ';' { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], $3, null]; } - | trait_method_reference T_AS T_STRING ';' + | trait_method_reference T_AS identifier ';' { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], null, $3]; } | trait_method_reference T_AS reserved_non_modifiers ';' { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], null, $3]; } ; trait_method_reference_fully_qualified: - name T_PAAMAYIM_NEKUDOTAYIM identifier { $$ = array($1, $3); } + name T_PAAMAYIM_NEKUDOTAYIM identifier_ex { $$ = array($1, $3); } ; trait_method_reference: trait_method_reference_fully_qualified { $$ = $1; } - | identifier { $$ = array(null, $1); } + | identifier_ex { $$ = array(null, $1); } ; method_body: @@ -674,7 +678,7 @@ lexical_var: function_call: name argument_list { $$ = Expr\FuncCall[$1, $2]; } - | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM identifier argument_list + | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM identifier_ex argument_list { $$ = Expr\StaticCall[$1, $3, $4]; } | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM '{' expr '}' argument_list { $$ = Expr\StaticCall[$1, $4, $6]; } @@ -776,7 +780,7 @@ common_scalar: static_scalar: common_scalar { $$ = $1; } - | class_name T_PAAMAYIM_NEKUDOTAYIM identifier { $$ = Expr\ClassConstFetch[$1, $3]; } + | class_name T_PAAMAYIM_NEKUDOTAYIM identifier_ex { $$ = Expr\ClassConstFetch[$1, $3]; } | name { $$ = Expr\ConstFetch[$1]; } | T_ARRAY '(' static_array_pair_list ')' { $$ = Expr\Array_[$3]; } | '[' static_array_pair_list ']' { $$ = Expr\Array_[$2]; } @@ -821,7 +825,7 @@ static_operation: constant: name { $$ = Expr\ConstFetch[$1]; } - | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM identifier + | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM identifier_ex { $$ = Expr\ClassConstFetch[$1, $3]; } ; @@ -922,7 +926,7 @@ dim_offset: ; object_property: - T_STRING { $$ = $1; } + identifier { $$ = $1; } | '{' expr '}' { $$ = $2; } | variable_without_objects { $$ = $1; } | error { $$ = Expr\Error[]; $this->errorState = 2; } @@ -978,7 +982,7 @@ encaps_base_var: encaps_var: encaps_base_var { $$ = $1; } | encaps_base_var '[' encaps_var_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } - | encaps_base_var T_OBJECT_OPERATOR T_STRING { $$ = Expr\PropertyFetch[$1, $3]; } + | encaps_base_var T_OBJECT_OPERATOR identifier { $$ = Expr\PropertyFetch[$1, $3]; } | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { $$ = Expr\Variable[$2]; } | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '}' { $$ = Expr\Variable[$2]; } | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' diff --git a/grammar/php7.y b/grammar/php7.y index cb77bf31..100c1ade 100644 --- a/grammar/php7.y +++ b/grammar/php7.y @@ -35,9 +35,13 @@ semi_reserved: | T_STATIC | T_ABSTRACT | T_FINAL | T_PRIVATE | T_PROTECTED | T_PUBLIC ; +identifier_ex: + T_STRING { $$ = makeIdent($1); } + | semi_reserved { $$ = makeIdent($1); } +; + identifier: - T_STRING { $$ = $1; } - | semi_reserved { $$ = $1; } + T_STRING { $$ = makeIdent($1); } ; namespace_name_parts: @@ -103,7 +107,7 @@ inline_use_declarations: unprefixed_use_declaration: namespace_name { $$ = Stmt\UseUse[$1, null, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #1); } - | namespace_name T_AS T_STRING + | namespace_name T_AS identifier { $$ = Stmt\UseUse[$1, $3, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #3); } ; @@ -123,7 +127,7 @@ constant_declaration_list: ; constant_declaration: - T_STRING '=' expr { $$ = Node\Const_[$1, $3]; } + identifier '=' expr { $$ = Node\Const_[$1, $3]; } ; class_const_list: @@ -132,7 +136,7 @@ class_const_list: ; class_const: - identifier '=' expr { $$ = Node\Const_[$1, $3]; } + identifier_ex '=' expr { $$ = Node\Const_[$1, $3]; } ; inner_statement_list_ex: @@ -182,8 +186,8 @@ non_empty_statement: | T_TRY '{' inner_statement_list '}' catches optional_finally { $$ = Stmt\TryCatch[$3, $5, $6]; $this->checkTryCatch($$); } | T_THROW expr ';' { $$ = Stmt\Throw_[$2]; } - | T_GOTO T_STRING ';' { $$ = Stmt\Goto_[$2]; } - | T_STRING ':' { $$ = Stmt\Label[$1]; } + | T_GOTO identifier ';' { $$ = Stmt\Goto_[$2]; } + | identifier ':' { $$ = Stmt\Label[$1]; } | expr error { $$ = $1; } | error { $$ = array(); /* means: no statement */ } ; @@ -231,18 +235,18 @@ optional_ellipsis: ; function_declaration_statement: - T_FUNCTION optional_ref T_STRING '(' parameter_list ')' optional_return_type '{' inner_statement_list '}' + T_FUNCTION optional_ref identifier '(' parameter_list ')' optional_return_type '{' inner_statement_list '}' { $$ = Stmt\Function_[$3, ['byRef' => $2, 'params' => $5, 'returnType' => $7, 'stmts' => $9]]; } ; class_declaration_statement: - class_entry_type T_STRING extends_from implements_list '{' class_statement_list '}' + class_entry_type identifier extends_from implements_list '{' class_statement_list '}' { $$ = Stmt\Class_[$2, ['type' => $1, 'extends' => $3, 'implements' => $4, 'stmts' => $6]]; $this->checkClass($$, #2); } - | T_INTERFACE T_STRING interface_extends_list '{' class_statement_list '}' + | T_INTERFACE identifier interface_extends_list '{' class_statement_list '}' { $$ = Stmt\Interface_[$2, ['extends' => $3, 'stmts' => $5]]; $this->checkInterface($$, #2); } - | T_TRAIT T_STRING '{' class_statement_list '}' + | T_TRAIT identifier '{' class_statement_list '}' { $$ = Stmt\Trait_[$2, ['stmts' => $4]]; } ; @@ -294,7 +298,7 @@ declare_list: ; declare_list_element: - T_STRING '=' expr { $$ = Stmt\DeclareDeclare[$1, $3]; } + identifier '=' expr { $$ = Stmt\DeclareDeclare[$1, $3]; } ; switch_case_list: @@ -442,7 +446,7 @@ class_statement: { $$ = Stmt\Property[$1, $2]; $this->checkProperty($$, #1); } | method_modifiers T_CONST class_const_list ';' { $$ = Stmt\ClassConst[$3, $1]; $this->checkClassConst($$, #1); } - | method_modifiers T_FUNCTION optional_ref identifier '(' parameter_list ')' optional_return_type method_body + | method_modifiers T_FUNCTION optional_ref identifier_ex '(' parameter_list ')' optional_return_type method_body { $$ = Stmt\ClassMethod[$4, ['type' => $1, 'byRef' => $3, 'params' => $6, 'returnType' => $8, 'stmts' => $9]]; $this->checkClassMethod($$, #1); } | T_USE name_list trait_adaptations { $$ = Stmt\TraitUse[$2, $3]; } @@ -461,22 +465,22 @@ trait_adaptation_list: trait_adaptation: trait_method_reference_fully_qualified T_INSTEADOF name_list ';' { $$ = Stmt\TraitUseAdaptation\Precedence[$1[0], $1[1], $3]; } - | trait_method_reference T_AS member_modifier identifier ';' + | trait_method_reference T_AS member_modifier identifier_ex ';' { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], $3, $4]; } | trait_method_reference T_AS member_modifier ';' { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], $3, null]; } - | trait_method_reference T_AS T_STRING ';' + | trait_method_reference T_AS identifier ';' { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], null, $3]; } | trait_method_reference T_AS reserved_non_modifiers ';' { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], null, $3]; } ; trait_method_reference_fully_qualified: - name T_PAAMAYIM_NEKUDOTAYIM identifier { $$ = array($1, $3); } + name T_PAAMAYIM_NEKUDOTAYIM identifier_ex { $$ = array($1, $3); } ; trait_method_reference: trait_method_reference_fully_qualified { $$ = $1; } - | identifier { $$ = array(null, $1); } + | identifier_ex { $$ = array(null, $1); } ; method_body: @@ -694,7 +698,7 @@ ctor_arguments: constant: name { $$ = Expr\ConstFetch[$1]; } - | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM identifier + | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM identifier_ex { $$ = Expr\ClassConstFetch[$1, $3]; } /* We interpret and isolated FOO:: as an unfinished class constant fetch. It could also be an unfinished static property fetch or unfinished scoped call. */ @@ -800,13 +804,13 @@ new_variable: ; member_name: - identifier { $$ = $1; } + identifier_ex { $$ = $1; } | '{' expr '}' { $$ = $2; } | simple_variable { $$ = Expr\Variable[$1]; } ; property_name: - T_STRING { $$ = $1; } + identifier { $$ = $1; } | '{' expr '}' { $$ = $2; } | simple_variable { $$ = Expr\Variable[$1]; } | error { $$ = Expr\Error[]; $this->errorState = 2; } @@ -865,7 +869,7 @@ encaps_base_var: encaps_var: encaps_base_var { $$ = $1; } | encaps_base_var '[' encaps_var_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } - | encaps_base_var T_OBJECT_OPERATOR T_STRING { $$ = Expr\PropertyFetch[$1, $3]; } + | encaps_base_var T_OBJECT_OPERATOR identifier { $$ = Expr\PropertyFetch[$1, $3]; } | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { $$ = Expr\Variable[$2]; } | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '}' { $$ = Expr\Variable[$2]; } | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' diff --git a/grammar/rebuildParsers.php b/grammar/rebuildParsers.php index 09599811..2cf782ab 100644 --- a/grammar/rebuildParsers.php +++ b/grammar/rebuildParsers.php @@ -210,6 +210,13 @@ function resolveMacros($code) { . 'array_merge($attrs[\'comments\'], $stmts[0]->getAttribute(\'comments\', []))); }'; } + if ('makeIdent' == $name) { + assertArgs(1, $args, $name); + + return '($this->useIdentifierNodes ? new Node\Identifier(' . $args[0] . ', ' + . '$this->startAttributeStack[#1] + $this->endAttributes) : ' . $args[0] . ')'; + } + return $matches[0]; }, $code diff --git a/lib/PhpParser/Node/Identifier.php b/lib/PhpParser/Node/Identifier.php new file mode 100644 index 00000000..4af1a65c --- /dev/null +++ b/lib/PhpParser/Node/Identifier.php @@ -0,0 +1,38 @@ +name = $name; + } + + public function getSubNodeNames() { + return array('name'); + } + + /** + * Get identifier as string. + * + * @return string Identifier as string. + */ + public function __toString() { + return $this->name; + } +} diff --git a/lib/PhpParser/Parser/Php5.php b/lib/PhpParser/Parser/Php5.php index 23afafbc..39410d8e 100644 --- a/lib/PhpParser/Parser/Php5.php +++ b/lib/PhpParser/Parser/Php5.php @@ -18,8 +18,8 @@ use PhpParser\Node\Stmt; class Php5 extends \PhpParser\ParserAbstract { protected $tokenToSymbolMapSize = 392; - protected $actionTableSize = 1012; - protected $gotoTableSize = 652; + protected $actionTableSize = 1007; + protected $gotoTableSize = 637; protected $invalidSymbol = 157; protected $errorSymbol = 1; @@ -27,7 +27,7 @@ class Php5 extends \PhpParser\ParserAbstract protected $unexpectedTokenRule = 32767; protected $YY2TBLSTATE = 405; - protected $YYNLSTATES = 667; + protected $YYNLSTATES = 668; protected $symbolToName = array( "EOF", @@ -233,108 +233,107 @@ class Php5 extends \PhpParser\ParserAbstract ); protected $action = array( - 672, 673, 674, 675, 676,-32766, 677, 678, 679, 715, - 716, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 23, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 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, 234, 235, 236,-32766,-32766,-32766,-32766,-32766,-32766,-32766, - -32766,-32767,-32767,-32767,-32767, 460, 237, 238,-32766,-32766, - -32766,-32766, 680,-32766, 0,-32766,-32766,-32766,-32766,-32766, - -32766,-32767,-32767,-32767,-32767,-32767, 681, 682, 683, 684, - 685, 686, 687, 909, 204, 747,-32766,-32766,-32766,-32766, - -32766, 419, 688, 689, 690, 691, 692, 693, 694, 695, - 696, 697, 698, 718, 719, 720, 721, 722, 710, 711, - 712, 713, 714, 699, 700, 701, 702, 703, 704, 705, - 741, 742, 743, 744, 745, 746, 706, 707, 708, 709, - 739, 730, 728, 729, 725, 726, 306, 717, 723, 724, - 731, 732, 734, 733, 735, 736, 52, 53, 420, 54, - 55, 727, 738, 737, 282, 56, 57, 284, 58,-32766, + -32766,-32767,-32767,-32767,-32767, 8, 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, + 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, -32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766, 7,-32767, - -32767,-32767,-32767, 50, 329, 900, 585, 945, 946, 947, - 944, 943, 942, 937, 1213, 27, 1215, 1214, 763, 764, - 821, 59, 60,-32766,-32766,-32766, 918, 61, 1172, 62, + -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, 291, 292, 63, 64, 65, 66, 67, 68, 69, 70, - 356, 24, 299, 71, 413,-32766,-32766,-32766, 1185, 1087, - 1088, 749, 633, 1178, 213, 214, 215, 464,-32766,-32766, - -32766, 822, 407, 1099, 311,-32766, 1054,-32766,-32766,-32766, - -32766,-32766,-32766, 1036, 200, -269, 428, 1036,-32766, 447, - -32766,-32766,-32766,-32766,-32766, 120, 491, 945, 946, 947, - 944, 943, 942, 297, 473, 474, 283, 623, 125,-32766, - 893, 894, 339, 477, 478,-32766, 1093, 1094, 1095, 1096, - 1090, 1091, 307, 492,-32766, 8, 425, 492, 1097, 1092, - 425, 121, -220, 869, 1182, 39, 280, 332, 321, 1186, - 322, 421, -122, -122, -122, -4, 822, 463, 99, 100, - 101, 811, 301, 377, 38, 19, 422, -122, 465, -122, - 466, -122, 467, -122, 102, 423, -122, -122, -122, 28, - 29, 468, 424, 624, 30, 469, 425, 812, 72, 412, - 923, 349, 350, 470, 471,-32766,-32766,-32766, 298, 472, - 1036, 808, 793, 840, 475, 476,-32767,-32767,-32767,-32767, + 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, 94, 95, 96, 97, 98,-32766, 126,-32766,-32766,-32766, - -32766, 1137, 213, 214, 215, 295, 421, 239, 824, 638, - -122, 1036, 463, 893, 894, 1205, 811, 1036, 1204, 38, - 19, 422, 200, 465, 18, 466, 492, 467, 127, 425, - 423, 213, 214, 215, 28, 29, 468, 424, 414, 30, - 469, 1036, 870, 72, 320, 822, 349, 350, 470, 471, - 1036, 200, 214, 215, 472, 441, 919, 755, 840, 475, - 476, 213, 214, 215, 295, -216, 76, 77, 78, 47, - 338, 200, 477, 644, 348, 438, 31, 294, 331, 440, - 326, 200, 241, 824, 638, -4, 32, 335, 79, 80, + -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, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 1210, 301, 34, 822, 421, 801, 124,-32766,-32766, - -32766, 463, 899, 129, 102, 811, 1178, 576, 38, 19, - 422, 546, 465, 1172, 466, 119, 467, 49,-32766, 423, - -32766,-32766, 647, 28, 29, 468, 822, 803, 30, 469, - 415, 117, 72, 805, 46, 349, 350,-32766,-32766,-32766, - -32766,-32766,-32766, 472, 200, 1036, 234, 235, 236,-32766, - -32766,-32766,-32766,-32766, 641, 1138, 124,-32766,-32766,-32766, - -32766,-32766, 237, 238, 421, 231, 232, 233, 293,-32766, - 463, 518, 856, 638, 811, 439, 809, 38, 19, 422, - 332, 465, 128, 466, 749, 467, 1178, 339, 423, 96, - 97, 98, 28, 29, 468, 822, 421, 30, 469, 118, - 762, 72, 463, 215, 349, 350, 811, 242, 1036, 38, - 19, 422, 472, 465, 206, 466, 116, 467, 1036, 1064, - 423, 200, 833, 642, 28, 29, 468, 822, 1099, 30, - 469, 296, 207, 72, 205, 123, 349, 350,-32766,-32766, - 492, 824, 638, 425, 472, 115, 213, 214, 215, 434, - 492, 244, 640, 425, 243, 653, 237, 238, 429,-32766, - 332, 454, 591, 449, 20, 421, 200, 130, 357, 763, - 764, 463, 820, 824, 638, 811, 922, 666, 38, 19, - 422, 646, 465, 650, 466, 313, 467, 599, 600, 423, - 102, 756, 643, 28, 29, 468, 822, 421, 30, 469, - 934, 656, 72, 463, 301, 349, 350, 811, 41, 51, - 38, 19, 422, 472, 465, 48, 466, 299, 467, 605, - 42, 423, 43, 517, 44, 28, 29, 468, 45,-32766, - 30, 469, 596, 524, 72, 435, 433, 349, 350, 533, - 534, 749, 824, 638, 1208, 472, 776, 33, 103, 104, + 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, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 750, 513, 512, 437, 632, 602, 421, 1057, 622, 612, - 516, 619, 463, 279, 824, 638, 811, 582, 595, 38, - 19, 422, 330, 465, 579, 466, 240, 467, 975, 977, - 423, 609, 334, 537, 28, 29, 468, 12, -80, 30, - 469, 842, 432, 72, 208, 209, 349, 350, 458, 1144, - 210, 384, 211, 327, 472, 841, 9, 393, -398, 409, - 328, 0, 310, 1045, 202, 477, 0, 0, 0, 208, - 209, 0, 1087, 1088, 0, 210,-32766, 211, -497, 312, - 1089, -498, 0, 824, 638, 0, 1098, 4, 372, 202, - 3, 11, 303, 0, -407, 0, 370, 1087, 1088, -406, - -497,-32766, 434, 864, 526, 1089, 408, 385, 75, 835, - 0, 857, 863, 854, 813, 798, 819, 807, 761, 661, - 0, 660, 37, 36, 759, 926, 810, 565, 852, 1093, - 1094, 1095, 1096, 1090, 1091, 383, 929, 806, 930, 818, - 760, 1097, 1092, 928, 804, 302, 802, 927, 212, 796, - -32766, 872, 565, 639, 1093, 1094, 1095, 1096, 1090, 1091, - 383, 649, 651, 652, 654, 655, 1097, 1092, 658, 663, - 664, 1034, 665, 212, 122,-32766, 324, 325, 405, 406, - -416, 1211, 757, 758, 839, 838, 766, 453, 1209, 1179, - 1177, 1163, 1175, 1078, 911, 1183, 1173, 829, 836, 1038, - 1039, 827, 935, 1212, 765, 837, 794, 662, 1050, 861, - 768, 767, 862, 0, 304, 290, 289, 25, 26, 281, - 305, 336, 203, 74, 411, 417, 35, 73,-32766, 40, - 22, 0, 1015, 569, -217, 1016, 1103, 1080, 901, 1040, - 1044, 1041, 629, 559, 461, 457, 455, 450, 378, 16, - 15, 14, -216, 0, 0, 0, 603, 1157, 1104, 1207, - 1077, 1174, 1158, 1162, 1176, 1063, 1048, 1049, 1046, 1047, - 0, 1143 + 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 ); protected $actionCheck = array( @@ -405,48 +404,47 @@ class Php5 extends \PhpParser\ParserAbstract 153, 72, 73, 72, 73, 71, 28, 97, 98, 102, 103, 77, 29, 148, 149, 81, 148, 149, 84, 85, 86, 29, 88, 29, 90, 29, 92, 106, 107, 95, - 66, 148, 149, 99, 100, 101, 1, 71, 104, 105, - 148, 149, 108, 77, 54, 111, 112, 81, 67, 67, - 84, 85, 86, 119, 88, 67, 90, 68, 92, 74, - 67, 95, 67, 77, 67, 99, 100, 101, 67, 82, - 104, 105, 109, 82, 108, 77, 77, 111, 112, 77, - 77, 77, 148, 149, 77, 119, 77, 15, 16, 17, + 29, 148, 149, 99, 100, 101, 1, 71, 104, 105, + 148, 149, 108, 77, 54, 111, 112, 81, 66, 68, + 84, 85, 86, 119, 88, 67, 90, 77, 92, 74, + 67, 95, 67, 77, 67, 99, 100, 101, 77, 67, + 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, - 77, 77, 77, 86, 89, 79, 71, 79, 79, 79, - 79, 91, 77, 94, 148, 149, 81, 96, 96, 84, - 85, 86, 110, 88, 87, 90, 29, 92, 56, 57, - 95, 93, 126, 94, 99, 100, 101, 94, 94, 104, - 105, 123, 102, 108, 47, 48, 111, 112, 102, 139, - 53, 146, 55, 126, 119, 123, 142, 146, 142, 146, - 127, -1, 128, 155, 67, 129, -1, -1, -1, 47, - 48, -1, 75, 76, -1, 53, 79, 55, 128, 128, - 83, 128, -1, 148, 149, -1, 139, 142, 146, 67, - 142, 142, 151, -1, 142, -1, 142, 75, 76, 142, - 128, 79, 146, 148, 146, 83, 146, 146, 149, 147, - -1, 148, 148, 148, 148, 148, 148, 148, 148, 148, + 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, + 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, 148, 148, 151, 148, 148, 151, 148, - 153, 148, 130, 149, 132, 133, 134, 135, 136, 137, + 148, 144, 145, 149, 149, 149, -1, 149, 151, 149, + 153, 149, 130, 149, 132, 133, 134, 135, 136, 137, 138, 149, 149, 149, 149, 149, 144, 145, 149, 149, - 149, 154, 149, 151, 149, 153, 149, 149, 149, 149, - 154, 150, 150, 150, 150, 150, 150, 150, 150, 150, + 149, -1, 149, 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, -1, 151, 151, 151, 151, 151, 151, + 150, 150, 150, 150, 150, -1, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, -1, 152, 152, 152, 152, 152, 152, 152, 152, + 151, 151, 151, 151, 151, -1, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, 152, -1, -1, -1, 155, 155, 155, 155, + 152, 152, 152, 152, 152, 152, 152, -1, -1, -1, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - -1, 156 + 155, 155, 155, 155, 155, -1, 156 ); protected $actionBase = array( - 0, 220, 295, 109, 109, 180, 735, -2, -2, -2, - -2, -2, 135, 574, 473, 606, 473, 505, 404, 675, - 675, 675, 330, 389, 513, 513, 825, 513, 328, 359, - 365, 225, 586, 221, 576, 398, 398, 398, 398, 134, + 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, 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, @@ -456,13 +454,13 @@ 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, 738, 736, 729, 731, 827, - 659, 823, 778, 779, 533, 780, 781, 782, 783, 784, - 777, 785, 841, 786, 418, 418, 418, 418, 418, 418, + 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, 418, 418, 418, 418, 418, -3, 354, 383, 413, 206, - 524, 618, 618, 618, 618, 618, 618, 618, 175, 175, + 524, 521, 521, 521, 521, 521, 521, 521, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, - 175, 175, 175, 175, 175, 403, 521, 521, 521, 573, + 175, 175, 175, 175, 175, 403, 618, 618, 618, 573, 737, 496, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, @@ -470,50 +468,50 @@ 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, 774, 775, 795, 798, 303, - 303, 676, 676, 629, 765, 522, 522, 498, 498, 487, + 305, 118, 118, 118, 118, 784, 783, 782, 781, 303, + 303, 664, 664, 621, 761, 522, 522, 498, 498, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 387, - 156, 817, 130, 130, 130, 130, 243, 469, 650, 855, - 207, 207, 207, 243, 248, 248, 248, 476, 476, 476, - 76, 631, 296, 296, 547, 547, 547, 477, 477, 477, - 477, 483, 699, 627, 477, 477, 477, 362, 97, 334, - 661, 799, 662, 802, 508, 692, 96, 700, 653, -6, - 680, 571, 569, 561, 656, 406, -6, 254, 532, 430, - 630, 718, 643, 432, 716, 193, 408, 363, 523, 447, - 414, 232, 767, 732, 821, 820, 137, 321, 693, 630, - 630, 630, 13, 84, 768, 769, 447, 273, 570, 570, - 570, 570, 801, 770, 570, 570, 570, 570, 800, 794, - 268, 38, 776, 74, 717, 644, 644, 644, 644, 644, - 644, 567, 644, 807, 664, 819, 819, 642, 666, 567, - 818, 818, 818, 818, 567, 644, 819, 819, 567, 629, - 819, 168, 567, 667, 644, 646, 646, 818, 713, 711, - 664, 671, 673, 819, 819, 819, 673, 642, 567, 818, - 603, 702, 67, 819, 818, 636, 636, 603, 567, 636, - 666, 636, 54, 623, 621, 815, 816, 814, 665, 744, - 672, 658, 805, 804, 812, 626, 639, 808, 806, 698, - 710, 709, 638, 610, 633, 635, 637, 641, 688, 628, - 674, 680, 696, 604, 604, 604, 690, 685, 690, 604, - 604, 604, 604, 604, 604, 604, 604, 648, 694, 697, - 691, 657, 708, 599, 682, 679, 579, 759, 687, 698, - 698, 796, 829, 836, 766, 757, 663, 734, 831, 690, - 854, 715, 274, 597, 681, 797, 645, 649, 701, 690, - 803, 690, 760, 690, 828, 793, 647, 698, 773, 604, - 826, 853, 852, 851, 850, 849, 848, 847, 846, 622, - 845, 707, 677, 835, 119, 811, 656, 654, 651, 706, - 440, 844, 772, 690, 690, 761, 699, 690, 763, 743, - 714, 839, 704, 834, 843, 687, 833, 690, 686, 842, - 440, 632, 625, 822, 678, 695, 813, 670, 824, 810, - 752, 572, 619, 771, 634, 741, 838, 837, 840, 703, - 753, 754, 616, 660, 668, 669, 787, 755, 809, 705, - 788, 789, 830, 684, 696, 689, 652, 683, 655, 756, - 790, 832, 720, 728, 730, 791, 739, 792, 0, 0, + 156, 812, 130, 130, 130, 130, 243, 84, 207, 207, + 207, 643, 850, 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, 0, 0, 0, 0, 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, -2, -2, -2, 0, 0, 0, 0, 0, -2, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, + 134, -2, -2, -2, -2, 0, 0, 0, 0, 0, + -2, 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, 134, 134, 0, 0, 134, 134, + 134, 134, 134, 134, 134, 134, 134, 0, 0, 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, @@ -522,44 +520,44 @@ class Php5 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, 134, 134, 134, 134, 134, 418, 418, + 134, 134, 134, 134, 134, 134, 134, 134, 134, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 418, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 418, -20, -20, -20, -20, 418, -20, -20, - -20, -20, -20, -20, -20, 418, 418, 418, 418, 418, + 418, 418, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 418, -20, -20, -20, -20, 418, -20, + -20, -20, -20, -20, -20, -20, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 418, 418, -20, 418, 418, 418, -20, 487, -20, 487, + 418, 418, 418, -20, 418, 418, 418, -20, 487, -20, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, - 487, 487, 418, 0, 0, 418, -20, 418, -20, 418, - -20, 418, 418, 418, 418, 418, 418, -20, -20, -20, - -20, -20, -20, 0, 248, 248, 248, 248, -20, -20, - -20, -20, 55, 55, 55, 55, 487, 487, 487, 487, - 487, 487, 248, 248, 476, 476, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 487, 55, 487, 644, - 644, 644, 644, 644, 296, 296, 296, 407, 407, 407, - 644, 0, 0, 0, 0, 0, 0, 644, 296, 0, - 0, 644, 644, 644, 644, 644, 644, 644, 644, 407, - 296, 644, 644, 644, 819, 0, 407, 550, 550, 550, - 550, 440, 447, 0, 644, 644, 0, 671, 0, 0, - 0, 819, 0, 0, 0, 0, 0, 604, 274, 734, - 0, 427, 0, 0, 0, 0, 0, 0, 0, 663, - 427, 246, 246, 0, 0, 622, 604, 604, 604, 0, - 0, 663, 663, 0, 0, 0, 0, 0, 0, 433, - 663, 0, 0, 0, 0, 433, 322, 0, 0, 322, - 0, 440 + 487, 487, 487, 418, 0, 0, 418, -20, 418, -20, + 418, -20, 418, 418, 418, 418, 418, 418, -20, -20, + -20, -20, -20, -20, 0, 248, 248, 248, 248, -20, + -20, -20, -20, 55, 55, 55, 55, 487, 487, 487, + 487, 487, 487, 248, 248, 476, 476, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 487, 55, 487, + 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 ); 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, 525, 525,32767, 481,32767,32767, - 32767,32767,32767,32767,32767, 287, 287, 287,32767,32767, - 32767, 513, 513, 513, 513, 513, 513, 513, 513, 513, - 513, 513,32767,32767,32767,32767,32767, 369,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,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, @@ -567,232 +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, 375, 530,32767,32767,32767,32767,32767, + 32767,32767,32767, 376, 531,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 350, 351, 353, 354, 286, 514, - 237, 376, 529, 285, 239, 314, 485,32767,32767,32767, - 316, 116, 248, 193, 484, 119, 284, 224, 368, 370, - 315, 291, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 290, 441, 347, 346, 345, 443, - 32767, 442, 478, 478, 481,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,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, 312, 469, 468, 313, 439, - 317, 440, 319, 444, 318, 335, 336, 333, 334, 337, - 446, 445, 462, 463, 460, 461, 289, 338, 339, 340, - 341, 464, 465, 466, 467, 271, 271, 271, 271,32767, - 32767, 524, 524,32767,32767, 326, 327, 453, 454,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,32767,32767,32767,32767,32767, - 272,32767, 228, 228, 228, 228, 228,32767,32767,32767, - 32767,32767,32767,32767, 321, 322, 320, 448, 449, 447, - 32767, 415,32767, 417,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 486,32767,32767, - 32767,32767,32767,32767,32767, 499, 404,32767,32767,32767, - 397, 212, 214, 161, 472,32767,32767,32767,32767, 504, - 331,32767,32767,32767,32767,32767,32767, 539,32767, 499, - 32767,32767,32767,32767,32767,32767,32767,32767, 344, 323, - 324, 325,32767,32767,32767,32767, 503, 497, 456, 457, - 458, 459,32767,32767, 450, 451, 452, 455,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, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 165,32767, 412,32767, 418, 418,32767,32767, 165, - 32767,32767,32767,32767, 165,32767, 502, 501, 165,32767, - 398, 480, 165, 178,32767, 176, 176,32767, 198, 198, - 32767,32767, 180, 473, 492,32767, 180,32767, 165,32767, - 386, 167, 480,32767,32767, 230, 230, 386, 165, 230, - 32767, 230,32767, 82, 422,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 399, - 32767,32767,32767,32767, 365, 366, 475, 488,32767, 489, - 32767, 397,32767, 329, 330, 332, 309,32767, 311, 355, - 356, 357, 358, 359, 360, 361, 363,32767,32767, 402, - 405,32767,32767,32767, 84, 108, 247,32767, 537, 84, - 400,32767,32767, 294, 537,32767,32767,32767,32767, 532, - 32767,32767, 288,32767,32767,32767, 84,32767, 84, 243, - 32767, 163,32767, 522,32767, 497,32767, 401,32767, 328, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 498, - 32767,32767,32767,32767, 219,32767, 435,32767, 84,32767, - 179,32767,32767, 292, 238,32767,32767, 531,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 164,32767,32767, - 181,32767,32767, 497,32767,32767,32767,32767,32767,32767, - 32767,32767, 283,32767,32767,32767,32767,32767, 497,32767, - 32767,32767, 223,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 82, 60,32767, 265,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 121, 121, - 3, 121, 121, 3, 121, 121, 121, 121, 121, 121, - 121, 121, 121, 121, 121, 121, 121, 206, 250, 209, - 198, 198, 158, 250, 250, 250, 257 + 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 ); 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, 493, 494, 360, - 495, 499, 500, 501, 502, 503, 504, 505, 506, 962, + 154, 155, 156, 157, 178, 133, 179, 496, 497, 361, + 498, 502, 503, 504, 505, 506, 507, 508, 509, 964, 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, - 549, 182, 183, 184, 185, 186, 187, 188, 189, 190, + 550, 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, 625, - 567, 753, 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, 1100, 754, 1100, 1100, 1100, - 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, - 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, - 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, - 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, - 885, 885, 1190, 1190, 6, 611, 784, 168, 617, 509, - 358, 509, 171, 172, 173, 388, 389, 390, 391, 167, + 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, 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, 497, 497, 497, 497, 497, 497, 341, 580, - 606, 523, 497, 497, 497, 497, 497, 497, 497, 497, - 497, 497, 508, 634, 508, 387, 608, 543, 543, 573, - 539, 1076, 1075, 790, 752, 541, 541, 496, 498, 529, - 545, 574, 577, 587, 593, 871, 1169, 851, 1169, 657, - 815, 511, 880, 875, 566, 855, 566, 566, 566, 566, - 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, - 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, - 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, - 566, 566, 566, 566, 566, 566, 566, 566, 566, 551, - 552, 553, 554, 555, 556, 557, 558, 560, 589, 550, - 323, 309, 514, 522, 1201, 1201, 519, 519, 519, 583, - 586, 631, 510, 519, 510, 1161, 522, 522, 903, 1201, - 590, 344, 404, 430, 430, 430, 430, 430, 430, 538, - 519, 544, 1058, 430, 430, 430, 430, 430, 430, 430, - 430, 430, 430, 1065, 1194, 1065, 892, 892, 892, 892, - 892, 361, 598, 535, 777, 659, 562, 892, 594, 868, - 882, 613, 867, 616, 878, 620, 621, 628, 630, 635, - 637, 849, 849, 849, 849, 1149, 1081, 607, 844, 850, - 615, 777, 777, 1019, 17, 13, 355, 519, 519, 536, - 568, 519, 519, 1187, 519, 443, 445, 933, 636, 375, - 561, 1101, 618, 931, 1061, 1062, 889, 520, 1058, 276, - 277, 278, 21, 1200, 1200, 548, 547, 604, 572, 342, - 343, 1059, 1160, 1059, 1168, 362, 1168, 1009, 1200, 527, - 898, 1060, 941, 540, 347, 1184, 1184, 1184, 1203, 770, - 770, 778, 778, 778, 780, 960, 769, 398, 373, 451, - 369, 369, 369, 773, 368, 771, 645, 1167, 907, 10, - 402, 1051, 1056, 446, 781, 578, 912, 859, 1146, 459, - 949, 0, 369, 0, 0, 0, 0, 0, 0, 386, + 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 528 + 0, 0, 0, 0, 778, 0, 1210 ); protected $gotoCheck = array( - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 53, - 112, 11, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 119, 12, 119, 119, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 70, 70, 70, 70, 90, 57, 25, 23, 57, 112, - 57, 112, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 109, 109, 109, 109, 109, 109, 65, 36, - 36, 93, 109, 109, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 5, 109, 47, 47, 47, 47, 47, - 47, 117, 117, 10, 10, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 10, 110, 10, 110, 10, - 46, 10, 10, 10, 53, 29, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 40, - 118, 118, 8, 40, 134, 134, 8, 8, 8, 56, - 56, 56, 115, 8, 115, 75, 40, 40, 77, 134, - 63, 63, 63, 53, 53, 53, 53, 53, 53, 8, - 8, 101, 75, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 132, 53, 53, 53, 53, 53, - 53, 43, 120, 28, 19, 28, 28, 53, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 53, 53, 53, 53, 124, 30, 45, 53, 53, - 53, 19, 19, 30, 30, 30, 30, 8, 8, 8, - 8, 8, 8, 130, 8, 7, 7, 7, 7, 44, - 30, 7, 7, 7, 75, 75, 72, 8, 75, 61, - 61, 61, 30, 133, 133, 2, 8, 30, 2, 65, - 65, 75, 75, 75, 111, 54, 111, 94, 133, 54, - 74, 75, 90, 54, 14, 111, 111, 111, 133, 19, - 19, 19, 19, 19, 19, 93, 19, 18, 13, 54, - 116, 116, 116, 21, 9, 20, 67, 111, 78, 54, - 17, 105, 107, 59, 22, 60, 79, 64, 123, 100, - 92, -1, 116, -1, -1, -1, -1, -1, -1, 116, + 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, -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, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 93 + -1, -1, -1, -1, 8, -1, 8 ); protected $gotoBase = array( - 0, 0, -165, 0, 0, 261, 0, 452, 42, 183, - 282, 109, 154, 161, 174, 0, 0, 114, 182, 94, - 167, 187, 84, 7, 0, 198, 0, 0, -226, 287, - 23, 0, 0, 0, 0, 0, 223, 0, 0, -22, - 337, 0, 0, 373, 169, 157, 284, -4, 0, 0, - 0, 0, 0, 104, 61, 0, 66, -251, 0, 87, - 79, -194, 0, 52, 80, -181, 0, 159, 0, 0, - -79, 0, 160, 0, 177, 38, 0, 355, 162, 85, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 192, 0, 70, 222, 186, 0, 0, 0, 0, 0, - 72, 366, 307, 0, 0, 105, 0, 103, 0, -27, - -3, 185, -90, 0, 0, 73, 200, -30, 39, -45, - 209, 0, 0, 76, 231, 0, 0, 0, 0, 0, - 171, 0, 377, 165, 56, 0, 0 + 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 ); protected $gotoDefault = array( - -32768, 462, 668, 2, 669, 740, 748, 601, 479, 515, - 853, 791, 792, 364, 410, 480, 363, 399, 392, 779, - 772, 774, 782, 166, 400, 785, 1, 787, 521, 823, - 1010, 351, 795, 352, 592, 797, 531, 799, 800, 132, - 481, 365, 366, 532, 374, 581, 814, 266, 371, 816, - 353, 817, 826, 354, 614, 597, 563, 610, 482, 442, - 575, 275, 542, 570, 858, 340, 866, 648, 874, 877, - 483, 564, 888, 448, 896, 1086, 382, 902, 908, 913, - 916, 418, 401, 588, 920, 921, 5, 925, 626, 627, - 940, 300, 948, 961, 416, 1029, 1031, 484, 485, 525, - 456, 507, 530, 486, 1052, 436, 403, 1055, 487, 488, - 426, 427, 1073, 1070, 346, 1154, 345, 444, 308, 1141, - 584, 1105, 452, 1193, 1150, 337, 489, 490, 359, 376, - 1188, 431, 1195, 1202, 333, 367, 571 + -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 ); protected $ruleToNonTerminal = array( @@ -804,53 +798,53 @@ 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, 8, 9, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 14, 14, 15, 15, - 15, 15, 17, 17, 13, 13, 18, 18, 19, 19, - 20, 20, 21, 21, 16, 16, 22, 24, 24, 25, - 26, 26, 28, 27, 27, 27, 27, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 10, 10, 50, 50, - 52, 51, 51, 44, 44, 54, 54, 55, 55, 11, - 12, 12, 12, 58, 58, 58, 59, 59, 62, 62, - 60, 60, 63, 63, 37, 37, 46, 46, 49, 49, - 49, 48, 48, 64, 38, 38, 38, 38, 65, 65, - 66, 66, 67, 67, 35, 35, 31, 31, 68, 33, - 33, 69, 32, 32, 34, 34, 45, 45, 45, 56, - 56, 71, 71, 72, 72, 74, 74, 74, 73, 73, - 57, 57, 75, 75, 75, 76, 76, 77, 77, 77, - 41, 41, 78, 78, 78, 42, 42, 79, 79, 61, - 61, 80, 80, 80, 80, 85, 85, 86, 86, 87, - 87, 87, 87, 87, 88, 89, 89, 84, 84, 81, - 81, 83, 83, 91, 91, 90, 90, 90, 90, 90, - 90, 82, 82, 92, 92, 43, 43, 36, 36, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 30, 30, 40, 40, 97, 97, 98, - 98, 98, 98, 104, 93, 93, 100, 100, 106, 106, - 107, 108, 108, 108, 108, 108, 108, 112, 112, 53, - 53, 53, 94, 94, 113, 113, 109, 109, 114, 114, - 114, 114, 95, 95, 95, 99, 99, 99, 105, 105, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 119, 119, 119, 23, 23, 23, 23, 23, 23, 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, 103, 103, 96, 96, 96, 96, 120, 120, - 123, 123, 122, 122, 124, 124, 47, 47, 47, 47, - 126, 126, 125, 125, 125, 125, 125, 127, 127, 111, - 111, 115, 115, 110, 110, 128, 128, 128, 128, 116, - 116, 116, 116, 102, 102, 117, 117, 117, 117, 70, - 129, 129, 130, 130, 130, 101, 101, 131, 131, 132, - 132, 132, 132, 118, 118, 118, 118, 134, 135, 133, - 133, 133, 133, 133, 133, 133, 136, 136, 136 + 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 ); protected $ruleToLength = array( @@ -862,53 +856,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, 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, 3, + 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, - 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 + 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() { @@ -1233,27 +1227,27 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule80() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = ($this->useIdentifierNodes ? new Node\Identifier($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes) : $this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule81() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = ($this->useIdentifierNodes ? new Node\Identifier($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes) : $this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule82() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = ($this->useIdentifierNodes ? new Node\Identifier($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes) : $this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule83() { - $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 reduceRule84() { - $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule85() { - $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 reduceRule86() { @@ -1265,148 +1259,148 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule88() { - $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 reduceRule89() { - $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 reduceRule90() { - $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 reduceRule91() { - $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 reduceRule92() { - $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 reduceRule93() { - $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 reduceRule94() { - $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 reduceRule95() { - $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 reduceRule96() { - $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 reduceRule97() { - $this->semValue = Stmt\Use_::TYPE_CONSTANT; + $this->semValue = Stmt\Use_::TYPE_FUNCTION; } protected function reduceRule98() { - $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 reduceRule99() { - $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 reduceRule100() { - $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 reduceRule101() { - $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 reduceRule102() { - $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 reduceRule103() { - $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 reduceRule104() { - $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 reduceRule105() { - $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 reduceRule106() { - $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 reduceRule107() { - $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 reduceRule108() { - $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 reduceRule109() { - $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 reduceRule110() { - $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 reduceRule111() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule112() { - $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 reduceRule113() { - $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 reduceRule114() { - $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 reduceRule115() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule116() { - $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 reduceRule117() { $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } - protected function reduceRule118() { + protected function reduceRule116() { $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } - protected function reduceRule119() { + 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() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + protected function reduceRule120() { - 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 reduceRule121() { - $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 reduceRule122() { - $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 reduceRule123() { - $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 reduceRule124() { @@ -1418,314 +1412,314 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule126() { - throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule127() { - $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 reduceRule128() { - $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 reduceRule129() { - $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 reduceRule130() { - $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 reduceRule131() { - $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 reduceRule132() { - $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 reduceRule133() { - $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 reduceRule134() { - $this->semValue = new Stmt\Break_(null, $this->startAttributeStack[$this->stackPos-(2-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_(null, $this->startAttributeStack[$this->stackPos-(2-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_(null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule139() { - $this->semValue = new Stmt\Return_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule140() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule141() { - $this->semValue = new Stmt\Global_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule142() { - $this->semValue = new Stmt\Static_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule143() { - $this->semValue = new Stmt\Echo_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule144() { - $this->semValue = new Stmt\InlineHTML($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule145() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule146() { - $this->semValue = new Stmt\Unset_($this->semStack[$this->stackPos-(5-3)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); - } - - protected function reduceRule147() { - $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 reduceRule148() { - $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 reduceRule149() { - $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 reduceRule150() { - $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 reduceRule151() { - $this->semValue = new Stmt\Throw_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule152() { - $this->semValue = new Stmt\Goto_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule153() { - $this->semValue = new Stmt\Label($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule154() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule155() { - $this->semValue = array(); /* means: no statement */ - } - - protected function reduceRule156() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + 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 reduceRule158() { $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 reduceRule158() { + protected function reduceRule159() { $this->semValue = array(); } - protected function reduceRule159() { + protected function reduceRule160() { $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } - protected function reduceRule160() { + 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 reduceRule161() { + protected function reduceRule162() { $this->semValue = null; } - protected function reduceRule162() { + protected function reduceRule163() { $this->semValue = new Stmt\Finally_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } - protected function reduceRule163() { + protected function reduceRule164() { $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } - protected function reduceRule164() { + protected function reduceRule165() { $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 = false; - } - protected function reduceRule166() { - $this->semValue = true; + $this->semValue = false; } protected function reduceRule167() { - $this->semValue = false; - } - - protected function reduceRule168() { $this->semValue = true; } + protected function reduceRule168() { + $this->semValue = false; + } + 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); + $this->semValue = true; } 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); + } + + protected function reduceRule171() { $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 reduceRule171() { + protected function reduceRule172() { $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 reduceRule172() { + protected function reduceRule173() { $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 reduceRule173() { + protected function reduceRule174() { $this->semValue = 0; } - protected function reduceRule174() { + protected function reduceRule175() { $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; } - protected function reduceRule175() { + protected function reduceRule176() { $this->semValue = Stmt\Class_::MODIFIER_FINAL; } - protected function reduceRule176() { - $this->semValue = null; - } - protected function reduceRule177() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + $this->semValue = null; } protected function reduceRule178() { - $this->semValue = array(); + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; } protected function reduceRule179() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + $this->semValue = array(); } 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() { + 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() { - $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 reduceRule200() { - $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 reduceRule201() { - $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 reduceRule202() { - $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 reduceRule203() { @@ -1733,240 +1727,240 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule204() { - $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 reduceRule205() { - $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 reduceRule206() { - $this->semValue = array(); + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; } protected function reduceRule207() { - $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 reduceRule208() { - $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 reduceRule209() { - $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 reduceRule210() { - $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 reduceRule211() { - $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 reduceRule212() { - $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 = null; - } - - protected function reduceRule215() { - $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-(1-1)], false); - } - - protected function reduceRule217() { - $this->semValue = array($this->semStack[$this->stackPos-(2-2)], true); - } - - protected function reduceRule218() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); - } - - protected function reduceRule219() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule220() { - $this->semValue = array(); - } - - protected function reduceRule221() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule222() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-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); - } - - 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); - } - - protected function reduceRule225() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule226() { - $this->semValue = 'array'; - } - - protected function reduceRule227() { - $this->semValue = 'callable'; - } - - protected function reduceRule228() { - $this->semValue = null; - } - - protected function reduceRule229() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule230() { - $this->semValue = null; - } - - protected function reduceRule231() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; - } - - protected function reduceRule232() { - $this->semValue = array(); - } - - protected function reduceRule233() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule234() { - $this->semValue = array(new Node\Arg($this->semStack[$this->stackPos-(3-2)], false, false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes)); - } - - protected function reduceRule235() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule236() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule237() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(1-1)], false, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule238() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], true, false, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule239() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], false, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule240() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule241() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule242() { - $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule243() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule244() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-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(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule248() { - $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 reduceRule249() { $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } - protected function reduceRule250() { + 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 = 'array'; + } + + protected function reduceRule228() { + $this->semValue = '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() { - $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 reduceRule252() { - $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 reduceRule253() { + $this->semValue = new Stmt\ClassConst($this->semStack[$this->stackPos-(3-2)], 0, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule254() { $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 reduceRule254() { + protected function reduceRule255() { $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 reduceRule255() { - $this->semValue = array(); - } - protected function reduceRule256() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = array(); } protected function reduceRule257() { - $this->semValue = array(); + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule258() { - $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 reduceRule259() { - $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 reduceRule260() { - $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 reduceRule261() { - $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 reduceRule262() { - $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 reduceRule263() { @@ -1974,31 +1968,31 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule264() { - $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 reduceRule265() { - $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 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 = $this->semStack[$this->stackPos-(1-1)]; } + 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 = 0; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule271() { @@ -2006,7 +2000,7 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule272() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = 0; } protected function reduceRule273() { @@ -2014,63 +2008,63 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule274() { - $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 reduceRule275() { - $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 reduceRule276() { - $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; } protected function reduceRule277() { - $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; } protected function reduceRule278() { - $this->semValue = Stmt\Class_::MODIFIER_STATIC; + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; } protected function reduceRule279() { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + $this->semValue = Stmt\Class_::MODIFIER_STATIC; } protected function reduceRule280() { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; } protected function reduceRule281() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = Stmt\Class_::MODIFIER_FINAL; } 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->semStack[$this->stackPos-(1-1)]); } + 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->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule288() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = array(); } protected function reduceRule289() { @@ -2078,7 +2072,7 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule290() { - $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 reduceRule291() { @@ -2086,7 +2080,7 @@ class Php5 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() { @@ -2094,289 +2088,289 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule294() { - $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 reduceRule295() { - $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\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\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\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\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\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\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\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\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\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\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\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\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\PostInc($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule309() { - $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\PostDec($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule311() { - $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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule330() { - $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\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule332() { - $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\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\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\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\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\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\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\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\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\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 = 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 = $this->semStack[$this->stackPos-(1-1)]; } + 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-(3-2)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule345() { - $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 reduceRule346() { - $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 reduceRule347() { - $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 reduceRule348() { - $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 reduceRule349() { - $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 reduceRule350() { - $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 reduceRule351() { - $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 reduceRule352() { - $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 reduceRule353() { - $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 reduceRule354() { - $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 reduceRule355() { - $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 reduceRule356() { - $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 reduceRule357() { - $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 reduceRule358() { - $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 reduceRule359() { - $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 reduceRule360() { - $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 reduceRule361() { - $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 reduceRule362() { + $this->semValue = new Expr\Cast\Unset_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule363() { $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 reduceRule363() { - $this->semValue = new Expr\ErrorSuppress($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - protected function reduceRule364() { - $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 reduceRule365() { @@ -2388,31 +2382,31 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule367() { - $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 reduceRule368() { - $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 reduceRule369() { - $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 reduceRule370() { - $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 reduceRule371() { - $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 reduceRule372() { - $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 reduceRule373() { - $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 reduceRule374() { @@ -2420,34 +2414,34 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule375() { - $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 reduceRule376() { - $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 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); + } + + protected function reduceRule378() { $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 reduceRule378() { + protected function reduceRule379() { $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 reduceRule379() { - $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 reduceRule380() { - $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 reduceRule381() { - $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 reduceRule382() { @@ -2455,51 +2449,55 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule383() { + $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 reduceRule384() { $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 reduceRule384() { + protected function reduceRule385() { $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 reduceRule385() { + protected function reduceRule386() { 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 reduceRule386() { + protected function reduceRule387() { $this->semValue = array(); } - protected function reduceRule387() { + protected function reduceRule388() { $this->semValue = $this->semStack[$this->stackPos-(4-3)]; } - protected function reduceRule388() { + protected function reduceRule389() { $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } - protected function reduceRule389() { + protected function reduceRule390() { $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } - protected function reduceRule390() { + 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 reduceRule391() { + 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); } - protected function reduceRule392() { + 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); } - protected function reduceRule393() { + 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); } - protected function reduceRule394() { + protected function reduceRule395() { 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); @@ -2517,36 +2515,32 @@ class Php5 extends \PhpParser\ParserAbstract } - protected function reduceRule395() { + protected function reduceRule396() { $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 reduceRule396() { + protected function reduceRule397() { $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 reduceRule397() { - $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - protected function reduceRule398() { - $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 reduceRule399() { - $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 reduceRule400() { - $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 reduceRule401() { - $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 reduceRule402() { - $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 reduceRule403() { @@ -2570,7 +2564,7 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule408() { - $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 reduceRule409() { @@ -2578,7 +2572,7 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule410() { - $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 reduceRule411() { @@ -2586,7 +2580,7 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule412() { - $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 reduceRule413() { @@ -2594,276 +2588,276 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule414() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = null; } protected function reduceRule415() { - $this->semValue = array(); - } - - protected function reduceRule416() { - $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 reduceRule417() { - 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 reduceRule418() { - $this->semValue = array(); - } - - protected function reduceRule419() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + 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->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 reduceRule421() { - $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 reduceRule422() { + $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule423() { $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 reduceRule423() { + protected function reduceRule424() { $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule424() { + protected function reduceRule425() { $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule425() { + protected function reduceRule426() { $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule426() { + protected function reduceRule427() { $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule427() { + protected function reduceRule428() { $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule428() { + protected function reduceRule429() { $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule429() { + protected function reduceRule430() { $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule430() { + protected function reduceRule431() { $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule431() { + protected function reduceRule432() { $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 reduceRule432() { + protected function reduceRule433() { $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 reduceRule433() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - protected function reduceRule434() { - $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 reduceRule435() { - $this->semValue = new Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule436() { - $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule437() { - $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule438() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule439() { - $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 reduceRule440() { - $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 reduceRule441() { - $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 reduceRule442() { - $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 reduceRule443() { - $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 reduceRule444() { - $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 reduceRule445() { - $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 reduceRule446() { - $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 reduceRule447() { - $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 reduceRule448() { - $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 reduceRule449() { - $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 reduceRule450() { - $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 reduceRule451() { - $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 reduceRule452() { - $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 reduceRule453() { - $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 reduceRule454() { - $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 reduceRule455() { - $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 reduceRule456() { - $this->semValue = new Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule457() { - $this->semValue = new Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule458() { - $this->semValue = new Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule459() { - $this->semValue = new Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule460() { - $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 reduceRule461() { - $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 reduceRule462() { - $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 reduceRule463() { - $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 reduceRule464() { - $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 reduceRule465() { - $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 reduceRule466() { - $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 reduceRule467() { - $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 reduceRule468() { - $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 reduceRule469() { - $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 reduceRule470() { - $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 reduceRule471() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule472() { - $this->semValue = new Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule473() { $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 reduceRule474() { + 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() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule476() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule477() { $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 reduceRule477() { + protected function reduceRule478() { $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 reduceRule478() { + protected function reduceRule479() { $this->semValue = array(); } - protected function reduceRule479() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - protected function reduceRule480() { - $this->semValue = $this->semStack[$this->stackPos]; + $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } protected function reduceRule481() { @@ -2871,23 +2865,23 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule482() { - $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 reduceRule483() { - $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 reduceRule484() { - $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 reduceRule485() { - $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 reduceRule486() { - $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 reduceRule487() { @@ -2903,27 +2897,27 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule490() { - $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 reduceRule491() { - $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 reduceRule492() { - $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 reduceRule493() { - $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 reduceRule494() { - $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 reduceRule495() { - $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 reduceRule496() { @@ -2931,23 +2925,23 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule497() { - $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 reduceRule498() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule499() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule500() { - $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 reduceRule501() { - $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 reduceRule502() { @@ -2955,23 +2949,23 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule503() { - $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 reduceRule504() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + 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 = 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 reduceRule506() { - $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 reduceRule507() { - $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 reduceRule508() { @@ -2987,19 +2981,19 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule511() { - $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 reduceRule512() { - $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 reduceRule513() { - $this->semValue = null; + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule514() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = null; } protected function reduceRule515() { @@ -3007,31 +3001,31 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule516() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule517() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + protected function reduceRule517() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + protected function reduceRule518() { - $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 reduceRule519() { - $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 reduceRule520() { - $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 reduceRule521() { - $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 reduceRule522() { - $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 reduceRule523() { @@ -3039,43 +3033,43 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule524() { - $this->semValue = null; - } - - protected function reduceRule525() { - $this->semValue = array(); - } - - protected function reduceRule526() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule527() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule528() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule529() { - $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 reduceRule530() { $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } + 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-(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 reduceRule532() { - $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 reduceRule533() { - $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 reduceRule534() { @@ -3083,35 +3077,35 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule535() { - $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 reduceRule536() { - $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 reduceRule537() { - $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 reduceRule538() { - $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 reduceRule539() { - $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 reduceRule540() { - $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 reduceRule541() { - $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 reduceRule542() { - $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 reduceRule543() { @@ -3119,22 +3113,26 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule544() { - $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 reduceRule545() { - $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 reduceRule546() { - $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 reduceRule547() { - $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 reduceRule548() { + $this->semValue = $this->parseNumString($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule549() { $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 1bc4903a..7a4f59df 100644 --- a/lib/PhpParser/Parser/Php7.php +++ b/lib/PhpParser/Parser/Php7.php @@ -18,8 +18,8 @@ use PhpParser\Node\Stmt; class Php7 extends \PhpParser\ParserAbstract { protected $tokenToSymbolMapSize = 392; - protected $actionTableSize = 893; - protected $gotoTableSize = 413; + protected $actionTableSize = 889; + protected $gotoTableSize = 477; protected $invalidSymbol = 157; protected $errorSymbol = 1; @@ -27,7 +27,7 @@ class Php7 extends \PhpParser\ParserAbstract protected $unexpectedTokenRule = 32767; protected $YY2TBLSTATE = 337; - protected $YYNLSTATES = 565; + protected $YYNLSTATES = 566; protected $symbolToName = array( "EOF", @@ -233,96 +233,95 @@ class Php7 extends \PhpParser\ParserAbstract ); protected $action = array( - 570, 571, 572, 573, 574, 215, 575, 576, 577, 613, - 614, 474, 27, 99, 100, 101, 102, 103, 104, 105, + 571, 572, 573, 574, 575, 215, 576, 577, 578, 614, + 615, 475, 27, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,-32766,-32766,-32766, 95, 96, - 97, 241, 239, 0, -267,-32766,-32766,-32766, -470, -469, - 1050, 531, 1053, 1051, 98,-32766, 275,-32766,-32766,-32766, - -32766,-32766, 578, 871, 873,-32766,-32766,-32766,-32766,-32766, - -32766,-32766,-32766, 224,-32766, 715, 579, 580, 581, 582, - 583, 584, 585,-32766, 344, 645, 841, 842, 843, 840, - 839, 838, 586, 587, 588, 589, 590, 591, 592, 593, - 594, 595, 596, 616, 617, 618, 619, 620, 608, 609, - 610, 611, 612, 597, 598, 599, 600, 601, 602, 603, - 639, 640, 641, 642, 643, 644, 604, 605, 606, 607, - 637, 628, 626, 627, 623, 624, 765, 615, 621, 622, - 629, 630, 632, 631, 633, 634, 42, 43, 381, 44, - 45, 625, 636, 635, -214, 46, 47, 953, 48,-32767, - -32767,-32767,-32767, 90, 91, 92, 93, 94, 269, 266, - 22, 841, 842, 843, 840, 839, 838, 833,-32766,-32766, - -32766, 1042, 1003, 289, 1041, 120, 969, 436, -424, 246, - 798, 49, 50, -470, -469, -470, -469, 51,-32766, 52, + 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, + 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, + -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, 219, 220, 53, 54, 55, 56, 57, 58, 59, 60, - 1020, 22, 232, 61, 351, 946,-32766,-32766,-32766, 970, - 971, 647, 706, 1003, 216, -459, 125, 969,-32766,-32766, - -32766, 716, 398, 399, 116, 1003,-32766, 276,-32766,-32766, - -32766,-32766, 25, 222, 983, 286, 355, 24,-32766, -424, - -32766,-32766,-32766, 1006, 65, 766, 408, 226, 21, 258, - 1003, 28, 246, -424, 394, 395, 358, 520, 946, 538, - -424, 124, -427, 398, 399, 117, 975, 976, 977, 978, - 972, 973, 243, 519, -425, -423, 1017, 409, 979, 974, - 353, 792, 793, 111, 965, 63, 128, 255, 378, 256, - 258, 382, -122, -122, -122, -4, 716, 383, 647, 1047, - 40, 705, 258, -219, 33, 17, 384, -122, 385, -122, - 386, -122, 387, -122, 702, 388, -122, -122, -122, 34, - 35, 389, 352, 521, 36, 390, 353, 258, 62, 112, - 819, 287, 288, 391, 392, -425, -423, 131, -161, 393, - 38, -423, 691, 736, 396, 397, -238, 22, 122, -425, - -423,-32766,-32766,-32766, 792, 793, -425, -423, -428, 1003, - -459, 248, 1003, 969, 409, 350, 382, 353, 718, 536, - -122,-32766, 383,-32766,-32766, 295, 705, 661, 662, 33, - 17, 384, 115, 385, 41, 386, -162, 387, -461, 361, - 388, 71, 946, 799, 34, 35, 389, 352, 345, 36, - 390, 247, -423, 62, 254, 716, 287, 288, 391, 392, - 399,-32766,-32766,-32766, 393, 953, -423, 653, 736, 396, - 397, 339, 113, -423, 367, 369, 72, 73, 74, 814, - 7, 65, 121, 540, 224, 242, 258, 259, 272, 258, - 92, 93, 94, 718, 536, -4, 26, 362, 75, 76, + 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, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 118, 239, 130, 716, 382, 553,-32766,-32766,-32766, - 714, 383, 114, -161, 98, 705,-32766,-32766, 33, 17, - 384, -238, 385, 1003, 386, 126, 387, 548, 459, 388, - 506, 507, 542, 34, 35, 389, 716, 225, 36, 390, - 939, 119, 62, 495, 18, 287, 288, 127, 297, 491, - 492, 376, 6, 393, 661, 662, 946, 792, 793, 1021, - 660, -162, 223, -461, 543, 818, 564, 346, 654, 539, - 830, 554, 221, 729, 382, 370, 120, 239, 39, 98, - 383, 515, 718, 536, 705, 493, 449, 33, 17, 384, - 1052, 385, 448, 386, 1045, 387, 674, 429, 388, 16, - 258, 815, 34, 35, 389, 716, 382, 36, 390, 359, - 357, 62, 383, 648, 287, 288, 705, 435, 703, 33, - 17, 384, 393, 385, 647, 386, 430, 387, 315, 445, - 388, 434, 942, 549, 34, 35, 389, 716, 504, 36, - 390, 496,-32766, 62, 440, 530, 287, 288, 516, -80, - 356, 752, 536, 489, 393, 452, 500, 737, 10, 214, - 985, 271, 510, 501, 738, 541, 268, 982, 267, 731, - 309, 274, 3, 9, 704, 382, 37, 822, 0, 0, - 0, 383, 0, 718, 536, 705, 227, 0, 33, 17, - 384, 0, 385, 0, 386, 338, 387, 0, 0, 388, - 294, 0, 0, 34, 35, 389, 716, 382, 36, 390, - -382, 0, 62, 383, 0, 287, 288, 705, 22, 341, - 33, 17, 384, 393, 385, 340, 386, 442, 387, 358, - 1003, 388, 320, 321, 969, 34, 35, 389, 325, 657, - 36, 390, 824, 658, 62, 31, 712, 287, 288, 562, - 563, 659, 718, 536, 32, 393, 823, 826, 825, 748, - 750, 694, 760, 946, 759, 753, 768, 696, 707, 701, - 713, 700, 699, 0, 265, 264, 382, 537, 544, 560, - 398, 399, 383, 559, 718, 536, 705, 557, 555, 33, - 17, 384, 552, 385, 551, 386, 547, 387, 546, 337, - 388, 927, 65, 935, 34, 35, 389, 258, 831, 36, - 390, 723, 664, 62, 663, 758, 287, 288,-32766,-32766, - -32766, 733, 734, 666, 393, 665, 757, 556, 692, 1049, - 1046, 1004, 997, 1010, 1015, 1018, 735, 934,-32766, 933, + 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, -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, - -32767, 732, 725, 718, 536, -449, 1048, 655, 656, 0, - -428, 348, 343, 270, 238, 237, 236, 235, -427, -426, - 20, 218, 23, 29, 217, 132, 30, 64, 66, 129, - 67, 68, 123, 70, 69, -451, 0, 11, 15, 19, - 911, 250, 296, 467, 910, 472, 485, 529, 914, -215, - -217, 967, 957, 526, 379, 375, 373, 371, 14, 13, - 12, -214, 0, -394, 0, 494, 1009, 1044, 995, 996, - 966, 0, 984 + -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 ); protected $actionCheck = array( @@ -379,49 +378,48 @@ class Php7 extends \PhpParser\ParserAbstract 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, 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, 77, 77, 95, 152, - 156, 148, 99, 100, 101, 1, 71, 104, 105, 77, - 77, 108, 77, 77, 111, 112, 81, 77, 148, 84, - 85, 86, 119, 88, 77, 90, 77, 92, 78, 86, - 95, 79, 79, 29, 99, 100, 101, 1, 79, 104, - 105, 87, 82, 108, 82, 89, 111, 112, 91, 94, - 102, 148, 149, 109, 119, 94, 93, 123, 94, 94, - 139, 110, 96, 96, 123, 29, 127, 139, 126, 147, - 146, 126, 142, 142, 148, 71, 151, 148, -1, -1, - -1, 77, -1, 148, 149, 81, 35, -1, 84, 85, - 86, -1, 88, -1, 90, 149, 92, -1, -1, 95, - 142, -1, -1, 99, 100, 101, 1, 71, 104, 105, - 142, -1, 108, 77, -1, 111, 112, 81, 67, 146, + 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, + 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, - 79, 95, 146, 146, 83, 99, 100, 101, 146, 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, 148, -1, 149, 149, 71, 149, 149, 149, + 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, 149, - 95, 153, 151, 150, 99, 100, 101, 156, 150, 104, + 85, 86, 149, 88, 149, 90, 149, 92, 149, 151, + 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, 150, -1, + 40, 150, 150, 148, 149, 151, 150, 150, 155, 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, + 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, 152, 152, 152, 152, 152, - 152, 152, -1, 153, -1, 154, 154, 154, 154, 154, - 154, -1, 155 + 152, 152, 152, 152, 152, 152, 152, 152, 152, -1, + 153, 153, -1, 154, 154, 154, 154, 154, 154 ); protected $actionBase = array( - 0, 220, 295, 283, 180, 564, -2, -2, -2, -2, - -36, 606, 505, 574, 505, 404, 473, 675, 675, 675, - 28, 399, 507, 507, 507, 520, 482, 497, 472, 134, + 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, 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, @@ -432,53 +430,53 @@ 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, 568, 709, 716, 711, - 706, 705, 535, 710, 708, 201, 650, 651, 466, 652, - 653, 654, 655, 714, 731, 707, 715, 418, 418, 418, + 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, 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, 274, 27, 780, 780, 780, 780, 780, + 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, 656, 642, - 641, 623, 414, 393, 393, 151, 151, 151, 151, 146, - -45, 224, 224, 95, 491, 737, 397, 199, 199, 207, - 111, -22, -22, -22, 275, 532, 92, 92, 242, -37, - 274, 274, 233, 274, 422, 422, 422, 221, 221, 221, - 221, 221, 110, 530, 221, 221, 221, 537, 646, 387, - 536, 635, 273, 31, 32, 549, 543, 171, 518, 171, - 413, 441, 428, 538, 171, 171, 396, 97, 392, 493, - 496, 479, 382, 561, 166, 440, 370, 390, 417, 596, - 565, 713, 331, 712, 377, 149, 493, 493, 493, 241, - 595, 620, 339, -8, 645, 516, 379, 419, 381, 643, - 634, 281, 632, 423, 358, 194, 499, 517, 517, 517, - 517, 517, 517, 508, 517, 519, 689, 689, 485, 476, - 508, 495, 508, 517, 689, 508, 508, 512, 517, 515, - 515, 519, 522, 509, 689, 689, 509, 485, 508, 571, - 572, 514, 492, 406, 406, 514, 508, 406, 476, 406, - 33, 696, 697, 451, 699, 692, 700, 680, 703, 490, - 598, 504, 511, 693, 690, 702, 510, 503, 695, 691, - 551, 573, 502, 268, 314, 500, 481, 688, 518, 553, - 483, 483, 483, 481, 679, 483, 483, 483, 483, 483, - 483, 483, 483, 736, 230, 528, 513, 594, 593, 592, - 250, 591, 494, 531, 456, 609, 498, 551, 551, 648, - 730, 618, 506, 686, 720, 701, 567, 217, 246, 685, - 647, 556, 489, 557, 684, 608, 268, 719, 649, 487, - 551, 678, 483, 674, 704, 734, 735, 687, 732, 725, - 24, 562, 590, 39, 480, 733, 677, 604, 600, 576, - 728, 718, 724, 723, 39, 589, 524, 717, 533, 681, - 529, 682, 599, 271, 676, 698, 588, 727, 726, 729, - 587, 586, 619, 617, 458, 322, 694, 468, 477, 527, - 584, 523, 672, 615, 683, 583, 582, 671, 659, 721, - 525, 553, 501, 521, 534, 526, 613, 657, 722, 447, - 581, 580, 579, 631, 578, 628, 0, 0, 0, 0, + 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, + 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, 0, 0, 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, -2, - -2, 0, 0, 0, 0, -2, 134, 134, 134, 134, + 0, 0, 0, 0, 0, 0, 0, 134, 134, -2, + -2, -2, 0, 0, 0, 0, -2, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 134, 0, 0, 0, 0, 0, 0, + 134, 134, 134, 134, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -488,36 +486,36 @@ class Php7 extends \PhpParser\ParserAbstract 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 418, 418, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 418, 418, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 418, 418, + 418, 418, 418, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 418, 418, 418, 418, 418, -3, 418, 418, -3, 418, - 418, 418, 418, 418, 418, -22, -22, -22, -22, 221, + 418, 418, 418, 418, 418, 418, -3, 418, 418, -3, + 418, 418, 418, 418, 418, 418, -22, -22, -22, -22, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 49, 49, 49, 49, 221, -22, -22, - 221, 221, 221, 221, 221, 49, 221, 221, 92, 92, - 92, 221, 171, 171, 0, 0, 0, 0, 0, 517, - 92, 0, 0, 171, 0, 0, 0, 0, 0, 517, - 517, 517, 0, 0, 0, 0, 0, 517, 92, 0, - 0, 0, 420, 420, 39, 420, 420, 0, 0, 0, - 517, 517, 0, 522, 0, 0, 0, 0, 689, 0, - 0, 0, 0, 0, 483, 217, 686, 0, 228, 0, - 0, 0, 0, 0, 506, 228, 240, 0, 240, 0, - 0, 483, 483, 483, 0, 506, 506, 0, 0, 152, - 506, 0, 0, 0, 152, 67, 0, 67, 0, 0, - 0, 39 + 221, 221, 221, 221, 49, 49, 49, 49, 221, -22, + -22, 221, 221, 221, 221, 221, 49, 221, 221, 92, + 92, 92, 171, 171, 221, 0, 0, 0, 0, 0, + 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, 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, 471, 471, 471,32767,32767,32767,32767, 285, - 463, 285, 285,32767, 421, 421, 421, 421, 421, 421, - 421, 463,32767,32767,32767,32767,32767, 364,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,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, @@ -526,172 +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, 468,32767,32767,32767,32767, + 32767,32767,32767,32767,32767, 469,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 347, 348, 350, - 351, 284, 422, 237, 467, 283, 116, 246, 239, 191, - 282, 223, 119, 312, 365, 314, 363, 367, 313, 290, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 288, 289, 366, 344, 343, 342, 310, 311, - 287, 315, 317, 287, 316, 333, 334, 331, 332, 335, - 336, 337, 338, 339,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 269, 269, - 269, 269,32767, 324, 325, 229, 229, 229, 229,32767, - 270, 229,32767,32767,32767,32767,32767,32767,32767, 415, - 341, 319, 320, 318,32767, 393,32767, 395,32767,32767, - 307, 309, 387, 291,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,32767,32767,32767, - 32767,32767, 390, 423, 423,32767,32767,32767, 381,32767, - 159, 210, 212, 398,32767,32767,32767,32767,32767, 329, - 32767,32767,32767,32767,32767,32767, 478,32767,32767,32767, - 32767,32767, 423,32767,32767,32767, 321, 322, 323,32767, - 32767,32767, 423, 423,32767,32767, 423,32767, 423,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,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 163,32767,32767, 396, 396,32767,32767, - 163, 391, 163,32767,32767, 163, 163, 176,32767, 174, - 174,32767,32767, 178,32767, 437, 178,32767, 163, 196, - 196, 373, 165, 231, 231, 373, 163, 231,32767, 231, - 32767,32767,32767, 82,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,32767,32767,32767,32767,32767, - 383,32767,32767,32767, 403,32767, 416, 435, 381,32767, - 327, 328, 330,32767, 425, 352, 353, 354, 355, 356, - 357, 358, 360,32767, 464, 386,32767,32767,32767,32767, - 32767,32767, 84, 108, 245,32767, 476, 84, 384,32767, - 476,32767,32767,32767,32767,32767,32767, 286,32767,32767, - 32767, 84,32767, 84,32767,32767, 460,32767, 423,32767, - 385,32767, 326, 399, 442,32767,32767, 424,32767,32767, - 218, 84,32767, 177,32767,32767,32767,32767,32767,32767, - 32767, 403,32767,32767, 179,32767,32767, 423,32767,32767, - 32767,32767,32767, 281,32767,32767,32767,32767,32767, 423, - 32767,32767,32767,32767, 222,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, - 82, 60,32767, 263,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 121, 121, 3, 3, - 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, - 121, 121, 121, 121, 121, 248, 154, 248, 204, 248, - 248, 207, 196, 196, 255 + 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 ); 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, 410, - 411, 299, 412, 415, 416, 417, 418, 419, 420, 421, - 422, 858, 136, 137, 138, 139, 140, 141, 142, 143, + 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, 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, 462, 180, + 233, 234, 251, 252, 253, 316, 317, 318, 463, 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, 522, 200, 651, 432, 1038, 1038, 682, - 464, 688, 650, 278, 5, 200, 437, 437, 437, 425, - 1038, 767, 652, 747, 437, 558, 425, 426, 776, 771, - 428, 431, 444, 465, 466, 468, 450, 453, 437, 561, - 486, 488, 509, 512, 764, 517, 518, 778, 525, 763, - 527, 533, 774, 535, 481, 481, 968, 968, 968, 968, - 968, 968, 968, 968, 968, 968, 968, 968, 413, 413, - 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, - 413, 413, 301, 943, 532, 443, 454, 479, 497, 437, - 437, 451, 471, 437, 437, 675, 437, 456, 372, 503, - 484, 279, 513, 336, 298, 438, 8, 709, 456, 801, - 460, 414, 414, 414, 414, 414, 414, 414, 414, 414, - 414, 414, 414, 414, 414, 751, 675, 675, 463, 829, - 534, 257, 245, 514, 827, 1037, 1037, 229, 457, 230, - 231, 482, 483, 528, 944, 461, 476, 1030, 1037, 300, - 498, 1022, 313, 905, 945, 999, 786, 790, 797, 329, - 1011, 285, 671, 310, 1040, 307, 669, 332, 805, 545, - 936, 941, 366, 808, 679, 478, 377, 755, 668, 668, - 676, 676, 676, 678, 845, 667, 0, 0, 323, 499, - 328, 312, 312, 260, 261, 283, 458, 263, 322, 284, - 326, 487, 0, 0, 0, 280, 281, 0, 0, 0, + 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 947, 0, 0, 791, 791, 791, 791, 947, 1008, - 791, 791, 0, 0, 837, 791, 1008, 0, 0, 0, - 0, 0, 0, 0, 1019, 1019, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1005, 745, 745, 745, 721, - 745, 0, 0, 740, 746, 722, 0, 0, 0, 0, - 0, 781, 781, 1027, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 807, 0, 807, 0, 0, 0, - 0, 1012, 1013 + 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, 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, 0, 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 ); protected $gotoCheck = array( - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 52, 45, 11, 8, 124, 124, 25, - 80, 10, 10, 64, 92, 45, 8, 8, 8, 109, - 124, 10, 12, 10, 8, 10, 109, 10, 10, 10, - 38, 38, 38, 38, 38, 38, 28, 8, 8, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 70, 113, 113, - 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 53, 76, 5, 53, 53, 35, 35, 8, - 8, 8, 8, 8, 8, 19, 8, 69, 53, 56, - 62, 62, 56, 62, 56, 8, 53, 44, 69, 78, - 8, 115, 115, 115, 115, 115, 115, 115, 115, 115, - 115, 115, 115, 115, 115, 29, 19, 19, 7, 7, - 7, 112, 112, 7, 7, 123, 123, 60, 114, 60, - 60, 55, 55, 55, 76, 2, 2, 122, 123, 41, - 43, 120, 42, 96, 76, 76, 72, 75, 74, 18, - 117, 14, 21, 13, 123, 9, 20, 17, 79, 66, - 102, 104, 58, 81, 22, 59, 100, 63, 19, 19, - 19, 19, 19, 19, 94, 19, -1, -1, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, -1, -1, -1, 64, 64, -1, -1, -1, + 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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 52, -1, -1, 52, 52, 52, 52, 52, 80, - 52, 52, -1, -1, 92, 52, 80, -1, -1, -1, - -1, -1, -1, -1, 80, 80, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 80, 52, 52, 52, 52, - 52, -1, -1, 52, 52, 52, -1, -1, -1, -1, - -1, 69, 69, 69, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 80, -1, 80, -1, -1, -1, - -1, 80, 80 + -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, -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, -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 ); protected $gotoBase = array( - 0, 0, -283, 0, 0, 184, 0, 235, -138, 3, - 120, 113, 130, -12, 17, 0, 0, -61, 4, -49, - -10, 6, -77, -20, 0, 112, 0, 0, -391, 219, - 0, 0, 0, 0, 0, 166, 0, 0, 105, 0, - 0, 226, 44, 45, 203, 84, 0, 0, 0, 0, - 0, 0, 109, -160, 0, 15, -165, 0, -78, -81, - -310, 0, -58, -80, -247, 0, -18, 0, 0, 177, - -50, 0, 25, 0, 26, 21, -100, 0, 198, -11, - 117, -79, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 114, 0, -84, 0, 24, 0, 0, 0, - -89, 0, -67, 0, -69, 0, 0, 0, 0, -103, - 0, 0, -14, -36, 225, 7, 0, 22, 0, 0, - 220, 0, 233, 1, -127, 0, 0 + 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 ); protected $gotoDefault = array( - -32768, 380, 566, 2, 567, 638, 646, 505, 400, 433, - 749, 689, 690, 303, 342, 401, 302, 330, 324, 677, - 670, 672, 680, 134, 333, 683, 1, 685, 439, 717, - 291, 693, 292, 508, 695, 446, 697, 698, 427, 304, - 305, 447, 311, 480, 708, 203, 308, 710, 290, 711, - 720, 335, 293, 511, 490, 469, 502, 402, 363, 477, - 228, 455, 473, 754, 277, 762, 550, 770, 773, 403, - 404, 470, 785, 368, 795, 789, 962, 319, 800, 806, - 994, 809, 812, 349, 331, 327, 816, 817, 4, 821, - 523, 524, 836, 240, 844, 857, 347, 924, 926, 441, - 374, 937, 360, 334, 940, 998, 354, 405, 364, 954, - 262, 282, 244, 406, 423, 249, 407, 365, 1001, 314, - 1023, 424, 1031, 1039, 273, 306, 475 + -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 ); protected $ruleToNonTerminal = array( @@ -703,47 +713,47 @@ 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, 8, 9, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 14, 14, 15, 15, - 15, 15, 17, 17, 13, 13, 18, 18, 19, 19, - 20, 20, 21, 21, 16, 16, 22, 24, 24, 25, - 26, 26, 28, 27, 27, 27, 27, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 10, 10, 48, 48, 51, 51, 50, 49, - 49, 42, 42, 53, 53, 54, 54, 11, 12, 12, - 12, 57, 57, 57, 58, 58, 61, 61, 59, 59, - 62, 62, 36, 36, 44, 44, 47, 47, 47, 46, - 46, 63, 37, 37, 37, 37, 64, 64, 65, 65, - 66, 66, 34, 34, 30, 30, 67, 32, 32, 68, - 31, 31, 33, 33, 43, 43, 43, 43, 55, 55, - 71, 71, 72, 72, 74, 74, 75, 75, 75, 73, - 73, 56, 56, 76, 76, 77, 77, 78, 78, 78, - 39, 39, 79, 40, 40, 81, 81, 60, 60, 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, 41, 41, 35, 35, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 101, 95, 95, 100, 100, 103, 103, 104, 105, 105, - 105, 109, 109, 52, 52, 52, 96, 96, 96, 107, - 107, 97, 97, 99, 99, 99, 102, 102, 113, 113, - 113, 70, 115, 115, 115, 98, 98, 98, 98, 98, - 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, - 98, 38, 38, 111, 111, 111, 106, 106, 106, 116, - 116, 116, 116, 116, 116, 45, 45, 45, 80, 80, - 80, 80, 118, 110, 110, 110, 110, 110, 110, 108, - 108, 108, 117, 117, 117, 117, 69, 119, 119, 120, - 120, 120, 120, 120, 114, 121, 121, 122, 122, 122, - 122, 122, 112, 112, 112, 112, 124, 125, 123, 123, - 123, 123, 123, 123, 123, 126, 126, 126, 126 + 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 ); protected $ruleToLength = array( @@ -755,47 +765,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, 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, 3, + 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, - 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, 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() { @@ -1120,27 +1130,27 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule80() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = ($this->useIdentifierNodes ? new Node\Identifier($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes) : $this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule81() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = ($this->useIdentifierNodes ? new Node\Identifier($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes) : $this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule82() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = ($this->useIdentifierNodes ? new Node\Identifier($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes) : $this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule83() { - $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 reduceRule84() { - $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule85() { - $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 reduceRule86() { @@ -1152,148 +1162,148 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule88() { - $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 reduceRule89() { - $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 reduceRule90() { - $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 reduceRule91() { - $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 reduceRule92() { - $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 reduceRule93() { - $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 reduceRule94() { - $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 reduceRule95() { - $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 reduceRule96() { - $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 reduceRule97() { - $this->semValue = Stmt\Use_::TYPE_CONSTANT; + $this->semValue = Stmt\Use_::TYPE_FUNCTION; } protected function reduceRule98() { - $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 reduceRule99() { - $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 reduceRule100() { - $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 reduceRule101() { - $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 reduceRule102() { - $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 reduceRule103() { - $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 reduceRule104() { - $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 reduceRule105() { - $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 reduceRule106() { - $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 reduceRule107() { - $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 reduceRule108() { - $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 reduceRule109() { - $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 reduceRule110() { - $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 reduceRule111() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule112() { - $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 reduceRule113() { - $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 reduceRule114() { - $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 reduceRule115() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule116() { - $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 reduceRule117() { $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } - protected function reduceRule118() { + protected function reduceRule116() { $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } - protected function reduceRule119() { + 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() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + protected function reduceRule120() { - 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 reduceRule121() { - $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 reduceRule122() { - $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 reduceRule123() { - $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 reduceRule124() { @@ -1305,306 +1315,306 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule126() { - throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule127() { - $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 reduceRule128() { - $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 reduceRule129() { - $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 reduceRule130() { - $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 reduceRule131() { - $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 reduceRule132() { - $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 reduceRule133() { - $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 reduceRule134() { - $this->semValue = new Stmt\Break_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule135() { - $this->semValue = new Stmt\Continue_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule136() { - $this->semValue = new Stmt\Return_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule137() { - $this->semValue = new Stmt\Global_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule138() { - $this->semValue = new Stmt\Static_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule139() { - $this->semValue = new Stmt\Echo_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule140() { - $this->semValue = new Stmt\InlineHTML($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule141() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule142() { - $this->semValue = new Stmt\Unset_($this->semStack[$this->stackPos-(5-3)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); - } - - protected function reduceRule143() { - $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 reduceRule144() { - $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 reduceRule145() { - $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 reduceRule146() { - $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 reduceRule147() { - $this->semValue = new Stmt\Throw_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule148() { - $this->semValue = new Stmt\Goto_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule149() { - $this->semValue = new Stmt\Label($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule150() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule151() { - $this->semValue = array(); /* means: no statement */ - } - - protected function reduceRule152() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + 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 reduceRule154() { $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 reduceRule154() { + protected function reduceRule155() { $this->semValue = array(); } - protected function reduceRule155() { + protected function reduceRule156() { $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } - protected function reduceRule156() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - protected function reduceRule157() { - $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 reduceRule158() { - $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 reduceRule159() { - $this->semValue = null; - } - - protected function reduceRule160() { - $this->semValue = new Stmt\Finally_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule161() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule162() { $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-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->semValue = false; + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule164() { - $this->semValue = true; - } - - protected function reduceRule165() { $this->semValue = false; } - protected function reduceRule166() { + protected function reduceRule165() { $this->semValue = true; } + protected function reduceRule166() { + $this->semValue = false; + } + protected function reduceRule167() { - $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 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); + } + + protected function reduceRule169() { $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 reduceRule169() { + protected function reduceRule170() { $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 reduceRule170() { + protected function reduceRule171() { $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 reduceRule171() { + protected function reduceRule172() { $this->semValue = 0; } - protected function reduceRule172() { + protected function reduceRule173() { $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; } - protected function reduceRule173() { + protected function reduceRule174() { $this->semValue = Stmt\Class_::MODIFIER_FINAL; } - protected function reduceRule174() { - $this->semValue = null; - } - protected function reduceRule175() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + $this->semValue = null; } protected function reduceRule176() { - $this->semValue = array(); + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; } protected function reduceRule177() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + $this->semValue = array(); } protected function reduceRule178() { - $this->semValue = array(); - } - - protected function reduceRule179() { $this->semValue = $this->semStack[$this->stackPos-(2-2)]; } - protected function reduceRule180() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule181() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule182() { - $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 reduceRule183() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - 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 = null; - } - - protected function reduceRule188() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule189() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule190() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule191() { - $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 reduceRule192() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule193() { - $this->semValue = $this->semStack[$this->stackPos-(4-3)]; - } - - protected function reduceRule194() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule195() { - $this->semValue = $this->semStack[$this->stackPos-(5-3)]; - } - - protected function reduceRule196() { + 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() { - $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 reduceRule198() { - $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 reduceRule199() { - $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 reduceRule200() { - $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 reduceRule201() { @@ -1612,63 +1622,63 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule202() { - $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 reduceRule203() { - $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 reduceRule204() { - $this->semValue = array(); + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; } protected function reduceRule205() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule206() { - $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 reduceRule207() { $this->semValue = array(); } - protected function reduceRule208() { + 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() { - $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 reduceRule210() { - $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 reduceRule211() { - $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 reduceRule212() { $this->semValue = null; } + 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 = new Stmt\Else_($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = null; } protected function reduceRule214() { - $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 reduceRule215() { - $this->semValue = array($this->semStack[$this->stackPos-(2-2)], true); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); } protected function reduceRule216() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); + $this->semValue = array($this->semStack[$this->stackPos-(2-2)], true); } protected function reduceRule217() { @@ -1676,176 +1686,176 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule218() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); } protected function reduceRule219() { - $this->semValue = array(); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule220() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = array(); } protected function reduceRule221() { - $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 reduceRule222() { - $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 reduceRule223() { - $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(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 reduceRule224() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $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 reduceRule225() { - $this->semValue = new Node\NullableType($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule226() { - $this->semValue = $this->handleBuiltinTypes($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule227() { - $this->semValue = 'array'; - } - - protected function reduceRule228() { - $this->semValue = 'callable'; - } - - protected function reduceRule229() { - $this->semValue = null; - } - - protected function reduceRule230() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } - protected function reduceRule231() { + 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 = 'array'; + } + + protected function reduceRule229() { + $this->semValue = 'callable'; + } + + protected function reduceRule230() { $this->semValue = null; } + protected function reduceRule231() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + protected function reduceRule232() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + $this->semValue = null; } protected function reduceRule233() { - $this->semValue = array(); + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; } protected function reduceRule234() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule235() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule236() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule237() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(1-1)], false, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule238() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], true, false, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule239() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], false, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule240() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule241() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule242() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule243() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule244() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule245() { - $this->semValue = new Stmt\StaticVar(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule246() { - $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 reduceRule247() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule248() { $this->semValue = array(); } + 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 = 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 reduceRule250() { - $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 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)); + } + + protected function reduceRule252() { $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 reduceRule252() { + protected function reduceRule253() { $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 reduceRule253() { - $this->semValue = array(); - } - protected function reduceRule254() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = array(); } protected function reduceRule255() { - $this->semValue = array(); + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule256() { - $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 reduceRule257() { - $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 reduceRule258() { - $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 reduceRule259() { - $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 reduceRule260() { - $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 reduceRule261() { @@ -1853,31 +1863,31 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule262() { - $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 reduceRule263() { - $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 reduceRule264() { - $this->semValue = array(null, $this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule265() { - $this->semValue = null; - } - - protected function reduceRule266() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule267() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + 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 = 0; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule269() { @@ -1885,7 +1895,7 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule270() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = 0; } protected function reduceRule271() { @@ -1893,63 +1903,63 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule272() { - $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 reduceRule273() { - $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 reduceRule274() { - $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; } protected function reduceRule275() { - $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; } protected function reduceRule276() { - $this->semValue = Stmt\Class_::MODIFIER_STATIC; + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; } protected function reduceRule277() { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + $this->semValue = Stmt\Class_::MODIFIER_STATIC; } protected function reduceRule278() { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; } protected function reduceRule279() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = Stmt\Class_::MODIFIER_FINAL; } protected function reduceRule280() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule281() { - $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule282() { - $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 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 = array($this->semStack[$this->stackPos-(1-1)]); } + 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->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule286() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = array(); } protected function reduceRule287() { @@ -1957,7 +1967,7 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule288() { - $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 reduceRule289() { @@ -1969,358 +1979,358 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule291() { - $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 reduceRule292() { - $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 reduceRule293() { - $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 reduceRule294() { - $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 reduceRule295() { - $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 reduceRule296() { - $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 reduceRule297() { - $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 reduceRule298() { - $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 reduceRule299() { - $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 reduceRule300() { - $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 reduceRule301() { - $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 reduceRule302() { - $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 reduceRule303() { - $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 reduceRule304() { - $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 reduceRule305() { - $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 reduceRule306() { - $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 reduceRule307() { - $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 reduceRule308() { - $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 reduceRule309() { - $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 reduceRule310() { - $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 reduceRule311() { - $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 reduceRule312() { - $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 reduceRule313() { - $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 reduceRule314() { - $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 reduceRule315() { - $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 reduceRule316() { - $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 reduceRule317() { - $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 reduceRule318() { - $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 reduceRule319() { - $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 reduceRule320() { - $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 reduceRule321() { - $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 reduceRule322() { - $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 reduceRule323() { - $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 reduceRule324() { - $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 reduceRule325() { - $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 reduceRule326() { - $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 reduceRule327() { - $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 reduceRule328() { - $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 reduceRule329() { - $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 reduceRule330() { - $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 reduceRule331() { - $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 reduceRule332() { - $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 reduceRule333() { - $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 reduceRule334() { - $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 reduceRule335() { - $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 reduceRule336() { - $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 reduceRule337() { - $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 reduceRule338() { - $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 reduceRule339() { - $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 reduceRule340() { - $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 reduceRule341() { - $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 reduceRule342() { - $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 reduceRule343() { - $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 reduceRule344() { - $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 reduceRule345() { - $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 reduceRule346() { - $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 reduceRule347() { - $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 reduceRule348() { - $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 reduceRule349() { - $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 reduceRule350() { - $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 reduceRule351() { - $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 reduceRule352() { - $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 reduceRule353() { - $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 reduceRule354() { - $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 reduceRule355() { - $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 reduceRule356() { - $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 reduceRule357() { - $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 reduceRule358() { - $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 reduceRule359() { + $this->semValue = new Expr\Cast\Unset_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule360() { $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 reduceRule360() { + protected function reduceRule361() { $this->semValue = new Expr\ErrorSuppress($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } - protected function reduceRule361() { + protected function reduceRule362() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } - protected function reduceRule362() { + protected function reduceRule363() { $this->semValue = new Expr\ShellExec($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } - protected function reduceRule363() { + protected function reduceRule364() { $this->semValue = new Expr\Print_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } - protected function reduceRule364() { + protected function reduceRule365() { $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule365() { + protected function reduceRule366() { $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(2-2)], null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } - protected function reduceRule366() { + protected function reduceRule367() { $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 reduceRule367() { + protected function reduceRule368() { $this->semValue = new Expr\YieldFrom($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } - protected function reduceRule368() { + protected function reduceRule369() { $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 reduceRule369() { + protected function reduceRule370() { $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 reduceRule370() { + protected function reduceRule371() { $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 reduceRule371() { + protected function reduceRule372() { $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 reduceRule372() { + protected function reduceRule373() { 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 reduceRule373() { + protected function reduceRule374() { $this->semValue = array(); } - protected function reduceRule374() { + protected function reduceRule375() { $this->semValue = $this->semStack[$this->stackPos-(4-3)]; } - protected function reduceRule375() { + protected function reduceRule376() { $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } - protected function reduceRule376() { + protected function reduceRule377() { $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } - protected function reduceRule377() { - $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 reduceRule378() { - $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(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() { @@ -2328,31 +2338,31 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule380() { - $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 reduceRule381() { - $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 reduceRule382() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule383() { $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } + protected function reduceRule383() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + protected function reduceRule384() { - $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 reduceRule385() { - $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 reduceRule386() { - $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 reduceRule387() { @@ -2360,11 +2370,11 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule388() { - $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 reduceRule389() { - $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 reduceRule390() { @@ -2372,106 +2382,106 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule391() { - $this->semValue = null; - } - - protected function reduceRule392() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule393() { - $this->semValue = array(); - } - - protected function reduceRule394() { - $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 reduceRule395() { - 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 reduceRule396() { - $this->semValue = array(); - } - - protected function reduceRule397() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + 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 = 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 reduceRule399() { - $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 reduceRule400() { - $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 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; + } + + protected function reduceRule402() { $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 reduceRule402() { + protected function reduceRule403() { $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 reduceRule403() { + protected function reduceRule404() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } - protected function reduceRule404() { + protected function reduceRule405() { $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 reduceRule405() { + protected function reduceRule406() { $this->semValue = $this->parseLNumber($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule406() { + protected function reduceRule407() { $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule407() { + protected function reduceRule408() { $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule408() { + protected function reduceRule409() { $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule409() { + protected function reduceRule410() { $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule410() { + protected function reduceRule411() { $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule411() { + protected function reduceRule412() { $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule412() { + protected function reduceRule413() { $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule413() { + protected function reduceRule414() { $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule414() { - $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - protected function reduceRule415() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule416() { @@ -2479,31 +2489,31 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule417() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule418() { $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 reduceRule418() { + protected function reduceRule419() { $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 reduceRule419() { + protected function reduceRule420() { $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 reduceRule420() { + protected function reduceRule421() { $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 reduceRule421() { - $this->semValue = null; - } - protected function reduceRule422() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = null; } protected function reduceRule423() { @@ -2511,11 +2521,11 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule424() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule425() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule426() { @@ -2523,19 +2533,19 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule427() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule428() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + protected function reduceRule428() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + protected function reduceRule429() { - $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 reduceRule430() { - $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 reduceRule431() { @@ -2547,15 +2557,15 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule433() { - $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 reduceRule434() { - $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 reduceRule435() { - $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 reduceRule436() { @@ -2563,35 +2573,35 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule437() { - $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 reduceRule438() { - $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 reduceRule439() { - $this->semValue = $this->semStack[$this->stackPos-(4-3)]; + $this->semValue = substr($this->semStack[$this->stackPos-(1-1)], 1); } protected function reduceRule440() { - $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 reduceRule441() { - $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 reduceRule442() { - $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 reduceRule443() { - $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 reduceRule444() { - $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 reduceRule445() { @@ -2599,11 +2609,11 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule446() { - $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 reduceRule447() { - $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 reduceRule448() { @@ -2611,47 +2621,47 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule449() { - $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 reduceRule450() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule451() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule452() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } - protected function reduceRule453() { + protected function reduceRule451() { $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } - protected function reduceRule454() { + 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() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + protected function reduceRule455() { - $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 reduceRule456() { - $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 reduceRule457() { - $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 reduceRule458() { - $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 reduceRule459() { - $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 reduceRule460() { @@ -2659,7 +2669,7 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule461() { - $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 reduceRule462() { @@ -2667,43 +2677,43 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule463() { - $this->semValue = null; - } - - protected function reduceRule464() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end] === null) unset($this->semValue[$end]); - } - - protected function reduceRule465() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule466() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule467() { $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 reduceRule468() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule469() { - $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 reduceRule470() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(2-2)], null, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule471() { + 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() { - $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 reduceRule473() { @@ -2711,35 +2721,35 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule474() { - $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 reduceRule475() { - $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 reduceRule476() { - $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 reduceRule477() { - $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 reduceRule478() { - $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 reduceRule479() { - $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 reduceRule480() { - $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 reduceRule481() { - $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 reduceRule482() { @@ -2747,26 +2757,30 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule483() { - $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 reduceRule484() { - $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 reduceRule485() { - $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 reduceRule486() { - $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 reduceRule487() { - $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 reduceRule488() { + $this->semValue = $this->parseNumString('-' . $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule489() { $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 44c4a344..c035e775 100644 --- a/lib/PhpParser/ParserAbstract.php +++ b/lib/PhpParser/ParserAbstract.php @@ -111,15 +111,22 @@ abstract class ParserAbstract implements Parser /** @var int Error state, used to avoid error floods */ protected $errorState; + /** @var bool Whether to create Identifier nodes for non-namespaced names */ + protected $useIdentifierNodes; + /** * 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. + * * @param Lexer $lexer A lexer - * @param array $options Options array. Currently no options are supported. + * @param array $options Options array. Currently only "useIdentifierNodes" is supporter. */ public function __construct(Lexer $lexer, array $options = array()) { $this->lexer = $lexer; $this->errors = array(); + $this->useIdentifierNodes = !empty($options['useIdentifierNodes']); if (isset($options['throwOnError'])) { throw new \LogicException( diff --git a/test/PhpParser/CodeParsingTest.php b/test/PhpParser/CodeParsingTest.php index 1a4a9ad1..4497aba8 100644 --- a/test/PhpParser/CodeParsingTest.php +++ b/test/PhpParser/CodeParsingTest.php @@ -16,12 +16,13 @@ class CodeParsingTest extends CodeTestAbstract $modes = []; } + $parserOptions = ['useIdentifierNodes' => isset($modes['ident'])]; $lexer = new Lexer\Emulative(array('usedAttributes' => array( 'startLine', 'endLine', 'startFilePos', 'endFilePos', 'comments' ))); - $parser5 = new Parser\Php5($lexer); - $parser7 = new Parser\Php7($lexer); + $parser5 = new Parser\Php5($lexer, $parserOptions); + $parser7 = new Parser\Php7($lexer, $parserOptions); $dumpPositions = isset($modes['positions']); $output5 = $this->getParseOutput($parser5, $code, $dumpPositions); diff --git a/test/PhpParser/PrettyPrinterTest.php b/test/PhpParser/PrettyPrinterTest.php index e316744b..f1eae241 100644 --- a/test/PhpParser/PrettyPrinterTest.php +++ b/test/PhpParser/PrettyPrinterTest.php @@ -56,7 +56,7 @@ class PrettyPrinterTest extends CodeTestAbstract /** * @dataProvider provideTestPrettyPrint - * @covers PhpParser\PrettyPrinter\Standard + * @covers \PhpParser\PrettyPrinter\Standard */ public function testPrettyPrint($name, $code, $expected, $mode) { $this->doTestPrettyPrintMethod('prettyPrint', $name, $code, $expected, $mode); @@ -64,7 +64,7 @@ class PrettyPrinterTest extends CodeTestAbstract /** * @dataProvider provideTestPrettyPrintFile - * @covers PhpParser\PrettyPrinter\Standard + * @covers \PhpParser\PrettyPrinter\Standard */ public function testPrettyPrintFile($name, $code, $expected, $mode) { $this->doTestPrettyPrintMethod('prettyPrintFile', $name, $code, $expected, $mode); diff --git a/test/code/parser/identMode.test b/test/code/parser/identMode.test new file mode 100644 index 00000000..c658d5fe --- /dev/null +++ b/test/code/parser/identMode.test @@ -0,0 +1,246 @@ +Identifier node mode +----- +bar; +$foo->bar(); +Foo::bar(); +"$foo->bar"; +$foo; +----- +!!ident +array( + 0: Stmt_Use( + type: TYPE_NORMAL (1) + uses: array( + 0: Stmt_UseUse( + type: TYPE_UNKNOWN (0) + name: Name( + parts: array( + 0: Foo + ) + ) + alias: Identifier( + name: Bar + ) + ) + ) + ) + 1: Stmt_Class( + flags: 0 + name: Identifier( + name: Foo + ) + extends: null + implements: array( + ) + stmts: array( + 0: Stmt_ClassConst( + flags: 0 + consts: array( + 0: Const( + name: Identifier( + name: BAR + ) + value: Scalar_LNumber( + value: 1 + ) + ) + ) + ) + 1: Stmt_ClassMethod( + flags: 0 + byRef: false + name: Identifier( + name: foo + ) + params: array( + ) + returnType: null + stmts: array( + ) + ) + 2: Stmt_TraitUse( + traits: array( + 0: Name( + parts: array( + 0: A + ) + ) + 1: Name( + parts: array( + 0: B + ) + ) + ) + adaptations: array( + 0: Stmt_TraitUseAdaptation_Alias( + trait: Name( + parts: array( + 0: A + ) + ) + method: Identifier( + name: b + ) + newModifier: null + newName: Identifier( + name: c + ) + ) + 1: Stmt_TraitUseAdaptation_Alias( + trait: null + method: Identifier( + name: d + ) + newModifier: MODIFIER_PUBLIC (1) + newName: Identifier( + name: e + ) + ) + ) + ) + ) + ) + 2: Stmt_Interface( + name: Identifier( + name: Bar + ) + extends: array( + ) + stmts: array( + ) + ) + 3: Stmt_Trait( + name: Identifier( + name: Baz + ) + stmts: array( + ) + ) + 4: Stmt_Function( + byRef: false + name: Identifier( + name: foo + ) + params: array( + ) + returnType: null + stmts: array( + ) + ) + 5: Stmt_Const( + consts: array( + 0: Const( + name: Identifier( + name: FOO + ) + value: Scalar_LNumber( + value: 1 + ) + ) + ) + ) + 6: Stmt_Declare( + declares: array( + 0: Stmt_DeclareDeclare( + key: Identifier( + name: foo + ) + value: Scalar_LNumber( + value: 1 + ) + ) + ) + stmts: null + ) + 7: Stmt_Label( + name: Identifier( + name: foo + ) + ) + 8: Stmt_Goto( + name: Identifier( + name: foo + ) + ) + 9: Expr_ClassConstFetch( + class: Name( + parts: array( + 0: Foo + ) + ) + name: Identifier( + name: BAR + ) + ) + 10: Expr_PropertyFetch( + var: Expr_Variable( + name: foo + ) + name: Identifier( + name: bar + ) + ) + 11: Expr_MethodCall( + var: Expr_Variable( + name: foo + ) + name: Identifier( + name: bar + ) + args: array( + ) + ) + 12: Expr_StaticCall( + class: Name( + parts: array( + 0: Foo + ) + ) + name: Identifier( + name: bar + ) + args: array( + ) + ) + 13: Scalar_Encapsed( + parts: array( + 0: Expr_PropertyFetch( + var: Expr_Variable( + name: foo + ) + name: Identifier( + name: bar + ) + ) + ) + ) + 14: Expr_Variable( + name: foo + ) +) \ No newline at end of file