From f3b19c19ef147dc4e0adfce628d21031a7e20869 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Votruba?= Date: Thu, 9 May 2019 14:17:28 +0200 Subject: [PATCH] [PHP 7.4] Add support for arrow functions (#602) Per RFC https://wiki.php.net/rfc/arrow_functions_v2. --- grammar/php5.y | 2 +- grammar/php7.y | 8 +- grammar/tokens.y | 1 + lib/PhpParser/Lexer/Emulative.php | 80 +- .../CoaleseEqualTokenEmulator.php | 54 + .../Lexer/TokenEmulator/FnTokenEmulator.php | 66 + .../TokenEmulator/TokenEmulatorInterface.php | 17 + lib/PhpParser/Node/Expr/ArrowFunction.php | 71 + lib/PhpParser/Node/Name.php | 6 +- lib/PhpParser/Parser/Php5.php | 2590 ++++++++--------- lib/PhpParser/Parser/Php7.php | 2393 +++++++-------- lib/PhpParser/Parser/Tokens.php | 274 +- lib/PhpParser/PrettyPrinter/Standard.php | 9 + lib/PhpParser/PrettyPrinterAbstract.php | 3 + test/PhpParser/Lexer/EmulativeTest.php | 19 +- .../NodeVisitor/NameResolverTest.php | 8 +- .../formatPreservation/arrow_function.test | 97 + test/code/parser/expr/arrow_function.test | 145 + .../prettyPrinter/expr/arrow_function.test | 18 + test_old/run-php-src.sh | 4 +- 20 files changed, 3177 insertions(+), 2688 deletions(-) create mode 100644 lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php create mode 100644 lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php create mode 100644 lib/PhpParser/Lexer/TokenEmulator/TokenEmulatorInterface.php create mode 100644 lib/PhpParser/Node/Expr/ArrowFunction.php create mode 100644 test/code/formatPreservation/arrow_function.test create mode 100644 test/code/parser/expr/arrow_function.test create mode 100644 test/code/prettyPrinter/expr/arrow_function.test diff --git a/grammar/php5.y b/grammar/php5.y index 9f7b6cf..4afc026 100644 --- a/grammar/php5.y +++ b/grammar/php5.y @@ -27,7 +27,7 @@ reserved_non_modifiers: | T_FINALLY | T_THROW | T_USE | T_INSTEADOF | T_GLOBAL | T_VAR | T_UNSET | T_ISSET | T_EMPTY | T_CONTINUE | T_GOTO | T_FUNCTION | T_CONST | T_RETURN | T_PRINT | T_YIELD | T_LIST | T_SWITCH | T_ENDSWITCH | T_CASE | T_DEFAULT | T_BREAK | T_ARRAY | T_CALLABLE | T_EXTENDS | T_IMPLEMENTS | T_NAMESPACE | T_TRAIT | T_INTERFACE | T_CLASS - | T_CLASS_C | T_TRAIT_C | T_FUNC_C | T_METHOD_C | T_LINE | T_FILE | T_DIR | T_NS_C | T_HALT_COMPILER + | T_CLASS_C | T_TRAIT_C | T_FUNC_C | T_METHOD_C | T_LINE | T_FILE | T_DIR | T_NS_C | T_HALT_COMPILER | T_FN ; semi_reserved: diff --git a/grammar/php7.y b/grammar/php7.y index 0d927ab..3392a5e 100644 --- a/grammar/php7.y +++ b/grammar/php7.y @@ -27,7 +27,7 @@ reserved_non_modifiers: | T_FINALLY | T_THROW | T_USE | T_INSTEADOF | T_GLOBAL | T_VAR | T_UNSET | T_ISSET | T_EMPTY | T_CONTINUE | T_GOTO | T_FUNCTION | T_CONST | T_RETURN | T_PRINT | T_YIELD | T_LIST | T_SWITCH | T_ENDSWITCH | T_CASE | T_DEFAULT | T_BREAK | T_ARRAY | T_CALLABLE | T_EXTENDS | T_IMPLEMENTS | T_NAMESPACE | T_TRAIT | T_INTERFACE | T_CLASS - | T_CLASS_C | T_TRAIT_C | T_FUNC_C | T_METHOD_C | T_LINE | T_FILE | T_DIR | T_NS_C | T_HALT_COMPILER + | T_CLASS_C | T_TRAIT_C | T_FUNC_C | T_METHOD_C | T_LINE | T_FILE | T_DIR | T_NS_C | T_HALT_COMPILER | T_FN ; semi_reserved: @@ -729,6 +729,12 @@ expr: | T_YIELD expr { $$ = Expr\Yield_[$2, null]; } | T_YIELD expr T_DOUBLE_ARROW expr { $$ = Expr\Yield_[$4, $2]; } | T_YIELD_FROM expr { $$ = Expr\YieldFrom[$2]; } + + | T_FN optional_ref '(' parameter_list ')' optional_return_type T_DOUBLE_ARROW expr + { $$ = Expr\ArrowFunction[['static' => false, 'byRef' => $2, 'params' => $4, 'returnType' => $6, 'expr' => $8]]; } + | T_STATIC T_FN optional_ref '(' parameter_list ')' optional_return_type T_DOUBLE_ARROW expr + { $$ = Expr\ArrowFunction[['static' => true, 'byRef' => $3, 'params' => $5, 'returnType' => $7, 'expr' => $9]]; } + | T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars optional_return_type block_or_error { $$ = Expr\Closure[['static' => false, 'byRef' => $2, 'params' => $4, 'uses' => $6, 'returnType' => $7, 'stmts' => $8]]; } diff --git a/grammar/tokens.y b/grammar/tokens.y index fe7beff..dd83a6f 100644 --- a/grammar/tokens.y +++ b/grammar/tokens.y @@ -64,6 +64,7 @@ %token T_CONTINUE %token T_GOTO %token T_FUNCTION +%token T_FN %token T_CONST %token T_RETURN %token T_TRY diff --git a/lib/PhpParser/Lexer/Emulative.php b/lib/PhpParser/Lexer/Emulative.php index 3bae4a4..5d10b9a 100644 --- a/lib/PhpParser/Lexer/Emulative.php +++ b/lib/PhpParser/Lexer/Emulative.php @@ -4,9 +4,12 @@ namespace PhpParser\Lexer; use PhpParser\Error; use PhpParser\ErrorHandler; -use PhpParser\Parser; +use PhpParser\Lexer; +use PhpParser\Lexer\TokenEmulator\CoaleseEqualTokenEmulator; +use PhpParser\Lexer\TokenEmulator\FnTokenEmulator; +use PhpParser\Lexer\TokenEmulator\TokenEmulatorInterface; -class Emulative extends \PhpParser\Lexer +class Emulative extends Lexer { const PHP_7_3 = '7.3.0dev'; const PHP_7_4 = '7.4.0dev'; @@ -17,13 +20,12 @@ class Emulative extends \PhpParser\Lexer (?\h*)\2(?![a-zA-Z_\x80-\xff])(?(?:;?[\r\n])?)/x REGEX; - const T_COALESCE_EQUAL = 1007; - - /** - * @var mixed[] Patches used to reverse changes introduced in the code - */ + /** @var mixed[] Patches used to reverse changes introduced in the code */ private $patches = []; + /** @var TokenEmulatorInterface[] */ + private $tokenEmulators = []; + /** * @param mixed[] $options */ @@ -31,8 +33,14 @@ REGEX; { parent::__construct($options); + // prepare token emulators + $this->tokenEmulators[] = new FnTokenEmulator(); + $this->tokenEmulators[] = new CoaleseEqualTokenEmulator(); + // add emulated tokens here - $this->tokenMap[self::T_COALESCE_EQUAL] = Parser\Tokens::T_COALESCE_EQUAL; + foreach ($this->tokenEmulators as $emulativeToken) { + $this->tokenMap[$emulativeToken->getTokenId()] = $emulativeToken->getParserTokenId(); + } } public function startLexing(string $code, ErrorHandler $errorHandler = null) { @@ -50,8 +58,13 @@ REGEX; $preparedCode = $this->processHeredocNowdoc($code); parent::startLexing($preparedCode, $collector); - // 2. emulation of ??= token - $this->processCoaleseEqual($code); + // add token emulation + foreach ($this->tokenEmulators as $emulativeToken) { + if ($emulativeToken->isEmulationNeeded($code)) { + $this->tokens = $emulativeToken->emulate($code, $this->tokens); + } + } + $this->fixupTokens(); $errors = $collector->getErrors(); @@ -63,41 +76,6 @@ REGEX; } } - private function isCoalesceEqualEmulationNeeded(string $code): bool - { - // skip version where this works without emulation - if (version_compare(\PHP_VERSION, self::PHP_7_4, '>=')) { - return false; - } - - return strpos($code, '??=') !== false; - } - - private function processCoaleseEqual(string $code) - { - if ($this->isCoalesceEqualEmulationNeeded($code) === false) { - return; - } - - // We need to manually iterate and manage a count because we'll change - // the tokens array on the way - $line = 1; - for ($i = 0, $c = count($this->tokens); $i < $c; ++$i) { - if (isset($this->tokens[$i + 1])) { - if ($this->tokens[$i][0] === T_COALESCE && $this->tokens[$i + 1] === '=') { - array_splice($this->tokens, $i, 2, [ - [self::T_COALESCE_EQUAL, '??=', $line] - ]); - $c--; - continue; - } - } - if (\is_array($this->tokens[$i])) { - $line += substr_count($this->tokens[$i][1], "\n"); - } - } - } - private function isHeredocNowdocEmulationNeeded(string $code): bool { // skip version where this works without emulation @@ -155,15 +133,13 @@ REGEX; private function isEmulationNeeded(string $code): bool { - if ($this->isHeredocNowdocEmulationNeeded($code)) { - return true; + foreach ($this->tokenEmulators as $emulativeToken) { + if ($emulativeToken->isEmulationNeeded($code)) { + return true; + } } - if ($this->isCoalesceEqualEmulationNeeded($code)) { - return true; - } - - return false; + return $this->isHeredocNowdocEmulationNeeded($code); } private function fixupTokens() diff --git a/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php b/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php new file mode 100644 index 0000000..ca6cf13 --- /dev/null +++ b/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php @@ -0,0 +1,54 @@ +=')) { + return false; + } + + return strpos($code, '??=') !== false; + } + + public function emulate(string $code, array $tokens): array + { + // We need to manually iterate and manage a count because we'll change + // the tokens array on the way + $line = 1; + for ($i = 0, $c = count($tokens); $i < $c; ++$i) { + if (isset($tokens[$i + 1])) { + if ($tokens[$i][0] === T_COALESCE && $tokens[$i + 1] === '=') { + array_splice($tokens, $i, 2, [ + [self::T_COALESCE_EQUAL, '??=', $line] + ]); + $c--; + continue; + } + } + if (\is_array($tokens[$i])) { + $line += substr_count($tokens[$i][1], "\n"); + } + } + + return $tokens; + } +} diff --git a/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php b/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php new file mode 100644 index 0000000..2059693 --- /dev/null +++ b/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php @@ -0,0 +1,66 @@ +=')) { + return false; + } + + return strpos($code, 'fn') !== false; + } + + public function emulate(string $code, array $tokens): array + { + // We need to manually iterate and manage a count because we'll change + // the tokens array on the way + foreach ($tokens as $i => $token) { + if ($token[0] === T_STRING && $token[1] === 'fn') { + $previousNonSpaceToken = $this->getPreviousNonSpaceToken($tokens, $i); + if ($previousNonSpaceToken !== null && $previousNonSpaceToken[0] === T_OBJECT_OPERATOR) { + continue; + } + + $tokens[$i][0] = self::T_FN; + } + } + + return $tokens; + } + + /** + * @param mixed[] $tokens + * @return mixed[]|null + */ + private function getPreviousNonSpaceToken(array $tokens, int $start) + { + for ($i = $start - 1; $i >= 0; --$i) { + if ($tokens[$i][0] === T_WHITESPACE) { + continue; + } + + return $tokens[$i]; + } + + return null; + } +} diff --git a/lib/PhpParser/Lexer/TokenEmulator/TokenEmulatorInterface.php b/lib/PhpParser/Lexer/TokenEmulator/TokenEmulatorInterface.php new file mode 100644 index 0000000..6ef5b9d --- /dev/null +++ b/lib/PhpParser/Lexer/TokenEmulator/TokenEmulatorInterface.php @@ -0,0 +1,17 @@ + false : Whether the closure is static + * 'byRef' => false : Whether to return by reference + * 'params' => array() : Parameters + * 'returnType' => null : Return type + * 'expr' => Expr : Expression body + * @param array $attributes Additional attributes + */ + public function __construct(array $subNodes = [], array $attributes = []) { + parent::__construct($attributes); + $this->static = $subNodes['static'] ?? false; + $this->byRef = $subNodes['byRef'] ?? false; + $this->params = $subNodes['params'] ?? []; + $returnType = $subNodes['returnType'] ?? null; + $this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType; + $this->expr = $subNodes['expr'] ?? null; + } + + public function getSubNodeNames() : array { + return ['static', 'byRef', 'params', 'returnType', 'expr']; + } + + public function returnsByRef() : bool { + return $this->byRef; + } + + public function getParams() : array { + return $this->params; + } + + public function getReturnType() { + return $this->returnType; + } + + /** + * @return Node\Stmt\Return_[] + */ + public function getStmts() : array { + return [new Node\Stmt\Return_($this->expr)]; + } + + public function getType() : string { + return 'Expr_ArrowFunction'; + } +} diff --git a/lib/PhpParser/Node/Name.php b/lib/PhpParser/Node/Name.php index 5d923d0..67099d5 100644 --- a/lib/PhpParser/Node/Name.php +++ b/lib/PhpParser/Node/Name.php @@ -6,9 +6,7 @@ use PhpParser\NodeAbstract; class Name extends NodeAbstract { - /** - * @var string[] Parts of the name - */ + /** @var string[] Parts of the name */ public $parts; private static $specialClassNames = [ @@ -237,7 +235,7 @@ class Name extends NodeAbstract 'Expected string, array of parts or Name instance' ); } - + public function getType() : string { return 'Name'; } diff --git a/lib/PhpParser/Parser/Php5.php b/lib/PhpParser/Parser/Php5.php index 643aa7f..29e905d 100644 --- a/lib/PhpParser/Parser/Php5.php +++ b/lib/PhpParser/Parser/Php5.php @@ -17,11 +17,11 @@ use PhpParser\Node\Stmt; */ class Php5 extends \PhpParser\ParserAbstract { - protected $tokenToSymbolMapSize = 393; - protected $actionTableSize = 1111; + protected $tokenToSymbolMapSize = 395; + protected $actionTableSize = 1075; protected $gotoTableSize = 647; - protected $invalidSymbol = 158; + protected $invalidSymbol = 159; protected $errorSymbol = 1; protected $defaultAction = -32766; protected $unexpectedTokenRule = 32767; @@ -134,6 +134,7 @@ class Php5 extends \PhpParser\ParserAbstract "T_CONTINUE", "T_GOTO", "T_FUNCTION", + "T_FN", "T_CONST", "T_RETURN", "T_TRY", @@ -191,396 +192,388 @@ class Php5 extends \PhpParser\ParserAbstract ); protected $tokenToSymbol = array( - 0, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 54, 157, 158, 154, 53, 36, 158, - 152, 153, 51, 48, 7, 49, 50, 52, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 30, 149, - 42, 15, 44, 29, 66, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 68, 158, 156, 35, 158, 155, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 150, 34, 151, 56, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 1, 2, 3, 4, - 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 31, 32, 33, 37, 38, 39, 40, 41, - 43, 45, 46, 47, 55, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 67, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 158, - 158, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 158, 158, 158, - 158, 158, 158, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148 + 0, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 54, 158, 159, 155, 53, 36, 159, + 153, 154, 51, 48, 7, 49, 50, 52, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 30, 150, + 42, 15, 44, 29, 66, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 68, 159, 157, 35, 159, 156, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 151, 34, 152, 56, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 1, 159, 2, 3, + 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 31, 32, 33, 37, 38, 39, 40, + 41, 43, 45, 46, 47, 55, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 67, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 159, 159, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 159, + 159, 159, 159, 159, 159, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149 ); protected $action = array( - 679, 680, 681, 682, 683, 0, 684, 685, 686, 722, + 679, 680, 681, 682, 683, 281, 684, 685, 686, 722, 723, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 208, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 0, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,-32766,-32766,-32766,-32766,-32766,-32766,-32766, - -32766,-32767,-32767,-32767,-32767, 124, 241, 242,-32766,-32766, - -32766,-32766,-32766, 687,-32766, 30,-32766,-32766,-32766,-32766, + -32766,-32767,-32767,-32767,-32767, 1050, 241, 242,-32766,-32766, + -32766,-32766,-32766, 687,-32766,-32766,-32766,-32766,-32766,-32766, -32766,-32766,-32767,-32767,-32767,-32767,-32767, 688, 689, 690, - 691, 692, 693, 694, 1185, 415, 754, 956, 957, 958, - 955, 954, 953, 695, 696, 697, 698, 699, 700, 701, + 691, 692, 693, 694, 832, 30, 755, 957, 958, 959, + 956, 955, 954, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 725, 726, 727, 728, 729, 717, - 718, 719, 720, 721, 706, 707, 708, 709, 710, 711, - 712, 748, 749, 750, 751, 752, 753, 713, 714, 715, - 716, 746, 737, 735, 736, 732, 733, 281, 724, 730, - 731, 738, 739, 741, 740, 742, 743, 54, 55, 424, - 56, 57, 734, 745, 744, 423, 58, 59, 338, 60, - -32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766, - -32767,-32767,-32767,-32767,-32767,-32767,-32767,-32767, 96, 97, - 98, 99, 100, 330, 101, 102, 103, 831, 302,-32766, - -32766,-32766,-32766, 61, 62, 758, 1049, 761, 296, 63, - 104, 64, 292, 293, 65, 66, 67, 68, 69, 70, - 71, 72, 349, 26, 300, 73, 416,-32766,-32766,-32766, - 219, 1100, 1101, 758,-32766, 761,-32766,-32766,-32766, 473, - 1077, 1049, 832,-32766,-32766,-32766, 333, 283,-32766, 204, - -32766,-32766,-32766,-32766,-32766,-32766, 48,-32766, 436,-32766, - -32766,-32766,-32766,-32766,-32766, 296,-32766,-32766, 497, 352, - 422, 498, 310, 550, 432, 1199, 481, 482, 52, 437, - 446, 334, 903, 904, 298, 483, 484, -219, 1106, 1107, - 1108, 1109, 1103, 1104, 311, 498, 773, 774, 432, 498, - 1110, 1105, 432, 217, 218, 219,-32766, 41,-32766, 334, - 322, 1067, 323, 425, -125, -125, -125, -4, 832, 472, - 127, 1049, 419, 820, 204, 909, 40, 21, 426, -125, - 474, -125, 475, -125, 476, -125, 756, 427, 119, 308, - 409, 31, 32, 428, 429, 822, 33, 477, 218, 219, - 74, 421, 756, 350, 351, 478, 479,-32766,-32766,-32766, - 123, 480, 25, 879, 803, 850, 430, 431, 204, 1049, - 49, 956, 957, 958, 955, 954, 953, 127,-32766, 36, - -32766,-32766,-32766,-32766, 630, 903, 904, 299, 832, 425, - 834, 645, -125, 1200, 761, 472, 1049, 1218, 498, 820, - 447, 432, 40, 21, 426, 1185, 474, -223, 475, 10, - 476, 817, 929, 427,-32766,-32766,-32766, 31, 32, 428, - 429, 407, 33, 477, 129, 420, 74, 321, 334, 350, - 351, 478, 479, 217, 218, 219, 1049, 480,-32766,-32766, - 765, 850, 430, 431,-32766,-32766, 238, 239, 240, 51, - 631, 1150, 120, 432, 204, 29, 295, 934, 832, 425, - 210, 335, 241, 242, 772, 472, 834, 645, -4, 820, - 417, 1049, 40, 21, 426, 128, 474, 592, 475, 338, - 476, 483, 880, 427, -203, -203, -203, 31, 32, 428, - 429, 337, 33, 477, 122, 297, 74, 20,-32766, 350, - 351, 478, 479,-32766,-32766,-32766, 815, 480, 910, 246, - 803, 850, 430, 431,-32766,-32766,-32766, 9, 132, 217, - 218, 219, 583, 326,-32766, 1049,-32766,-32766,-32766, 425, - 524, 121, 948, 813, 1112, 472, 834, 645, -203, 820, - 204, 245, 40, 21, 426, 248, 474, 247, 475, 284, - 476, 930, 449, 427, -204, -204, -204, 31, 32, 428, - 429, 118, 33, 477, -254, 832, 74, 818, 209, 350, - 351, 478, 479, 811, 217, 218, 219, 480, 1151, 243, - 803, 850, 430, 431,-32766,-32766,-32766, 1112, 78, 79, - 80, 235, 236, 237, 648, 204, 98, 99, 100, 77, - 211, 1227, 131, 334, 1228,-32766, 834, 645, -204, 34, - 204, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 832, 302, 425, 217, 218, 219, - 241, 242, 472, 1049, 1049, 498, 820, 104, 432, 40, - 21, 426, 830, 474, 659, 475, 442, 476, 204, 647, - 427, 843, 126, 649, 31, 32, 428, 294, 656, 33, - 477, 461, 599, 74, 456, 22, 350, 351, 773, 774, - 832, 133, 360, 314, 480, 606, 607, 945, 665, 933, - 673, 766, 651, -82,-32766, 302, 53, 104, 614, 758, - 961, 530, 43, 44, 45, 425, 300, 46, 626, 653, - 50, 472, 47, 834, 645, 820, 130, 639, 40, 21, - 426, 759, 474, 756, 475, 604, 476, -273, 445, 427, - 761, 832,-32766, 31, 32, 428, 852, 327, 33, 477, - 586, -80, 74, 851, 329, 350, 351, 1111, 618, 1157, - 11, 425, 448, 480, 280, 603, -404, 472, 589, 440, - 662, 820, 845, 466, 40, 21, 426, 610, 474, 0, - 475, 0, 476, 0, 0, 427, 0, 832, 324, 31, - 32, 428, 834, 645, 33, 477, 0, 0, 74, 0, - 0, 350, 351, 325, 483, 309, 307, -504, -503, 480, - 0, 0, 425, 0, 0, 0, 657, 0, 472, 0, - 0, 0, 820, 14, 5, 40, 21, 426, 6, 474, - 359, 475, 668, 476, -412, 12, 427, -413, 866, 645, - 31, 32, 428, 442, 384, 33, 477, 411, 410, 74, - 385, 393, 350, 351, 373, 532, 832, 847, 425, 812, - 480, 39, 38, 882, 472, 823, 771, 821, 820, 939, - 808, 40, 21, 426, 669, 474, 770, 475, 244, 476, - 829, 938, 427, 941, 814, 769, 31, 32, 428, 834, - 645, 33, 477, 816, 828, 74, 212, 213, 350, 351, - 874, 806, 214, 940, 215, 867, 480, 864, 819, 862, - 937, 873, 1047, 331, 77, 646, 206, 650, 652, 654, - 655, 658, 660, 661, 1100, 1101, 663, 425,-32766, 664, - 332, 405, 1102, 472, 406, 834, 645, 820, 125, 42, - 40, 21, 426, 775, 474, 778, 475, 777, 476, 872, - 670, 427, 804, 1224, 460, 31, 32, 428, 1223, 1193, - 33, 477, 1191, 1176, 74, 1189, 1091, 350, 351, 921, - 1197, 1187, 871, 946, 837, 480, 1052, 846, 1051, 571, - 839, 1106, 1107, 1108, 1109, 1103, 1104, 383, 1063, 212, - 213, 776, 1225, 1110, 1105, 214, 848, 215, 767, 1028, - 216, 849,-32766, 768, 834, 645, 37, 1226, -422, 206, - 28, 414, 408, 339, 75, 76, 306, 1100, 1101, 305, - 304,-32766, 303, 27, 24, 1102, 35, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 291, 290, 282,-32766, 207, 0, 575, 1029, 1053, -220, - 1093, -219, 16, 1116, 911, 1057, 1054, 636, 565, 470, - 465, 464, 457, 378, 18, 17, 0, 285, 988, 990, - 1171, 1170, 571, 1117, 1106, 1107, 1108, 1109, 1103, 1104, - 383, 1221, 1090, 1188, 1060, 1175, 1110, 1105, 1190, 1076, - 1061, 1062, 1059, 216, 1058,-32766, 1156, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -503 + 718, 719, 747, 720, 721, 706, 707, 708, 709, 710, + 711, 712, 749, 750, 751, 752, 753, 754, 713, 714, + 715, 716, 746, 737, 735, 736, 732, 733, 1186, 724, + 730, 731, 738, 739, 741, 740, 742, 743, 54, 55, + 424, 56, 57, 734, 745, 744, -220, 58, 59, 417, + 60,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766, + 25,-32767,-32767,-32767,-32767,-32767,-32767,-32767,-32767, 96, + 97, 98, 99, 100, 9, 904, 905,-32766, 1200, 759, + 326, 762, 1186, 812, 61, 62, 52, 283, 498, 949, + 63, 432, 64, 292, 293, 65, 66, 67, 68, 69, + 70, 71, 72, 338, 26, 300, 73, 416,-32766,-32766, + -32766, 880, 1101, 1102, 759, 1078, 762,-32766,-32766,-32766, + 473, -255, 296, 823, 833, 757, 217, 218, 219,-32766, + 36,-32766,-32766,-32766,-32766,-32766,-32766, 124,-32766, 436, + -32766,-32766,-32766,-32766,-32766, 1050, 498, 204, 308, 432, + 497, 421, 1050, 128, 437, 757, 334, 338, 481, 482, + 10, 957, 958, 959, 956, 955, 954, 483, 484, 123, + 1107, 1108, 1109, 1110, 1104, 1105, 311,-32766,-32766,-32766, + -32766, 498, 1111, 1106, 432, 217, 218, 219, 423, 41, + 762, 334, 322, 1219, 323, 425, -126, -126, -126, -4, + 833, 472,-32766,-32766,-32766, 821, 204, 911, 40, 21, + 426, -126, 474, -126, 475, -126, 476, -126,-32766, 427, + 217, 218, 219, 31, 32, 428, 429, 352, 129, 33, + 477, 881, 334, 74, 1201, 127, 350, 351, 478, 479, + 910, 204, 245, 419, 480, 208, 1050, 804, 851, 430, + 431, 299, 29, 295, 35, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 420, 1050, + 296, 425, 1152, 835, 645, -126, 833, 472, 101, 102, + 103, 821, 302, 814, 40, 21, 426, 310, 474, 630, + 475,-32766, 476,-32766, 104, 427, 989, 991, 20, 31, + 32, 428, 429, 931, 407, 33, 477, 218, 219, 74, + 321, 446, 350, 351, 478, 479,-32766,-32766,-32766, 422, + 480, 1050, 337, 766, 851, 430, 431, 204,-32766,-32766, + -32766, 48, 904, 905, 1151, 1068, 550,-32766, 49,-32766, + -32766,-32766,-32766, 330, 335, 498, 483, 425, 432, 835, + 645, -4, 833, 472, -224, 1050, 631, 821, 51, 432, + 40, 21, 426, 935, 474, 774, 475, 775, 476, -504, + 818, 427, -205, -205, -205, 31, 32, 428, 429, 284, + 415, 33, 477, 127, 449, 74, 773, 592, 350, 351, + 478, 479,-32766,-32766,-32766, 349, 480, 524, 1050, 804, + 851, 430, 431, 238, 239, 240, 118,-32766,-32766,-32766, + 409, 819, 333,-32766, 119,-32766,-32766,-32766, 298, 241, + 242, 120, 294, 425, 219, 835, 645, -205,-32766, 472, + -32766,-32766, 447, 821,-32766,-32766, 40, 21, 426, 1050, + 474, 121, 475, 204, 476, 1113, 122, 427, -204, -204, + -204, 31, 32, 428, 429, 1113,-32766, 33, 477, 816, + 833, 74, 930, 297, 350, 351, 478, 479, 209, 217, + 218, 219, 480, 210, 243, 804, 851, 430, 431,-32766, + -32766,-32766, 211, 78, 79, 80, 98, 99, 100, 648, + 204, 235, 236, 237, 1228, 77, 774, 1229, 775, 334, + -32766, 835, 645, -204, 34, 246, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 1050, + 302, 425, 132, 247, 833, 498, 583, 472, 432, 248, + 442, 821, 104, 647, 40, 21, 426, 126, 474, 204, + 475, 844, 476,-32766,-32766, 427, 217, 218, 219, 31, + 32, 428, -83, 649, 314, 33, 477, 833, 656, 74, + 241, 242, 350, 351, 456, 22, 659, 204, 461, 599, + 480, 133, 360, 831, 606, 607, 767, 651, 131, 946, + 665, 934, 673, 104, 302, 43, 653, 44, 45, 46, + 614, 759, -274, 47, 50, 425, 300, 586, 53, 835, + 645, 472, 130, 589, 440, 821, 466, 604, 40, 21, + 426, 757, 474, 760, 475,-32766, 476, 762, 445, 427, + 962, 325, 530, 31, 32, 428, 324, 852, 425, 33, + 477, 833, 639, 74, 472, 618, 350, 351, 821, 626, + -81, 40, 21, 426, 480, 474, 11, 475, 448, 476, + 280, 603, 427, 846, -221, -423, 31, 32, 428, 1112, + 657, 327, 33, 477, 833, 0, 74, 0, 0, 350, + 351, 853, 329, 835, 645, 0, 0, 480, 0, 0, + -504, 0, 307, 0, 0, 0, 0, 309, -505, 0, + 483, 0, 0, 662, 0, 0, 0, 0, 0, 0, + 0, 1158, 425, 0, 0, -413, 867, 645, 472, -405, + 5, 833, 821, 6, 12, 40, 21, 426, 14, 474, + 359, 475, -414, 476, 77, 373, 427, 384, 385, 393, + 31, 32, 428, 442, 532, 425, 33, 477, 410, 411, + 74, 472, 38, 350, 351, 821, 39, 668, 40, 21, + 426, 480, 474, 669, 475, 772, 476, 822, 830, 427, + 809, 824, 883, 31, 32, 428, 874, 875, 807, 33, + 477, 868, 865, 74, 863, 941, 350, 351, 942, 939, + 835, 645, 425, 813, 480, 815, 817, 829, 472, 820, + 938, 770, 821, 771, 940, 40, 21, 426, 646, 474, + 650, 475, 652, 476, 654, 655, 427, 658, 244, 660, + 31, 32, 428, 835, 645, 661, 33, 477, 663, 664, + 74, 125, 331, 350, 351, 332, 212, 213, 405, 406, + -220, 480, 214, 670, 215, 805, 1225, 1227, 769, 850, + 768, 849, 1226, 848, 1064, 840, 206, 1052, 847, 1053, + 838, 212, 213, 947, 1101, 1102, 872, 214,-32766, 215, + 835, 645, 1103, 873, 460, 1224, 1194, 1192, 1177, 1190, + 1092, 206, 922, 1198, 1188, 778, 779, 776, 777, 1101, + 1102, 24, 27,-32766, 28, 37, 42, 1103, 75, 76, + 207, 282, 290, 291, 303, 304, 305, 306, 339, 408, + 414,-32766, 0, 16, 17, 18, 378, 457, 464, 465, + 571, 470, 1107, 1108, 1109, 1110, 1104, 1105, 383, 565, + 636, 1055, 1058, 912, 1111, 1106, 1117, 1054, 1030, 575, + 1029, 216, 285,-32766, 1094, 571, 1059, 1107, 1108, 1109, + 1110, 1104, 1105, 383, 1048, 1157, 1061, 1060, 1063, 1111, + 1106, 1062, 1077, 1191, 1176, 1172, 216, 1189,-32766, 1091, + 0, 1222, 1118, 1171, 610 ); protected $actionCheck = array( - 2, 3, 4, 5, 6, 0, 8, 9, 10, 11, + 2, 3, 4, 5, 6, 13, 8, 9, 10, 11, 12, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 7, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 8, 9, 10, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 7, 67, 68, 32, 33, - 34, 35, 36, 55, 29, 7, 31, 32, 33, 34, + 36, 37, 38, 39, 40, 12, 67, 68, 32, 33, + 34, 35, 36, 55, 29, 8, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 69, 70, 71, - 72, 73, 74, 75, 80, 7, 78, 113, 114, 115, - 116, 117, 118, 85, 86, 87, 88, 89, 90, 91, + 72, 73, 74, 75, 1, 7, 78, 114, 115, 116, + 117, 118, 119, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 13, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 2, 3, 4, - 5, 6, 144, 145, 146, 7, 11, 12, 154, 14, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 8, - 42, 43, 44, 45, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 7, 51, 52, 53, 1, 55, 32, - 33, 34, 35, 48, 49, 78, 12, 80, 36, 54, - 67, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 7, 68, 69, 70, 71, 8, 9, 10, - 10, 76, 77, 78, 80, 80, 8, 9, 10, 84, - 113, 12, 1, 8, 9, 10, 7, 7, 29, 29, - 31, 32, 33, 34, 35, 36, 68, 29, 103, 31, - 32, 33, 34, 35, 29, 36, 31, 32, 113, 7, - 7, 144, 7, 79, 147, 1, 121, 122, 68, 152, - 30, 154, 131, 132, 7, 130, 131, 153, 133, 134, - 135, 136, 137, 138, 139, 144, 103, 104, 147, 144, - 145, 146, 147, 8, 9, 10, 152, 152, 154, 154, - 155, 153, 157, 72, 73, 74, 75, 0, 1, 78, - 148, 12, 7, 82, 29, 153, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 78, 96, 150, 129, - 147, 100, 101, 102, 103, 149, 105, 106, 9, 10, - 109, 7, 78, 112, 113, 114, 115, 8, 9, 10, - 150, 120, 7, 30, 123, 124, 125, 126, 29, 12, - 68, 113, 114, 115, 116, 117, 118, 148, 29, 13, - 31, 32, 33, 34, 78, 131, 132, 36, 1, 72, - 149, 150, 151, 153, 80, 78, 12, 83, 144, 82, - 150, 147, 85, 86, 87, 80, 89, 153, 91, 7, - 93, 149, 149, 96, 8, 9, 10, 100, 101, 102, - 103, 104, 105, 106, 150, 7, 109, 110, 154, 112, - 113, 114, 115, 8, 9, 10, 12, 120, 8, 9, - 123, 124, 125, 126, 32, 33, 51, 52, 53, 68, - 144, 156, 150, 147, 29, 141, 142, 151, 1, 72, - 15, 144, 67, 68, 149, 78, 149, 150, 151, 82, - 124, 12, 85, 86, 87, 150, 89, 83, 91, 154, - 93, 130, 149, 96, 97, 98, 99, 100, 101, 102, - 103, 68, 105, 106, 13, 36, 109, 153, 152, 112, - 113, 114, 115, 8, 9, 10, 149, 120, 153, 15, - 123, 124, 125, 126, 32, 33, 34, 104, 150, 8, - 9, 10, 154, 110, 29, 12, 31, 32, 33, 72, - 83, 150, 119, 149, 140, 78, 149, 150, 151, 82, - 29, 30, 85, 86, 87, 15, 89, 15, 91, 36, - 93, 149, 129, 96, 97, 98, 99, 100, 101, 102, - 103, 15, 105, 106, 151, 1, 109, 149, 15, 112, - 113, 114, 115, 149, 8, 9, 10, 120, 153, 13, - 123, 124, 125, 126, 8, 9, 10, 140, 8, 9, - 10, 48, 49, 50, 30, 29, 48, 49, 50, 150, - 15, 78, 30, 154, 81, 29, 149, 150, 151, 29, - 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 1, 55, 72, 8, 9, 10, - 67, 68, 78, 12, 12, 144, 82, 67, 147, 85, - 86, 87, 30, 89, 30, 91, 147, 93, 29, 150, - 96, 36, 30, 30, 100, 101, 102, 36, 30, 105, - 106, 73, 74, 109, 73, 74, 112, 113, 103, 104, - 1, 98, 99, 30, 120, 107, 108, 149, 150, 149, - 150, 149, 150, 30, 32, 55, 68, 67, 75, 78, - 80, 83, 68, 68, 68, 72, 69, 68, 92, 30, - 68, 78, 68, 149, 150, 82, 68, 90, 85, 86, - 87, 78, 89, 78, 91, 110, 93, 80, 87, 96, - 80, 1, 83, 100, 101, 102, 124, 111, 105, 106, - 88, 95, 109, 124, 127, 112, 113, 140, 94, 140, - 95, 72, 95, 120, 95, 97, 143, 78, 97, 103, - 30, 82, 148, 103, 85, 86, 87, 156, 89, -1, - 91, -1, 93, -1, -1, 96, -1, 1, 127, 100, - 101, 102, 149, 150, 105, 106, -1, -1, 109, -1, - -1, 112, 113, 128, 130, 129, 129, 129, 129, 120, - -1, -1, 72, -1, -1, -1, 30, -1, 78, -1, - -1, -1, 82, 143, 143, 85, 86, 87, 143, 89, - 143, 91, 149, 93, 143, 143, 96, 143, 149, 150, - 100, 101, 102, 147, 147, 105, 106, 147, 147, 109, - 147, 147, 112, 113, 147, 147, 1, 151, 72, 149, - 120, 149, 149, 149, 78, 149, 149, 149, 82, 149, - 149, 85, 86, 87, 149, 89, 149, 91, 30, 93, - 149, 149, 96, 149, 149, 149, 100, 101, 102, 149, - 150, 105, 106, 149, 149, 109, 48, 49, 112, 113, - 149, 149, 54, 149, 56, 149, 120, 149, 149, 149, - 149, 149, 155, 150, 150, 150, 68, 150, 150, 150, - 150, 150, 150, 150, 76, 77, 150, 72, 80, 150, - 150, 150, 84, 78, 150, 149, 150, 82, 150, 152, - 85, 86, 87, 151, 89, 151, 91, 151, 93, 151, - 151, 96, 151, 151, 151, 100, 101, 102, 151, 151, - 105, 106, 151, 151, 109, 151, 151, 112, 113, 151, - 151, 151, 151, 151, 151, 120, 151, 151, 151, 131, - 151, 133, 134, 135, 136, 137, 138, 139, 151, 48, - 49, 151, 151, 145, 146, 54, 151, 56, 151, 153, - 152, 151, 154, 151, 149, 150, 152, 151, 155, 68, - 152, 152, 152, 152, 152, 152, 152, 76, 77, 152, - 152, 80, 152, 152, 152, 84, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 152, 152, 152, 152, 152, -1, 153, 153, 153, 153, + 122, 123, 124, 125, 126, 127, 128, 129, 80, 131, + 132, 133, 134, 135, 136, 137, 138, 139, 2, 3, + 4, 5, 6, 145, 146, 147, 154, 11, 12, 125, + 14, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 7, 42, 43, 44, 45, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 105, 132, 133, 153, 1, 78, + 111, 80, 80, 150, 48, 49, 68, 7, 145, 120, + 54, 148, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 155, 68, 69, 70, 71, 8, 9, + 10, 30, 76, 77, 78, 114, 80, 8, 9, 10, + 84, 152, 36, 150, 1, 78, 8, 9, 10, 29, + 13, 31, 32, 33, 34, 35, 36, 7, 29, 103, + 31, 32, 33, 34, 35, 12, 145, 29, 130, 148, + 114, 7, 12, 151, 153, 78, 155, 155, 122, 123, + 7, 114, 115, 116, 117, 118, 119, 131, 132, 151, + 134, 135, 136, 137, 138, 139, 140, 32, 33, 34, + 35, 145, 146, 147, 148, 8, 9, 10, 7, 153, + 80, 155, 156, 83, 158, 72, 73, 74, 75, 0, + 1, 78, 8, 9, 10, 82, 29, 154, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 80, 96, + 8, 9, 10, 100, 101, 102, 103, 7, 151, 106, + 107, 150, 155, 110, 154, 149, 113, 114, 115, 116, + 154, 29, 30, 7, 121, 7, 12, 124, 125, 126, + 127, 36, 142, 143, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 7, 12, + 36, 72, 154, 150, 151, 152, 1, 78, 51, 52, + 53, 82, 55, 150, 85, 86, 87, 7, 89, 78, + 91, 153, 93, 155, 67, 96, 57, 58, 154, 100, + 101, 102, 103, 150, 105, 106, 107, 9, 10, 110, + 111, 30, 113, 114, 115, 116, 8, 9, 10, 7, + 121, 12, 68, 124, 125, 126, 127, 29, 32, 33, + 34, 68, 132, 133, 157, 154, 79, 29, 68, 31, + 32, 33, 34, 7, 145, 145, 131, 72, 148, 150, + 151, 152, 1, 78, 154, 12, 145, 82, 68, 148, + 85, 86, 87, 152, 89, 103, 91, 105, 93, 130, + 150, 96, 97, 98, 99, 100, 101, 102, 103, 36, + 7, 106, 107, 149, 130, 110, 150, 83, 113, 114, + 115, 116, 8, 9, 10, 7, 121, 83, 12, 124, + 125, 126, 127, 51, 52, 53, 15, 8, 9, 10, + 148, 150, 7, 29, 151, 31, 32, 33, 7, 67, + 68, 151, 36, 72, 10, 150, 151, 152, 29, 78, + 31, 32, 151, 82, 8, 9, 85, 86, 87, 12, + 89, 151, 91, 29, 93, 141, 13, 96, 97, 98, + 99, 100, 101, 102, 103, 141, 32, 106, 107, 150, + 1, 110, 150, 36, 113, 114, 115, 116, 15, 8, + 9, 10, 121, 15, 13, 124, 125, 126, 127, 8, + 9, 10, 15, 8, 9, 10, 48, 49, 50, 30, + 29, 48, 49, 50, 78, 151, 103, 81, 105, 155, + 29, 150, 151, 152, 29, 15, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 12, + 55, 72, 151, 15, 1, 145, 155, 78, 148, 15, + 148, 82, 67, 151, 85, 86, 87, 30, 89, 29, + 91, 36, 93, 32, 33, 96, 8, 9, 10, 100, + 101, 102, 30, 30, 30, 106, 107, 1, 30, 110, + 67, 68, 113, 114, 73, 74, 30, 29, 73, 74, + 121, 98, 99, 30, 108, 109, 150, 151, 30, 150, + 151, 150, 151, 67, 55, 68, 30, 68, 68, 68, + 75, 78, 80, 68, 68, 72, 69, 88, 68, 150, + 151, 78, 68, 97, 103, 82, 103, 111, 85, 86, + 87, 78, 89, 78, 91, 83, 93, 80, 87, 96, + 80, 129, 83, 100, 101, 102, 128, 125, 72, 106, + 107, 1, 90, 110, 78, 94, 113, 114, 82, 92, + 95, 85, 86, 87, 121, 89, 95, 91, 95, 93, + 95, 97, 96, 149, 154, 156, 100, 101, 102, 141, + 30, 112, 106, 107, 1, -1, 110, -1, -1, 113, + 114, 125, 128, 150, 151, -1, -1, 121, -1, -1, + 130, -1, 130, -1, -1, -1, -1, 130, 130, -1, + 131, -1, -1, 30, -1, -1, -1, -1, -1, -1, + -1, 141, 72, -1, -1, 144, 150, 151, 78, 144, + 144, 1, 82, 144, 144, 85, 86, 87, 144, 89, + 144, 91, 144, 93, 151, 148, 96, 148, 148, 148, + 100, 101, 102, 148, 148, 72, 106, 107, 148, 148, + 110, 78, 150, 113, 114, 82, 150, 150, 85, 86, + 87, 121, 89, 150, 91, 150, 93, 150, 150, 96, + 150, 150, 150, 100, 101, 102, 150, 150, 150, 106, + 107, 150, 150, 110, 150, 150, 113, 114, 150, 150, + 150, 151, 72, 150, 121, 150, 150, 150, 78, 150, + 150, 150, 82, 150, 150, 85, 86, 87, 151, 89, + 151, 91, 151, 93, 151, 151, 96, 151, 30, 151, + 100, 101, 102, 150, 151, 151, 106, 107, 151, 151, + 110, 151, 151, 113, 114, 151, 48, 49, 151, 151, + 154, 121, 54, 152, 56, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 68, 152, 152, 152, + 152, 48, 49, 152, 76, 77, 152, 54, 80, 56, + 150, 151, 84, 152, 152, 152, 152, 152, 152, 152, + 152, 68, 152, 152, 152, 152, 152, 152, 152, 76, + 77, 153, 153, 80, 153, 153, 153, 84, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, - 153, 153, 153, 153, 153, 153, -1, 154, 57, 58, - 156, 156, 131, 156, 133, 134, 135, 136, 137, 138, - 139, 156, 156, 156, 156, 156, 145, 146, 156, 156, - 156, 156, 156, 152, 156, 154, 157, -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, - 129 + 153, 153, -1, 154, 154, 154, 154, 154, 154, 154, + 132, 154, 134, 135, 136, 137, 138, 139, 140, 154, + 154, 154, 154, 154, 146, 147, 154, 154, 154, 154, + 154, 153, 155, 155, 154, 132, 157, 134, 135, 136, + 137, 138, 139, 140, 156, 158, 157, 157, 157, 146, + 147, 157, 157, 157, 157, 157, 153, 157, 155, 157, + -1, 157, 157, 157, 157 ); protected $actionBase = array( - 0, 221, 297, 437, 367, 305, 305, 286, 690, -2, - -2, 238, -2, -2, -2, 613, 756, 710, 756, 544, - 659, 825, 825, 825, 152, 209, 611, 611, 867, 174, - 611, 404, 364, 337, 612, 493, 439, 289, 289, 289, - 289, 135, 135, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 313, 176, 461, 346, 680, 705, - 714, 715, 865, 639, 864, 777, 778, 552, 781, 782, - 784, 785, 788, 773, 789, 591, 790, 560, 560, 560, - 560, 560, 560, 560, 560, 560, 560, 560, 151, 546, - 405, 491, 275, 410, 609, 609, 609, 609, 609, 609, - 609, 386, 386, 386, 386, 386, 386, 386, 386, 386, - 386, 386, 386, 386, 386, 386, 386, 386, 386, 319, - 556, 556, 556, 200, 818, 561, 911, 911, 911, 911, - 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, - 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, - 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, - 911, 911, 911, 911, 911, 911, 911, 911, 911, 215, - -21, -21, 475, 642, 329, 392, 208, 462, 199, 25, - 25, 25, 25, 25, 147, 16, 4, 4, 4, 4, - 981, 122, 122, 122, 122, 118, 118, 118, 118, 393, - 331, 331, 644, 644, 617, 758, 528, 528, 523, 523, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 326, 627, 861, 234, 234, 234, 234, 254, 254, 254, - 131, 427, 589, 909, 131, 123, 123, 123, 375, 375, - 375, 173, 598, 294, 134, 134, 134, 134, 294, 134, - 134, 555, 555, 555, 429, 489, 629, 503, 348, 481, - 282, 641, 791, 638, 768, 520, 664, 190, 671, 670, - 883, 636, 883, 581, 578, 558, 593, 230, 840, -6, - 313, 518, 361, 620, 729, 295, 706, 242, 398, 403, - 522, 168, 324, 733, 697, 863, 816, 220, 648, 620, - 620, 620, 335, 374, 750, 751, 168, 114, 553, 553, - 553, 553, 766, 754, 553, 553, 553, 553, 764, 762, - 382, 243, 810, 138, 731, 601, 601, 625, 625, 601, - 601, 601, 601, 600, 605, 601, 828, 842, 842, 625, - 630, 625, 600, 605, 757, 757, 757, 757, 625, 605, - 625, 625, 601, 625, 842, 842, 605, 617, 842, 48, - 605, 631, 601, 597, 597, 757, 653, 695, 625, 625, - 645, 842, 842, 842, 645, 605, 757, 595, 594, 13, - 842, 757, 633, 630, 633, 595, 605, 633, 630, 630, - 633, 5, 643, 614, 824, 832, 830, 735, 599, 592, - 859, 858, 833, 860, 841, 602, 678, 687, 688, 526, - 615, 616, 619, 624, 651, 622, 647, 636, 666, 610, - 610, 610, 649, 655, 649, 610, 610, 610, 610, 610, - 610, 610, 610, 908, 661, 657, 646, 621, 701, 533, - 677, 637, 425, 737, 587, 678, 678, 771, 873, 880, - 823, 727, 623, 840, 875, 649, 898, 683, 38, 565, - 838, 769, 667, 673, 649, 837, 649, 738, 649, 872, - 772, 628, 826, 678, 822, 610, 871, 906, 905, 904, - 903, 902, 899, 884, 897, 608, 896, 691, 632, 879, - 245, 862, 593, 662, 674, 686, 820, 166, 895, 817, - 649, 649, 739, 734, 649, 740, 684, 682, 869, 732, - 878, 887, 587, 877, 649, 640, 815, 885, 166, 618, - 603, 866, 634, 721, 829, 870, 831, 741, 474, 512, - 811, 676, 807, 604, 722, 882, 881, 868, 726, 742, - 510, 743, 596, 799, 746, 834, 728, 797, 796, 874, - 626, 666, 650, 606, 635, 607, 749, 795, 876, 730, - 724, 704, 793, 702, 792, 0, 0, 0, 0, 0, + 0, 223, 299, 375, 451, 102, 102, 311, 754, -2, + -2, 147, -2, -2, -2, 633, 740, 773, 740, 559, + 666, 820, 820, 820, 186, 334, 486, 486, 890, 357, + 486, 33, 233, 409, 617, 443, 527, 240, 240, 240, + 240, 136, 136, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 181, 73, 533, 217, 743, 745, + 746, 747, 883, 665, 884, 823, 824, 658, 825, 826, + 827, 828, 830, 822, 831, 917, 832, 575, 575, 575, + 575, 575, 575, 575, 575, 575, 575, 575, 47, 561, + 218, 312, 277, 526, 648, 648, 648, 648, 648, 648, + 648, 294, 294, 294, 294, 294, 294, 294, 294, 294, + 294, 294, 294, 294, 294, 294, 294, 294, 294, 398, + 571, 571, 571, 514, 888, 620, 913, 913, 913, 913, + 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, + 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, + 913, 913, 913, 913, 913, 913, 913, 913, 913, 913, + 913, 913, 913, 913, 913, 913, 913, 913, 913, 499, + -21, -21, 484, 524, 408, 621, 209, 396, 200, 25, + 25, 25, 25, 25, 245, 16, 4, 4, 4, 4, + 339, 123, 123, 123, 123, 119, 119, 119, 119, 69, + 315, 315, 669, 669, 637, 780, 538, 538, 543, 543, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 24, 622, 858, 300, 300, 300, 300, 177, 177, 177, + 43, 414, 670, 897, 43, 327, 327, 327, 452, 452, + 452, 362, 649, 210, 238, 238, 238, 238, 210, 238, + 238, 493, 493, 493, 444, 492, 642, 516, 481, 490, + 370, 616, 814, 664, 821, 541, 688, 118, 700, 701, + 887, 611, 887, 601, 605, 576, 675, 381, 851, 48, + 181, 539, 390, 639, 749, 336, 751, 320, 361, 354, + 536, 363, 244, 781, 753, 885, 886, 180, 668, 639, + 639, 639, 153, 404, 784, 787, 363, -8, 603, 603, + 603, 603, 833, 788, 603, 603, 603, 603, 834, 835, + 253, 412, 836, 281, 750, 623, 623, 643, 643, 623, + 623, 623, 623, 650, 615, 623, 841, 838, 838, 643, + 647, 643, 650, 615, 843, 843, 843, 843, 643, 615, + 643, 643, 623, 643, 838, 838, 615, 637, 838, 68, + 615, 608, 623, 654, 654, 843, 707, 713, 643, 643, + 602, 838, 838, 838, 602, 615, 843, 606, 614, 338, + 838, 843, 634, 647, 634, 606, 615, 634, 647, 647, + 634, 20, 632, 627, 842, 845, 856, 757, 612, 656, + 849, 850, 846, 848, 839, 653, 696, 715, 717, 491, + 629, 630, 631, 635, 676, 636, 662, 611, 695, 626, + 626, 626, 660, 679, 660, 626, 626, 626, 626, 626, + 626, 626, 626, 889, 671, 686, 667, 641, 718, 553, + 687, 663, 558, 759, 628, 696, 696, 793, 877, 862, + 609, 898, 645, 851, 875, 660, 899, 702, 230, 567, + 852, 791, 689, 690, 660, 853, 660, 761, 660, 878, + 794, 644, 795, 696, 796, 626, 879, 900, 901, 904, + 905, 906, 907, 908, 910, 640, 912, 720, 619, 863, + 380, 847, 675, 680, 691, 721, 797, 436, 914, 798, + 660, 660, 763, 683, 660, 764, 722, 706, 859, 726, + 864, 915, 628, 865, 660, 613, 799, 916, 436, 638, + 625, 610, 651, 727, 857, 882, 855, 766, 590, 618, + 800, 801, 802, 646, 728, 860, 861, 786, 731, 768, + 624, 774, 657, 803, 777, 854, 732, 805, 806, 876, + 655, 695, 684, 659, 661, 652, 778, 807, 867, 734, + 735, 738, 808, 739, 811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 135, 135, 135, 135, -2, - -2, -2, -2, 0, 0, -2, 0, 0, 0, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 0, 0, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 560, 560, - 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, - 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, - 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 560, -21, -21, -21, -21, 560, -21, -21, - -21, -21, -21, -21, -21, 560, 560, 560, 560, 560, - 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, - 560, 560, 560, -21, 560, 560, 560, -21, 107, -21, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 560, 0, 0, 560, -21, 560, -21, - 560, -21, 560, 560, 560, 560, 560, 560, -21, -21, - -21, -21, -21, -21, 0, 123, 123, 123, 123, -21, - -21, -21, -21, -36, 107, 107, 107, 107, 107, 107, - 123, 123, 375, 375, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 107, -36, 107, 601, 601, 601, - 601, 630, 630, 630, 601, 294, 294, 294, 601, 0, - 0, 0, 0, 0, 0, 601, 294, 0, 107, 107, - 107, 107, 0, 107, 107, 601, 601, 601, 630, 601, - 294, 630, 630, 601, 842, 563, 563, 563, 563, 166, - 168, 0, 601, 601, 630, 630, 630, 0, 0, 0, - 842, 0, 625, 0, 0, 0, 0, 610, 38, 0, - 195, 0, 0, 0, 0, 0, 0, 623, 195, 257, - 257, 0, 608, 610, 610, 610, 0, 0, 623, 623, - 0, 0, 0, 0, 0, 0, 219, 623, 0, 0, - 0, 0, 219, 68, 0, 0, 68, 0, 166 + 0, 0, 0, 0, 0, 136, 136, 136, 136, -2, + -2, -2, -2, 0, 0, -2, 0, 0, 0, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 0, 0, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 575, 575, + 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, + 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, + 575, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 575, -21, -21, -21, -21, 575, -21, -21, + -21, -21, -21, -21, -21, 575, 575, 575, 575, 575, + 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, + 575, 575, 575, -21, 575, 575, 575, -21, 101, -21, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 575, 0, 0, 575, -21, 575, -21, + 575, -21, 575, 575, 575, 575, 575, 575, -21, -21, + -21, -21, -21, -21, 0, 327, 327, 327, 327, -21, + -21, -21, -21, -37, 101, 101, 101, 101, 101, 101, + 327, 327, 452, 452, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 101, -37, 101, 623, 623, 623, + 623, 647, 647, 647, 623, 210, 210, 210, 623, 0, + 0, 0, 0, 0, 0, 623, 210, 0, 101, 101, + 101, 101, 0, 101, 101, 623, 623, 623, 647, 623, + 210, 647, 647, 623, 838, 583, 583, 583, 583, 436, + 363, 0, 623, 623, 647, 647, 647, 0, 0, 0, + 838, 0, 643, 0, 0, 0, 0, 626, 230, 0, + 488, 0, 0, 0, 0, 0, 0, 645, 488, 511, + 511, 0, 640, 626, 626, 626, 0, 0, 645, 645, + 0, 0, 0, 0, 0, 0, 505, 645, 0, 0, + 0, 0, 505, 473, 0, 0, 473, 0, 436 ); 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,32767,32767, 532, 532,32767,32767, - 487,32767,32767,32767,32767,32767,32767, 292, 292, 292, - 32767,32767,32767, 520, 520, 520, 520, 520, 520, 520, - 520, 520, 520, 520,32767,32767,32767,32767,32767, 375, + 32767,32767,32767,32767,32767,32767, 533, 533,32767,32767, + 488,32767,32767,32767,32767,32767,32767, 293, 293, 293, + 32767,32767,32767, 521, 521, 521, 521, 521, 521, 521, + 521, 521, 521, 521,32767,32767,32767,32767,32767, 376, 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, @@ -588,61 +581,61 @@ 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,32767,32767,32767, 381, 537,32767,32767, + 32767,32767,32767,32767,32767,32767, 382, 538,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 356, 357, 359, - 360, 291, 521, 240, 382, 536, 290, 242, 320, 491, - 32767,32767,32767, 322, 119, 251, 196, 490, 122, 289, - 227, 374, 376, 321, 296, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 295, 447, - 353, 352, 351, 449,32767, 448, 484, 484, 487,32767, + 32767,32767,32767,32767,32767,32767,32767, 357, 358, 360, + 361, 292, 522, 241, 383, 537, 291, 243, 321, 492, + 32767,32767,32767, 323, 120, 252, 197, 491, 123, 290, + 228, 375, 377, 322, 297, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 312, 313, 314, 296, 448, + 354, 353, 352, 450,32767, 449, 485, 485, 488,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, 318, - 475, 474, 319, 445, 323, 446, 325, 450, 324, 341, - 342, 339, 340, 343, 452, 451, 468, 469, 466, 467, - 294, 344, 345, 346, 347, 470, 471, 472, 473, 275, - 32767,32767, 531, 531,32767,32767, 332, 333, 459, 460, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 319, + 476, 475, 320, 446, 324, 447, 326, 451, 325, 342, + 343, 340, 341, 344, 453, 452, 469, 470, 467, 468, + 295, 345, 346, 347, 348, 471, 472, 473, 474, 276, + 32767,32767, 532, 532,32767,32767, 333, 334, 460, 461, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 276,32767, 231, 231, 231, 231,32767,32767,32767, - 231,32767,32767,32767,32767, 327, 328, 326, 454, 455, - 453,32767, 421,32767,32767,32767,32767,32767, 423,32767, + 32767, 277,32767, 232, 232, 232, 232,32767,32767,32767, + 232,32767,32767,32767,32767, 328, 329, 327, 455, 456, + 454,32767, 422,32767,32767,32767,32767,32767, 424,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 492,32767,32767,32767,32767,32767, 505, 410,32767,32767, - 32767, 403,32767, 215, 217, 164, 478,32767,32767,32767, - 32767,32767, 510, 337,32767,32767,32767,32767,32767, 546, - 32767, 505,32767,32767,32767,32767,32767,32767, 350, 329, - 330, 331,32767,32767,32767,32767, 509, 503, 462, 463, - 464, 465,32767,32767, 456, 457, 458, 461,32767,32767, + 493,32767,32767,32767,32767,32767, 506, 411,32767,32767, + 32767, 404,32767, 216, 218, 165, 479,32767,32767,32767, + 32767,32767, 511, 338,32767,32767,32767,32767,32767, 547, + 32767, 506,32767,32767,32767,32767,32767,32767, 351, 330, + 331, 332,32767,32767,32767,32767, 510, 504, 463, 464, + 465, 466,32767,32767, 457, 458, 459, 462,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 168,32767, 418, 424, 424,32767, - 32767,32767,32767, 168,32767,32767,32767,32767,32767, 168, - 32767,32767,32767,32767, 508, 507, 168,32767, 404, 486, - 168, 181,32767, 179, 179,32767, 201, 201,32767,32767, - 183, 479, 498,32767, 183, 168,32767, 392, 170, 486, - 32767,32767, 233,32767, 233, 392, 168, 233,32767,32767, - 233,32767, 84, 428,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 405,32767,32767,32767, - 371, 372, 481, 494,32767, 495,32767, 403,32767, 335, - 336, 338, 315,32767, 317, 361, 362, 363, 364, 365, - 366, 367, 369,32767, 408,32767, 411,32767,32767,32767, - 86, 111, 250,32767, 544, 86, 406,32767,32767, 299, - 544,32767,32767,32767,32767, 539,32767,32767, 293,32767, - 32767,32767, 86, 86, 246,32767, 166,32767, 529,32767, - 545,32767, 503, 407,32767, 334,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 504,32767,32767,32767,32767, - 222,32767, 441,32767, 86,32767,32767, 182,32767,32767, - 297, 241,32767,32767, 538,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 167,32767,32767,32767, 184,32767, - 32767, 503,32767,32767,32767,32767,32767,32767,32767, 288, - 32767,32767,32767,32767,32767,32767,32767, 503,32767,32767, - 226,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 84, 60,32767, 269,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 124, 124, 3, 124, 124, - 253, 3, 253, 124, 253, 253, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 209, 212, 201, 201, - 161, 124, 124, 261 + 32767,32767,32767,32767, 169,32767, 419, 425, 425,32767, + 32767,32767,32767, 169,32767,32767,32767,32767,32767, 169, + 32767,32767,32767,32767, 509, 508, 169,32767, 405, 487, + 169, 182,32767, 180, 180,32767, 202, 202,32767,32767, + 184, 480, 499,32767, 184, 169,32767, 393, 171, 487, + 32767,32767, 234,32767, 234, 393, 169, 234,32767,32767, + 234,32767, 85, 429,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 406,32767,32767,32767, + 372, 373, 482, 495,32767, 496,32767, 404,32767, 336, + 337, 339, 316,32767, 318, 362, 363, 364, 365, 366, + 367, 368, 370,32767, 409,32767, 412,32767,32767,32767, + 87, 112, 251,32767, 545, 87, 407,32767,32767, 300, + 545,32767,32767,32767,32767, 540,32767,32767, 294,32767, + 32767,32767, 87, 87, 247,32767, 167,32767, 530,32767, + 546,32767, 504, 408,32767, 335,32767,32767,32767,32767, + 32767,32767,32767,32767,32767, 505,32767,32767,32767,32767, + 223,32767, 442,32767, 87,32767,32767, 183,32767,32767, + 298, 242,32767,32767, 539,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 168,32767,32767,32767, 185,32767, + 32767, 504,32767,32767,32767,32767,32767,32767,32767, 289, + 32767,32767,32767,32767,32767,32767,32767, 504,32767,32767, + 227,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 85, 60,32767, 270,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767, 125, 125, 3, 125, 125, + 254, 3, 254, 125, 254, 254, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 210, 213, 202, 202, + 162, 125, 125, 262 ); protected $goto = array( @@ -650,67 +643,67 @@ class Php5 extends \PhpParser\ParserAbstract 147, 184, 165, 161, 161, 161, 161, 142, 142, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 157, 158, 159, 160, 181, 136, 182, 499, 500, 363, - 501, 505, 506, 507, 508, 509, 510, 511, 512, 974, + 501, 505, 506, 507, 508, 509, 510, 511, 512, 975, 141, 143, 144, 146, 168, 173, 183, 200, 249, 252, 254, 256, 258, 259, 260, 261, 262, 263, 271, 272, 273, 274, 286, 287, 315, 316, 317, 379, 380, 381, 555, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 148, 149, 150, 164, 151, 166, 152, 201, 167, 153, 154, 155, 202, 156, 134, - 632, 573, 794, 573, 573, 573, 573, 573, 573, 573, + 632, 573, 795, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, 573, - 573, 573, 573, 573, 573, 573, 1113, 342, 1113, 1113, - 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, - 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, - 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, - 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, - 1113, 503, 503, 503, 503, 503, 503, 514, 640, 514, + 573, 573, 573, 573, 573, 573, 1114, 342, 1114, 1114, + 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, + 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, + 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, + 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, + 1114, 503, 503, 503, 503, 503, 503, 514, 640, 514, 764, 503, 503, 503, 503, 503, 503, 503, 503, 503, - 503, 515, 763, 515, 895, 895, 1204, 1204, 529, 587, - 615, 859, 859, 859, 859, 171, 854, 860, 1089, 1088, + 503, 515, 765, 515, 896, 896, 1205, 1205, 529, 587, + 615, 860, 860, 860, 860, 171, 855, 861, 1090, 1089, 174, 175, 176, 388, 389, 390, 391, 170, 199, 203, 205, 253, 255, 257, 264, 265, 266, 267, 268, 269, 275, 276, 277, 278, 288, 289, 318, 319, 320, 394, 395, 396, 397, 172, 177, 250, 251, 178, 179, 180, - 757, 387, 617, 548, 548, 580, 544, 1215, 1215, 328, + 758, 387, 617, 548, 548, 580, 544, 1216, 1216, 328, 313, 546, 546, 502, 504, 535, 552, 581, 584, 594, - 601, 825, 621, 1215, 516, 624, 516, 572, 361, 572, + 601, 826, 621, 1216, 1183, 624, 1183, 572, 361, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 557, 558, 559, 560, 561, 562, 563, 564, 566, 597, 520, 556, 3, 4, 596, 528, 611, 612, - 951, 554, 525, 525, 525, 579, 525, 865, 343, 344, + 952, 554, 525, 525, 525, 579, 525, 866, 343, 344, 528, 528, 549, 438, 438, 438, 438, 438, 438, 543, - 525, 913, 952, 438, 438, 438, 438, 438, 438, 438, - 438, 438, 438, 1078, 1208, 1078, 902, 902, 902, 902, - 590, 593, 638, 902, 598, 345, 404, 902, 1182, 364, - 1182, 605, 616, 369, 369, 369, 1162, 1078, 1078, 1078, - 1078, 787, 1078, 1078, 369, 369, 1181, 1201, 1181, 1174, - 369, 376, 469, 1198, 1198, 1198, 525, 525, 369, 1229, - 542, 574, 525, 525, 1022, 1071, 525, 899, 787, 787, - 908, 348, 919, 522, 919, 398, 370, 783, 374, 917, - 1180, 972, 781, 526, 541, 671, 667, 568, 402, 1064, - 922, 602, 762, 553, 892, 622, 623, 888, 627, 628, - 635, 637, 642, 644, 791, 881, 863, 861, 863, 666, - 1094, 517, 890, 885, 1196, 1196, 1196, 869, 1032, 19, - 15, 357, 960, 454, 1159, 780, 780, 358, 1069, 788, - 788, 788, 790, 467, 533, 779, 0, 585, 545, 567, - 0, 0, 522, 1074, 1075, 0, 0, 1071, 0, 0, - 23, 1214, 1214, 458, 0, 613, 371, 371, 371, 0, - 1072, 1173, 1072, 0, 13, 540, 0, 1214, 0, 1073, - 451, 453, 944, 643, 0, 1217, 0, 1114, 625, 942, + 525, 914, 953, 438, 438, 438, 438, 438, 438, 438, + 438, 438, 438, 1079, 1209, 1079, 903, 903, 903, 903, + 590, 593, 638, 903, 598, 345, 404, 903, 516, 364, + 516, 605, 616, 369, 369, 369, 1163, 1079, 1079, 1079, + 1079, 788, 1079, 1079, 369, 369, 1182, 1202, 1182, 1175, + 369, 376, 469, 1199, 1199, 1199, 525, 525, 369, 1230, + 542, 574, 525, 525, 1023, 1072, 525, 900, 788, 788, + 909, 348, 920, 522, 920, 398, 370, 784, 374, 918, + 1181, 973, 782, 526, 541, 671, 667, 568, 402, 1065, + 923, 602, 763, 553, 893, 622, 623, 889, 627, 628, + 635, 637, 642, 644, 792, 882, 864, 862, 864, 666, + 1095, 517, 891, 886, 1197, 1197, 1197, 870, 1033, 19, + 15, 357, 961, 454, 1160, 781, 781, 358, 1070, 789, + 789, 789, 791, 467, 533, 780, 0, 585, 545, 567, + 0, 0, 522, 1075, 1076, 0, 0, 1072, 0, 0, + 23, 1215, 1215, 458, 0, 613, 371, 371, 371, 0, + 1073, 1174, 1073, 0, 13, 540, 0, 1215, 0, 1074, + 451, 453, 945, 643, 0, 1218, 0, 1115, 625, 943, 0, 0, 0, 371, 0, 620, 0, 386, 0, 0, - 1070, 629, 0, 0, 0, 0, 0, 0, 0, 0, + 1071, 629, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 519, 539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 519, 0, 539, 0, 0, 0, 0, 0, 534, 518, 0, 523, 441, 0, 443, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 786, 1222 + 0, 0, 0, 0, 0, 787, 1223 ); protected $gotoCheck = array( @@ -735,8 +728,8 @@ class Php5 extends \PhpParser\ParserAbstract 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 115, 115, 115, 115, 115, 115, 66, 8, 66, - 15, 115, 115, 115, 115, 115, 115, 115, 115, 115, - 115, 115, 14, 115, 74, 74, 74, 74, 99, 39, + 14, 115, 115, 115, 115, 115, 115, 115, 115, 115, + 115, 115, 15, 115, 74, 74, 74, 74, 99, 39, 39, 66, 66, 66, 66, 26, 66, 66, 122, 122, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, @@ -744,7 +737,7 @@ class Php5 extends \PhpParser\ParserAbstract 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 5, 50, 50, 50, 50, 50, 50, 140, 140, 123, 123, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 49, 60, 140, 120, 60, 120, 56, 60, 56, + 50, 49, 60, 140, 116, 60, 116, 56, 60, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, @@ -755,8 +748,8 @@ class Php5 extends \PhpParser\ParserAbstract 46, 46, 107, 56, 56, 56, 56, 56, 56, 10, 10, 81, 95, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 138, 56, 56, 56, 56, 56, - 59, 59, 59, 56, 67, 67, 67, 56, 116, 45, - 116, 125, 48, 12, 12, 12, 129, 56, 56, 56, + 59, 59, 59, 56, 67, 67, 67, 56, 120, 45, + 120, 125, 48, 12, 12, 12, 129, 56, 56, 56, 56, 22, 56, 56, 12, 12, 117, 136, 117, 79, 12, 47, 56, 117, 117, 117, 10, 10, 12, 12, 10, 10, 10, 10, 100, 79, 10, 76, 22, 22, @@ -783,7 +776,7 @@ class Php5 extends \PhpParser\ParserAbstract protected $gotoBase = array( 0, 0, -276, 0, 0, 269, 0, 555, 197, 0, - 41, 131, 112, 480, 220, 208, 120, 140, 0, 0, + 41, 131, 112, 480, 208, 220, 120, 140, 0, 0, 72, 133, 110, 123, 134, 75, 31, 0, 102, -307, 0, -172, 357, 84, 0, 0, 0, 0, 0, 191, 0, 0, -24, 0, 0, 379, 339, 150, 141, 283, @@ -793,27 +786,27 @@ class Php5 extends \PhpParser\ParserAbstract 0, 366, 117, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 90, 0, 187, 152, 0, 0, 0, 0, 0, 58, 355, 308, 0, - 0, 61, 0, 95, 0, -79, 118, 136, 0, 0, - 4, 239, -70, -33, -48, 214, 0, 0, 55, 218, + 0, 61, 0, 95, 0, -79, 4, 136, 0, 0, + 118, 239, -70, -33, -48, 214, 0, 0, 55, 218, 0, 0, 0, 0, 0, 0, 154, 0, 374, 229, -25, 0, 0 ); protected $gotoDefault = array( - -32768, 471, 675, 2, 676, 747, 755, 608, 485, 641, - 486, 521, 1192, 800, 801, 802, 366, 412, 487, 365, - 399, 392, 789, 782, 784, 792, 169, 400, 795, 1, - 797, 527, 833, 1023, 353, 805, 354, 600, 807, 537, - 809, 810, 135, 367, 368, 538, 488, 375, 588, 824, - 270, 372, 826, 355, 827, 836, 356, 468, 463, 569, - 619, 433, 450, 582, 576, 547, 1086, 577, 868, 341, - 876, 672, 884, 887, 489, 570, 898, 455, 906, 1099, - 382, 912, 918, 923, 279, 926, 413, 401, 595, 931, - 932, 7, 936, 633, 634, 8, 301, 959, 609, 973, - 418, 1042, 1044, 490, 491, 531, 462, 513, 536, 492, - 1065, 444, 403, 1068, 493, 494, 434, 435, 1083, 347, - 1167, 346, 452, 312, 1154, 591, 1118, 459, 1207, 1163, - 340, 495, 496, 362, 1186, 377, 1202, 439, 1209, 1216, + -32768, 471, 675, 2, 676, 748, 756, 608, 485, 641, + 486, 521, 1193, 801, 802, 803, 366, 412, 487, 365, + 399, 392, 790, 783, 785, 793, 169, 400, 796, 1, + 798, 527, 834, 1024, 353, 806, 354, 600, 808, 537, + 810, 811, 135, 367, 368, 538, 488, 375, 588, 825, + 270, 372, 827, 355, 828, 837, 356, 468, 463, 569, + 619, 433, 450, 582, 576, 547, 1087, 577, 869, 341, + 877, 672, 885, 888, 489, 570, 899, 455, 907, 1100, + 382, 913, 919, 924, 279, 927, 413, 401, 595, 932, + 933, 7, 937, 633, 634, 8, 301, 960, 609, 974, + 418, 1043, 1045, 490, 491, 531, 462, 513, 536, 492, + 1066, 444, 403, 1069, 493, 494, 434, 435, 1084, 347, + 1168, 346, 452, 312, 1155, 591, 1119, 459, 1208, 1164, + 340, 495, 496, 362, 1187, 377, 1203, 439, 1210, 1217, 336, 551, 578 ); @@ -825,29 +818,29 @@ 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, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, - 7, 7, 8, 9, 10, 10, 11, 12, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 17, - 17, 18, 18, 18, 18, 20, 20, 16, 16, 21, - 21, 22, 22, 23, 23, 24, 24, 19, 19, 25, - 27, 27, 28, 29, 29, 31, 30, 30, 30, 30, + 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, + 6, 7, 7, 8, 9, 10, 10, 11, 12, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 17, 17, 18, 18, 18, 18, 20, 20, 16, 16, + 21, 21, 22, 22, 23, 23, 24, 24, 19, 19, + 25, 27, 27, 28, 29, 29, 31, 30, 30, 30, + 30, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 13, - 13, 53, 53, 55, 54, 54, 47, 47, 57, 57, - 58, 58, 14, 15, 15, 15, 61, 61, 61, 62, - 62, 65, 65, 63, 63, 67, 67, 40, 40, 49, - 49, 52, 52, 52, 51, 51, 68, 41, 41, 41, - 41, 69, 69, 70, 70, 71, 71, 38, 38, 34, - 34, 72, 36, 36, 73, 35, 35, 37, 37, 48, - 48, 48, 59, 59, 75, 75, 76, 76, 78, 78, - 78, 77, 77, 60, 60, 79, 79, 79, 80, 80, - 81, 81, 81, 43, 43, 82, 82, 82, 44, 44, - 83, 83, 84, 84, 64, 85, 85, 85, 85, 90, - 90, 91, 91, 92, 92, 92, 92, 92, 93, 94, - 94, 89, 89, 86, 86, 88, 88, 96, 96, 95, - 95, 95, 95, 95, 95, 87, 87, 98, 97, 97, - 45, 45, 39, 39, 42, 42, 42, 42, 42, 42, + 13, 13, 53, 53, 55, 54, 54, 47, 47, 57, + 57, 58, 58, 14, 15, 15, 15, 61, 61, 61, + 62, 62, 65, 65, 63, 63, 67, 67, 40, 40, + 49, 49, 52, 52, 52, 51, 51, 68, 41, 41, + 41, 41, 69, 69, 70, 70, 71, 71, 38, 38, + 34, 34, 72, 36, 36, 73, 35, 35, 37, 37, + 48, 48, 48, 59, 59, 75, 75, 76, 76, 78, + 78, 78, 77, 77, 60, 60, 79, 79, 79, 80, + 80, 81, 81, 81, 43, 43, 82, 82, 82, 44, + 44, 83, 83, 84, 84, 64, 85, 85, 85, 85, + 90, 90, 91, 91, 92, 92, 92, 92, 92, 93, + 94, 94, 89, 89, 86, 86, 88, 88, 96, 96, + 95, 95, 95, 95, 95, 95, 87, 87, 98, 97, + 97, 45, 45, 39, 39, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, @@ -855,25 +848,25 @@ class Php5 extends \PhpParser\ParserAbstract 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 33, - 33, 46, 46, 103, 103, 104, 104, 104, 104, 110, - 99, 99, 106, 106, 112, 112, 113, 114, 114, 114, - 114, 114, 114, 66, 66, 56, 56, 56, 100, 100, - 118, 118, 115, 115, 119, 119, 119, 119, 101, 101, - 101, 105, 105, 105, 111, 111, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 26, - 26, 26, 26, 26, 26, 126, 126, 126, 126, 126, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 33, 33, 46, 46, 103, 103, 104, 104, 104, 104, + 110, 99, 99, 106, 106, 112, 112, 113, 114, 114, + 114, 114, 114, 114, 66, 66, 56, 56, 56, 100, + 100, 118, 118, 115, 115, 119, 119, 119, 119, 101, + 101, 101, 105, 105, 105, 111, 111, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 26, 26, 26, 26, 26, 26, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 109, 109, - 102, 102, 102, 102, 125, 125, 128, 128, 127, 127, - 129, 129, 50, 50, 50, 50, 131, 131, 130, 130, - 130, 130, 130, 132, 132, 117, 117, 120, 120, 116, - 116, 134, 133, 133, 133, 133, 121, 121, 121, 121, - 108, 108, 122, 122, 122, 122, 74, 135, 135, 136, - 136, 136, 107, 107, 137, 137, 138, 138, 138, 138, - 123, 123, 123, 123, 140, 141, 139, 139, 139, 139, - 139, 139, 139, 142, 142, 142 + 126, 126, 126, 126, 126, 126, 126, 126, 126, 109, + 109, 102, 102, 102, 102, 125, 125, 128, 128, 127, + 127, 129, 129, 50, 50, 50, 50, 131, 131, 130, + 130, 130, 130, 130, 132, 132, 117, 117, 120, 120, + 116, 116, 134, 133, 133, 133, 133, 121, 121, 121, + 121, 108, 108, 122, 122, 122, 122, 74, 135, 135, + 136, 136, 136, 107, 107, 137, 137, 138, 138, 138, + 138, 123, 123, 123, 123, 140, 141, 139, 139, 139, + 139, 139, 139, 139, 142, 142, 142 ); protected $ruleToLength = array( @@ -885,54 +878,54 @@ 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, 1, 1, 3, 1, 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, 3, 3, 3, 1, 2, 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, 1, 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, 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, 3, 2, 2, 2, 2, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 1, 1, 1, 1, 1, 1, 3, 1, 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, 3, 3, 3, 1, 2, 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, 1, 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, 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, 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, 1, 3, 6, 4, 4, 4, 4, 1, 4, - 0, 1, 1, 3, 1, 1, 4, 3, 1, 1, - 1, 0, 0, 2, 3, 1, 3, 1, 4, 2, - 2, 2, 1, 2, 1, 1, 1, 4, 3, 3, - 3, 6, 3, 1, 1, 1 + 3, 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, 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 initReduceCallbacks() { @@ -1179,7 +1172,7 @@ class Php5 extends \PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos]; }, 80 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos]; }, 81 => function ($stackPos) { $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); @@ -1191,19 +1184,19 @@ class Php5 extends \PhpParser\ParserAbstract $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 84 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 85 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 86 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 87 => function ($stackPos) { - $this->semValue = new Expr\Variable(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 88 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\Variable(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 89 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -1212,119 +1205,119 @@ class Php5 extends \PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 91 => function ($stackPos) { - $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 92 => function ($stackPos) { + $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 93 => function ($stackPos) { $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(3-2)], null, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); $this->checkNamespace($this->semValue); }, - 93 => function ($stackPos) { + 94 => function ($stackPos) { $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); $this->checkNamespace($this->semValue); }, - 94 => function ($stackPos) { + 95 => function ($stackPos) { $this->semValue = new Stmt\Namespace_(null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); $this->checkNamespace($this->semValue); }, - 95 => function ($stackPos) { + 96 => function ($stackPos) { $this->semValue = new Stmt\Use_($this->semStack[$stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 96 => function ($stackPos) { + 97 => function ($stackPos) { $this->semValue = new Stmt\Use_($this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, - 97 => function ($stackPos) { + 98 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 98 => function ($stackPos) { + 99 => function ($stackPos) { $this->semValue = new Stmt\Const_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 99 => function ($stackPos) { + 100 => function ($stackPos) { $this->semValue = Stmt\Use_::TYPE_FUNCTION; }, - 100 => function ($stackPos) { + 101 => function ($stackPos) { $this->semValue = Stmt\Use_::TYPE_CONSTANT; }, - 101 => function ($stackPos) { + 102 => function ($stackPos) { $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(7-3)], $this->startAttributeStack[$stackPos-(7-3)] + $this->endAttributeStack[$stackPos-(7-3)]), $this->semStack[$stackPos-(7-6)], $this->semStack[$stackPos-(7-2)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); }, - 102 => function ($stackPos) { + 103 => function ($stackPos) { $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(8-4)], $this->startAttributeStack[$stackPos-(8-4)] + $this->endAttributeStack[$stackPos-(8-4)]), $this->semStack[$stackPos-(8-7)], $this->semStack[$stackPos-(8-2)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); }, - 103 => function ($stackPos) { + 104 => function ($stackPos) { $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(6-2)], $this->startAttributeStack[$stackPos-(6-2)] + $this->endAttributeStack[$stackPos-(6-2)]), $this->semStack[$stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, - 104 => function ($stackPos) { + 105 => function ($stackPos) { $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(7-3)], $this->startAttributeStack[$stackPos-(7-3)] + $this->endAttributeStack[$stackPos-(7-3)]), $this->semStack[$stackPos-(7-6)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); }, - 105 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, 106 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 107 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 108 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 109 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 110 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 111 => function ($stackPos) { - $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(1-1)); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 112 => function ($stackPos) { - $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(3-3)); + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(1-1)); }, 113 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(3-3)); }, 114 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 115 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL; + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, 116 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; $this->semValue->type = $this->semStack[$stackPos-(2-1)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL; }, 117 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = $this->semStack[$stackPos-(2-2)]; $this->semValue->type = $this->semStack[$stackPos-(2-1)]; }, 118 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 119 => function ($stackPos) { - $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 120 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, - 121 => function ($stackPos) { + 119 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, - 122 => function ($stackPos) { + 120 => function ($stackPos) { $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, + 121 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 122 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, 123 => function ($stackPos) { - if (is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }; + $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 124 => function ($stackPos) { - $this->semValue = array(); + if (is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }; }, 125 => function ($stackPos) { - $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $nop = null; }; - if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array(); }, 126 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $nop = null; }; + if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 127 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -1333,9 +1326,12 @@ class Php5 extends \PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 129 => function ($stackPos) { - throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 130 => function ($stackPos) { + throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 131 => function ($stackPos) { if ($this->semStack[$stackPos-(3-2)]) { $this->semValue = $this->semStack[$stackPos-(3-2)]; $attrs = $this->startAttributeStack[$stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments'])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); }; @@ -1345,734 +1341,731 @@ class Php5 extends \PhpParser\ParserAbstract } }, - 131 => function ($stackPos) { + 132 => function ($stackPos) { $this->semValue = new Stmt\If_($this->semStack[$stackPos-(5-2)], ['stmts' => is_array($this->semStack[$stackPos-(5-3)]) ? $this->semStack[$stackPos-(5-3)] : array($this->semStack[$stackPos-(5-3)]), 'elseifs' => $this->semStack[$stackPos-(5-4)], 'else' => $this->semStack[$stackPos-(5-5)]], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 132 => function ($stackPos) { + 133 => function ($stackPos) { $this->semValue = new Stmt\If_($this->semStack[$stackPos-(8-2)], ['stmts' => $this->semStack[$stackPos-(8-4)], 'elseifs' => $this->semStack[$stackPos-(8-5)], 'else' => $this->semStack[$stackPos-(8-6)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); }, - 133 => function ($stackPos) { + 134 => function ($stackPos) { $this->semValue = new Stmt\While_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 134 => function ($stackPos) { + 135 => function ($stackPos) { $this->semValue = new Stmt\Do_($this->semStack[$stackPos-(5-4)], is_array($this->semStack[$stackPos-(5-2)]) ? $this->semStack[$stackPos-(5-2)] : array($this->semStack[$stackPos-(5-2)]), $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 135 => function ($stackPos) { + 136 => function ($stackPos) { $this->semValue = new Stmt\For_(['init' => $this->semStack[$stackPos-(9-3)], 'cond' => $this->semStack[$stackPos-(9-5)], 'loop' => $this->semStack[$stackPos-(9-7)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, - 136 => function ($stackPos) { + 137 => function ($stackPos) { $this->semValue = new Stmt\Switch_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 137 => function ($stackPos) { + 138 => function ($stackPos) { $this->semValue = new Stmt\Break_(null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 138 => function ($stackPos) { + 139 => function ($stackPos) { $this->semValue = new Stmt\Break_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 139 => function ($stackPos) { + 140 => function ($stackPos) { $this->semValue = new Stmt\Continue_(null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 140 => function ($stackPos) { + 141 => function ($stackPos) { $this->semValue = new Stmt\Continue_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 141 => function ($stackPos) { + 142 => function ($stackPos) { $this->semValue = new Stmt\Return_(null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 142 => function ($stackPos) { + 143 => function ($stackPos) { $this->semValue = new Stmt\Return_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 143 => function ($stackPos) { + 144 => function ($stackPos) { $this->semValue = new Stmt\Global_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 144 => function ($stackPos) { + 145 => function ($stackPos) { $this->semValue = new Stmt\Static_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 145 => function ($stackPos) { + 146 => function ($stackPos) { $this->semValue = new Stmt\Echo_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 146 => function ($stackPos) { - $this->semValue = new Stmt\InlineHTML($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, 147 => function ($stackPos) { - $this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Stmt\InlineHTML($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 148 => function ($stackPos) { $this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 149 => function ($stackPos) { - $this->semValue = new Stmt\Unset_($this->semStack[$stackPos-(5-3)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 150 => function ($stackPos) { - $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$stackPos-(7-5)][1], 'stmts' => $this->semStack[$stackPos-(7-7)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); - }, - 151 => function ($stackPos) { - $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(9-3)], $this->semStack[$stackPos-(9-7)][0], ['keyVar' => $this->semStack[$stackPos-(9-5)], 'byRef' => $this->semStack[$stackPos-(9-7)][1], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); - }, - 152 => function ($stackPos) { - $this->semValue = new Stmt\Declare_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 153 => function ($stackPos) { - $this->semValue = new Stmt\TryCatch($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue); - }, - 154 => function ($stackPos) { - $this->semValue = new Stmt\Throw_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 155 => function ($stackPos) { - $this->semValue = new Stmt\Goto_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 156 => function ($stackPos) { - $this->semValue = new Stmt\Label($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 157 => function ($stackPos) { $this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, + 150 => function ($stackPos) { + $this->semValue = new Stmt\Unset_($this->semStack[$stackPos-(5-3)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 151 => function ($stackPos) { + $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$stackPos-(7-5)][1], 'stmts' => $this->semStack[$stackPos-(7-7)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); + }, + 152 => function ($stackPos) { + $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(9-3)], $this->semStack[$stackPos-(9-7)][0], ['keyVar' => $this->semStack[$stackPos-(9-5)], 'byRef' => $this->semStack[$stackPos-(9-7)][1], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + }, + 153 => function ($stackPos) { + $this->semValue = new Stmt\Declare_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 154 => function ($stackPos) { + $this->semValue = new Stmt\TryCatch($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue); + }, + 155 => function ($stackPos) { + $this->semValue = new Stmt\Throw_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 156 => function ($stackPos) { + $this->semValue = new Stmt\Goto_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 157 => function ($stackPos) { + $this->semValue = new Stmt\Label($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, 158 => function ($stackPos) { - $this->semValue = array(); /* means: no statement */ + $this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 159 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array(); /* means: no statement */ }, 160 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 161 => function ($stackPos) { $startAttributes = $this->startAttributeStack[$stackPos-(1-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; }; if ($this->semValue === null) $this->semValue = array(); /* means: no statement */ }, - 161 => function ($stackPos) { + 162 => function ($stackPos) { $this->semValue = array(); }, - 162 => function ($stackPos) { + 163 => function ($stackPos) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 163 => function ($stackPos) { + 164 => function ($stackPos) { $this->semValue = new Stmt\Catch_(array($this->semStack[$stackPos-(8-3)]), $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); }, - 164 => function ($stackPos) { + 165 => function ($stackPos) { $this->semValue = null; }, - 165 => function ($stackPos) { + 166 => function ($stackPos) { $this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, - 166 => function ($stackPos) { + 167 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, - 167 => function ($stackPos) { + 168 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, - 168 => function ($stackPos) { - $this->semValue = false; - }, 169 => function ($stackPos) { - $this->semValue = true; + $this->semValue = false; }, 170 => function ($stackPos) { - $this->semValue = false; - }, - 171 => function ($stackPos) { $this->semValue = true; }, + 171 => function ($stackPos) { + $this->semValue = false; + }, 172 => function ($stackPos) { - $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(10-3)], ['byRef' => $this->semStack[$stackPos-(10-2)], 'params' => $this->semStack[$stackPos-(10-5)], 'returnType' => $this->semStack[$stackPos-(10-7)], 'stmts' => $this->semStack[$stackPos-(10-9)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); + $this->semValue = true; }, 173 => function ($stackPos) { + $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(10-3)], ['byRef' => $this->semStack[$stackPos-(10-2)], 'params' => $this->semStack[$stackPos-(10-5)], 'returnType' => $this->semStack[$stackPos-(10-7)], 'stmts' => $this->semStack[$stackPos-(10-9)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); + }, + 174 => function ($stackPos) { $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(7-2)], ['type' => $this->semStack[$stackPos-(7-1)], 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); $this->checkClass($this->semValue, $stackPos-(7-2)); }, - 174 => function ($stackPos) { + 175 => function ($stackPos) { $this->semValue = new Stmt\Interface_($this->semStack[$stackPos-(6-2)], ['extends' => $this->semStack[$stackPos-(6-3)], 'stmts' => $this->semStack[$stackPos-(6-5)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkInterface($this->semValue, $stackPos-(6-2)); }, - 175 => function ($stackPos) { + 176 => function ($stackPos) { $this->semValue = new Stmt\Trait_($this->semStack[$stackPos-(5-2)], ['stmts' => $this->semStack[$stackPos-(5-4)]], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 176 => function ($stackPos) { + 177 => function ($stackPos) { $this->semValue = 0; }, - 177 => function ($stackPos) { + 178 => function ($stackPos) { $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; }, - 178 => function ($stackPos) { + 179 => function ($stackPos) { $this->semValue = Stmt\Class_::MODIFIER_FINAL; }, - 179 => function ($stackPos) { - $this->semValue = null; - }, 180 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + $this->semValue = null; }, 181 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, 182 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + $this->semValue = array(); }, 183 => function ($stackPos) { - $this->semValue = array(); - }, - 184 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-2)]; }, - 185 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 186 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 187 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 188 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 189 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 190 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 191 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 192 => function ($stackPos) { - $this->semValue = null; - }, - 193 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 194 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 195 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 196 => function ($stackPos) { - $this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 197 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 198 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; - }, - 199 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 200 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(5-3)]; - }, - 201 => function ($stackPos) { + 184 => function ($stackPos) { $this->semValue = array(); }, + 185 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; + }, + 186 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 187 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 188 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 189 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 190 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 191 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 192 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 193 => function ($stackPos) { + $this->semValue = null; + }, + 194 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 195 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 196 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 197 => function ($stackPos) { + $this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 198 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 199 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-3)]; + }, + 200 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 201 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(5-3)]; + }, 202 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = array(); }, 203 => function ($stackPos) { - $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 204 => function ($stackPos) { - $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 205 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; + $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 206 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos]; }, 207 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + $this->semValue = $this->semStack[$stackPos]; }, 208 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); }, 209 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = $this->semStack[$stackPos-(4-2)]; }, 210 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = array(); }, 211 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(3-2)], is_array($this->semStack[$stackPos-(3-3)]) ? $this->semStack[$stackPos-(3-3)] : array($this->semStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 212 => function ($stackPos) { - $this->semValue = array(); - }, - 213 => function ($stackPos) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, + 212 => function ($stackPos) { + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(3-2)], is_array($this->semStack[$stackPos-(3-3)]) ? $this->semStack[$stackPos-(3-3)] : array($this->semStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 213 => function ($stackPos) { + $this->semValue = array(); + }, 214 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 215 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 216 => function ($stackPos) { - $this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = null; }, 217 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 218 => function ($stackPos) { - $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = null; }, 219 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 220 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-2)], true); - }, - 221 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)], false); }, + 221 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(2-2)], true); + }, 222 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array($this->semStack[$stackPos-(1-1)], false); }, 223 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 224 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semValue = array(); }, 225 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 226 => function ($stackPos) { - $this->semValue = new Node\Param($this->semStack[$stackPos-(4-4)], null, $this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->checkParam($this->semValue); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 227 => function ($stackPos) { - $this->semValue = new Node\Param($this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-3)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkParam($this->semValue); + $this->semValue = new Node\Param($this->semStack[$stackPos-(4-4)], null, $this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->checkParam($this->semValue); }, 228 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\Param($this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-3)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkParam($this->semValue); }, 229 => function ($stackPos) { - $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 230 => function ($stackPos) { - $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 231 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 232 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 233 => function ($stackPos) { $this->semValue = null; }, - 234 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 235 => function ($stackPos) { - $this->semValue = array(); - }, - 236 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 237 => function ($stackPos) { - $this->semValue = array(new Node\Arg($this->semStack[$stackPos-(3-2)], false, false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes)); - }, - 238 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 239 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 240 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 241 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 242 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 243 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 244 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 245 => function ($stackPos) { + 233 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 246 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + 234 => function ($stackPos) { + $this->semValue = null; }, - 247 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + 235 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, - 248 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 249 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 250 => function ($stackPos) { - $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 251 => function ($stackPos) { - $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 252 => function ($stackPos) { - if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } - }, - 253 => function ($stackPos) { + 236 => function ($stackPos) { $this->semValue = array(); }, + 237 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 238 => function ($stackPos) { + $this->semValue = array(new Node\Arg($this->semStack[$stackPos-(3-2)], false, false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes)); + }, + 239 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 240 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 241 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 242 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 243 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 244 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 245 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 246 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 247 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 248 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 249 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 250 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 251 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 252 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 253 => function ($stackPos) { + if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } + }, 254 => function ($stackPos) { + $this->semValue = array(); + }, + 255 => function ($stackPos) { $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $nop = null; }; if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 255 => function ($stackPos) { + 256 => function ($stackPos) { $this->semValue = new Stmt\Property($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkProperty($this->semValue, $stackPos-(3-1)); }, - 256 => function ($stackPos) { + 257 => function ($stackPos) { $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(3-2)], 0, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 257 => function ($stackPos) { + 258 => function ($stackPos) { $this->semValue = new Stmt\ClassMethod($this->semStack[$stackPos-(9-4)], ['type' => $this->semStack[$stackPos-(9-1)], 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); $this->checkClassMethod($this->semValue, $stackPos-(9-1)); }, - 258 => function ($stackPos) { + 259 => function ($stackPos) { $this->semValue = new Stmt\TraitUse($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 259 => function ($stackPos) { - $this->semValue = array(); - }, 260 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = array(); }, 261 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 262 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = array(); }, 263 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 264 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 265 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, 266 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 267 => function ($stackPos) { $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 268 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 269 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); }, 270 => function ($stackPos) { - $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); - }, - 271 => function ($stackPos) { - $this->semValue = null; - }, - 272 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 273 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 271 => function ($stackPos) { + $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); + }, + 272 => function ($stackPos) { + $this->semValue = null; + }, + 273 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, 274 => function ($stackPos) { - $this->semValue = 0; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 275 => function ($stackPos) { $this->semValue = 0; }, 276 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = 0; }, 277 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 278 => function ($stackPos) { - $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 279 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; + $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; }, 280 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; }, 281 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; }, 282 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_STATIC; + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; }, 283 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + $this->semValue = Stmt\Class_::MODIFIER_STATIC; }, 284 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; }, 285 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semValue = Stmt\Class_::MODIFIER_FINAL; }, 286 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 287 => function ($stackPos) { - $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 288 => function ($stackPos) { - $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 289 => function ($stackPos) { - $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 290 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 291 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, + 287 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 288 => function ($stackPos) { + $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 289 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 290 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 291 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, 292 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 293 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array(); }, 294 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 295 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 296 => function ($stackPos) { $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 297 => function ($stackPos) { - $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 298 => function ($stackPos) { $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 299 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 300 => function ($stackPos) { - $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 301 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 302 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 303 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 304 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 305 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 306 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 307 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 308 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 309 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 310 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 311 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 312 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 313 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 314 => function ($stackPos) { - $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 315 => function ($stackPos) { - $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 316 => function ($stackPos) { - $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 317 => function ($stackPos) { - $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 318 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 319 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 320 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 321 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 322 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 323 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 324 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 325 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 326 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 327 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 328 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 329 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 330 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 331 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 332 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 333 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 334 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 335 => function ($stackPos) { - $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 336 => function ($stackPos) { - $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 337 => function ($stackPos) { - $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 338 => function ($stackPos) { - $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 339 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 340 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 341 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 342 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 343 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 344 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 345 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 346 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 347 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 348 => function ($stackPos) { - $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 349 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 301 => function ($stackPos) { + $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 302 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 303 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 304 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 305 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 306 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 307 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 308 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 309 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 310 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 311 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 312 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 313 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 314 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 315 => function ($stackPos) { + $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 316 => function ($stackPos) { + $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 317 => function ($stackPos) { + $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 318 => function ($stackPos) { + $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 319 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 320 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 321 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 322 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 323 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 324 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 325 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 326 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 327 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 328 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 329 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 330 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 331 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 332 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 333 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 334 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 335 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 336 => function ($stackPos) { + $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 337 => function ($stackPos) { + $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 338 => function ($stackPos) { + $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 339 => function ($stackPos) { + $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 340 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 341 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 342 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 343 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 344 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 345 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 346 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 347 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 348 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 349 => function ($stackPos) { + $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, 350 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 351 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 352 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, 353 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 354 => function ($stackPos) { - $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 355 => function ($stackPos) { - $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 356 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 357 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 358 => function ($stackPos) { - $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 359 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 360 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 361 => function ($stackPos) { - $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 362 => function ($stackPos) { + $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 363 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = $this->getFloatCastKind($this->semStack[$stackPos-(2-1)]); $this->semValue = new Expr\Cast\Double($this->semStack[$stackPos-(2-2)], $attrs); }, - 363 => function ($stackPos) { + 364 => function ($stackPos) { $this->semValue = new Expr\Cast\String_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 364 => function ($stackPos) { + 365 => function ($stackPos) { $this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 365 => function ($stackPos) { + 366 => function ($stackPos) { $this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 366 => function ($stackPos) { + 367 => function ($stackPos) { $this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 367 => function ($stackPos) { + 368 => function ($stackPos) { $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 368 => function ($stackPos) { + 369 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strtolower($this->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; $this->semValue = new Expr\Exit_($this->semStack[$stackPos-(2-2)], $attrs); }, - 369 => function ($stackPos) { - $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, 370 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 371 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -2081,116 +2074,116 @@ class Php5 extends \PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 373 => function ($stackPos) { - $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 374 => function ($stackPos) { - $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 375 => function ($stackPos) { - $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 376 => function ($stackPos) { - $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 377 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(10-2)], 'params' => $this->semStack[$stackPos-(10-4)], 'uses' => $this->semStack[$stackPos-(10-6)], 'returnType' => $this->semStack[$stackPos-(10-7)], 'stmts' => $this->semStack[$stackPos-(10-9)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); + $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 378 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(11-3)], 'params' => $this->semStack[$stackPos-(11-5)], 'uses' => $this->semStack[$stackPos-(11-7)], 'returnType' => $this->semStack[$stackPos-(11-8)], 'stmts' => $this->semStack[$stackPos-(11-10)]], $this->startAttributeStack[$stackPos-(11-1)] + $this->endAttributes); + $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(10-2)], 'params' => $this->semStack[$stackPos-(10-4)], 'uses' => $this->semStack[$stackPos-(10-6)], 'returnType' => $this->semStack[$stackPos-(10-7)], 'stmts' => $this->semStack[$stackPos-(10-9)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); }, 379 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(11-3)], 'params' => $this->semStack[$stackPos-(11-5)], 'uses' => $this->semStack[$stackPos-(11-7)], 'returnType' => $this->semStack[$stackPos-(11-8)], 'stmts' => $this->semStack[$stackPos-(11-10)]], $this->startAttributeStack[$stackPos-(11-1)] + $this->endAttributes); }, 380 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 381 => function ($stackPos) { - $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 382 => function ($stackPos) { - $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 383 => function ($stackPos) { + $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 384 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG; $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $attrs); }, - 384 => function ($stackPos) { + 385 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT; $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $attrs); }, - 385 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, 386 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$stackPos-(4-1)][0] === "'" || ($this->semStack[$stackPos-(4-1)][1] === "'" && ($this->semStack[$stackPos-(4-1)][0] === 'b' || $this->semStack[$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[$stackPos-(4-1)]), $attrs), $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 387 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$stackPos-(4-1)][0] === "'" || ($this->semStack[$stackPos-(4-1)][1] === "'" && ($this->semStack[$stackPos-(4-1)][0] === 'b' || $this->semStack[$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[$stackPos-(4-1)]), $attrs), $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 388 => function ($stackPos) { $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 389 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 390 => function ($stackPos) { $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes), $this->semStack[$stackPos-(7-2)]); $this->checkClass($this->semValue[0], -1); }, - 390 => function ($stackPos) { + 391 => function ($stackPos) { $this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 391 => function ($stackPos) { + 392 => function ($stackPos) { list($class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 392 => function ($stackPos) { + 393 => function ($stackPos) { $this->semValue = array(); }, - 393 => function ($stackPos) { + 394 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(4-3)]; }, - 394 => function ($stackPos) { + 395 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, - 395 => function ($stackPos) { + 396 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, - 396 => function ($stackPos) { + 397 => function ($stackPos) { $this->semValue = new Expr\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 397 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, 398 => function ($stackPos) { - $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 399 => function ($stackPos) { - $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 400 => function ($stackPos) { - $this->semValue = $this->fixupPhp5StaticPropCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, 401 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->fixupPhp5StaticPropCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 402 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 403 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 404 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 405 => function ($stackPos) { $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, + 405 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, 406 => function ($stackPos) { - $this->semValue = new Name\FullyQualified($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 407 => function ($stackPos) { - $this->semValue = new Name\Relative($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Name\FullyQualified($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 408 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Name\Relative($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 409 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -2208,243 +2201,243 @@ class Php5 extends \PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 414 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 415 => function ($stackPos) { $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 416 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 417 => function ($stackPos) { $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 418 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 419 => function ($stackPos) { $this->semValue = null; }, 420 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = null; }, 421 => function ($stackPos) { - $this->semValue = array(); - }, - 422 => function ($stackPos) { - $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`', false), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); - }, - 423 => function ($stackPos) { - foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', false); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 424 => function ($stackPos) { - $this->semValue = array(); - }, - 425 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 422 => function ($stackPos) { + $this->semValue = array(); + }, + 423 => function ($stackPos) { + $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`', false), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); + }, + 424 => function ($stackPos) { + foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', false); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 425 => function ($stackPos) { + $this->semValue = array(); + }, 426 => function ($stackPos) { - $this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes, true); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 427 => function ($stackPos) { - $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$stackPos-(1-1)]), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes, true); }, 428 => function ($stackPos) { + $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$stackPos-(1-1)]), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 429 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$stackPos-(1-1)][0] === "'" || ($this->semStack[$stackPos-(1-1)][1] === "'" && ($this->semStack[$stackPos-(1-1)][0] === 'b' || $this->semStack[$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[$stackPos-(1-1)], false), $attrs); }, - 429 => function ($stackPos) { + 430 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 430 => function ($stackPos) { + 431 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 431 => function ($stackPos) { + 432 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 432 => function ($stackPos) { + 433 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 433 => function ($stackPos) { + 434 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 434 => function ($stackPos) { + 435 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 435 => function ($stackPos) { + 436 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 436 => function ($stackPos) { + 437 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 437 => function ($stackPos) { + 438 => function ($stackPos) { $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], false); }, - 438 => function ($stackPos) { + 439 => function ($stackPos) { $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], false); }, - 439 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, 440 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 441 => function ($stackPos) { - $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 442 => function ($stackPos) { - $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 443 => function ($stackPos) { - $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 444 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 445 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 446 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 447 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 448 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 449 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 450 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 451 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 452 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 453 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 454 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 455 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 456 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 457 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 458 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 459 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 460 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 461 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 462 => function ($stackPos) { - $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 463 => function ($stackPos) { - $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 464 => function ($stackPos) { - $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 465 => function ($stackPos) { - $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 466 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 467 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 468 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 469 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 470 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 471 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 472 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 473 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 474 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 475 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 476 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 477 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 478 => function ($stackPos) { - $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 479 => function ($stackPos) { $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 480 => function ($stackPos) { + 442 => function ($stackPos) { + $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 443 => function ($stackPos) { + $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 444 => function ($stackPos) { + $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 445 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 446 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 447 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 448 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 449 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 450 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 451 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 452 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 453 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 454 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 455 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 456 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 457 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 458 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 459 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 460 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 461 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 462 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 463 => function ($stackPos) { + $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 464 => function ($stackPos) { + $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 465 => function ($stackPos) { + $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 466 => function ($stackPos) { + $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 467 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 468 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 469 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 470 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 471 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 472 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 473 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 474 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 475 => function ($stackPos) { + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 476 => function ($stackPos) { + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 477 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 478 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 479 => function ($stackPos) { + $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 480 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, 481 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 482 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 483 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; foreach ($this->semStack[$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[$stackPos-(3-2)], $attrs); }, - 483 => function ($stackPos) { + 484 => function ($stackPos) { $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); }, - 484 => function ($stackPos) { + 485 => function ($stackPos) { $this->semValue = array(); }, - 485 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, 486 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; + $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 487 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos]; }, 488 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = $this->semStack[$stackPos]; }, 489 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 490 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 491 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 492 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 493 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -2456,61 +2449,61 @@ class Php5 extends \PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 496 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 497 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, 498 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 499 => function ($stackPos) { - $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 500 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 501 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 502 => function ($stackPos) { $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 503 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 504 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 505 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 506 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 507 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 508 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 509 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 510 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 510 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, 511 => function ($stackPos) { - $var = substr($this->semStack[$stackPos-(1-1)], 1); $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 512 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $var = substr($this->semStack[$stackPos-(1-1)], 1); $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; }, 513 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 514 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, 515 => function ($stackPos) { $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); @@ -2522,117 +2515,120 @@ class Php5 extends \PhpParser\ParserAbstract $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 518 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 519 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 520 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 521 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = null; }, 522 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 523 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 524 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 524 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, 525 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 526 => function ($stackPos) { - $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; }, 527 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 528 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 529 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 530 => function ($stackPos) { $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 531 => function ($stackPos) { - $this->semValue = null; - }, - 532 => function ($stackPos) { - $this->semValue = array(); - }, - 533 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 534 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 535 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 536 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 537 => function ($stackPos) { $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, + 532 => function ($stackPos) { + $this->semValue = null; + }, + 533 => function ($stackPos) { + $this->semValue = array(); + }, + 534 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 535 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 536 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 537 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, 538 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 539 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 540 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 541 => function ($stackPos) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 542 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 543 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 544 => function ($stackPos) { - $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); }, 545 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 546 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 547 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 548 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 549 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 550 => function ($stackPos) { $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 551 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 552 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, 553 => function ($stackPos) { - $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 554 => function ($stackPos) { - $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 555 => function ($stackPos) { + $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 556 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, ]; diff --git a/lib/PhpParser/Parser/Php7.php b/lib/PhpParser/Parser/Php7.php index fc8fa6a..03a6aee 100644 --- a/lib/PhpParser/Parser/Php7.php +++ b/lib/PhpParser/Parser/Php7.php @@ -17,17 +17,17 @@ use PhpParser\Node\Stmt; */ class Php7 extends \PhpParser\ParserAbstract { - protected $tokenToSymbolMapSize = 393; - protected $actionTableSize = 951; + protected $tokenToSymbolMapSize = 395; + protected $actionTableSize = 964; protected $gotoTableSize = 515; - protected $invalidSymbol = 158; + protected $invalidSymbol = 159; protected $errorSymbol = 1; protected $defaultAction = -32766; protected $unexpectedTokenRule = 32767; - protected $YY2TBLSTATE = 339; - protected $numNonLeafStates = 584; + protected $YY2TBLSTATE = 346; + protected $numNonLeafStates = 600; protected $symbolToName = array( "EOF", @@ -134,6 +134,7 @@ class Php7 extends \PhpParser\ParserAbstract "T_CONTINUE", "T_GOTO", "T_FUNCTION", + "T_FN", "T_CONST", "T_RETURN", "T_TRY", @@ -191,457 +192,462 @@ class Php7 extends \PhpParser\ParserAbstract ); protected $tokenToSymbol = array( - 0, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 54, 156, 158, 157, 53, 36, 158, - 152, 153, 51, 48, 7, 49, 50, 52, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 30, 149, - 42, 15, 44, 29, 66, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 68, 158, 155, 35, 158, 154, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 150, 34, 151, 56, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 1, 2, 3, 4, - 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 31, 32, 33, 37, 38, 39, 40, 41, - 43, 45, 46, 47, 55, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 67, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 158, - 158, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 158, 158, 158, - 158, 158, 158, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148 + 0, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 54, 157, 159, 158, 53, 36, 159, + 153, 154, 51, 48, 7, 49, 50, 52, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 30, 150, + 42, 15, 44, 29, 66, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 68, 159, 156, 35, 159, 155, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 151, 34, 152, 56, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 1, 159, 2, 3, + 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 31, 32, 33, 37, 38, 39, 40, + 41, 43, 45, 46, 47, 55, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 67, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 159, 159, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 159, + 159, 159, 159, 159, 159, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149 ); protected $action = array( - 589, 590, 591, 592, 593, 666, 594, 595, 596, 632, - 633, 0, 32, 102, 103, 104, 105, 106, 107, 108, + 605, 606, 607, 608, 609, 683, 610, 611, 612, 648, + 649, 0, 32, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,-32767,-32767,-32767,-32767, - 93, 94, 95, 96, 97,-32766,-32766,-32766, 837, 668, - 885, 886, 887, 884, 883, 882, 885, 886, 887, 884, - 883, 882, 861, 597, 919, 921,-32766, 24,-32766,-32766, - -32766,-32766,-32766,-32766,-32766,-32766, 253, 598, 599, 600, - 601, 602, 603, 604, 431, 827, 664,-32766,-32766,-32766, - 1055,-32766, 118, 605, 606, 607, 608, 609, 610, 611, - 612, 613, 614, 615, 635, 636, 637, 638, 639, 627, - 628, 629, 630, 631, 616, 617, 618, 619, 620, 621, - 622, 658, 659, 660, 661, 662, 663, 623, 624, 625, - 626, 656, 647, 645, 646, 642, 643, 220, 634, 640, - 641, 648, 649, 651, 650, 652, 653, 45, 46, 408, - 47, 48, 644, 655, 654, 9, 49, 50, 120, 51, - -32766,-32766,-32766, 233, -294, -294, 673,-32766,-32766,-32766, - -455, 263, 123, 33,-32766,-32766,-32766, 767, 831, 832, - 877,-32766, 1002,-32766,-32766,-32766,-32766,-32766,-32766, -454, - -32766,-32766,-32766, 52, 53,-32766, 543,-32766,-32766, 54, - 245, 55, 225, 226, 56, 57, 58, 59, 60, 61, - 62, 63, -272, 25, 236, 64, 360,-32766,-32766,-32766, - 668, 1019, 1020, 410, 671, 1052, -490, 1095, 493, 1018, - 1002, -455, 749, 98, 99, 100, 221, 244,-32766, 74, - -32766,-32766,-32766,-32766, -259, -455, 668, 253, 368, 101, - -454, 231, -455, 231, -458, 431, 253, 1104, 294, 268, - 1105, 1052, 544, 280, -454, 365, 420, 421, -491, 863, - 295, -454, 489, -457, -494, 422, 423, -233, 1024, 1025, - 1026, 1027, 1021, 1022, 248, 28, 228, -453, 1014, 432, - 1028, 1023, 365, 668, 995, 668, 30, 66, 298, 260, - 115, 265, 270, 409, -136, -136, -136, -4, 749, 1052, - 1052, 1070, 432, 738, 672, 365, 37, 20, 411, -136, - 412, -136, 413, -136, 414, -136, 571, 415, 431, 235, - 431, 38, 39, 361, 362, 302, 40, 416, 270, 353, - 65, 1083, 995, 293, 42, 417, 418, 1082, -453, 831, - 832, 419, 25, 354, 724, 772, 363, 364, 831, 832, - -176, 25, -453, 124, 1052, 124, 219, 1052, 1018, -453, - 838, -91, -490, 1052,-32766,-32766,-32766, 1018, 749, 409, - 751, 558, -136, 668, 477, 253, 270, 270, 666, 738, - -259, -177, 37, 20, 411,-32766, 412, 995, 413, 803, - 414, 391, 356, 415, 232, 251, 995, 38, 39, 361, - 362, 345, 40, 416, -491, 423, 65, 259, 431, 293, - -494, 417, 418, 422, 423, 357, 117, 419, -493, -453, - 681, 772, 363, 364, 748, 44, 68, 125,-32766,-32766, - -32766, 270, 1071, 230, 270, 68, 668, 269, 749, 409, - 270, 282, 131, 320, 689, 690, 751, 558, -4, 738, - 126, 116, 37, 20, 411, 227, 412, 121, 413, 376, - 414, 122, 560, 415, -218, -218, -218, 38, 39, 361, - 362, 431, 40, 416, 358, 668, 65, 831, 832, 293, - -453, 417, 418, -497, 454, -497, 252, 419, 349, 229, - 724, 772, 363, 364, -453, 359, -176, 668, 382, -238, - 297, -453, 95, 96, 97, 518, 21, 119, 804, 409, - 431, 392, 532, 533, 511, 512, 751, 558, -218, 738, - 400, 8, 37, 20, 411, 128, 412, -177, 413, 133, - 414, 668, 431, 415, -217, -217, -217, 38, 39, 361, - 362, 1032, 40, 416, 134, 749, 65, 689, 690, 293, - 135, 417, 418, -295, -295, 831, 832, 419, 862, 581, - 724, 772, 363, 364, -493, 284, 431, -82, 75, 76, - 77, 130, 246, 575, 569, 572, 763, 244, 101, 540, - 43, 129, 891, 669, 666, 668, 751, 558, -217, 31, - 1106, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 749, 244, 409, 458, 671,-32766, - 463, 524, 552, 10, 373, -80, 738, 101, 510, 37, - 20, 411, 995, 412, 519, 413, 525, 414, 1034, 535, - 415, 773, 267, 565, 38, 39, 361, 380, 536, 40, - 416, 261, 806, 65, 262, 376, 293, 1033, 0, 234, - 749, 264, 0, 1031, 419, 874, 0, 350, 12, 0, - 0, 0, 774, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 409, 0, 0, 0, 566, - 0, 25, 296, 751, 558, 738, -412, 5, 37, 20, - 411, 0, 412, 1052, 413, 351, 414, 1018, 327, 415, - 338, 749, 334, 38, 39, 361, 333, 460, 40, 416, - 765, 559, 65, 729, 580, 293, 36, 35, 579, 790, - 867, 409, 797, 419, 870, 869, 995, 866, 785, 727, - 564, 738, 798, 749, 37, 20, 411, 787, 412, 858, - 413, 857, 414, 422, 423, 415, 868, 796, 561, 38, - 39, 361, 751, 558, 40, 416, 344, 343, 65, 563, - 279, 293, 573, 795, 278, 68, 574, 570, 568, 419, - 270, 567, 409, 562, 41, 749, 756, 766, 758, 692, - 983, 769, 738, 725, 1046, 37, 20, 411, 1101, 412, - 1103, 413, 684, 414, 771, 683, 415, 693, 789, 558, - 38, 39, 361, 770, 409, 40, 416, 694, 691, 65, - 1100, 1053, 293, 1102, 738, 1060, 1065, 37, 20, 411, - 419, 412, 1068, 413, 576, 414, 34, 27, 415, 26, - 23, -456, 38, 39, 361, -457, -458, 40, 416, -480, - -482, 65, 240, 348, 293, 346, 409, 281, 243, 751, - 558, 242, 419, 241, 224, 223, 738, 136, 132, 37, - 20, 411, 127, 412, 73, 413, 72, 414, 71, 70, - 415, 69, 67, 515, 38, 39, 361, 959, 962, 40, - 416, 751, 558, 65, 551, 1015, 293,-32766,-32766,-32766, - 506, 487, 316, 255, 419, 22, 18, 13, -236, 987, - 839, 1016, 958, 1006, 549, 406, 399, 397,-32766, 393, - -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, - -32767, 317, 19, 751, 558, 17, -91, 0, 16, 15, - 14, -233, -234, 0, 975, -424, 0, 1098, 1059, 1045, - 1044 + 93, 94, 95, 96, 97,-32766,-32766,-32766, 685, 489, + -497, 902, 903, 904, 901, 900, 899, 902, 903, 904, + 901, 900, 899, 613, 936, 938,-32766, 9,-32766,-32766, + -32766,-32766,-32766,-32766,-32766,-32766,-32766, 614, 615, 616, + 617, 618, 619, 620, 331, 1102, 681,-32766,-32766,-32766, + 844, 1101, 118, 621, 622, 623, 624, 625, 626, 627, + 628, 629, 630, 631, 651, 652, 653, 654, 655, 643, + 644, 645, 673, 646, 647, 632, 633, 634, 635, 636, + 637, 638, 675, 676, 677, 678, 679, 680, 639, 640, + 641, 642, 672, 663, 661, 662, 658, 659, 400, 650, + 656, 657, 664, 665, 667, 666, 668, 669, 45, 46, + 419, 47, 48, 660, 671, 670, 24, 49, 50, 235, + 51,-32766,-32766,-32766, 95, 96, 97, 25,-32766,-32766, + -32766, -458, 259, 1071, 1021,-32766,-32766,-32766, 1089, 1071, + -32766,-32766,-32766, 1037,-32766,-32766,-32766,-32766,-32766,-32766, + 465,-32766,-32766,-32766, 52, 53,-32766, -497,-32766,-32766, + 54, 685, 55, 229, 230, 56, 57, 58, 59, 60, + 61, 62, 63, 1014, 25, 240, 64, 367,-32766,-32766, + -32766, 224, 1038, 1039, 421, 1074, 1071, -493, 878, 506, + 1037, 434, 1021, -458, 766, 685, 784, 331, -500,-32766, + -500,-32766,-32766,-32766,-32766, 854, 120, -458, 1051, 376, + 370, 276, 68, 1071, -458, 683, -461, 276, 1123, 401, + 287, 1124, 237, 98, 99, 100,-32766, 250, 431, 432, + 251, 331, 124, 259, 235, 848, 849, 433, 434, 101, + 1043, 1044, 1045, 1046, 1040, 1041, 254, 1014, -456, -456, + 274, 442, 1047, 1042, 373, 231, 559, -239, 361, 66, + 259, 266, 690, 271, 276, 420, -137, -137, -137, -4, + 766, 1071, 820, 286, 1033, 755, 685, 301, 37, 20, + 422, -137, 423, -137, 424, -137, 425, -137, 126, 426, + -295, 276, -295, 38, 39, 368, 369, 685, 269, 40, + 427, 304, 123, 65, 259, 1014, 300, 894, 428, 429, + -456, -456, 331, -496, 430, 44, 42, 741, 789, 371, + 372, -457, -234, 560, -456, -456, 373,-32766,-32766,-32766, + 880, -456, -456, 331, -493, 74, 848, 849, 132, -273, + -494, 420, 766, 768, 574, -137, 587, 124,-32766, 276, + 685, 755, 855, 1071, 37, 20, 422, 238, 423, -260, + 424, -178, 425, 848, 849, 426, 685, 233, 239, 38, + 39, 368, 369, 308, 352, 40, 427, 258, 257, 65, + 265, -177, 300, -457, 428, 429, 331, 30, 501, 25, + 430, 303, 821, 698, 789, 371, 372, -457, 119, 117, + 25, 1071, 533, 21, -457, 1037, -460, 848, 849, 685, + 360, 689, 1071, 420, 289, 766, 1037, 234, 275, 768, + 574, -4, 385, 755, 125, 576, 37, 20, 422, -92, + 423, 276, 424, 442, 425, 1014, 373, 426, -219, -219, + -219, 38, 39, 368, 369, 331, 1014, 40, 427, 548, + 549, 65, 433, 434, 300, 236, 428, 429, 363, 685, + -496, 364, 430, 433, 434, 741, 789, 371, 372, 688, + 131, 326, 1114, 706, 68, 707, -296, 365, -296, 276, + 391, 411, 223, 8, 366, 68, 420, -494, 381, 382, + 276, 768, 574, -219, 135, 331, 755, 685, 33, 37, + 20, 422, 706, 423, 707, 424, -260, 425, -178, 225, + 426, -218, -218, -218, 38, 39, 368, 369, 356, 115, + 40, 427, 116, 766, 65, 526, 527, 300, -177, 428, + 429, 28, 232, 331, 1090, 430, 848, 849, 741, 789, + 371, 372, 879, 597, 121, 122, 75, 76, 77, 128, + 134, 136, 580, -83, 137, 252, 588, 591, 765, 101, + 780, 130, 43, 250, 768, 574, -218, 31, 129, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 291, 250, 420, 556, 766, 685, 688, 683, + -32766, 474, 568, 534, 755, 101, -81, 37, 20, 422, + 686, 423, 524, 424, 1125, 425, 1014, 908, 426, 267, + 790, 270, 38, 39, 368, 581, 469, 273, 40, 427, + 791, 1050, 65, 551, 539, 300, 334, 10, 1053, 389, + 575, 340, 766, 430, 540, 552, 341, -415, 0, 0, + 5, 0, 0, 0, 12, 0, 0, 302, 0, 0, + 0, 0, 0, 0, 345, 0, 0, 420, 0, 0, + 0, 582, 768, 574, 268, 0, 0, 755, 0, 0, + 37, 20, 422, 0, 423, 0, 424, 0, 425, 766, + 0, 426, 0, 0, 385, 38, 39, 368, 471, 357, + 358, 40, 427, 782, 577, 65, 35, 36, 300, 595, + 596, 746, 823, 420, 807, 814, 430, 874, 585, 875, + 804, 815, 744, 755, 802, 883, 37, 20, 422, 886, + 423, 887, 424, 884, 425, 766, 885, 426, 891, 592, + 579, 38, 39, 368, 583, 768, 574, 40, 427, 584, + 586, 65, 590, 284, 300, 285, 350, 351, 578, 1034, + 420, 742, 430, 1120, 589, 1122, 701, 788, 700, 710, + 755, 787, 711, 37, 20, 422, 708, 423, 1121, 424, + 786, 425, 766, 1002, 426, 709, 775, 783, 38, 39, + 368, 806, 574, -485, 40, 427, 773, 812, 65, 813, + 1119, 300, 1072, 1065, 1079, 1084, 420, 1087, -237, 430, + -483, -461, -460, -459, 23, 26, 755, 27, 34, 37, + 20, 422, 41, 423, 67, 424, 69, 425, 70, 71, + 426, 72, 73, 127, 38, 39, 368, 133, 768, 574, + 40, 427, 138, 227, 65, 228, 244, 300, 245, 246, + 247, 248, 249, 420, 288, 430, 353, 355, 1063, -235, + -234, 14, 15, 755, 16, 17, 37, 20, 422, 19, + 423, 323, 424, 402, 425, 404, 407, 426, 409, 410, + 417, 38, 39, 368, 768, 574, 565, 40, 427, 1025, + 975, 65, 1035, 856, 300,-32766,-32766,-32766, 1006, -92, + 13, 18, 430, 22, 261, 322, 499, 520, 567, 979, + 976, 0, -427, 992, 0, 1064,-32766, 1078,-32766,-32766, + -32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767,-32767, 1117, + 530, 768, 574, 1052 ); protected $actionCheck = array( 2, 3, 4, 5, 6, 78, 8, 9, 10, 11, 12, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 8, 9, 10, 1, 78, - 113, 114, 115, 116, 117, 118, 113, 114, 115, 116, - 117, 118, 1, 55, 57, 58, 29, 7, 31, 32, - 33, 34, 35, 36, 8, 9, 29, 69, 70, 71, - 72, 73, 74, 75, 113, 1, 78, 8, 9, 10, - 1, 8, 13, 85, 86, 87, 88, 89, 90, 91, + 46, 47, 48, 49, 50, 8, 9, 10, 78, 79, + 7, 114, 115, 116, 117, 118, 119, 114, 115, 116, + 117, 118, 119, 55, 57, 58, 29, 7, 31, 32, + 33, 34, 35, 36, 8, 9, 10, 69, 70, 71, + 72, 73, 74, 75, 114, 1, 78, 8, 9, 10, + 1, 7, 13, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 13, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 2, 3, 4, - 5, 6, 144, 145, 146, 7, 11, 12, 7, 14, - 8, 9, 10, 7, 103, 104, 1, 8, 9, 10, - 68, 110, 30, 13, 8, 9, 10, 1, 131, 132, - 119, 29, 1, 31, 32, 33, 34, 35, 29, 68, - 31, 32, 33, 48, 49, 29, 78, 31, 32, 54, - 7, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 151, 68, 69, 70, 71, 8, 9, 10, - 78, 76, 77, 78, 80, 80, 7, 83, 49, 84, - 1, 129, 1, 51, 52, 53, 13, 55, 29, 150, - 31, 32, 33, 34, 7, 143, 78, 29, 103, 67, - 129, 36, 150, 36, 152, 113, 29, 78, 113, 7, - 81, 80, 144, 7, 143, 147, 121, 122, 7, 151, - 7, 150, 1, 152, 7, 130, 131, 153, 133, 134, - 135, 136, 137, 138, 139, 141, 142, 68, 1, 144, - 145, 146, 147, 78, 113, 78, 7, 152, 7, 154, - 15, 156, 157, 72, 73, 74, 75, 0, 1, 80, - 80, 1, 144, 82, 149, 147, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 150, 96, 113, 36, - 113, 100, 101, 102, 103, 7, 105, 106, 157, 7, - 109, 1, 113, 112, 68, 114, 115, 7, 129, 131, - 132, 120, 68, 124, 123, 124, 125, 126, 131, 132, - 7, 68, 143, 148, 80, 148, 95, 80, 84, 150, - 153, 153, 153, 80, 8, 9, 10, 84, 1, 72, - 149, 150, 151, 78, 79, 29, 157, 157, 78, 82, - 153, 7, 85, 86, 87, 29, 89, 113, 91, 30, - 93, 30, 7, 96, 36, 129, 113, 100, 101, 102, - 103, 104, 105, 106, 153, 131, 109, 110, 113, 112, - 153, 114, 115, 130, 131, 7, 150, 120, 7, 68, - 123, 124, 125, 126, 30, 68, 152, 150, 8, 9, - 10, 157, 153, 36, 157, 152, 78, 68, 1, 72, - 157, 144, 98, 99, 103, 104, 149, 150, 151, 82, - 150, 15, 85, 86, 87, 36, 89, 15, 91, 147, - 93, 15, 150, 96, 97, 98, 99, 100, 101, 102, - 103, 113, 105, 106, 7, 78, 109, 131, 132, 112, - 129, 114, 115, 153, 83, 155, 129, 120, 147, 36, - 123, 124, 125, 126, 143, 7, 153, 78, 129, 153, - 143, 150, 48, 49, 50, 73, 74, 150, 149, 72, - 113, 150, 73, 74, 107, 108, 149, 150, 151, 82, - 103, 104, 85, 86, 87, 15, 89, 153, 91, 15, - 93, 78, 113, 96, 97, 98, 99, 100, 101, 102, - 103, 140, 105, 106, 15, 1, 109, 103, 104, 112, - 15, 114, 115, 103, 104, 131, 132, 120, 149, 150, - 123, 124, 125, 126, 153, 34, 113, 30, 8, 9, - 10, 30, 30, 30, 30, 30, 36, 55, 67, 75, - 68, 68, 80, 78, 78, 78, 149, 150, 151, 29, - 81, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 1, 55, 72, 83, 80, 83, - 87, 94, 90, 95, 103, 95, 82, 67, 110, 85, - 86, 87, 113, 89, 88, 91, 97, 93, 140, 92, - 96, 124, 127, 30, 100, 101, 102, 95, 97, 105, - 106, 127, 149, 109, 128, 147, 112, 156, -1, 36, - 1, 111, -1, 140, 120, 149, -1, 147, 143, -1, - -1, -1, 124, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 72, -1, -1, -1, 30, - -1, 68, 143, 149, 150, 82, 143, 143, 85, 86, - 87, -1, 89, 80, 91, 147, 93, 84, 147, 96, - 147, 1, 147, 100, 101, 102, 147, 147, 105, 106, - 148, 150, 109, 149, 149, 112, 149, 149, 149, 149, - 149, 72, 149, 120, 149, 149, 113, 149, 149, 149, - 30, 82, 149, 1, 85, 86, 87, 149, 89, 149, - 91, 149, 93, 130, 131, 96, 149, 151, 150, 100, - 101, 102, 149, 150, 105, 106, 150, 150, 109, 150, - 150, 112, 30, 151, 150, 152, 150, 150, 150, 120, - 157, 150, 72, 150, 152, 1, 151, 151, 151, 151, - 151, 151, 82, 151, 151, 85, 86, 87, 151, 89, - 151, 91, 151, 93, 151, 151, 96, 151, 149, 150, - 100, 101, 102, 151, 72, 105, 106, 151, 151, 109, - 151, 151, 112, 151, 82, 151, 151, 85, 86, 87, - 120, 89, 151, 91, 151, 93, 152, 152, 96, 152, - 152, 152, 100, 101, 102, 152, 152, 105, 106, 152, - 152, 109, 152, 152, 112, 152, 72, 152, 152, 149, - 150, 152, 120, 152, 152, 152, 82, 152, 152, 85, - 86, 87, 152, 89, 152, 91, 152, 93, 152, 152, - 96, 152, 152, 155, 100, 101, 102, 153, 153, 105, - 106, 149, 150, 109, 153, 155, 112, 8, 9, 10, - 153, 153, 153, 153, 120, 153, 153, 153, 153, 153, - 153, 153, 153, 153, 153, 153, 153, 153, 29, 153, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 153, 153, 149, 150, 153, 153, -1, 153, 153, - 153, 153, 153, -1, 154, 154, -1, 155, 155, 155, - 155 + 122, 123, 124, 125, 126, 127, 128, 129, 30, 131, + 132, 133, 134, 135, 136, 137, 138, 139, 2, 3, + 4, 5, 6, 145, 146, 147, 7, 11, 12, 36, + 14, 8, 9, 10, 48, 49, 50, 68, 8, 9, + 10, 68, 29, 80, 1, 8, 9, 10, 1, 80, + 8, 9, 29, 84, 31, 32, 33, 34, 35, 29, + 83, 31, 32, 33, 48, 49, 29, 154, 31, 32, + 54, 78, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 114, 68, 69, 70, 71, 8, 9, + 10, 13, 76, 77, 78, 1, 80, 7, 1, 49, + 84, 132, 1, 130, 1, 78, 1, 114, 154, 29, + 156, 31, 32, 33, 34, 1, 7, 144, 141, 103, + 104, 158, 153, 80, 151, 78, 153, 158, 78, 151, + 114, 81, 7, 51, 52, 53, 8, 55, 122, 123, + 7, 114, 149, 29, 36, 132, 133, 131, 132, 67, + 134, 135, 136, 137, 138, 139, 140, 114, 68, 68, + 7, 145, 146, 147, 148, 36, 78, 154, 125, 153, + 29, 155, 1, 157, 158, 72, 73, 74, 75, 0, + 1, 80, 30, 7, 1, 82, 78, 7, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 151, 96, + 103, 158, 105, 100, 101, 102, 103, 78, 111, 106, + 107, 7, 30, 110, 29, 114, 113, 120, 115, 116, + 130, 130, 114, 7, 121, 68, 68, 124, 125, 126, + 127, 68, 154, 145, 144, 144, 148, 8, 9, 10, + 152, 151, 151, 114, 154, 151, 132, 133, 13, 152, + 7, 72, 1, 150, 151, 152, 151, 149, 29, 158, + 78, 82, 154, 80, 85, 86, 87, 36, 89, 7, + 91, 7, 93, 132, 133, 96, 78, 36, 36, 100, + 101, 102, 103, 7, 105, 106, 107, 130, 130, 110, + 111, 7, 113, 130, 115, 116, 114, 7, 1, 68, + 121, 144, 150, 124, 125, 126, 127, 144, 151, 151, + 68, 80, 73, 74, 151, 84, 153, 132, 133, 78, + 7, 150, 80, 72, 145, 1, 84, 36, 68, 150, + 151, 152, 148, 82, 151, 151, 85, 86, 87, 154, + 89, 158, 91, 145, 93, 114, 148, 96, 97, 98, + 99, 100, 101, 102, 103, 114, 114, 106, 107, 73, + 74, 110, 131, 132, 113, 36, 115, 116, 7, 78, + 154, 7, 121, 131, 132, 124, 125, 126, 127, 80, + 98, 99, 83, 103, 153, 105, 103, 7, 105, 158, + 130, 103, 95, 105, 7, 153, 72, 154, 103, 104, + 158, 150, 151, 152, 13, 114, 82, 78, 13, 85, + 86, 87, 103, 89, 105, 91, 154, 93, 154, 13, + 96, 97, 98, 99, 100, 101, 102, 103, 148, 15, + 106, 107, 15, 1, 110, 108, 109, 113, 154, 115, + 116, 142, 143, 114, 154, 121, 132, 133, 124, 125, + 126, 127, 150, 151, 15, 15, 8, 9, 10, 15, + 15, 15, 30, 30, 15, 30, 30, 30, 30, 67, + 36, 30, 68, 55, 150, 151, 152, 29, 68, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 34, 55, 72, 75, 1, 78, 80, 78, + 83, 87, 90, 88, 82, 67, 95, 85, 86, 87, + 78, 89, 111, 91, 81, 93, 114, 80, 96, 128, + 125, 112, 100, 101, 102, 30, 83, 128, 106, 107, + 125, 141, 110, 92, 94, 113, 148, 95, 141, 95, + 151, 148, 1, 121, 97, 97, 148, 144, -1, -1, + 144, -1, -1, -1, 144, -1, -1, 144, -1, -1, + -1, -1, -1, -1, 148, -1, -1, 72, -1, -1, + -1, 30, 150, 151, 129, -1, -1, 82, -1, -1, + 85, 86, 87, -1, 89, -1, 91, -1, 93, 1, + -1, 96, -1, -1, 148, 100, 101, 102, 148, 148, + 148, 106, 107, 149, 151, 110, 150, 150, 113, 150, + 150, 150, 150, 72, 150, 150, 121, 150, 30, 150, + 150, 150, 150, 82, 150, 150, 85, 86, 87, 150, + 89, 150, 91, 150, 93, 1, 150, 96, 150, 152, + 151, 100, 101, 102, 151, 150, 151, 106, 107, 151, + 151, 110, 151, 151, 113, 151, 151, 151, 151, 156, + 72, 152, 121, 152, 30, 152, 152, 152, 152, 152, + 82, 152, 152, 85, 86, 87, 152, 89, 152, 91, + 152, 93, 1, 152, 96, 152, 152, 152, 100, 101, + 102, 150, 151, 153, 106, 107, 152, 152, 110, 152, + 152, 113, 152, 152, 152, 152, 72, 152, 154, 121, + 153, 153, 153, 153, 153, 153, 82, 153, 153, 85, + 86, 87, 153, 89, 153, 91, 153, 93, 153, 153, + 96, 153, 153, 153, 100, 101, 102, 153, 150, 151, + 106, 107, 153, 153, 110, 153, 153, 113, 153, 153, + 153, 153, 153, 72, 153, 121, 153, 153, 156, 154, + 154, 154, 154, 82, 154, 154, 85, 86, 87, 154, + 89, 154, 91, 154, 93, 154, 154, 96, 154, 154, + 154, 100, 101, 102, 150, 151, 154, 106, 107, 154, + 154, 110, 154, 154, 113, 8, 9, 10, 154, 154, + 154, 154, 121, 154, 154, 154, 154, 154, 154, 154, + 154, -1, 155, 155, -1, 156, 29, 156, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 156, + 156, 150, 151, 157 ); protected $actionBase = array( - 0, 221, 297, 367, 437, 277, 108, 607, -2, -2, - -73, -2, -2, 613, 544, 544, 742, 544, 710, 659, - 784, 784, 784, 207, 205, 419, 419, 453, 295, 419, - 453, 132, 397, 358, -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, 155, 155, 359, - 261, 150, 750, 735, 748, 753, 754, 749, 734, 213, - 669, 670, 541, 643, 674, 675, 681, 747, 728, 752, - 741, 560, 560, 560, 560, 560, 560, 560, 560, 560, - 560, 560, 560, 560, 560, 560, 560, 73, 69, 56, - 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, - 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, - 356, 356, 356, 156, 209, 149, 199, 351, 142, 27, - 889, 889, 889, 889, 889, -16, -16, -16, -16, 623, - 623, 283, 51, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 219, 450, 454, 454, - 346, 346, 346, 346, 171, 208, 37, 217, 401, 498, - 501, 300, 300, 424, 92, 111, 172, 172, 172, 341, - 534, 519, 519, 519, 519, 134, 134, 519, 519, 169, - 79, 330, 351, 351, 357, 351, 351, 351, 444, 444, - 444, 158, 312, 536, 158, 516, 633, 539, 622, 551, - 606, 266, 520, 220, 521, 558, 220, 220, 220, 407, - 432, 439, 783, 155, 553, 155, 155, 155, 155, 700, - 155, 155, 155, 155, 155, 155, 361, 155, 74, 409, - 359, 166, 166, 531, 166, 522, 369, 624, 343, 279, - 522, 522, 522, 620, 617, 251, 227, 114, 616, 374, - 417, 411, 257, 507, 507, 506, 506, 502, 540, 507, - 507, 507, 507, 507, 688, 688, 506, 538, 506, 502, - 632, 506, 540, 506, 506, 507, 506, 688, 540, 141, - 385, 253, 281, 540, 408, 524, 507, 515, 515, 467, - 506, 146, 506, 50, 526, 688, 688, 526, 183, 540, - 242, 579, 575, 518, 572, 246, 542, 542, 322, 518, - 540, 542, 488, 138, 538, 318, 542, 11, 730, 729, - 537, 727, 684, 726, 703, 724, 571, 517, 548, 713, - 712, 722, 685, 687, 394, 570, 275, 436, 554, 512, - 689, 521, 508, 511, 511, 511, 512, 694, 511, 511, - 511, 511, 511, 511, 511, 511, 740, 549, 533, 442, - 561, 552, 446, 608, 523, 570, 570, 642, 791, 790, - 505, 700, 760, 720, 578, 510, 779, 711, 683, 569, - 565, 709, 778, 759, 619, 275, 758, 647, 513, 649, - 570, 651, 511, 697, 698, 795, 794, 693, 793, 787, - 766, 563, 653, 509, 792, 654, 757, 631, 628, 577, - 786, 755, 764, 656, 763, 662, 574, 546, 789, 527, - 701, 705, 627, 666, 667, 672, 640, 639, 716, 503, - 785, 547, 782, 788, 580, 583, 514, 638, 602, 529, - 535, 600, 715, 545, 504, 598, 593, 756, 637, 706, - 590, 636, 761, 530, 508, 525, 550, 528, 532, 626, - 762, 543, 589, 588, 586, 585, 635, 581, 0, 0, + 0, 223, 299, 371, 444, 303, 208, 616, -2, -2, + -73, -2, -2, 625, 718, 718, 764, 718, 552, 671, + 811, 811, 811, 228, 113, 249, 249, 361, -40, 249, + 361, 302, 411, 449, 147, 147, 147, 147, 147, 147, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, + 147, 147, 147, 147, 147, 147, 147, 147, 147, 291, + 291, 272, 417, 515, 780, 785, 782, 777, 776, 781, + 786, 526, 678, 680, 561, 681, 682, 683, 685, 783, + 804, 779, 784, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 248, + 69, 162, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 349, 349, 349, 157, 210, 150, + 200, 211, 143, 27, 917, 917, 917, 917, 917, -16, + -16, -16, -16, 351, 351, 362, 217, 89, 89, 89, + 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 163, 403, 106, 106, 133, 133, 133, 133, 133, 133, + 221, 305, 234, 261, 97, 527, 806, 167, 167, 434, + 93, 283, 202, 202, 202, 400, 573, 532, 532, 532, + 532, 419, 419, 532, 532, 170, 214, 74, 211, 211, + 277, 211, 211, 211, 429, 429, 429, 415, 318, 304, + 547, 318, 618, 637, 577, 675, 578, 677, 278, 581, + 83, 582, 83, 83, 83, 447, 359, 406, 775, 291, + 533, 291, 291, 291, 291, 723, 291, 291, 291, 291, + 291, 291, 98, 291, 79, 422, 272, 225, 225, 588, + 225, 415, 538, 380, 632, 404, 410, 538, 538, 538, + 634, 635, 363, 382, 198, 636, 384, 408, 336, 33, + 549, 549, 551, 551, 567, 554, 549, 549, 549, 549, + 549, 691, 691, 551, 548, 551, 567, 699, 551, 554, + 554, 551, 551, 549, 551, 691, 554, 229, 481, 300, + 324, 554, 554, 484, 521, 549, 529, 529, 500, 551, + 245, 551, 139, 575, 691, 691, 575, 253, 554, 273, + 589, 590, 531, 584, 555, 296, 555, 555, 433, 531, + 555, 554, 555, 507, 50, 548, 396, 555, 11, 701, + 703, 553, 705, 695, 706, 733, 708, 519, 525, 535, + 720, 722, 709, 694, 692, 558, 580, 534, 537, 536, + 524, 690, 576, 522, 522, 522, 524, 688, 522, 522, + 522, 522, 522, 522, 522, 522, 633, 543, 544, 725, + 559, 518, 574, 560, 583, 520, 580, 580, 639, 787, + 788, 562, 723, 765, 710, 586, 564, 745, 726, 617, + 523, 528, 727, 728, 747, 766, 619, 534, 768, 641, + 530, 643, 580, 644, 522, 687, 670, 732, 789, 689, + 791, 737, 749, 751, 546, 645, 563, 803, 646, 769, + 623, 628, 587, 738, 684, 752, 647, 754, 755, 649, + 591, 545, 735, 570, 734, 355, 731, 629, 650, 654, + 656, 658, 661, 714, 592, 740, 571, 741, 736, 594, + 595, 565, 663, 511, 597, 566, 569, 599, 719, 556, + 550, 600, 601, 774, 664, 729, 602, 665, 762, 541, + 576, 540, 539, 572, 542, 631, 756, 557, 604, 605, + 609, 611, 674, 613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 135, 135, 135, 135, -2, - -2, -2, 0, 0, -2, 0, 0, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 560, 560, 560, 560, 560, 560, 560, 560, 560, - 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, - 560, 560, 560, 560, 560, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 560, 560, 560, 560, 560, 560, 560, 560, 560, - 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, - 560, 560, 560, 560, 560, 560, 560, 560, -3, 560, - 560, -3, 560, 560, 560, 560, 560, 560, 560, 172, - 172, 172, 172, 158, 158, 158, -67, 158, 158, 158, - 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, - 158, -67, 172, 172, 158, 158, 158, 158, 158, 158, - 158, 158, 134, 134, 134, 220, 220, 158, 0, 0, - 0, 0, 0, 507, 134, 158, 158, 158, 158, 0, - 0, 158, 158, 538, 220, 0, 0, 0, 0, 0, - 0, 0, 507, 507, 507, 0, 507, 134, 0, 166, - 155, 344, 344, 344, 344, 0, 507, 0, 538, 507, - 0, 0, 0, 0, 0, 0, 540, 0, 688, 0, - 0, 0, 0, 506, 0, 0, 0, 0, 0, 0, - 0, 0, 538, 0, 0, 0, 0, 538, 0, 511, - 0, 505, 0, 0, 511, 511, 511, 505, 505, 0, - 0, 0, 505 + 0, 136, 136, 136, 136, -2, -2, -2, 0, 0, + -2, 0, 0, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, + 568, 568, 568, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -3, 568, + 568, -3, 568, 568, 568, 568, 568, 568, 568, 202, + 202, 202, 202, 318, 318, 318, -67, 318, 318, 318, + 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, + 318, -67, 202, 202, 318, 318, 318, 318, 318, 318, + 318, 318, 318, 318, 419, 419, 419, 83, 83, 318, + 0, 0, 0, 0, 0, 549, 419, 318, 318, 318, + 318, 0, 0, 318, 318, 548, 83, 0, 0, 0, + 0, 0, 0, 0, 549, 549, 549, 548, 0, 549, + 419, 0, 225, 291, 402, 402, 402, 402, 0, 549, + 0, 549, 0, 0, 0, 0, 0, 0, 554, 0, + 691, 0, 0, 0, 0, 551, 0, 0, 0, 0, + 0, 0, 0, 0, 548, 0, 0, 0, 0, 548, + 0, 0, 522, 0, 562, 0, 0, 522, 522, 522, + 562, 562, 0, 0, 0, 562 ); protected $actionDefault = array( - 3,32767,32767,32767,32767,32767,32767,32767,32767, 91, + 3,32767,32767,32767,32767,32767,32767,32767,32767, 92, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 93, 506, 506, 496,32767, 506, - 496,32767,32767,32767, 313, 313, 313,32767, 451, 451, - 451, 451, 451, 451, 451,32767,32767,32767,32767,32767, - 393,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 94, 509, 509, 499,32767, 509, + 499,32767,32767,32767, 314, 314, 314,32767, 454, 454, + 454, 454, 454, 454, 454,32767,32767,32767,32767,32767, + 394,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,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, - 91,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 92,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 503,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767, 506,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 376, 377, 379, 380, 312, 452, 258, 502, 311, - 129, 269, 260, 210, 242, 309, 133, 341, 394, 343, - 392, 396, 342, 318, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 316, 317, 395, - 373, 372, 371, 339, 315, 340, 344, 315, 346, 345, - 362, 363, 360, 361, 364, 365, 366, 367, 368,32767, + 32767,32767,32767, 377, 378, 380, 381, 313, 455, 259, + 505, 312, 130, 270, 261, 211, 243, 310, 134, 342, + 395, 344, 393, 397, 343, 319, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 317, + 318, 396, 398, 399, 374, 373, 372, 340, 316, 341, + 345, 316, 347, 346, 363, 364, 361, 362, 365, 366, + 367, 368, 369,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 94,32767,32767, + 32767, 293, 354, 355, 250, 250, 250, 250, 250, 250, + 32767, 250,32767, 250,32767,32767,32767,32767,32767,32767, + 448, 371, 349, 350, 348,32767, 426,32767,32767,32767, + 32767,32767, 428,32767, 92,32767,32767,32767, 337, 339, + 420, 508, 320, 507,32767,32767, 94, 414,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 423,32767, + 32767, 92,32767,32767, 92, 174, 230, 232, 179,32767, + 431,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 93,32767,32767,32767, 292, 353, 354, - 249, 249, 249, 249,32767, 249,32767, 249,32767,32767, - 32767,32767,32767,32767, 445, 370, 348, 349, 347,32767, - 423,32767,32767,32767,32767,32767, 425,32767, 91,32767, - 32767,32767, 336, 338, 417, 505, 319, 504,32767,32767, - 93,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 420,32767,32767, 411, 91,32767,32767, 91, 173, - 229, 231, 178,32767, 428,32767,32767,32767,32767,32767, + 32767, 414, 359, 516,32767, 456,32767, 351, 352, 353, + 32767,32767, 456, 456, 456,32767, 456,32767, 456, 456, + 32767,32767,32767,32767,32767, 179,32767,32767,32767,32767, + 94, 429, 429, 92, 92, 92, 92, 424,32767, 179, + 179,32767,32767,32767,32767,32767, 179, 91, 91, 91, + 91, 179, 179, 91, 194,32767, 192, 192, 91,32767, + 93,32767, 93, 196,32767, 470, 196, 91, 179, 91, + 216, 216, 405, 181, 252, 93, 252, 252, 93, 405, + 252, 179, 252, 91, 91,32767, 91, 252,32767,32767, + 32767, 85,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 416,32767, 436,32767, + 449, 468,32767, 357, 358, 360,32767, 458, 382, 383, + 384, 385, 386, 387, 388, 390,32767, 419,32767,32767, + 32767, 87, 121, 269,32767, 514, 87, 417,32767, 514, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 358, 513,32767, 453,32767, - 350, 351, 352,32767,32767, 453, 453, 453,32767, 453, - 32767, 453, 453,32767,32767,32767,32767,32767, 178,32767, - 32767,32767,32767, 93, 426, 426, 91, 91, 91, 91, - 421,32767, 178,32767,32767,32767,32767,32767, 178, 90, - 90, 90, 90, 178, 90, 193,32767, 191, 191, 90, - 32767, 92,32767, 92, 195,32767, 467, 195, 90, 178, - 90, 215, 215, 402, 180, 92, 251, 251, 92, 402, - 178, 251, 90, 90,32767, 90, 251,32767,32767,32767, - 84,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 413,32767, 433,32767, 446, - 465, 411,32767, 356, 357, 359,32767, 455, 381, 382, - 383, 384, 385, 386, 387, 389,32767, 416,32767,32767, - 86, 120, 268,32767, 511, 86, 414,32767, 511,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 86, - 86,32767,32767,32767,32767, 492,32767, 512,32767, 453, - 415,32767, 355, 429, 472,32767,32767, 454,32767,32767, - 32767, 86,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 433,32767,32767,32767,32767,32767,32767, 453,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 453,32767,32767, 241,32767,32767, 308, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 84, 60,32767, 288,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 135, 135, - 3, 271, 3, 271, 135, 135, 135, 271, 271, 135, - 135, 135, 135, 135, 135, 135, 168, 223, 226, 215, - 215, 280, 135, 135 + 87, 87,32767,32767,32767,32767,32767, 495,32767, 515, + 32767, 456, 418,32767, 356, 432, 475,32767,32767, 457, + 32767,32767,32767,32767, 87,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 436,32767,32767,32767,32767,32767, + 32767,32767, 456,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 456,32767, + 32767, 242,32767,32767,32767, 309,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 85, + 60,32767, 289,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 136, 136, 3, 272, 3, 272, + 136, 136, 136, 272, 272, 136, 136, 136, 136, 136, + 136, 136, 169, 224, 227, 216, 216, 281, 136, 136 ); protected $goto = array( - 167, 167, 141, 141, 149, 150, 141, 149, 152, 183, - 168, 165, 165, 165, 165, 166, 166, 166, 166, 166, - 166, 166, 161, 162, 163, 164, 180, 178, 181, 433, - 434, 325, 435, 438, 439, 440, 441, 442, 443, 444, - 445, 905, 138, 142, 143, 144, 145, 146, 140, 147, - 148, 151, 177, 179, 182, 200, 203, 205, 206, 208, - 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 238, 239, 256, 257, 258, 330, 331, 332, 482, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 153, 199, 154, 169, 170, 171, - 201, 172, 155, 156, 157, 173, 158, 202, 139, 159, - 174, 175, 176, 160, 545, 204, 450, 554, 204, 746, - 307, 311, 462, 485, 486, 488, 483, 873, 557, 680, - 992, 496, 539, 871, 484, 455, 455, 455, 288, 455, - 266, 475, 679, 701, 475, 250, 695, 322, 741, 470, - 742, 324, 455, 436, 436, 436, 285, 436, 436, 436, - 436, 436, 436, 436, 436, 436, 436, 436, 436, 436, - 437, 437, 437, 715, 437, 437, 437, 437, 437, 437, - 437, 437, 437, 437, 437, 437, 437, 1091, 1091, 481, - 505, 495, 667, 993, 516, 517, 788, 1092, 1092, 841, - 455, 455, 981, 768, 1091, 982, 469, 491, 455, 455, - 455, 994, 1048, 468, 1092, 780, 319, 553, 578, 507, - 509, 1094, 456, 521, 538, 541, 816, 548, 556, 812, - 501, 501, 1017, 480, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1017, 1017, 1017, 1017, 706, 499, 520, - 678, 502, 504, 550, 1062, 1063, 880, 3, 4, 476, - 1084, 805, 786, 786, 784, 786, 577, 682, 448, 814, - 809, 881, 1072, 305, 447, 522, 473, 953, 836, 1061, - 706, 824, 447, 706, 687, 292, 737, 732, 733, 747, - 347, 688, 734, 685, 735, 736, 686, 829, 740, 782, - 782, 782, 782, 513, 286, 776, 783, 337, 523, 341, - 702, 328, 328, 272, 273, 275, 479, 335, 276, 336, - 277, 339, 508, 342, 699, 289, 290, 315, 582, 846, - 527, 697, 697, 819, 819, 1079, 309, 707, 707, 707, - 709, 696, 461, 989, 996, 984, 850, 471, 830, 830, - 830, 830, 996, 830, 830, 830, 793, 711, 1067, 1067, - 387, 830, 890, 394, 401, 1058, 498, 0, 0, 996, - 996, 996, 996, 1058, 11, 996, 996, 0, 0, 1107, - 1069, 1069, 710, 698, 845, 0, 849, 0, 0, 754, - 0, 791, 755, 0, 0, 0, 0, 0, 0, 1054, - 821, 0, 781, 0, 452, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 888, 714, 467, 988, 0, 0, - 0, 0, 848, 0, 0, 1056, 1056, 848, 526, 0, - 0, 0, 0, 542, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 449, 465, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 449, 0, 465, 0, 452, 308, 0, - 453, 375, 0, 377, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 705, 0, 1099, + 169, 169, 143, 143, 151, 152, 143, 151, 154, 185, + 170, 167, 167, 167, 167, 168, 168, 168, 168, 168, + 168, 168, 163, 164, 165, 166, 182, 180, 183, 443, + 444, 332, 445, 448, 449, 450, 451, 452, 453, 454, + 455, 922, 140, 144, 145, 146, 147, 148, 142, 149, + 150, 153, 179, 181, 184, 204, 207, 209, 210, 212, + 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, + 242, 243, 262, 263, 264, 337, 338, 339, 494, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 155, 201, 156, 171, 172, 173, + 205, 174, 157, 158, 159, 175, 160, 206, 141, 202, + 161, 176, 203, 177, 178, 162, 561, 208, 461, 570, + 208, 763, 313, 317, 473, 497, 498, 500, 696, 327, + 328, 512, 535, 543, 1011, 330, 496, 466, 466, 466, + 292, 295, 466, 487, 1081, 1082, 487, 503, 515, 517, + 518, 566, 481, 272, 466, 514, 514, 1036, 256, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 446, 446, 446, 697, 446, 446, 446, 446, + 446, 446, 446, 446, 446, 446, 446, 446, 446, 495, + 890, 573, 509, 3, 4, 555, 888, 1111, 1111, 1012, + 897, 732, 519, 466, 466, 718, 531, 532, 712, 480, + 504, 466, 466, 466, 1111, 898, 684, 479, 1013, 1067, + 805, 858, 594, 521, 523, 488, 467, 536, 554, 557, + 833, 564, 572, 829, 1103, 447, 447, 447, 492, 447, + 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, + 447, 447, 723, 1091, 315, 459, 1000, 785, 758, 1001, + 759, 472, 797, 325, 569, 311, 482, 483, 1110, 1110, + 727, 715, 862, 537, 699, 866, 493, 970, 508, 485, + 808, 841, 354, 403, 853, 1110, 723, 846, 723, 838, + 704, 798, 754, 749, 750, 764, 11, 705, 751, 702, + 752, 753, 703, 1113, 757, 905, 731, 299, 1007, 528, + 1080, 719, 293, 344, 538, 348, 321, 335, 335, 278, + 279, 281, 491, 342, 282, 343, 283, 346, 522, 349, + 863, 598, 716, 542, 1008, 296, 297, 714, 714, 836, + 836, 1098, 1003, 724, 724, 724, 726, 713, 728, 810, + 1015, 396, 867, 511, 847, 847, 847, 847, 847, 847, + 1015, 847, 847, 847, 907, 412, 1086, 1086, 0, 847, + 0, 1077, 0, 0, 1126, 0, 0, 1015, 1015, 1015, + 1015, 1077, 0, 1015, 1015, 0, 463, 0, 1088, 1088, + 0, 0, 457, 0, 0, 0, 0, 695, 771, 0, + 0, 772, 457, 0, 0, 0, 0, 1073, 822, 803, + 803, 801, 803, 593, 0, 458, 831, 826, 0, 799, + 799, 799, 799, 541, 478, 793, 800, 0, 558, 0, + 0, 865, 0, 1075, 1075, 865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 991 + 0, 460, 476, 463, 0, 0, 0, 0, 0, 0, + 0, 0, 460, 0, 476, 0, 0, 314, 0, 0, + 464, 384, 0, 386, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 722, 0, + 1118, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1010 ); protected $gotoCheck = array( @@ -656,85 +662,85 @@ class Php7 extends \PhpParser\ParserAbstract 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 63, 56, 10, 8, 56, 13, - 49, 49, 49, 49, 49, 49, 7, 7, 7, 18, - 92, 15, 7, 7, 97, 10, 10, 10, 80, 10, - 134, 85, 17, 15, 85, 134, 15, 69, 55, 10, - 55, 69, 10, 135, 135, 135, 69, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 137, 137, 137, 36, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 147, 147, 2, - 73, 2, 5, 92, 73, 73, 40, 148, 148, 94, - 10, 10, 67, 67, 147, 67, 10, 10, 10, 10, - 10, 92, 92, 39, 148, 76, 76, 76, 39, 39, - 39, 147, 10, 39, 39, 39, 39, 39, 39, 39, - 86, 86, 86, 10, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 26, 46, 46, - 16, 68, 68, 68, 141, 141, 111, 37, 37, 136, - 146, 16, 16, 16, 16, 16, 16, 13, 16, 16, - 16, 111, 143, 52, 75, 54, 53, 118, 90, 139, - 26, 88, 75, 26, 13, 20, 13, 13, 13, 13, - 89, 13, 13, 13, 13, 13, 13, 91, 13, 75, - 75, 75, 75, 24, 11, 75, 75, 56, 56, 56, - 30, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 28, 80, 80, 19, 82, 96, - 23, 26, 26, 85, 85, 85, 65, 26, 26, 26, - 26, 26, 65, 127, 63, 124, 99, 65, 63, 63, - 63, 63, 63, 63, 63, 63, 79, 32, 8, 8, - 71, 63, 114, 65, 122, 97, 72, -1, -1, 63, - 63, 63, 63, 97, 65, 63, 63, -1, -1, 12, - 97, 97, 14, 14, 14, -1, 14, -1, -1, 63, - -1, 14, 63, -1, -1, -1, -1, -1, -1, 97, - 14, -1, 14, -1, 12, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 14, 14, 8, 14, -1, -1, - -1, -1, 97, -1, -1, 97, 97, 97, 12, -1, - -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, + 33, 33, 33, 33, 33, 33, 63, 56, 10, 8, + 56, 13, 49, 49, 49, 49, 49, 49, 17, 69, + 69, 46, 46, 69, 92, 69, 97, 10, 10, 10, + 69, 80, 10, 85, 141, 141, 85, 68, 68, 68, + 68, 68, 10, 134, 10, 86, 86, 86, 134, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 135, 135, 135, 18, 135, 135, 135, 135, + 135, 135, 135, 135, 135, 135, 135, 135, 135, 7, + 7, 7, 15, 37, 37, 7, 7, 148, 148, 92, + 111, 36, 73, 10, 10, 15, 73, 73, 15, 10, + 10, 10, 10, 10, 148, 111, 5, 39, 92, 92, + 40, 94, 39, 39, 39, 136, 10, 39, 39, 39, + 39, 39, 39, 39, 146, 137, 137, 137, 10, 137, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 26, 143, 65, 65, 67, 67, 55, 67, + 55, 65, 76, 76, 76, 52, 65, 65, 147, 147, + 14, 14, 14, 54, 13, 14, 2, 118, 2, 53, + 14, 88, 89, 65, 90, 147, 26, 91, 26, 14, + 13, 14, 13, 13, 13, 13, 65, 13, 13, 13, + 13, 13, 13, 147, 13, 14, 14, 20, 14, 24, + 139, 30, 11, 56, 56, 56, 19, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 96, 82, 28, 23, 127, 80, 80, 26, 26, 85, + 85, 85, 124, 26, 26, 26, 26, 26, 32, 79, + 63, 71, 99, 72, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 114, 122, 8, 8, -1, 63, + -1, 97, -1, -1, 12, -1, -1, 63, 63, 63, + 63, 97, -1, 63, 63, -1, 12, -1, 97, 97, + -1, -1, 75, -1, -1, -1, -1, 16, 63, -1, + -1, 63, 75, -1, -1, -1, -1, 97, 16, 16, + 16, 16, 16, 16, -1, 16, 16, 16, -1, 75, + 75, 75, 75, 12, 8, 75, 75, -1, 12, -1, + -1, 97, -1, 97, 97, 97, -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, -1, 8, -1, 8, -1, 12, 8, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 8, 8, 12, -1, -1, -1, -1, -1, -1, + -1, -1, 8, -1, 8, -1, -1, 8, -1, -1, 8, 8, -1, 8, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 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, 8, -1, + 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12 ); protected $gotoBase = array( - 0, 0, -371, 0, 0, 182, 0, 121, 107, 0, - -143, 22, 110, -19, 12, -252, 248, 140, 127, 35, - 26, 0, 0, -14, 24, 0, -12, 0, 29, 0, - 30, 0, 1, -23, 0, 0, 164, -325, 0, -346, - 177, 0, 0, 0, 0, 0, 213, 0, 0, 81, - 0, 0, 236, 52, 55, 133, 88, 0, 0, 0, - 0, 0, 0, 108, 0, -26, 0, -119, 10, -250, - 0, -18, -21, -373, 0, 38, -47, 0, 0, -2, - -254, 0, 8, 0, 0, 114, 11, 0, 36, 43, - 32, 44, -174, 0, 175, 0, 31, 129, 0, -11, + 0, 0, -300, 0, 0, 206, 0, 184, 109, 0, + -147, 23, 99, -19, -108, -200, 395, 126, 173, 17, + 42, 0, 0, -18, 24, 0, -13, 0, 31, 0, + 25, 0, -15, -23, 0, 0, 192, -405, 0, -358, + 201, 0, 0, 0, 0, 0, 96, 0, 0, 83, + 0, 0, 228, 51, 49, 243, 90, 0, 0, 0, + 0, 0, 0, 110, 0, -115, 0, -71, -98, -277, + 0, -36, -43, -377, 0, 152, -6, 0, 0, -16, + -260, 0, 5, 0, 0, 116, -68, 0, 30, 29, + 32, 28, -176, 0, 197, 0, 26, 131, 0, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 34, 0, 0, 3, 0, 0, 0, 33, 0, - 0, 0, -35, 0, -10, 0, 0, -5, 0, 0, - 0, 0, 0, 0, -120, -66, 233, -49, 0, 27, - 0, -42, 0, 242, 0, 0, 231, -62, -52, 0, + 0, -26, 0, 0, -2, 0, 0, 0, 27, 0, + 0, 0, -44, 0, -20, 0, 0, -21, 0, 0, + 0, 0, 0, 0, -113, -51, 199, 12, 0, 52, + 0, -158, 0, 223, 0, 0, 205, 13, -58, 0, 0 ); protected $gotoDefault = array( - -32768, 407, 585, 2, 586, 657, 665, 530, 424, 555, - 425, 451, 326, 739, 894, 759, 721, 722, 723, 312, - 352, 303, 310, 514, 503, 398, 708, 371, 700, 395, - 703, 370, 712, 137, 531, 403, 716, 1, 718, 457, - 750, 300, 726, 301, 534, 728, 464, 730, 731, 306, - 313, 314, 898, 472, 500, 743, 207, 466, 744, 299, - 745, 753, 323, 304, 381, 404, 318, 875, 490, 321, - 366, 384, 497, 492, 474, 1003, 778, 390, 379, 792, - 287, 800, 583, 808, 811, 426, 427, 388, 823, 389, - 834, 828, 1011, 383, 840, 372, 847, 1043, 374, 851, - 222, 854, 247, 528, 340, 859, 860, 6, 865, 546, - 547, 7, 237, 402, 889, 529, 369, 904, 355, 972, - 974, 459, 396, 985, 378, 537, 405, 990, 1047, 367, - 428, 385, 274, 291, 249, 429, 446, 254, 430, 386, - 1050, 1057, 329, 1073, 271, 29, 1085, 1093, 283, 478, - 494 + -32768, 418, 601, 2, 602, 674, 682, 546, 435, 571, + 436, 462, 333, 756, 911, 776, 738, 739, 740, 318, + 359, 309, 316, 529, 516, 408, 725, 379, 717, 405, + 720, 378, 729, 139, 547, 414, 733, 1, 735, 468, + 767, 306, 743, 307, 550, 745, 475, 747, 748, 312, + 319, 320, 915, 484, 513, 760, 211, 477, 761, 305, + 762, 770, 329, 310, 390, 415, 324, 892, 502, 525, + 374, 393, 510, 505, 486, 1022, 795, 399, 388, 809, + 294, 817, 599, 825, 828, 437, 438, 397, 840, 398, + 851, 845, 1030, 392, 857, 380, 864, 1062, 383, 868, + 226, 871, 253, 544, 347, 876, 877, 6, 882, 562, + 563, 7, 241, 413, 906, 545, 377, 921, 362, 989, + 991, 470, 406, 1004, 387, 553, 416, 1009, 1066, 375, + 439, 394, 280, 298, 255, 440, 456, 260, 441, 395, + 1069, 1076, 336, 1092, 277, 29, 1104, 1112, 290, 490, + 507 ); protected $ruleToNonTerminal = array( @@ -745,31 +751,31 @@ 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, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, - 7, 7, 8, 9, 10, 10, 11, 12, 13, 13, - 14, 14, 15, 15, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 20, 20, 21, 21, 21, - 21, 23, 25, 25, 19, 27, 27, 24, 29, 29, - 26, 26, 28, 28, 30, 30, 22, 31, 31, 32, - 34, 35, 35, 36, 37, 37, 39, 38, 38, 38, - 38, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, + 6, 7, 7, 8, 9, 10, 10, 11, 12, 13, + 13, 14, 14, 15, 15, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 20, 20, 21, 21, + 21, 21, 23, 25, 25, 19, 27, 27, 24, 29, + 29, 26, 26, 28, 28, 30, 30, 22, 31, 31, + 32, 34, 35, 35, 36, 37, 37, 39, 38, 38, + 38, 38, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, - 40, 40, 40, 40, 40, 40, 16, 16, 59, 59, - 62, 62, 61, 60, 60, 53, 64, 64, 65, 65, - 66, 66, 67, 67, 17, 18, 18, 18, 70, 70, - 70, 71, 71, 74, 74, 72, 72, 76, 77, 77, - 47, 47, 55, 55, 58, 58, 58, 57, 78, 78, - 79, 48, 48, 48, 48, 80, 80, 81, 81, 82, - 82, 45, 45, 41, 41, 83, 43, 43, 84, 42, - 42, 44, 44, 54, 54, 54, 54, 68, 68, 87, - 87, 88, 88, 88, 90, 90, 91, 91, 91, 89, - 89, 69, 69, 69, 92, 92, 93, 93, 94, 94, - 94, 50, 95, 95, 96, 51, 98, 98, 99, 99, - 100, 100, 73, 101, 101, 101, 101, 101, 106, 106, - 107, 107, 108, 108, 108, 108, 108, 109, 110, 110, - 105, 105, 102, 102, 104, 104, 112, 112, 111, 111, - 111, 111, 111, 111, 103, 113, 113, 115, 114, 114, - 52, 116, 116, 46, 46, 33, 33, 33, 33, 33, + 40, 40, 40, 40, 40, 40, 40, 16, 16, 59, + 59, 62, 62, 61, 60, 60, 53, 64, 64, 65, + 65, 66, 66, 67, 67, 17, 18, 18, 18, 70, + 70, 70, 71, 71, 74, 74, 72, 72, 76, 77, + 77, 47, 47, 55, 55, 58, 58, 58, 57, 78, + 78, 79, 48, 48, 48, 48, 80, 80, 81, 81, + 82, 82, 45, 45, 41, 41, 83, 43, 43, 84, + 42, 42, 44, 44, 54, 54, 54, 54, 68, 68, + 87, 87, 88, 88, 88, 90, 90, 91, 91, 91, + 89, 89, 69, 69, 69, 92, 92, 93, 93, 94, + 94, 94, 50, 95, 95, 96, 51, 98, 98, 99, + 99, 100, 100, 73, 101, 101, 101, 101, 101, 106, + 106, 107, 107, 108, 108, 108, 108, 108, 109, 110, + 110, 105, 105, 102, 102, 104, 104, 112, 112, 111, + 111, 111, 111, 111, 111, 103, 113, 113, 115, 114, + 114, 52, 116, 116, 46, 46, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, @@ -777,20 +783,20 @@ class Php7 extends \PhpParser\ParserAbstract 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 123, - 117, 117, 122, 122, 125, 126, 126, 127, 128, 128, - 128, 75, 75, 63, 63, 63, 118, 118, 118, 130, - 130, 119, 119, 121, 121, 121, 124, 124, 135, 135, - 135, 86, 137, 137, 137, 120, 120, 120, 120, 120, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 123, 117, 117, 122, 122, 125, 126, 126, + 127, 128, 128, 128, 75, 75, 63, 63, 63, 118, + 118, 118, 130, 130, 119, 119, 121, 121, 121, 124, + 124, 135, 135, 135, 86, 137, 137, 137, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - 120, 49, 49, 133, 133, 133, 129, 129, 129, 138, - 138, 138, 138, 138, 138, 56, 56, 56, 97, 97, - 97, 97, 141, 140, 132, 132, 132, 132, 132, 132, - 131, 131, 131, 139, 139, 139, 139, 85, 142, 142, - 143, 143, 143, 143, 143, 143, 143, 136, 145, 145, - 144, 144, 146, 146, 146, 146, 146, 134, 134, 134, - 134, 148, 149, 147, 147, 147, 147, 147, 147, 147, - 150, 150, 150, 150 + 120, 120, 120, 120, 49, 49, 133, 133, 133, 129, + 129, 129, 138, 138, 138, 138, 138, 138, 56, 56, + 56, 97, 97, 97, 97, 141, 140, 132, 132, 132, + 132, 132, 132, 131, 131, 131, 139, 139, 139, 139, + 85, 142, 142, 143, 143, 143, 143, 143, 143, 143, + 136, 145, 145, 144, 144, 146, 146, 146, 146, 146, + 134, 134, 134, 134, 148, 149, 147, 147, 147, 147, + 147, 147, 147, 150, 150, 150, 150 ); protected $ruleToLength = array( @@ -802,51 +808,51 @@ 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, 1, 1, 3, 1, 1, 1, 1, - 0, 1, 0, 1, 1, 1, 1, 1, 3, 5, - 4, 3, 4, 2, 3, 1, 1, 7, 8, 6, - 7, 2, 3, 1, 2, 3, 1, 2, 3, 1, - 1, 3, 1, 2, 1, 2, 2, 3, 1, 3, - 2, 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, 6, - 5, 6, 3, 3, 2, 1, 1, 1, 0, 2, - 1, 3, 8, 0, 4, 2, 1, 3, 0, 1, - 0, 1, 3, 1, 8, 7, 6, 5, 1, 2, - 2, 0, 2, 0, 2, 0, 2, 2, 1, 3, - 1, 4, 1, 4, 1, 1, 4, 2, 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, 2, 0, 1, - 3, 4, 6, 4, 1, 2, 1, 1, 1, 0, - 1, 0, 2, 2, 2, 4, 1, 3, 1, 2, - 2, 2, 3, 1, 1, 2, 3, 1, 1, 3, - 2, 0, 1, 4, 4, 9, 3, 1, 1, 3, - 0, 2, 4, 5, 4, 4, 4, 3, 1, 1, - 1, 1, 1, 1, 0, 1, 1, 2, 1, 1, - 1, 1, 1, 1, 2, 1, 3, 1, 1, 3, - 2, 3, 1, 0, 1, 1, 3, 3, 3, 4, - 1, 2, 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, 3, 3, 3, + 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, + 1, 0, 1, 0, 1, 1, 1, 1, 1, 3, + 5, 4, 3, 4, 2, 3, 1, 1, 7, 8, + 6, 7, 2, 3, 1, 2, 3, 1, 2, 3, + 1, 1, 3, 1, 2, 1, 2, 2, 3, 1, + 3, 2, 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, + 6, 5, 6, 3, 3, 2, 1, 1, 1, 0, + 2, 1, 3, 8, 0, 4, 2, 1, 3, 0, + 1, 0, 1, 3, 1, 8, 7, 6, 5, 1, + 2, 2, 0, 2, 0, 2, 0, 2, 2, 1, + 3, 1, 4, 1, 4, 1, 1, 4, 2, 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, 2, 0, + 1, 3, 4, 6, 4, 1, 2, 1, 1, 1, + 0, 1, 0, 2, 2, 2, 4, 1, 3, 1, + 2, 2, 2, 3, 1, 1, 2, 3, 1, 1, + 3, 2, 0, 1, 4, 4, 9, 3, 1, 1, + 3, 0, 2, 4, 5, 4, 4, 4, 3, 1, + 1, 1, 1, 1, 1, 0, 1, 1, 2, 1, + 1, 1, 1, 1, 1, 2, 1, 3, 1, 1, + 3, 2, 3, 1, 0, 1, 1, 3, 3, 3, + 4, 1, 2, 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, 3, 3, - 3, 5, 4, 3, 4, 4, 2, 2, 4, 2, + 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, - 1, 3, 2, 1, 2, 4, 2, 8, 9, 7, - 3, 2, 0, 4, 2, 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, 1, 3, 1, 4, 4, 3, 3, 3, - 1, 3, 1, 1, 3, 1, 1, 4, 3, 1, - 1, 2, 1, 3, 4, 3, 0, 1, 1, 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 + 2, 1, 3, 2, 1, 2, 4, 2, 8, 9, + 8, 9, 7, 3, 2, 0, 4, 2, 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, 1, 3, 1, 4, 4, + 3, 3, 3, 1, 3, 1, 1, 3, 1, 1, + 4, 3, 1, 1, 2, 1, 3, 4, 3, 0, + 1, 1, 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 initReduceCallbacks() { @@ -1093,7 +1099,7 @@ class Php7 extends \PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos]; }, 80 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos]; }, 81 => function ($stackPos) { $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); @@ -1105,19 +1111,19 @@ class Php7 extends \PhpParser\ParserAbstract $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 84 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 85 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 86 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 87 => function ($stackPos) { - $this->semValue = new Expr\Variable(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 88 => function ($stackPos) { - /* nothing */ + $this->semValue = new Expr\Variable(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 89 => function ($stackPos) { /* nothing */ @@ -1126,16 +1132,16 @@ class Php7 extends \PhpParser\ParserAbstract /* nothing */ }, 91 => function ($stackPos) { - $this->emitError(new Error('A trailing comma is not allowed here', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); + /* nothing */ }, 92 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; + $this->emitError(new Error('A trailing comma is not allowed here', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); }, 93 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos]; }, 94 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos]; }, 95 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -1144,134 +1150,134 @@ class Php7 extends \PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 97 => function ($stackPos) { - $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 98 => function ($stackPos) { + $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 99 => function ($stackPos) { $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(3-2)], null, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); $this->checkNamespace($this->semValue); }, - 99 => function ($stackPos) { + 100 => function ($stackPos) { $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); $this->checkNamespace($this->semValue); }, - 100 => function ($stackPos) { + 101 => function ($stackPos) { $this->semValue = new Stmt\Namespace_(null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); $this->checkNamespace($this->semValue); }, - 101 => function ($stackPos) { + 102 => function ($stackPos) { $this->semValue = new Stmt\Use_($this->semStack[$stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 102 => function ($stackPos) { + 103 => function ($stackPos) { $this->semValue = new Stmt\Use_($this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, - 103 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, 104 => function ($stackPos) { - $this->semValue = new Stmt\Const_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 105 => function ($stackPos) { - $this->semValue = Stmt\Use_::TYPE_FUNCTION; + $this->semValue = new Stmt\Const_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 106 => function ($stackPos) { - $this->semValue = Stmt\Use_::TYPE_CONSTANT; + $this->semValue = Stmt\Use_::TYPE_FUNCTION; }, 107 => function ($stackPos) { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(7-3)], $this->startAttributeStack[$stackPos-(7-3)] + $this->endAttributeStack[$stackPos-(7-3)]), $this->semStack[$stackPos-(7-6)], $this->semStack[$stackPos-(7-2)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); + $this->semValue = Stmt\Use_::TYPE_CONSTANT; }, 108 => function ($stackPos) { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(8-4)], $this->startAttributeStack[$stackPos-(8-4)] + $this->endAttributeStack[$stackPos-(8-4)]), $this->semStack[$stackPos-(8-7)], $this->semStack[$stackPos-(8-2)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(7-3)], $this->startAttributeStack[$stackPos-(7-3)] + $this->endAttributeStack[$stackPos-(7-3)]), $this->semStack[$stackPos-(7-6)], $this->semStack[$stackPos-(7-2)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); }, 109 => function ($stackPos) { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(6-2)], $this->startAttributeStack[$stackPos-(6-2)] + $this->endAttributeStack[$stackPos-(6-2)]), $this->semStack[$stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(8-4)], $this->startAttributeStack[$stackPos-(8-4)] + $this->endAttributeStack[$stackPos-(8-4)]), $this->semStack[$stackPos-(8-7)], $this->semStack[$stackPos-(8-2)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); }, 110 => function ($stackPos) { - $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(7-3)], $this->startAttributeStack[$stackPos-(7-3)] + $this->endAttributeStack[$stackPos-(7-3)]), $this->semStack[$stackPos-(7-6)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); + $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(6-2)], $this->startAttributeStack[$stackPos-(6-2)] + $this->endAttributeStack[$stackPos-(6-2)]), $this->semStack[$stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, 111 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(7-3)], $this->startAttributeStack[$stackPos-(7-3)] + $this->endAttributeStack[$stackPos-(7-3)]), $this->semStack[$stackPos-(7-6)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); }, 112 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 113 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 114 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 115 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 116 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 117 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 118 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 119 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 120 => function ($stackPos) { - $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(1-1)); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 121 => function ($stackPos) { - $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(3-3)); + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(1-1)); }, 122 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(3-3)); }, 123 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 124 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL; + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, 125 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; $this->semValue->type = $this->semStack[$stackPos-(2-1)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL; }, 126 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = $this->semStack[$stackPos-(2-2)]; $this->semValue->type = $this->semStack[$stackPos-(2-1)]; }, 127 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 128 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 129 => function ($stackPos) { - $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 130 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 131 => function ($stackPos) { + 128 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, - 132 => function ($stackPos) { + 129 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, - 133 => function ($stackPos) { + 130 => function ($stackPos) { $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, + 131 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 132 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 133 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, 134 => function ($stackPos) { - if (is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }; + $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 135 => function ($stackPos) { - $this->semValue = array(); + if (is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }; }, 136 => function ($stackPos) { - $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $nop = null; }; - if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array(); }, 137 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $nop = null; }; + if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 138 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -1280,9 +1286,12 @@ class Php7 extends \PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 140 => function ($stackPos) { - throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 141 => function ($stackPos) { + throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 142 => function ($stackPos) { if ($this->semStack[$stackPos-(3-2)]) { $this->semValue = $this->semStack[$stackPos-(3-2)]; $attrs = $this->startAttributeStack[$stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments'])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); }; @@ -1292,536 +1301,533 @@ class Php7 extends \PhpParser\ParserAbstract } }, - 142 => function ($stackPos) { + 143 => function ($stackPos) { $this->semValue = new Stmt\If_($this->semStack[$stackPos-(7-3)], ['stmts' => is_array($this->semStack[$stackPos-(7-5)]) ? $this->semStack[$stackPos-(7-5)] : array($this->semStack[$stackPos-(7-5)]), 'elseifs' => $this->semStack[$stackPos-(7-6)], 'else' => $this->semStack[$stackPos-(7-7)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); }, - 143 => function ($stackPos) { + 144 => function ($stackPos) { $this->semValue = new Stmt\If_($this->semStack[$stackPos-(10-3)], ['stmts' => $this->semStack[$stackPos-(10-6)], 'elseifs' => $this->semStack[$stackPos-(10-7)], 'else' => $this->semStack[$stackPos-(10-8)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); }, - 144 => function ($stackPos) { + 145 => function ($stackPos) { $this->semValue = new Stmt\While_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 145 => function ($stackPos) { + 146 => function ($stackPos) { $this->semValue = new Stmt\Do_($this->semStack[$stackPos-(7-5)], is_array($this->semStack[$stackPos-(7-2)]) ? $this->semStack[$stackPos-(7-2)] : array($this->semStack[$stackPos-(7-2)]), $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); }, - 146 => function ($stackPos) { + 147 => function ($stackPos) { $this->semValue = new Stmt\For_(['init' => $this->semStack[$stackPos-(9-3)], 'cond' => $this->semStack[$stackPos-(9-5)], 'loop' => $this->semStack[$stackPos-(9-7)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, - 147 => function ($stackPos) { + 148 => function ($stackPos) { $this->semValue = new Stmt\Switch_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 148 => function ($stackPos) { + 149 => function ($stackPos) { $this->semValue = new Stmt\Break_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 149 => function ($stackPos) { + 150 => function ($stackPos) { $this->semValue = new Stmt\Continue_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 150 => function ($stackPos) { + 151 => function ($stackPos) { $this->semValue = new Stmt\Return_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 151 => function ($stackPos) { + 152 => function ($stackPos) { $this->semValue = new Stmt\Global_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 152 => function ($stackPos) { + 153 => function ($stackPos) { $this->semValue = new Stmt\Static_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 153 => function ($stackPos) { + 154 => function ($stackPos) { $this->semValue = new Stmt\Echo_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 154 => function ($stackPos) { + 155 => function ($stackPos) { $this->semValue = new Stmt\InlineHTML($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 155 => function ($stackPos) { + 156 => function ($stackPos) { $this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 156 => function ($stackPos) { + 157 => function ($stackPos) { $this->semValue = new Stmt\Unset_($this->semStack[$stackPos-(5-3)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 157 => function ($stackPos) { + 158 => function ($stackPos) { $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$stackPos-(7-5)][1], 'stmts' => $this->semStack[$stackPos-(7-7)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); }, - 158 => function ($stackPos) { + 159 => function ($stackPos) { $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(9-3)], $this->semStack[$stackPos-(9-7)][0], ['keyVar' => $this->semStack[$stackPos-(9-5)], 'byRef' => $this->semStack[$stackPos-(9-7)][1], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, - 159 => function ($stackPos) { + 160 => function ($stackPos) { $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(6-3)], new Expr\Error($this->startAttributeStack[$stackPos-(6-4)] + $this->endAttributeStack[$stackPos-(6-4)]), ['stmts' => $this->semStack[$stackPos-(6-6)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, - 160 => function ($stackPos) { + 161 => function ($stackPos) { $this->semValue = new Stmt\Declare_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 161 => function ($stackPos) { + 162 => function ($stackPos) { $this->semValue = new Stmt\TryCatch($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue); }, - 162 => function ($stackPos) { + 163 => function ($stackPos) { $this->semValue = new Stmt\Throw_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 163 => function ($stackPos) { + 164 => function ($stackPos) { $this->semValue = new Stmt\Goto_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 164 => function ($stackPos) { + 165 => function ($stackPos) { $this->semValue = new Stmt\Label($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 165 => function ($stackPos) { + 166 => function ($stackPos) { $this->semValue = array(); /* means: no statement */ }, - 166 => function ($stackPos) { + 167 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 167 => function ($stackPos) { + 168 => function ($stackPos) { $startAttributes = $this->startAttributeStack[$stackPos-(1-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; }; if ($this->semValue === null) $this->semValue = array(); /* means: no statement */ }, - 168 => function ($stackPos) { + 169 => function ($stackPos) { $this->semValue = array(); }, - 169 => function ($stackPos) { + 170 => function ($stackPos) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 170 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, 171 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 172 => function ($stackPos) { - $this->semValue = new Stmt\Catch_($this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); - }, - 173 => function ($stackPos) { - $this->semValue = null; - }, - 174 => function ($stackPos) { - $this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 175 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 176 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 177 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, + 173 => function ($stackPos) { + $this->semValue = new Stmt\Catch_($this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + }, + 174 => function ($stackPos) { + $this->semValue = null; + }, + 175 => function ($stackPos) { + $this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 176 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 177 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, 178 => function ($stackPos) { - $this->semValue = false; + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 179 => function ($stackPos) { - $this->semValue = true; - }, - 180 => function ($stackPos) { $this->semValue = false; }, - 181 => function ($stackPos) { + 180 => function ($stackPos) { $this->semValue = true; }, + 181 => function ($stackPos) { + $this->semValue = false; + }, 182 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = true; }, 183 => function ($stackPos) { - $this->semValue = []; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 184 => function ($stackPos) { - $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(8-3)], ['byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-5)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + $this->semValue = []; }, 185 => function ($stackPos) { + $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(8-3)], ['byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-5)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + }, + 186 => function ($stackPos) { $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(7-2)], ['type' => $this->semStack[$stackPos-(7-1)], 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); $this->checkClass($this->semValue, $stackPos-(7-2)); }, - 186 => function ($stackPos) { + 187 => function ($stackPos) { $this->semValue = new Stmt\Interface_($this->semStack[$stackPos-(6-2)], ['extends' => $this->semStack[$stackPos-(6-3)], 'stmts' => $this->semStack[$stackPos-(6-5)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkInterface($this->semValue, $stackPos-(6-2)); }, - 187 => function ($stackPos) { + 188 => function ($stackPos) { $this->semValue = new Stmt\Trait_($this->semStack[$stackPos-(5-2)], ['stmts' => $this->semStack[$stackPos-(5-4)]], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 188 => function ($stackPos) { + 189 => function ($stackPos) { $this->semValue = 0; }, - 189 => function ($stackPos) { + 190 => function ($stackPos) { $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; }, - 190 => function ($stackPos) { + 191 => function ($stackPos) { $this->semValue = Stmt\Class_::MODIFIER_FINAL; }, - 191 => function ($stackPos) { - $this->semValue = null; - }, 192 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + $this->semValue = null; }, 193 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, 194 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + $this->semValue = array(); }, 195 => function ($stackPos) { - $this->semValue = array(); - }, - 196 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-2)]; }, - 197 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 198 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 199 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 200 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 201 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 202 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 203 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 204 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 205 => function ($stackPos) { - $this->semValue = null; - }, - 206 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 207 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 208 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 209 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 210 => function ($stackPos) { - $this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 211 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 212 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; - }, - 213 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 214 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(5-3)]; - }, - 215 => function ($stackPos) { + 196 => function ($stackPos) { $this->semValue = array(); }, + 197 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; + }, + 198 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 199 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 200 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 201 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 202 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 203 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 204 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 205 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 206 => function ($stackPos) { + $this->semValue = null; + }, + 207 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 208 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 209 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 210 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 211 => function ($stackPos) { + $this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 212 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 213 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-3)]; + }, + 214 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 215 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(5-3)]; + }, 216 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = array(); }, 217 => function ($stackPos) { - $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 218 => function ($stackPos) { - $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 219 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; + $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 220 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos]; }, 221 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + $this->semValue = $this->semStack[$stackPos]; }, 222 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); }, 223 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = $this->semStack[$stackPos-(4-2)]; }, 224 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 225 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(5-3)], is_array($this->semStack[$stackPos-(5-5)]) ? $this->semStack[$stackPos-(5-5)] : array($this->semStack[$stackPos-(5-5)]), $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 226 => function ($stackPos) { $this->semValue = array(); }, - 227 => function ($stackPos) { + 225 => function ($stackPos) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, + 226 => function ($stackPos) { + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(5-3)], is_array($this->semStack[$stackPos-(5-5)]) ? $this->semStack[$stackPos-(5-5)] : array($this->semStack[$stackPos-(5-5)]), $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 227 => function ($stackPos) { + $this->semValue = array(); + }, 228 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 229 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, 230 => function ($stackPos) { - $this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 231 => function ($stackPos) { $this->semValue = null; }, + 231 => function ($stackPos) { + $this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, 232 => function ($stackPos) { - $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = null; }, 233 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 234 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-2)], true); + $this->semValue = array($this->semStack[$stackPos-(1-1)], false); }, 235 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + $this->semValue = array($this->semStack[$stackPos-(2-2)], true); }, 236 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)], false); }, 237 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = array($this->semStack[$stackPos-(1-1)], false); }, 238 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 239 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semValue = array(); }, 240 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 241 => function ($stackPos) { - $this->semValue = new Node\Param($this->semStack[$stackPos-(4-4)], null, $this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->checkParam($this->semValue); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 242 => function ($stackPos) { - $this->semValue = new Node\Param($this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-3)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkParam($this->semValue); + $this->semValue = new Node\Param($this->semStack[$stackPos-(4-4)], null, $this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->checkParam($this->semValue); }, 243 => function ($stackPos) { - $this->semValue = new Node\Param(new Expr\Error($this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes), null, $this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Node\Param($this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-3)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkParam($this->semValue); }, 244 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\Param(new Expr\Error($this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes), null, $this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 245 => function ($stackPos) { - $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 246 => function ($stackPos) { - $this->semValue = $this->handleBuiltinTypes($this->semStack[$stackPos-(1-1)]); - }, - 247 => function ($stackPos) { - $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 248 => function ($stackPos) { - $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 249 => function ($stackPos) { - $this->semValue = null; - }, - 250 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 251 => function ($stackPos) { + 246 => function ($stackPos) { + $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 247 => function ($stackPos) { + $this->semValue = $this->handleBuiltinTypes($this->semStack[$stackPos-(1-1)]); + }, + 248 => function ($stackPos) { + $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 249 => function ($stackPos) { + $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 250 => function ($stackPos) { $this->semValue = null; }, + 251 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, 252 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 253 => function ($stackPos) { $this->semValue = null; }, + 253 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; + }, 254 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = null; }, 255 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 256 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 257 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 258 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 259 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 260 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 261 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 262 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 263 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 264 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 265 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 266 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 267 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 268 => function ($stackPos) { - $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 269 => function ($stackPos) { - $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 270 => function ($stackPos) { - if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } - }, - 271 => function ($stackPos) { $this->semValue = array(); }, + 256 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 257 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 258 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 259 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 260 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 261 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 262 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 263 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 264 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 265 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 266 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 267 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 268 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 269 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 270 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 271 => function ($stackPos) { + if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } + }, 272 => function ($stackPos) { + $this->semValue = array(); + }, + 273 => function ($stackPos) { $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $nop = null; }; if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 273 => function ($stackPos) { + 274 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $this->semValue = new Stmt\Property($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $attrs, $this->semStack[$stackPos-(4-2)]); $this->checkProperty($this->semValue, $stackPos-(4-1)); }, - 274 => function ($stackPos) { + 275 => function ($stackPos) { $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-1)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->checkClassConst($this->semValue, $stackPos-(4-1)); }, - 275 => function ($stackPos) { + 276 => function ($stackPos) { $this->semValue = new Stmt\ClassMethod($this->semStack[$stackPos-(9-4)], ['type' => $this->semStack[$stackPos-(9-1)], 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); $this->checkClassMethod($this->semValue, $stackPos-(9-1)); }, - 276 => function ($stackPos) { + 277 => function ($stackPos) { $this->semValue = new Stmt\TraitUse($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 277 => function ($stackPos) { + 278 => function ($stackPos) { $this->semValue = null; /* will be skipped */ }, - 278 => function ($stackPos) { - $this->semValue = array(); - }, 279 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = array(); }, 280 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 281 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = array(); }, 282 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 283 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 284 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, 285 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 286 => function ($stackPos) { $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 287 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 288 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); }, 289 => function ($stackPos) { - $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 290 => function ($stackPos) { - $this->semValue = null; + $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); }, 291 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = null; }, 292 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 293 => function ($stackPos) { - $this->semValue = 0; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 294 => function ($stackPos) { $this->semValue = 0; }, 295 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = 0; }, 296 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 297 => function ($stackPos) { - $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 298 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; + $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; }, 299 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; }, 300 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; }, 301 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_STATIC; + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; }, 302 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + $this->semValue = Stmt\Class_::MODIFIER_STATIC; }, 303 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; }, 304 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = Stmt\Class_::MODIFIER_FINAL; }, 305 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 306 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 307 => function ($stackPos) { - $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 308 => function ($stackPos) { - $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 309 => function ($stackPos) { - $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 310 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 311 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 312 => function ($stackPos) { + 306 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, + 307 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 308 => function ($stackPos) { + $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 309 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 310 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 311 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 312 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, 313 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 314 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array(); }, 315 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 316 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 317 => function ($stackPos) { $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); @@ -1830,309 +1836,309 @@ class Php7 extends \PhpParser\ParserAbstract $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 319 => function ($stackPos) { - $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 320 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 321 => function ($stackPos) { - $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 322 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 323 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 324 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 325 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 326 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 327 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 328 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 329 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 330 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 331 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 332 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 333 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 334 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 335 => function ($stackPos) { - $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 336 => function ($stackPos) { - $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 337 => function ($stackPos) { - $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 338 => function ($stackPos) { - $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 339 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 340 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 341 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 342 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 343 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 344 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 345 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 346 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 347 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 348 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 349 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 350 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 351 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 352 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 353 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 354 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 355 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 356 => function ($stackPos) { - $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 357 => function ($stackPos) { - $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 358 => function ($stackPos) { - $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 359 => function ($stackPos) { - $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 360 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 361 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 362 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 363 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 364 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 365 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 366 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 367 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 368 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 369 => function ($stackPos) { - $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 370 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 371 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 372 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, 373 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 374 => function ($stackPos) { - $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 375 => function ($stackPos) { - $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 376 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 377 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 378 => function ($stackPos) { - $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 379 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 380 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 381 => function ($stackPos) { - $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 382 => function ($stackPos) { + $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 383 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = $this->getFloatCastKind($this->semStack[$stackPos-(2-1)]); $this->semValue = new Expr\Cast\Double($this->semStack[$stackPos-(2-2)], $attrs); }, - 383 => function ($stackPos) { + 384 => function ($stackPos) { $this->semValue = new Expr\Cast\String_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 384 => function ($stackPos) { + 385 => function ($stackPos) { $this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 385 => function ($stackPos) { + 386 => function ($stackPos) { $this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 386 => function ($stackPos) { + 387 => function ($stackPos) { $this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 387 => function ($stackPos) { + 388 => function ($stackPos) { $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 388 => function ($stackPos) { + 389 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strtolower($this->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; $this->semValue = new Expr\Exit_($this->semStack[$stackPos-(2-2)], $attrs); }, - 389 => function ($stackPos) { + 390 => function ($stackPos) { $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 390 => function ($stackPos) { + 391 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 391 => function ($stackPos) { + 392 => function ($stackPos) { $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 392 => function ($stackPos) { + 393 => function ($stackPos) { $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 393 => function ($stackPos) { + 394 => function ($stackPos) { $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 394 => function ($stackPos) { + 395 => function ($stackPos) { $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 395 => function ($stackPos) { + 396 => function ($stackPos) { $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, - 396 => function ($stackPos) { + 397 => function ($stackPos) { $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 397 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'uses' => $this->semStack[$stackPos-(8-6)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); - }, 398 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'uses' => $this->semStack[$stackPos-(9-7)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'returnType' => $this->semStack[$stackPos-(8-6)], 'expr' => $this->semStack[$stackPos-(8-8)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); }, 399 => function ($stackPos) { + $this->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'returnType' => $this->semStack[$stackPos-(9-7)], 'expr' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + }, + 400 => function ($stackPos) { + $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'uses' => $this->semStack[$stackPos-(8-6)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + }, + 401 => function ($stackPos) { + $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'uses' => $this->semStack[$stackPos-(9-7)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + }, + 402 => function ($stackPos) { $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes), $this->semStack[$stackPos-(7-2)]); $this->checkClass($this->semValue[0], -1); }, - 400 => function ($stackPos) { + 403 => function ($stackPos) { $this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 401 => function ($stackPos) { + 404 => function ($stackPos) { list($class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 402 => function ($stackPos) { + 405 => function ($stackPos) { $this->semValue = array(); }, - 403 => function ($stackPos) { + 406 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(4-3)]; }, - 404 => function ($stackPos) { + 407 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 405 => function ($stackPos) { + 408 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, - 406 => function ($stackPos) { + 409 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, - 407 => function ($stackPos) { + 410 => function ($stackPos) { $this->semValue = new Expr\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 408 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 409 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 410 => function ($stackPos) { - $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, 411 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 412 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 413 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 414 => function ($stackPos) { - $this->semValue = new Name\FullyQualified($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 415 => function ($stackPos) { - $this->semValue = new Name\Relative($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 416 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 417 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Name\FullyQualified($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 418 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = new Name\Relative($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 419 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -2141,110 +2147,110 @@ class Php7 extends \PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 421 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; }, 422 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 423 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 424 => function ($stackPos) { - $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); + $this->semValue = null; }, 425 => function ($stackPos) { - foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 426 => function ($stackPos) { $this->semValue = array(); }, 427 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); }, 428 => function ($stackPos) { - $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 429 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = array(); }, 430 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], new Expr\Error($this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 431 => function ($stackPos) { + $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 432 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 433 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], new Expr\Error($this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->errorState = 2; + }, + 434 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT; $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $attrs); }, - 432 => function ($stackPos) { + 435 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG; $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $attrs); }, - 433 => function ($stackPos) { + 436 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 434 => function ($stackPos) { + 437 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$stackPos-(1-1)][0] === "'" || ($this->semStack[$stackPos-(1-1)][1] === "'" && ($this->semStack[$stackPos-(1-1)][0] === 'b' || $this->semStack[$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[$stackPos-(1-1)]), $attrs); }, - 435 => function ($stackPos) { + 438 => function ($stackPos) { $this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 436 => function ($stackPos) { + 439 => function ($stackPos) { $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$stackPos-(1-1)]), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 437 => function ($stackPos) { + 440 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 438 => function ($stackPos) { + 441 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 439 => function ($stackPos) { + 442 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 440 => function ($stackPos) { + 443 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 441 => function ($stackPos) { + 444 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 442 => function ($stackPos) { + 445 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 443 => function ($stackPos) { + 446 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 444 => function ($stackPos) { + 447 => function ($stackPos) { $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 445 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 446 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 447 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); - }, 448 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], true); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 449 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; - foreach ($this->semStack[$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[$stackPos-(3-2)], $attrs); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 450 => function ($stackPos) { $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); }, 451 => function ($stackPos) { - $this->semValue = null; + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], true); }, 452 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; + foreach ($this->semStack[$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[$stackPos-(3-2)], $attrs); }, 453 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); }, 454 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = null; }, 455 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -2259,76 +2265,76 @@ class Php7 extends \PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 459 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 460 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 461 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 462 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 463 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 464 => function ($stackPos) { - $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 465 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 466 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 467 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 468 => function ($stackPos) { - $this->semValue = substr($this->semStack[$stackPos-(1-1)], 1); - }, - 469 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; - }, - 470 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 471 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); $this->errorState = 2; - }, - 472 => function ($stackPos) { - $var = $this->semStack[$stackPos-(1-1)]; $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; - }, - 473 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 474 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 475 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 476 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 477 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 478 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 479 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 480 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 469 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 470 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 471 => function ($stackPos) { + $this->semValue = substr($this->semStack[$stackPos-(1-1)], 1); + }, + 472 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-3)]; + }, + 473 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 474 => function ($stackPos) { + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); $this->errorState = 2; + }, + 475 => function ($stackPos) { + $var = $this->semStack[$stackPos-(1-1)]; $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; + }, + 476 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 477 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 478 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 479 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 480 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, 481 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 482 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 483 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -2340,117 +2346,126 @@ class Php7 extends \PhpParser\ParserAbstract $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 486 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; - }, - 487 => function ($stackPos) { - $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 488 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 489 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 490 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 491 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 492 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 493 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 494 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 495 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 496 => function ($stackPos) { - $this->semValue = null; - }, - 497 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end] === null) array_pop($this->semValue); - }, - 498 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 499 => function ($stackPos) { - /* do nothing -- prevent default action of $$=$this->semStack[$1]. See $551. */ - }, - 500 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 501 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 502 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 503 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 504 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 505 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 506 => function ($stackPos) { - $this->semValue = null; - }, - 507 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 508 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 509 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 510 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); - }, - 511 => function ($stackPos) { - $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 512 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 513 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 514 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 515 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 516 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 517 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 518 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); - }, - 519 => function ($stackPos) { + 487 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(3-2)]; }, + 488 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 489 => function ($stackPos) { + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + }, + 490 => function ($stackPos) { + $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 491 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 492 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 493 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 494 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 495 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 496 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 497 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 498 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 499 => function ($stackPos) { + $this->semValue = null; + }, + 500 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end] === null) array_pop($this->semValue); + }, + 501 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 502 => function ($stackPos) { + /* do nothing -- prevent default action of $$=$this->semStack[$1]. See $551. */ + }, + 503 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 504 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 505 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 506 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 507 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 508 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 509 => function ($stackPos) { + $this->semValue = null; + }, + 510 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 511 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 512 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 513 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); + }, + 514 => function ($stackPos) { + $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 515 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 516 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 517 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 518 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 519 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, 520 => function ($stackPos) { - $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 521 => function ($stackPos) { - $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, 522 => function ($stackPos) { - $this->semValue = $this->parseNumString('-' . $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 523 => function ($stackPos) { + $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 524 => function ($stackPos) { + $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 525 => function ($stackPos) { + $this->semValue = $this->parseNumString('-' . $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 526 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, ]; diff --git a/lib/PhpParser/Parser/Tokens.php b/lib/PhpParser/Parser/Tokens.php index 3fb3fb4..9bb6fca 100644 --- a/lib/PhpParser/Parser/Tokens.php +++ b/lib/PhpParser/Parser/Tokens.php @@ -6,140 +6,142 @@ namespace PhpParser\Parser; final class Tokens { const YYERRTOK = 256; - const T_INCLUDE = 257; - const T_INCLUDE_ONCE = 258; - const T_EVAL = 259; - const T_REQUIRE = 260; - const T_REQUIRE_ONCE = 261; - const T_LOGICAL_OR = 262; - const T_LOGICAL_XOR = 263; - const T_LOGICAL_AND = 264; - const T_PRINT = 265; - const T_YIELD = 266; - const T_DOUBLE_ARROW = 267; - const T_YIELD_FROM = 268; - const T_PLUS_EQUAL = 269; - const T_MINUS_EQUAL = 270; - const T_MUL_EQUAL = 271; - const T_DIV_EQUAL = 272; - const T_CONCAT_EQUAL = 273; - const T_MOD_EQUAL = 274; - const T_AND_EQUAL = 275; - const T_OR_EQUAL = 276; - const T_XOR_EQUAL = 277; - const T_SL_EQUAL = 278; - const T_SR_EQUAL = 279; - const T_POW_EQUAL = 280; - const T_COALESCE_EQUAL = 281; - const T_COALESCE = 282; - const T_BOOLEAN_OR = 283; - const T_BOOLEAN_AND = 284; - const T_IS_EQUAL = 285; - const T_IS_NOT_EQUAL = 286; - const T_IS_IDENTICAL = 287; - const T_IS_NOT_IDENTICAL = 288; - const T_SPACESHIP = 289; - const T_IS_SMALLER_OR_EQUAL = 290; - const T_IS_GREATER_OR_EQUAL = 291; - const T_SL = 292; - const T_SR = 293; - const T_INSTANCEOF = 294; - const T_INC = 295; - const T_DEC = 296; - const T_INT_CAST = 297; - const T_DOUBLE_CAST = 298; - const T_STRING_CAST = 299; - const T_ARRAY_CAST = 300; - const T_OBJECT_CAST = 301; - const T_BOOL_CAST = 302; - const T_UNSET_CAST = 303; - const T_POW = 304; - const T_NEW = 305; - const T_CLONE = 306; - const T_EXIT = 307; - const T_IF = 308; - const T_ELSEIF = 309; - const T_ELSE = 310; - const T_ENDIF = 311; - const T_LNUMBER = 312; - const T_DNUMBER = 313; - const T_STRING = 314; - const T_STRING_VARNAME = 315; - const T_VARIABLE = 316; - const T_NUM_STRING = 317; - const T_INLINE_HTML = 318; - const T_CHARACTER = 319; - const T_BAD_CHARACTER = 320; - const T_ENCAPSED_AND_WHITESPACE = 321; - const T_CONSTANT_ENCAPSED_STRING = 322; - const T_ECHO = 323; - const T_DO = 324; - const T_WHILE = 325; - const T_ENDWHILE = 326; - const T_FOR = 327; - const T_ENDFOR = 328; - const T_FOREACH = 329; - const T_ENDFOREACH = 330; - const T_DECLARE = 331; - const T_ENDDECLARE = 332; - const T_AS = 333; - const T_SWITCH = 334; - const T_ENDSWITCH = 335; - const T_CASE = 336; - const T_DEFAULT = 337; - const T_BREAK = 338; - const T_CONTINUE = 339; - const T_GOTO = 340; - const T_FUNCTION = 341; - const T_CONST = 342; - const T_RETURN = 343; - const T_TRY = 344; - const T_CATCH = 345; - const T_FINALLY = 346; - const T_THROW = 347; - const T_USE = 348; - const T_INSTEADOF = 349; - const T_GLOBAL = 350; - const T_STATIC = 351; - const T_ABSTRACT = 352; - const T_FINAL = 353; - const T_PRIVATE = 354; - const T_PROTECTED = 355; - const T_PUBLIC = 356; - const T_VAR = 357; - const T_UNSET = 358; - const T_ISSET = 359; - const T_EMPTY = 360; - const T_HALT_COMPILER = 361; - const T_CLASS = 362; - const T_TRAIT = 363; - const T_INTERFACE = 364; - const T_EXTENDS = 365; - const T_IMPLEMENTS = 366; - const T_OBJECT_OPERATOR = 367; - const T_LIST = 368; - const T_ARRAY = 369; - const T_CALLABLE = 370; - const T_CLASS_C = 371; - const T_TRAIT_C = 372; - const T_METHOD_C = 373; - const T_FUNC_C = 374; - const T_LINE = 375; - const T_FILE = 376; - const T_COMMENT = 377; - const T_DOC_COMMENT = 378; - const T_OPEN_TAG = 379; - const T_OPEN_TAG_WITH_ECHO = 380; - const T_CLOSE_TAG = 381; - const T_WHITESPACE = 382; - const T_START_HEREDOC = 383; - const T_END_HEREDOC = 384; - const T_DOLLAR_OPEN_CURLY_BRACES = 385; - const T_CURLY_OPEN = 386; - const T_PAAMAYIM_NEKUDOTAYIM = 387; - const T_NAMESPACE = 388; - const T_NS_C = 389; - const T_DIR = 390; - const T_NS_SEPARATOR = 391; - const T_ELLIPSIS = 392; + const T_ARROW_FUNCTION = 257; + const T_INCLUDE = 258; + const T_INCLUDE_ONCE = 259; + const T_EVAL = 260; + const T_REQUIRE = 261; + const T_REQUIRE_ONCE = 262; + const T_LOGICAL_OR = 263; + const T_LOGICAL_XOR = 264; + const T_LOGICAL_AND = 265; + const T_PRINT = 266; + const T_YIELD = 267; + const T_DOUBLE_ARROW = 268; + const T_YIELD_FROM = 269; + const T_PLUS_EQUAL = 270; + const T_MINUS_EQUAL = 271; + const T_MUL_EQUAL = 272; + const T_DIV_EQUAL = 273; + const T_CONCAT_EQUAL = 274; + const T_MOD_EQUAL = 275; + const T_AND_EQUAL = 276; + const T_OR_EQUAL = 277; + const T_XOR_EQUAL = 278; + const T_SL_EQUAL = 279; + const T_SR_EQUAL = 280; + const T_POW_EQUAL = 281; + const T_COALESCE_EQUAL = 282; + const T_COALESCE = 283; + const T_BOOLEAN_OR = 284; + const T_BOOLEAN_AND = 285; + const T_IS_EQUAL = 286; + const T_IS_NOT_EQUAL = 287; + const T_IS_IDENTICAL = 288; + const T_IS_NOT_IDENTICAL = 289; + const T_SPACESHIP = 290; + const T_IS_SMALLER_OR_EQUAL = 291; + const T_IS_GREATER_OR_EQUAL = 292; + const T_SL = 293; + const T_SR = 294; + const T_INSTANCEOF = 295; + const T_INC = 296; + const T_DEC = 297; + const T_INT_CAST = 298; + const T_DOUBLE_CAST = 299; + const T_STRING_CAST = 300; + const T_ARRAY_CAST = 301; + const T_OBJECT_CAST = 302; + const T_BOOL_CAST = 303; + const T_UNSET_CAST = 304; + const T_POW = 305; + const T_NEW = 306; + const T_CLONE = 307; + const T_EXIT = 308; + const T_IF = 309; + const T_ELSEIF = 310; + const T_ELSE = 311; + const T_ENDIF = 312; + const T_LNUMBER = 313; + const T_DNUMBER = 314; + const T_STRING = 315; + const T_STRING_VARNAME = 316; + const T_VARIABLE = 317; + const T_NUM_STRING = 318; + const T_INLINE_HTML = 319; + const T_CHARACTER = 320; + const T_BAD_CHARACTER = 321; + const T_ENCAPSED_AND_WHITESPACE = 322; + const T_CONSTANT_ENCAPSED_STRING = 323; + const T_ECHO = 324; + const T_DO = 325; + const T_WHILE = 326; + const T_ENDWHILE = 327; + const T_FOR = 328; + const T_ENDFOR = 329; + const T_FOREACH = 330; + const T_ENDFOREACH = 331; + const T_DECLARE = 332; + const T_ENDDECLARE = 333; + const T_AS = 334; + const T_SWITCH = 335; + const T_ENDSWITCH = 336; + const T_CASE = 337; + const T_DEFAULT = 338; + const T_BREAK = 339; + const T_CONTINUE = 340; + const T_GOTO = 341; + const T_FUNCTION = 342; + const T_FN = 343; + const T_CONST = 344; + const T_RETURN = 345; + const T_TRY = 346; + const T_CATCH = 347; + const T_FINALLY = 348; + const T_THROW = 349; + const T_USE = 350; + const T_INSTEADOF = 351; + const T_GLOBAL = 352; + const T_STATIC = 353; + const T_ABSTRACT = 354; + const T_FINAL = 355; + const T_PRIVATE = 356; + const T_PROTECTED = 357; + const T_PUBLIC = 358; + const T_VAR = 359; + const T_UNSET = 360; + const T_ISSET = 361; + const T_EMPTY = 362; + const T_HALT_COMPILER = 363; + const T_CLASS = 364; + const T_TRAIT = 365; + const T_INTERFACE = 366; + const T_EXTENDS = 367; + const T_IMPLEMENTS = 368; + const T_OBJECT_OPERATOR = 369; + const T_LIST = 370; + const T_ARRAY = 371; + const T_CALLABLE = 372; + const T_CLASS_C = 373; + const T_TRAIT_C = 374; + const T_METHOD_C = 375; + const T_FUNC_C = 376; + const T_LINE = 377; + const T_FILE = 378; + const T_COMMENT = 379; + const T_DOC_COMMENT = 380; + const T_OPEN_TAG = 381; + const T_OPEN_TAG_WITH_ECHO = 382; + const T_CLOSE_TAG = 383; + const T_WHITESPACE = 384; + const T_START_HEREDOC = 385; + const T_END_HEREDOC = 386; + const T_DOLLAR_OPEN_CURLY_BRACES = 387; + const T_CURLY_OPEN = 388; + const T_PAAMAYIM_NEKUDOTAYIM = 389; + const T_NAMESPACE = 390; + const T_NS_C = 391; + const T_DIR = 392; + const T_NS_SEPARATOR = 393; + const T_ELLIPSIS = 394; } diff --git a/lib/PhpParser/PrettyPrinter/Standard.php b/lib/PhpParser/PrettyPrinter/Standard.php index 8d5930b..4bd066e 100644 --- a/lib/PhpParser/PrettyPrinter/Standard.php +++ b/lib/PhpParser/PrettyPrinter/Standard.php @@ -582,6 +582,15 @@ class Standard extends PrettyPrinterAbstract . ' {' . $this->pStmts($node->stmts) . $this->nl . '}'; } + protected function pExpr_ArrowFunction(Expr\ArrowFunction $node) { + return ($node->static ? 'static ' : '') + . 'fn' . ($node->byRef ? '&' : '') + . '(' . $this->pCommaSeparated($node->params) . ')' + . (null !== $node->returnType ? ': ' . $this->p($node->returnType) : '') + . ' => ' + . $this->p($node->expr); + } + protected function pExpr_ClosureUse(Expr\ClosureUse $node) { return ($node->byRef ? '&' : '') . $this->p($node->var); } diff --git a/lib/PhpParser/PrettyPrinterAbstract.php b/lib/PhpParser/PrettyPrinterAbstract.php index f6789a1..8ec1e5c 100644 --- a/lib/PhpParser/PrettyPrinterAbstract.php +++ b/lib/PhpParser/PrettyPrinterAbstract.php @@ -1195,6 +1195,7 @@ abstract class PrettyPrinterAbstract $this->removalMap = [ 'Expr_ArrayDimFetch->dim' => $stripBoth, 'Expr_ArrayItem->key' => $stripDoubleArrow, + 'Expr_ArrowFunction->returnType' => $stripColon, 'Expr_Closure->returnType' => $stripColon, 'Expr_Exit->expr' => $stripBoth, 'Expr_Ternary->if' => $stripBoth, @@ -1231,6 +1232,7 @@ abstract class PrettyPrinterAbstract $this->insertionMap = [ 'Expr_ArrayDimFetch->dim' => ['[', false, null, null], 'Expr_ArrayItem->key' => [null, false, null, ' => '], + 'Expr_ArrowFunction->returnType' => [')', false, ' : ', null], 'Expr_Closure->returnType' => [')', false, ' : ', null], 'Expr_Ternary->if' => ['?', false, ' ', ' '], 'Expr_Yield->key' => [\T_YIELD, false, null, ' => '], @@ -1274,6 +1276,7 @@ abstract class PrettyPrinterAbstract // comma-separated lists 'Expr_Array->items' => ', ', + 'Expr_ArrowFunction->params' => ', ', 'Expr_Closure->params' => ', ', 'Expr_Closure->uses' => ', ', 'Expr_FuncCall->args' => ', ', diff --git a/test/PhpParser/Lexer/EmulativeTest.php b/test/PhpParser/Lexer/EmulativeTest.php index cc00caa..a53c379 100644 --- a/test/PhpParser/Lexer/EmulativeTest.php +++ b/test/PhpParser/Lexer/EmulativeTest.php @@ -26,7 +26,7 @@ class EmulativeTest extends LexerTest /** * @dataProvider provideTestReplaceKeywords */ - public function testNoReplaceKeywordsAfterObjectOperator($keyword) { + public function testNoReplaceKeywordsAfterObjectOperator(string $keyword) { $lexer = $this->getLexer(); $lexer->startLexing('' . $keyword); @@ -35,8 +35,23 @@ class EmulativeTest extends LexerTest $this->assertSame(0, $lexer->getNextToken()); } + /** + * @dataProvider provideTestReplaceKeywords + */ + public function testNoReplaceKeywordsAfterObjectOperatorWithSpaces(string $keyword) { + $lexer = $this->getLexer(); + $lexer->startLexing(' ' . $keyword); + + $this->assertSame(Tokens::T_OBJECT_OPERATOR, $lexer->getNextToken()); + $this->assertSame(Tokens::T_STRING, $lexer->getNextToken()); + $this->assertSame(0, $lexer->getNextToken()); + } + public function provideTestReplaceKeywords() { return [ + // PHP 7.4 + ['fn', Tokens::T_FN], + // PHP 5.5 ['finally', Tokens::T_FINALLY], ['yield', Tokens::T_YIELD], @@ -88,7 +103,7 @@ class EmulativeTest extends LexerTest */ public function testErrorAfterEmulation($code) { $errorHandler = new ErrorHandler\Collecting; - $lexer = $this->getLexer([]); + $lexer = $this->getLexer(); $lexer->startLexing('getErrors(); diff --git a/test/PhpParser/NodeVisitor/NameResolverTest.php b/test/PhpParser/NodeVisitor/NameResolverTest.php index 6bfbc55..571eaae 100644 --- a/test/PhpParser/NodeVisitor/NameResolverTest.php +++ b/test/PhpParser/NodeVisitor/NameResolverTest.php @@ -212,8 +212,8 @@ interface A extends C, D { public function a(A $a) : A; } -function fn(A $a) : A {} -function fn2(array $a) : array {} +function f(A $a) : A {} +function f2(array $a) : array {} function(A $a) : A {}; function fn3(?A $a) : ?A {} @@ -249,10 +249,10 @@ interface A extends \NS\C, \NS\D { public function a(\NS\A $a) : \NS\A; } -function fn(\NS\A $a) : \NS\A +function f(\NS\A $a) : \NS\A { } -function fn2(array $a) : array +function f2(array $a) : array { } function (\NS\A $a) : \NS\A { diff --git a/test/code/formatPreservation/arrow_function.test b/test/code/formatPreservation/arrow_function.test new file mode 100644 index 0000000..eeff36f --- /dev/null +++ b/test/code/formatPreservation/arrow_function.test @@ -0,0 +1,97 @@ +Arrow function +----- + +$a; +----- +$stmts[0]->expr->expr = new Expr\Variable('b'); +----- + +$b; +----- + $a; +----- +$stmts[0]->expr->params[] = new Node\Param(new Expr\Variable('b')); +----- + $a; +----- + +$a; +----- +// TODO: Format preserving currently not supported +$stmts[0]->expr->params = []; +----- + $a; +----- + $a; +----- +$stmts[0]->expr->returnType = new Node\Identifier('bool'); +----- + $a; +----- + $a; +----- +$stmts[0]->expr->returnType = null; +----- + $a; +----- + $a; + +static fn($a) +: int +=> $a; +----- +// TODO: Format preserving currently not supported +$stmts[0]->expr->static = true; +$stmts[1]->expr->static = false; +----- + $a; + +fn($a): int => $a; +----- + $a; + +fn&($a) +: int +=> $a; +----- +// TODO: Format preserving currently not supported +$stmts[0]->expr->byRef = true; +$stmts[1]->expr->byRef = false; +----- + $a; + +fn($a): int => $a; diff --git a/test/code/parser/expr/arrow_function.test b/test/code/parser/expr/arrow_function.test new file mode 100644 index 0000000..1beec45 --- /dev/null +++ b/test/code/parser/expr/arrow_function.test @@ -0,0 +1,145 @@ +Arrow Functions +----- + $a; +fn($x = 42) => $x; +static fn(&$x) => $x; +fn&($x) => $x; +fn($x, ...$rest) => $rest; +fn(): int => $x; +----- +!!php7 +array( + 0: Stmt_Expression( + expr: Expr_ArrowFunction( + static: false + byRef: false + params: array( + 0: Param( + type: Identifier( + name: bool + ) + byRef: false + variadic: false + var: Expr_Variable( + name: a + ) + default: null + ) + ) + returnType: null + expr: Expr_Variable( + name: a + ) + ) + ) + 1: Stmt_Expression( + expr: Expr_ArrowFunction( + static: false + byRef: false + params: array( + 0: Param( + type: null + byRef: false + variadic: false + var: Expr_Variable( + name: x + ) + default: Scalar_LNumber( + value: 42 + ) + ) + ) + returnType: null + expr: Expr_Variable( + name: x + ) + ) + ) + 2: Stmt_Expression( + expr: Expr_ArrowFunction( + static: true + byRef: false + params: array( + 0: Param( + type: null + byRef: true + variadic: false + var: Expr_Variable( + name: x + ) + default: null + ) + ) + returnType: null + expr: Expr_Variable( + name: x + ) + ) + ) + 3: Stmt_Expression( + expr: Expr_ArrowFunction( + static: false + byRef: true + params: array( + 0: Param( + type: null + byRef: false + variadic: false + var: Expr_Variable( + name: x + ) + default: null + ) + ) + returnType: null + expr: Expr_Variable( + name: x + ) + ) + ) + 4: Stmt_Expression( + expr: Expr_ArrowFunction( + static: false + byRef: false + params: array( + 0: Param( + type: null + byRef: false + variadic: false + var: Expr_Variable( + name: x + ) + default: null + ) + 1: Param( + type: null + byRef: false + variadic: true + var: Expr_Variable( + name: rest + ) + default: null + ) + ) + returnType: null + expr: Expr_Variable( + name: rest + ) + ) + ) + 5: Stmt_Expression( + expr: Expr_ArrowFunction( + static: false + byRef: false + params: array( + ) + returnType: Identifier( + name: int + ) + expr: Expr_Variable( + name: x + ) + ) + ) +) diff --git a/test/code/prettyPrinter/expr/arrow_function.test b/test/code/prettyPrinter/expr/arrow_function.test new file mode 100644 index 0000000..fe8d879 --- /dev/null +++ b/test/code/prettyPrinter/expr/arrow_function.test @@ -0,0 +1,18 @@ +Arrow function +----- + $a; +fn($x = 42) => $x; +fn(&$x) => $x; +fn&($x) => $x; +static fn($x, ...$rest) => $rest; +fn(): int => $x; +----- +!!php7 +fn($a) => $a; +fn($x = 42) => $x; +fn(&$x) => $x; +fn&($x) => $x; +static fn($x, ...$rest) => $rest; +fn(): int => $x; diff --git a/test_old/run-php-src.sh b/test_old/run-php-src.sh index 944cfff..d4f3889 100755 --- a/test_old/run-php-src.sh +++ b/test_old/run-php-src.sh @@ -1,4 +1,4 @@ -wget -q https://github.com/php/php-src/archive/php-7.3.0RC1.tar.gz +wget -q https://github.com/php/php-src/archive/PHP-7.4.tar.gz mkdir -p ./data/php-src -tar -xzf ./php-7.3.0RC1.tar.gz -C ./data/php-src --strip-components=1 +tar -xzf ./PHP-7.4.tar.gz -C ./data/php-src --strip-components=1 php -n test_old/run.php --verbose --no-progress PHP7 ./data/php-src