diff --git a/grammar/php.y b/grammar/php.y index 6cb5b78ea8..0a57b06184 100644 --- a/grammar/php.y +++ b/grammar/php.y @@ -81,7 +81,10 @@ %token T_USE %token T_INSTEADOF %token T_GLOBAL -%right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC T_READONLY +%token T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC T_READONLY +%token T_PUBLIC_SET +%token T_PROTECTED_SET +%token T_PRIVATE_SET %token T_VAR %token T_UNSET %token T_ISSET @@ -672,6 +675,9 @@ property_modifier: T_PUBLIC { $$ = Modifiers::PUBLIC; } | T_PROTECTED { $$ = Modifiers::PROTECTED; } | T_PRIVATE { $$ = Modifiers::PRIVATE; } + | T_PUBLIC_SET { $$ = Modifiers::PUBLIC_SET; } + | T_PROTECTED_SET { $$ = Modifiers::PROTECTED_SET; } + | T_PRIVATE_SET { $$ = Modifiers::PRIVATE_SET; } | T_READONLY { $$ = Modifiers::READONLY; } ; @@ -906,6 +912,9 @@ member_modifier: T_PUBLIC { $$ = Modifiers::PUBLIC; } | T_PROTECTED { $$ = Modifiers::PROTECTED; } | T_PRIVATE { $$ = Modifiers::PRIVATE; } + | T_PUBLIC_SET { $$ = Modifiers::PUBLIC_SET; } + | T_PROTECTED_SET { $$ = Modifiers::PROTECTED_SET; } + | T_PRIVATE_SET { $$ = Modifiers::PRIVATE_SET; } | T_STATIC { $$ = Modifiers::STATIC; } | T_ABSTRACT { $$ = Modifiers::ABSTRACT; } | T_FINAL { $$ = Modifiers::FINAL; } diff --git a/lib/PhpParser/Builder/Param.php b/lib/PhpParser/Builder/Param.php index f439e87656..324a32b05f 100644 --- a/lib/PhpParser/Builder/Param.php +++ b/lib/PhpParser/Builder/Param.php @@ -122,6 +122,28 @@ public function makeReadonly() { return $this; } + /** + * Gives the promoted property private(set) visibility. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePrivateSet() { + $this->flags = BuilderHelpers::addModifier($this->flags, Modifiers::PRIVATE_SET); + + return $this; + } + + /** + * Gives the promoted property protected(set) visibility. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeProtectedSet() { + $this->flags = BuilderHelpers::addModifier($this->flags, Modifiers::PROTECTED_SET); + + return $this; + } + /** * Adds an attribute group. * diff --git a/lib/PhpParser/Builder/Property.php b/lib/PhpParser/Builder/Property.php index 55fd8b78e1..c80fe481bd 100644 --- a/lib/PhpParser/Builder/Property.php +++ b/lib/PhpParser/Builder/Property.php @@ -112,6 +112,28 @@ public function makeFinal() { return $this; } + /** + * Gives the property private(set) visibility. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePrivateSet() { + $this->flags = BuilderHelpers::addModifier($this->flags, Modifiers::PRIVATE_SET); + + return $this; + } + + /** + * Gives the property protected(set) visibility. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeProtectedSet() { + $this->flags = BuilderHelpers::addModifier($this->flags, Modifiers::PROTECTED_SET); + + return $this; + } + /** * Sets default value for the property. * diff --git a/lib/PhpParser/Modifiers.php b/lib/PhpParser/Modifiers.php index 25cf3bef63..0f0f22d6bb 100644 --- a/lib/PhpParser/Modifiers.php +++ b/lib/PhpParser/Modifiers.php @@ -14,8 +14,13 @@ final class Modifiers { public const ABSTRACT = 16; public const FINAL = 32; public const READONLY = 64; + public const PUBLIC_SET = 128; + public const PROTECTED_SET = 256; + public const PRIVATE_SET = 512; - public const VISIBILITY_MASK = 1 | 2 | 4; + public const VISIBILITY_MASK = self::PUBLIC | self::PROTECTED | self::PRIVATE; + + public const VISIBILITY_SET_MASK = self::PUBLIC_SET | self::PROTECTED_SET | self::PRIVATE_SET; private const TO_STRING_MAP = [ self::PUBLIC => 'public', @@ -25,6 +30,9 @@ final class Modifiers { self::ABSTRACT => 'abstract', self::FINAL => 'final', self::READONLY => 'readonly', + self::PUBLIC_SET => 'public(set)', + self::PROTECTED_SET => 'protected(set)', + self::PRIVATE_SET => 'private(set)', ]; public static function toString(int $modifier): string { @@ -34,15 +42,19 @@ public static function toString(int $modifier): string { return self::TO_STRING_MAP[$modifier]; } + private static function isValidModifier(int $modifier): bool { + $isPow2 = ($modifier & ($modifier - 1)) == 0 && $modifier != 0; + return $isPow2 && $modifier <= self::PRIVATE_SET; + } + /** * @internal */ public static function verifyClassModifier(int $a, int $b): void { - foreach ([Modifiers::ABSTRACT, Modifiers::FINAL, Modifiers::READONLY] as $modifier) { - if ($a & $modifier && $b & $modifier) { - throw new Error( - 'Multiple ' . self::toString($modifier) . ' modifiers are not allowed'); - } + assert(self::isValidModifier($b)); + if (($a & $b) != 0) { + throw new Error( + 'Multiple ' . self::toString($b) . ' modifiers are not allowed'); } if ($a & 48 && $b & 48) { @@ -54,15 +66,16 @@ public static function verifyClassModifier(int $a, int $b): void { * @internal */ public static function verifyModifier(int $a, int $b): void { - if ($a & Modifiers::VISIBILITY_MASK && $b & Modifiers::VISIBILITY_MASK) { + assert(self::isValidModifier($b)); + if (($a & Modifiers::VISIBILITY_MASK && $b & Modifiers::VISIBILITY_MASK) || + ($a & Modifiers::VISIBILITY_SET_MASK && $b & Modifiers::VISIBILITY_SET_MASK) + ) { throw new Error('Multiple access type modifiers are not allowed'); } - foreach ([Modifiers::ABSTRACT, Modifiers::STATIC, Modifiers::FINAL, Modifiers::READONLY] as $modifier) { - if ($a & $modifier && $b & $modifier) { - throw new Error( - 'Multiple ' . self::toString($modifier) . ' modifiers are not allowed'); - } + if (($a & $b) != 0) { + throw new Error( + 'Multiple ' . self::toString($b) . ' modifiers are not allowed'); } if ($a & 48 && $b & 48) { diff --git a/lib/PhpParser/Node/Param.php b/lib/PhpParser/Node/Param.php index c844f6440e..a277ca0a15 100644 --- a/lib/PhpParser/Node/Param.php +++ b/lib/PhpParser/Node/Param.php @@ -86,4 +86,25 @@ public function isPrivate(): bool { public function isReadonly(): bool { return (bool) ($this->flags & Modifiers::READONLY); } + + /** + * Whether the promoted property has explicit public(set) visibility. + */ + public function isPublicSet(): bool { + return (bool) ($this->flags & Modifiers::PUBLIC_SET); + } + + /** + * Whether the promoted property has explicit protected(set) visibility. + */ + public function isProtectedSet(): bool { + return (bool) ($this->flags & Modifiers::PROTECTED_SET); + } + + /** + * Whether the promoted property has explicit private(set) visibility. + */ + public function isPrivateSet(): bool { + return (bool) ($this->flags & Modifiers::PRIVATE_SET); + } } diff --git a/lib/PhpParser/Node/Stmt/Property.php b/lib/PhpParser/Node/Stmt/Property.php index edbd144e5d..3b238c76a9 100644 --- a/lib/PhpParser/Node/Stmt/Property.php +++ b/lib/PhpParser/Node/Stmt/Property.php @@ -80,6 +80,27 @@ public function isReadonly(): bool { return (bool) ($this->flags & Modifiers::READONLY); } + /** + * Whether the property has explicit public(set) visibility. + */ + public function isPublicSet(): bool { + return (bool) ($this->flags & Modifiers::PUBLIC_SET); + } + + /** + * Whether the property has explicit protected(set) visibility. + */ + public function isProtectedSet(): bool { + return (bool) ($this->flags & Modifiers::PROTECTED_SET); + } + + /** + * Whether the property has explicit private(set) visibility. + */ + public function isPrivateSet(): bool { + return (bool) ($this->flags & Modifiers::PRIVATE_SET); + } + public function getType(): string { return 'Stmt_Property'; } diff --git a/lib/PhpParser/NodeDumper.php b/lib/PhpParser/NodeDumper.php index a2535de733..39ce86aa23 100644 --- a/lib/PhpParser/NodeDumper.php +++ b/lib/PhpParser/NodeDumper.php @@ -185,6 +185,15 @@ protected function dumpFlags(int $flags): string { if ($flags & Modifiers::READONLY) { $strs[] = 'READONLY'; } + if ($flags & Modifiers::PUBLIC_SET) { + $strs[] = 'PUBLIC_SET'; + } + if ($flags & Modifiers::PROTECTED_SET) { + $strs[] = 'PROTECTED_SET'; + } + if ($flags & Modifiers::PRIVATE_SET) { + $strs[] = 'PRIVATE_SET'; + } if ($strs) { return implode(' | ', $strs) . ' (' . $flags . ')'; diff --git a/lib/PhpParser/Parser/Php7.php b/lib/PhpParser/Parser/Php7.php index 15d6cbf7ad..a08e597669 100644 --- a/lib/PhpParser/Parser/Php7.php +++ b/lib/PhpParser/Parser/Php7.php @@ -122,49 +122,52 @@ class Php7 extends \PhpParser\ParserAbstract public const T_PROTECTED = 357; public const T_PUBLIC = 358; public const T_READONLY = 359; - public const T_VAR = 360; - public const T_UNSET = 361; - public const T_ISSET = 362; - public const T_EMPTY = 363; - public const T_HALT_COMPILER = 364; - public const T_CLASS = 365; - public const T_TRAIT = 366; - public const T_INTERFACE = 367; - public const T_ENUM = 368; - public const T_EXTENDS = 369; - public const T_IMPLEMENTS = 370; - public const T_OBJECT_OPERATOR = 371; - public const T_NULLSAFE_OBJECT_OPERATOR = 372; - public const T_LIST = 373; - public const T_ARRAY = 374; - public const T_CALLABLE = 375; - public const T_CLASS_C = 376; - public const T_TRAIT_C = 377; - public const T_METHOD_C = 378; - public const T_FUNC_C = 379; - public const T_PROPERTY_C = 380; - public const T_LINE = 381; - public const T_FILE = 382; - public const T_START_HEREDOC = 383; - public const T_END_HEREDOC = 384; - public const T_DOLLAR_OPEN_CURLY_BRACES = 385; - public const T_CURLY_OPEN = 386; - public const T_PAAMAYIM_NEKUDOTAYIM = 387; - public const T_NAMESPACE = 388; - public const T_NS_C = 389; - public const T_DIR = 390; - public const T_NS_SEPARATOR = 391; - public const T_ELLIPSIS = 392; - public const T_NAME_FULLY_QUALIFIED = 393; - public const T_NAME_QUALIFIED = 394; - public const T_NAME_RELATIVE = 395; - public const T_ATTRIBUTE = 396; + public const T_PUBLIC_SET = 360; + public const T_PROTECTED_SET = 361; + public const T_PRIVATE_SET = 362; + public const T_VAR = 363; + public const T_UNSET = 364; + public const T_ISSET = 365; + public const T_EMPTY = 366; + public const T_HALT_COMPILER = 367; + public const T_CLASS = 368; + public const T_TRAIT = 369; + public const T_INTERFACE = 370; + public const T_ENUM = 371; + public const T_EXTENDS = 372; + public const T_IMPLEMENTS = 373; + public const T_OBJECT_OPERATOR = 374; + public const T_NULLSAFE_OBJECT_OPERATOR = 375; + public const T_LIST = 376; + public const T_ARRAY = 377; + public const T_CALLABLE = 378; + public const T_CLASS_C = 379; + public const T_TRAIT_C = 380; + public const T_METHOD_C = 381; + public const T_FUNC_C = 382; + public const T_PROPERTY_C = 383; + public const T_LINE = 384; + public const T_FILE = 385; + public const T_START_HEREDOC = 386; + public const T_END_HEREDOC = 387; + public const T_DOLLAR_OPEN_CURLY_BRACES = 388; + public const T_CURLY_OPEN = 389; + public const T_PAAMAYIM_NEKUDOTAYIM = 390; + public const T_NAMESPACE = 391; + public const T_NS_C = 392; + public const T_DIR = 393; + public const T_NS_SEPARATOR = 394; + public const T_ELLIPSIS = 395; + public const T_NAME_FULLY_QUALIFIED = 396; + public const T_NAME_QUALIFIED = 397; + public const T_NAME_RELATIVE = 398; + public const T_ATTRIBUTE = 399; - protected int $tokenToSymbolMapSize = 397; - protected int $actionTableSize = 1279; - protected int $gotoTableSize = 723; + protected int $tokenToSymbolMapSize = 400; + protected int $actionTableSize = 1287; + protected int $gotoTableSize = 643; - protected int $invalidSymbol = 169; + protected int $invalidSymbol = 172; protected int $errorSymbol = 1; protected int $defaultAction = -32766; protected int $unexpectedTokenRule = 32767; @@ -296,6 +299,9 @@ class Php7 extends \PhpParser\ParserAbstract "T_PROTECTED", "T_PUBLIC", "T_READONLY", + "T_PUBLIC_SET", + "T_PROTECTED_SET", + "T_PRIVATE_SET", "T_VAR", "T_UNSET", "T_ISSET", @@ -345,32 +351,32 @@ class Php7 extends \PhpParser\ParserAbstract ); protected array $tokenToSymbol = array( - 0, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 56, 167, 169, 168, 55, 169, 169, - 162, 163, 53, 50, 8, 51, 52, 54, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 31, 160, - 44, 16, 46, 30, 68, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 70, 169, 161, 36, 169, 166, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 164, 35, 165, 58, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 1, 2, 3, 4, + 0, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 56, 170, 172, 171, 55, 172, 172, + 165, 166, 53, 50, 8, 51, 52, 54, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 31, 163, + 44, 16, 46, 30, 68, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 70, 172, 164, 36, 172, 169, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 167, 35, 168, 58, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 37, 38, 39, 40, @@ -384,399 +390,401 @@ class Php7 extends \PhpParser\ParserAbstract 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159 + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162 ); protected array $action = array( - 128, 129, 130, 564, 131, 132, 1322, 753, 754, 755, - 133, 38, 864, -367, 865, -367,-32766,-32766,-32766,-32767, - -32767,-32767,-32767, 101, 102, 103, 104, 105, 1114, 1115, - 1116, 1113, 1112, 1111, 1117, 747, 746,-32766, 0,-32766, + 128, 129, 130, 564, 131, 132, 943, 753, 754, 755, + 133, 38, 837, 484, 560, 1363,-32766,-32766,-32766, 0, + 828, 1120, 1121, 1122, 1116, 1115, 1114, 1123, 1117, 1118, + 1119,-32766,-32766,-32766, -331, 747, 746,-32766, 839,-32766, -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, - -32767,-32766,-32766,-32766, 1029, 756,-32766,-32766,-32766, 943, - 291, -608, 836,-32766,-32766,-32766,-32766, 1090, -608, 264, - 134, 384, 760, 761, 762, 763, 992,-32766, 425,-32766, - -32766,-32766,-32766,-32766,-32766, 817, 764, 765, 766, 767, + -32767, 24,-32766, 1032, -567, 756, 1120, 1121, 1122, 1116, + 1115, 1114, 1123, 1117, 1118, 1119, 2, 381, 382, 265, + 134, 384, 760, 761, 762, 763, 1109, 424, 425, 1298, + 328, 36, 248, 26, 291, 817, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 793, 565, 794, 795, 796, 797, 785, 786, 345, 346, 788, 789, 774, 775, 776, 778, 779, 780, 357, 820, 821, 822, 823, 824, - 566, 781, 782, 567, 568,-32766, 805, 803, 804, 816, - 800, 801, -328, -194, 569, 570, 799, 571, 572, 573, - 574, 837, 575, 576, 1357, 1342,-32766, 1038, 839, 802, - 577, 578, 1341, 135, 2, 128, 129, 130, 564, 131, - 132, 1062, 753, 754, 755, 133, 38, -110, 1038, 81, - 484, 290, -110, 327, -110,-32766,-32766,-32766, 828, 306, - -32766,-32766, -110, -110, -110, -110, -110, -110, -110, -110, - 747, 746, 290, 106, 107, 108,-32766, 274,-32766,-32766, - -32766,-32766,-32766,-32766,-32766, 993, 26, 36, 248, 109, - 756,-32766,-32766,-32766, 1114, 1115, 1116, 1113, 1112, 1111, - 1117, -608, 727, -608, 264, 134, 384, 760, 761, 762, - 763, -342,-32766, 425,-32766,-32766,-32766,-32766, 747, 746, + 566, -567, -567, 299, 781, 782, 567, 568, -194, 805, + 803, 804, 816, 800, 801, 35, -193, 569, 570, 799, + 571, 572, 573, 574,-32766, 575, 576, 470, 471, 485, + 238, -567, 802, 577, 578, -370, 135, -370, 128, 129, + 130, 564, 131, 132, 1065, 753, 754, 755, 133, 38, + -32766, 136, 727, 1025, 1024, 1023, 1029, 1026, 1027, 1028, + -32766,-32766,-32766,-32767,-32767,-32767,-32767, 101, 102, 103, + 104, 105, -331, 747, 746, 1041, 922,-32766,-32766,-32766, + 838,-32766, 145,-32766,-32766,-32766,-32766,-32766,-32766,-32766, + -32766,-32766,-32766, 756,-32766,-32766,-32766, 610,-32766, 290, + -32766,-32766,-32766,-32766,-32766, 833, 717, 265, 134, 384, + 760, 761, 762, 763, -614,-32766, 425,-32766,-32766,-32766, + -32766, -614, 251, 817, 764, 765, 766, 767, 768, 769, + 770, 771, 772, 773, 793, 565, 794, 795, 796, 797, + 785, 786, 345, 346, 788, 789, 774, 775, 776, 778, + 779, 780, 357, 820, 821, 822, 823, 824, 566, 912, + 425, 310, 781, 782, 567, 568, -194, 805, 803, 804, + 816, 800, 801, 1286, -193, 569, 570, 799, 571, 572, + 573, 574, -272, 575, 576, 834, 82, 83, 84, -85, + 802, 577, 578, 237, 148, 777, 748, 749, 750, 751, + 752, 945, 753, 754, 755, 790, 791, 37,-32766, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 1041, 276,-32766,-32766,-32766, 924, 1261, + 1260, 1262, 712, 830, 358, 393, 109, 7, 1095, 47, + 756,-32766,-32766,-32766, 837, -85,-32766, 1093,-32766,-32766, + -32766, 1266,-32766,-32766, 757, 758, 759, 760, 761, 762, + 763, 992,-32766, 826,-32766,-32766, 922, -614, 312, -614, 817, 764, 765, 766, 767, 768, 769, 770, 771, 772, - 773, 793, 565, 794, 795, 796, 797, 785, 786, 345, - 346, 788, 789, 774, 775, 776, 778, 779, 780, 357, - 820, 821, 822, 823, 824, 566, 781, 782, 567, 568, - 610, 805, 803, 804, 816, 800, 801, -328, -194, 569, - 570, 799, 571, 572, 573, 574, 35, 575, 576, 150, - 82, 83, 84, 485, 802, 577, 578, 838, 148, 777, - 748, 749, 750, 751, 752, -605, 753, 754, 755, 790, - 791, 37, -605, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 1035, 274,-32766, - -32766,-32766, 961, 962,-32766,-32766,-32766, 963, -193, 126, - 109, 383, 382, 957, 756,-32766,-32766,-32766, 136, 1038, - -32766, 424,-32766,-32766,-32766, 1260, 237, 145, 757, 758, - 759, 760, 761, 762, 763, 251,-32766, 826,-32766,-32766, - -559, 560, 310, 283, 817, 764, 765, 766, 767, 768, - 769, 770, 771, 772, 773, 793, 815, 794, 795, 796, - 797, 785, 786, 787, 814, 788, 789, 774, 775, 776, - 778, 779, 780, 819, 820, 821, 822, 823, 824, 825, - 781, 782, 783, 784, -561, 805, 803, 804, 816, 800, - 801, -85, 238, 792, 798, 799, 806, 807, 809, 808, - 945, 810, 811, 1292, -559, -559, 837, 616, 802, 813, - 812, 49, 50, 51, 516, 52, 53, 103, 104, 105, - -559, 54, 55, 922, 56, -605, 922, -605, 460, 461, - 462, 291, -565,-32766, -559, 393, 1367, 7, 312, 1368, - 358, 381, 382, 1091, 24, 945, -557, 739, -561, -561, - 833, 424, 324, 717,-32766, 1061, 718, -85, 340, 57, - 58,-32766, 151, -193, -556, 59, 1106, 60, 245, 246, - 61, 62, 63, 64, 65, 66, 67, 68, -561, 28, - 266, 69, 440, 517, 287, 363, 74, 1286, 1287, 518, - 1338, 837, 327, 1280, 299, 1284, 42, 19, 519, 864, - 520, 865, 521, 341, 522, 922, 912, 523, 524, 912, - -557, -557, 44, 45, 446, 378, 377,-32766, 46, 525, - 1025, 1024, 1023, 1026, 369, 339, -557, 834, -556, -556, - -599, 1246, -599, 527, 528, 529, 1253,-32766, -564, 1038, - -557, -272, 1035, 830, -556, 531, 532, 371, 1272, 1273, - 1274, 1275, 1277, 1269, 1270, 298, -563, 375, -556, 1038, - 47, 1276, 1271, 290, 1038, 1255, 1254, 1256, 299, 828, - 1035, 70, 1251, 391, 837, 322, 323, 327, 922, -153, - -153, -153, 924, 659, 20, 924, 712, 442, 912, 712, - 678, 679, 1038, 1037, -153, 443, -153, 444, -153, 445, - -153, 843, 287, 28, 266, -87, 425, -84, 719, -78, - 376, 939, 1255, 1254, 1256, 837, 283, 747, 746, 1284, - 832, 961, 962, 153, 300, 301, 526, 714, 328, 922, - 154, 898, 957, -110, -110, -110, 32, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 28, 267, 692, 141, 125, 1246, 140, 327, 155, 722, - 327, 912, 837, 157, 924, 33, 1284, -73, 712, -153, - 532, -78, 1272, 1273, 1274, 1275, 1277, 1269, 1270, 1162, - 1164, -58, 1255, 1254, 1256, 1276, 1271, -558, 693, 922, - -555, 1092, 470, 471, -57, 72, 149, 408, 379, 380, - 323, 327, 1246, 385, 386, 650, 651, 747, 746, 694, - 695, 123, 912, 922, -4, 922, 531, 532, -72, 1272, - 1273, 1274, 1275, 1277, 1269, 1270, 124, 137, 1255, 1254, - 1256, 138, 1276, 1271, 283, 144, 158, 978, 159, 747, - 746, 712, 72, 729,-32766, 160, 161, 323, 327, 162, - 1253, -558, -558, -302, -555, -555, -71,-32766,-32766,-32766, - 288,-32766, -70,-32766, 289,-32766, -69, -558,-32766, -555, - -555, -68, 912,-32766,-32766,-32766,-32766, -67, -66,-32766, - -32766, -558, 1253, -65, -555,-32766, 421, -46, 924,-32766, - -32766,-32766, 712,-32766,-32766,-32766, 912,-32766, 912, -298, - -32766, -18, 142, 273, 284,-32766,-32766,-32766, 728, 731, - 921,-32766,-32766, 147, 274, 279, 280,-32766, 421, 285, - 376, 286, 437, 28, 267, 73,-32766, 297, 333, 292, - 109, 961, 962, -555, -555, 837, 526, 293, 48, 1284, - 688, 530, 957, -110, -110, -110, 146, 828, 924, -555, - -32766, 837, 712, 681, 703, 581, 665, 1121, 666, 23, - 958, 648, 587, -555, 307, 10, 1369, -50, 304, 311, - 614, 305, 924, 1291, 924, 1246, 712, 660, 712, -4, - 705,-32766, 467, 941, -521, 1281, 495, 1219, 1293, -511, - 532, 682, 1272, 1273, 1274, 1275, 1277, 1269, 1270, 139, - 0, 8, 302, 303, 27, 1276, 1271, -593, 299, 1285, - -32766, 836, 0, 0, 0, 72, 1253, 0, 374, 0, - 323, 327, 0,-32766,-32766,-32766, 0,-32766, 0,-32766, - 0,-32766, 127, 0,-32766, 0, 0, 0, 0,-32766, - -32766,-32766,-32766, 0, 373,-32766,-32766, 0, 1253, 0, - 922,-32766, 421, -275, 0,-32766,-32766,-32766, 40,-32766, - -32766,-32766, 41,-32766, 736, 737,-32766, 856, 903, 922, - 1002,-32766,-32766,-32766,-32766, 979, 986,-32766,-32766, 976, - 1253, 987, 901,-32766, 421, 974, 1095,-32766,-32766,-32766, - 1098,-32766,-32766,-32766, 1099,-32766, 848, 1096,-32766, 1097, - 1103, -273, 490,-32766,-32766,-32766,-32766, 1308, 1326,-32766, - -32766, 1360, 1253, 594, 653,-32766, 421, -592, -591,-32766, - -32766,-32766, -565,-32766,-32766,-32766, -564,-32766, -563, -562, - -32766, -505, 1, 912, 29,-32766,-32766,-32766, 30, 39, - 1260,-32766,-32766, 43, 71, 75, 76,-32766, 421, -250, - -250, -250, 912, 77, 78, 376,-32766, 1260, 79, 80, - 143, 152, 327, 156, 243, 329, 961, 962, -249, -249, - -249, 526, 358, 359, 376, 360, 898, 957, -110, -110, - -110, 361, 362, 363, 364, 961, 962, -16, 365, 366, - 526, 367, 368, 370, 0, 898, 957, -110, -110, -110, - 438, 559, 733, -272, 12,-32766, 13, 14, 15, 924, - 17, 1253, 34, 712, -250, 407, 486, 487,-32766,-32766, - -32766, 837,-32766, 494,-32766, 497,-32766, 498, 924,-32766, - 499, 899, 712, -249,-32766,-32766,-32766, 500, 837, 504, - -32766,-32766, 505, 506, 514, 592,-32766, 421, 698, 1064, - 1202, 1282, 1063, 1044, 1241,-32766, -110, -110, 1040, -277, - -102, -110, 11, 16, 21, 296, 406, -110, 606, 611, - 639, 704, 1206, -110, -110, 1259,-32766, 1203, -110, 1339, - 1364, 321, 372, 713, -110, 716, 720, 721, 723, 724, - 725, 726, 730,-32766, 715, 0, 0, 1366, 299, 859, - 858, 74, 867, 951, 0, 994, 866, 327, 1365, 950, - 948, 949, 952, 1234, 932, 299, 942, 930, 74, 984, - 985, 0, 637, 1363, 327, 1320, 1309, 1327, 1336 + 773, 793, 815, 794, 795, 796, 797, 785, 786, 787, + 814, 788, 789, 774, 775, 776, 778, 779, 780, 819, + 820, 821, 822, 823, 824, 825, 300, 301, 324, 781, + 782, 783, 784, 832, 805, 803, 804, 816, 800, 801, + 714, 1038, 792, 798, 799, 806, 807, 809, 808, 140, + 810, 811, 837, 327, 340,-32766, 125, 802, 813, 812, + 49, 50, 51, 516, 52, 53, 1041, -110, 341, 912, + 54, 55, -110, 56, -110, -565,-32766,-32766,-32766, 306, + 1041, 126, -110, -110, -110, -110, -110, -110, -110, -110, + -110, -110, -110, -611, 1094, 106, 107, 108, 739, 276, + -611, 961, 962,-32766, 290, 287, 963, 1328, 57, 58, + -32766, 109, 371, 993, 59, 957, 60, 245, 246, 61, + 62, 63, 64, 65, 66, 67, 68,-32766, 28, 267, + 69, 440, 517, 375, -345, 74, 1292, 1293, 518, 391, + 837, 327, -565, -565, 1290, 42, 20, 519, 924, 520, + 922, 521, 712, 522, -563, 692, 523, 524, -565, 922, + 442, 44, 45, 446, 378, 377, 945, 46, 525, 922, + -571, 443, -565, 369, 339, 1344, 103, 104, 105, -562, + 1252, 922, 383, 382, 444, 527, 528, 529, 864, 718, + 865, 693, 424, 460, 461, 462, 445, 531, 532, 719, + 1278, 1279, 1280, 1281, 1283, 1275, 1276, 298, 864, 363, + 865, 722, 843, 1282, 1277, 694, 695, 1261, 1260, 1262, + 299, -563, -563, 70, -153, -153, -153, 322, 323, 327, + -78, -4, 922, 912, 1261, 1260, 1262, -563, 150, -153, + 283, -153, 912, -153, 151, -153, -562, -562, 153, -570, + 1348, -563, 912, -58, 828, 376, -611, 1347, -611, 747, + 746, 836, -562, -605, 912, -605, 961, 962, 154, 747, + 746, 526, 616, 81, -569, 1038, -562, 327, 155, 898, + 957, -110, -110, -110, 32, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 157, -564, + 1041, 1373, 28, 268, 1374, 33, 922, -87, 659, 21, + 678, 679, 924, -57, 837, 912, 712, -153, 1290, 149, + 408, 924, 379, 380, 283, 712, 123, 1168, 1170, 385, + 386, 978, 124, 137, 138, 712, 729, 376, -561, 437, + 1064, 141, 144, 924, 297, 327, 158, 712, 961, 962, + 650, 651, 159, 526, 1252, -84, 160, 161, 747, 746, + 162, 530, 957, -110, -110, -110, -564, -564, -78, 287, + 1266, 531, 532, -73, 1278, 1279, 1280, 1281, 1283, 1275, + 1276, -72, -564, -71, -70, 11, 1259, 1282, 1277, 912, + -69, 747, 746, -68, 924,-32766, -564, 72, 712, -4, + -16, 1259, 323, 327, -67, -561, -561, 291,-32766,-32766, + -32766, -66,-32766, -65,-32766, -46,-32766, -18, 142,-32766, + 275, -561, 1257, 284,-32766,-32766,-32766, 728,-32766, 731, + -32766,-32766, 921, 147, 1259, -561,-32766, 421, 28, 267, + -305,-32766,-32766,-32766, -301,-32766, 1040,-32766,-32766,-32766, + 837, 837,-32766, 288, 1290, 1038, 279,-32766,-32766,-32766, + 280, 285, 286,-32766,-32766, 1261, 1260, 1262, 924,-32766, + 421, 333, 712, 28, 268, 289, 292, 293, 146, 73, + 1041,-32766, 939, 109, 688, 837, -110, -110, -561, 1290, + 1252, -110, 276,-32766, 837, 828, 1375, 703, 705, 581, + -110, 1127, 307, 648, 283,-32766, 958, 665, 532,-32766, + 1278, 1279, 1280, 1281, 1283, 1275, 1276, 681, 1041, 660, + -50, 10, 666, 1282, 1277, 1252, 304, 467, 495, 311, + 941, 299, 682, 72, 74, 305, -527,-32766, 323, 327, + 327, 299, 290, 532, 836, 1278, 1279, 1280, 1281, 1283, + 1275, 1276, 587, 139, 1297, -561, -561, 614, 1282, 1277, + 34, 0, 0,-32766, 0, 0, 0, 0, 72, 1259, + 0, -561, 0, 323, 327, 0,-32766,-32766,-32766, 0, + -32766, -517,-32766, 1299,-32766, -561, 0,-32766, 0, 0, + 8, 0,-32766,-32766,-32766, 922,-32766, 40,-32766,-32766, + 27, 373, 1259, 0,-32766, 421, 41, -599, 736,-32766, + -32766,-32766, 737,-32766, 856,-32766,-32766,-32766, 922, 903, + -32766, 1002, 979, 986, 976,-32766,-32766,-32766, 987,-32766, + 901,-32766,-32766, 974, 1098, 1259, 1101,-32766, 421, 48, + 1102, 1099,-32766,-32766,-32766, 1100,-32766, 1106,-32766,-32766, + -32766, 1287, 848,-32766, 1314, 1332, 1366, 490,-32766,-32766, + -32766, 653,-32766, -598,-32766,-32766, -597, -571, 1259, 594, + -32766, 421, -570, -569, 1266,-32766,-32766,-32766, 912,-32766, + -568,-32766,-32766,-32766, -511, 1,-32766, -275, 29, 30, + 39,-32766,-32766,-32766, -250, -250, -250,-32766,-32766, 43, + 376, 912, 71,-32766, 421, 75, 302, 303, 76, 77, + 78, 961, 962, 79, 80,-32766, 526, -249, -249, -249, + -273, 143, 374, 376, 898, 957, -110, -110, -110, 152, + 156, 243, 329, 358, 961, 962, 127, 359, 360, 526, + 361, 362, 363, 364, 365, 366, 367, 898, 957, -110, + -110, -110,-32766, -272, 368, 837, 370, 924, 1259, 13, + 438, 712, -250, 559, 321,-32766,-32766,-32766, 14,-32766, + 15,-32766, 16,-32766, 18, 407,-32766, 486, 487, 494, + 924,-32766,-32766,-32766, 712, -249, 497,-32766,-32766, 498, + -110, -110, 499,-32766, 421, -110, 500, 504, 505, 506, + 514, 592, 698, 1067, -110,-32766, 1208, 1288, 1066, 1047, + 1247, 1043, -277,-32766, -102, 12, 17, 22, 296, 406, + 606, 611, 639, 704, 1212, 1265, 1209, 1345, 0, 372, + 713, 716, 720, 721, 723, 299, 724, 725, 74, 726, + 1225, 730, 715, 0, 327, 733, 1291, 899, 1370, 1372, + 859, 858, 867, 951, 994, 866, 1371, 950, 948, 949, + 952, 1240, 932, 942, 930, 984, 985, 637, 1369, 1326, + 1315, 1333, 1342, 0, 0, 0, 327 ); protected array $actionCheck = array( 2, 3, 4, 5, 6, 7, 1, 9, 10, 11, - 12, 13, 106, 106, 108, 108, 9, 10, 11, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 116, 117, - 118, 119, 120, 121, 122, 37, 38, 30, 0, 32, + 12, 13, 82, 31, 85, 85, 9, 10, 11, 0, + 80, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 9, 10, 11, 8, 37, 38, 30, 1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 9, 10, 11, 1, 57, 9, 10, 11, 1, - 30, 1, 156, 9, 10, 11, 9, 1, 8, 71, - 72, 73, 74, 75, 76, 77, 31, 30, 80, 32, - 33, 34, 35, 36, 30, 87, 88, 89, 90, 91, + 43, 101, 30, 1, 70, 57, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 8, 106, 107, 71, + 72, 73, 74, 75, 76, 77, 126, 116, 80, 150, + 70, 151, 152, 8, 30, 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, 116, 128, 129, 130, 131, - 132, 133, 8, 8, 136, 137, 138, 139, 140, 141, - 142, 82, 144, 145, 85, 1, 116, 138, 1, 151, - 152, 153, 8, 155, 8, 2, 3, 4, 5, 6, - 7, 163, 9, 10, 11, 12, 13, 101, 138, 164, - 31, 162, 106, 168, 108, 9, 10, 11, 80, 113, - 9, 10, 116, 117, 118, 119, 120, 121, 122, 123, - 37, 38, 162, 53, 54, 55, 30, 57, 32, 33, - 34, 35, 36, 37, 38, 160, 8, 148, 149, 69, - 57, 9, 10, 11, 116, 117, 118, 119, 120, 121, - 122, 161, 164, 163, 71, 72, 73, 74, 75, 76, - 77, 165, 30, 80, 32, 33, 34, 35, 37, 38, + 122, 137, 138, 162, 126, 127, 128, 129, 8, 131, + 132, 133, 134, 135, 136, 8, 8, 139, 140, 141, + 142, 143, 144, 145, 9, 147, 148, 137, 138, 167, + 14, 167, 154, 155, 156, 106, 158, 108, 2, 3, + 4, 5, 6, 7, 166, 9, 10, 11, 12, 13, + 116, 8, 167, 119, 120, 121, 122, 123, 124, 125, + 9, 10, 11, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 166, 37, 38, 141, 1, 9, 10, 11, + 163, 30, 8, 32, 33, 34, 35, 36, 37, 38, + 9, 10, 11, 57, 9, 10, 11, 1, 30, 165, + 32, 33, 34, 35, 36, 80, 31, 71, 72, 73, + 74, 75, 76, 77, 1, 30, 80, 32, 33, 34, + 35, 8, 8, 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, 84, + 80, 8, 126, 127, 128, 129, 166, 131, 132, 133, + 134, 135, 136, 1, 166, 139, 140, 141, 142, 143, + 144, 145, 166, 147, 148, 160, 9, 10, 11, 31, + 154, 155, 156, 97, 158, 2, 3, 4, 5, 6, + 7, 122, 9, 10, 11, 12, 13, 30, 116, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 141, 57, 9, 10, 11, 163, 159, + 160, 161, 167, 80, 165, 106, 69, 108, 168, 70, + 57, 9, 10, 11, 82, 97, 30, 1, 32, 33, + 34, 1, 9, 10, 71, 72, 73, 74, 75, 76, + 77, 31, 30, 80, 32, 33, 1, 164, 8, 166, 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, - 1, 128, 129, 130, 131, 132, 133, 163, 163, 136, - 137, 138, 139, 140, 141, 142, 8, 144, 145, 14, - 9, 10, 11, 164, 151, 152, 153, 160, 155, 2, - 3, 4, 5, 6, 7, 1, 9, 10, 11, 12, - 13, 30, 8, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 116, 57, 9, - 10, 11, 117, 118, 9, 10, 11, 122, 8, 14, - 69, 106, 107, 128, 57, 9, 10, 11, 8, 138, - 30, 116, 32, 33, 34, 1, 97, 8, 71, 72, - 73, 74, 75, 76, 77, 8, 30, 80, 32, 33, - 70, 85, 8, 162, 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, 70, 128, 129, 130, 131, 132, - 133, 31, 14, 136, 137, 138, 139, 140, 141, 142, - 122, 144, 145, 147, 134, 135, 82, 51, 151, 152, - 153, 2, 3, 4, 5, 6, 7, 50, 51, 52, - 150, 12, 13, 1, 15, 161, 1, 163, 129, 130, - 131, 30, 162, 116, 164, 106, 80, 108, 8, 83, - 162, 106, 107, 160, 101, 122, 70, 164, 134, 135, - 80, 116, 8, 31, 137, 1, 31, 97, 8, 50, - 51, 137, 14, 163, 70, 56, 123, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 164, 70, - 71, 72, 73, 74, 30, 162, 162, 78, 79, 80, - 1, 82, 168, 1, 159, 86, 87, 88, 89, 106, - 91, 108, 93, 8, 95, 1, 84, 98, 99, 84, - 134, 135, 103, 104, 105, 106, 107, 116, 109, 110, - 119, 120, 121, 122, 115, 116, 150, 157, 134, 135, - 161, 122, 163, 124, 125, 126, 80, 116, 162, 138, - 164, 163, 116, 80, 150, 136, 137, 8, 139, 140, - 141, 142, 143, 144, 145, 146, 162, 8, 164, 138, - 70, 152, 153, 162, 138, 156, 157, 158, 159, 80, - 116, 162, 116, 8, 82, 166, 167, 168, 1, 75, - 76, 77, 160, 75, 76, 160, 164, 8, 84, 164, - 75, 76, 138, 137, 90, 8, 92, 8, 94, 8, - 96, 8, 30, 70, 71, 31, 80, 31, 31, 31, - 106, 38, 156, 157, 158, 82, 162, 37, 38, 86, - 157, 117, 118, 14, 134, 135, 122, 164, 70, 1, - 14, 127, 128, 129, 130, 131, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 70, 71, 80, 164, 164, 122, 164, 168, 14, 31, - 168, 84, 82, 14, 160, 14, 86, 31, 164, 165, - 137, 16, 139, 140, 141, 142, 143, 144, 145, 59, - 60, 16, 156, 157, 158, 152, 153, 70, 116, 1, - 70, 165, 134, 135, 16, 162, 101, 102, 106, 107, - 167, 168, 122, 106, 107, 111, 112, 37, 38, 137, - 138, 16, 84, 1, 0, 1, 136, 137, 31, 139, - 140, 141, 142, 143, 144, 145, 16, 16, 156, 157, - 158, 16, 152, 153, 162, 16, 16, 160, 16, 37, - 38, 164, 162, 31, 74, 16, 16, 167, 168, 16, - 80, 134, 135, 35, 134, 135, 31, 87, 88, 89, - 37, 91, 31, 93, 37, 95, 31, 150, 98, 70, - 150, 31, 84, 103, 104, 105, 74, 31, 31, 109, - 110, 164, 80, 31, 164, 115, 116, 31, 160, 87, - 88, 89, 164, 91, 124, 93, 84, 95, 84, 35, - 98, 31, 31, 31, 31, 103, 104, 105, 31, 31, - 31, 109, 110, 31, 57, 35, 35, 115, 116, 35, - 106, 35, 108, 70, 71, 155, 124, 113, 35, 37, - 69, 117, 118, 134, 135, 82, 122, 37, 70, 86, - 77, 127, 128, 129, 130, 131, 70, 80, 160, 150, - 85, 82, 164, 94, 80, 89, 96, 82, 100, 97, - 128, 113, 154, 164, 114, 151, 83, 31, 132, 132, - 154, 133, 160, 147, 160, 122, 164, 90, 164, 165, - 92, 137, 97, 155, 150, 161, 97, 166, 147, 150, - 137, 100, 139, 140, 141, 142, 143, 144, 145, 31, - -1, 150, 134, 135, 150, 152, 153, 162, 159, 167, - 74, 156, -1, -1, -1, 162, 80, -1, 150, -1, - 167, 168, -1, 87, 88, 89, -1, 91, -1, 93, - -1, 95, 164, -1, 98, -1, -1, -1, -1, 103, - 104, 105, 74, -1, 150, 109, 110, -1, 80, -1, - 1, 115, 116, 163, -1, 87, 88, 89, 160, 91, - 124, 93, 160, 95, 160, 160, 98, 160, 160, 1, - 160, 103, 104, 105, 74, 160, 160, 109, 110, 160, - 80, 160, 160, 115, 116, 160, 160, 87, 88, 89, - 160, 91, 124, 93, 160, 95, 161, 160, 98, 160, - 160, 163, 102, 103, 104, 105, 74, 161, 161, 109, - 110, 161, 80, 81, 161, 115, 116, 162, 162, 87, - 88, 89, 162, 91, 124, 93, 162, 95, 162, 162, - 98, 162, 162, 84, 162, 103, 104, 105, 162, 162, - 1, 109, 110, 162, 162, 162, 162, 115, 116, 100, - 101, 102, 84, 162, 162, 106, 124, 1, 162, 162, - 162, 162, 168, 162, 162, 162, 117, 118, 100, 101, - 102, 122, 162, 162, 106, 162, 127, 128, 129, 130, - 131, 162, 162, 162, 162, 117, 118, 31, 162, 162, - 122, 162, 162, 162, -1, 127, 128, 129, 130, 131, - 162, 162, 165, 163, 163, 74, 163, 163, 163, 160, - 163, 80, 164, 164, 165, 163, 163, 163, 87, 88, - 89, 82, 91, 163, 93, 163, 95, 163, 160, 98, - 163, 165, 164, 165, 103, 104, 105, 163, 82, 163, - 109, 110, 163, 163, 163, 163, 115, 116, 163, 163, - 163, 163, 163, 163, 163, 124, 117, 118, 163, 163, - 163, 122, 163, 163, 163, 163, 163, 128, 163, 163, - 163, 163, 163, 117, 118, 163, 137, 163, 122, 163, - 165, 164, 164, 164, 128, 164, 164, 164, 164, 164, - 164, 164, 164, 137, 164, -1, -1, 165, 159, 165, - 165, 162, 165, 165, -1, 165, 165, 168, 165, 165, - 165, 165, 165, 165, 165, 159, 165, 165, 162, 165, - 165, -1, 165, 165, 168, 165, 165, 165, 165 + 117, 118, 119, 120, 121, 122, 137, 138, 8, 126, + 127, 128, 129, 160, 131, 132, 133, 134, 135, 136, + 167, 116, 139, 140, 141, 142, 143, 144, 145, 167, + 147, 148, 82, 171, 8, 116, 167, 154, 155, 156, + 2, 3, 4, 5, 6, 7, 141, 101, 8, 84, + 12, 13, 106, 15, 108, 70, 9, 10, 11, 113, + 141, 14, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 1, 163, 53, 54, 55, 167, 57, + 8, 117, 118, 116, 165, 30, 122, 1, 50, 51, + 140, 69, 8, 163, 56, 131, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 140, 70, 71, + 72, 73, 74, 8, 168, 165, 78, 79, 80, 8, + 82, 171, 137, 138, 86, 87, 88, 89, 163, 91, + 1, 93, 167, 95, 70, 80, 98, 99, 153, 1, + 8, 103, 104, 105, 106, 107, 122, 109, 110, 1, + 165, 8, 167, 115, 116, 1, 50, 51, 52, 70, + 122, 1, 106, 107, 8, 127, 128, 129, 106, 31, + 108, 116, 116, 132, 133, 134, 8, 139, 140, 31, + 142, 143, 144, 145, 146, 147, 148, 149, 106, 165, + 108, 31, 8, 155, 156, 140, 141, 159, 160, 161, + 162, 137, 138, 165, 75, 76, 77, 169, 170, 171, + 16, 0, 1, 84, 159, 160, 161, 153, 14, 90, + 165, 92, 84, 94, 14, 96, 137, 138, 14, 165, + 1, 167, 84, 16, 80, 106, 164, 8, 166, 37, + 38, 159, 153, 164, 84, 166, 117, 118, 14, 37, + 38, 122, 51, 167, 165, 116, 167, 171, 14, 130, + 131, 132, 133, 134, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 14, 70, + 141, 80, 70, 71, 83, 14, 1, 31, 75, 76, + 75, 76, 163, 16, 82, 84, 167, 168, 86, 101, + 102, 163, 106, 107, 165, 167, 16, 59, 60, 106, + 107, 163, 16, 16, 16, 167, 31, 106, 70, 108, + 1, 167, 16, 163, 113, 171, 16, 167, 117, 118, + 111, 112, 16, 122, 122, 31, 16, 16, 37, 38, + 16, 130, 131, 132, 133, 134, 137, 138, 31, 30, + 1, 139, 140, 31, 142, 143, 144, 145, 146, 147, + 148, 31, 153, 31, 31, 154, 80, 155, 156, 84, + 31, 37, 38, 31, 163, 74, 167, 165, 167, 168, + 31, 80, 170, 171, 31, 137, 138, 30, 87, 88, + 89, 31, 91, 31, 93, 31, 95, 31, 31, 98, + 31, 153, 116, 31, 103, 104, 105, 31, 74, 31, + 109, 110, 31, 31, 80, 167, 115, 116, 70, 71, + 35, 87, 88, 89, 35, 91, 140, 93, 127, 95, + 82, 82, 98, 37, 86, 116, 35, 103, 104, 105, + 35, 35, 35, 109, 110, 159, 160, 161, 163, 115, + 116, 35, 167, 70, 71, 37, 37, 37, 70, 158, + 141, 127, 38, 69, 77, 82, 117, 118, 70, 86, + 122, 122, 57, 116, 82, 80, 83, 80, 92, 89, + 131, 82, 114, 113, 165, 85, 131, 96, 140, 140, + 142, 143, 144, 145, 146, 147, 148, 94, 141, 90, + 31, 97, 100, 155, 156, 122, 135, 97, 97, 135, + 158, 162, 100, 165, 165, 136, 153, 140, 170, 171, + 171, 162, 165, 140, 159, 142, 143, 144, 145, 146, + 147, 148, 157, 31, 150, 137, 138, 157, 155, 156, + 167, -1, -1, 74, -1, -1, -1, -1, 165, 80, + -1, 153, -1, 170, 171, -1, 87, 88, 89, -1, + 91, 153, 93, 150, 95, 167, -1, 98, -1, -1, + 153, -1, 103, 104, 105, 1, 74, 163, 109, 110, + 153, 153, 80, -1, 115, 116, 163, 165, 163, 87, + 88, 89, 163, 91, 163, 93, 127, 95, 1, 163, + 98, 163, 163, 163, 163, 103, 104, 105, 163, 74, + 163, 109, 110, 163, 163, 80, 163, 115, 116, 70, + 163, 163, 87, 88, 89, 163, 91, 163, 93, 127, + 95, 164, 164, 98, 164, 164, 164, 102, 103, 104, + 105, 164, 74, 165, 109, 110, 165, 165, 80, 81, + 115, 116, 165, 165, 1, 87, 88, 89, 84, 91, + 165, 93, 127, 95, 165, 165, 98, 166, 165, 165, + 165, 103, 104, 105, 100, 101, 102, 109, 110, 165, + 106, 84, 165, 115, 116, 165, 137, 138, 165, 165, + 165, 117, 118, 165, 165, 127, 122, 100, 101, 102, + 166, 165, 153, 106, 130, 131, 132, 133, 134, 165, + 165, 165, 165, 165, 117, 118, 167, 165, 165, 122, + 165, 165, 165, 165, 165, 165, 165, 130, 131, 132, + 133, 134, 74, 166, 165, 82, 165, 163, 80, 166, + 165, 167, 168, 165, 167, 87, 88, 89, 166, 91, + 166, 93, 166, 95, 166, 166, 98, 166, 166, 166, + 163, 103, 104, 105, 167, 168, 166, 109, 110, 166, + 117, 118, 166, 115, 116, 122, 166, 166, 166, 166, + 166, 166, 166, 166, 131, 127, 166, 166, 166, 166, + 166, 166, 166, 140, 166, 166, 166, 166, 166, 166, + 166, 166, 166, 166, 166, 166, 166, 166, -1, 167, + 167, 167, 167, 167, 167, 162, 167, 167, 165, 167, + 169, 167, 167, -1, 171, 168, 170, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, -1, -1, -1, 171 ); protected array $actionBase = array( - 0, -2, 153, 554, 764, 999, 1018, 622, 542, 576, - 513, 475, 678, 678, 762, 678, 472, 627, 889, 738, - 738, 738, 824, 98, 307, 307, 824, 307, 720, 720, - 720, 720, 752, 752, 950, 950, 982, 918, 886, 1081, - 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, - 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, - 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, - 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, - 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, - 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, - 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, - 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, - 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, - 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, - 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, - 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, - 1081, 1081, 1081, 147, 45, 279, 701, 1052, 1059, 1055, - 1062, 1050, 1049, 1053, 1056, 1064, 1108, 1110, 832, 1111, - 1112, 1107, 1113, 1057, 903, 1051, 1058, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 57, 345, 171, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 630, 630, 54, - 54, 54, 356, 803, 583, 803, 803, 803, 803, 803, - 803, 803, 803, 340, 202, 670, 47, 166, 166, 7, - 7, 7, 7, 7, 1106, 66, 1089, 1089, -25, -25, - -25, -25, 451, 504, 374, 393, -93, 30, 385, 231, - 231, 417, 417, 476, 476, 9, 9, 476, 476, 476, - 471, 471, 471, 471, 320, 426, 444, -94, 306, 794, - 539, 539, 539, 539, 794, 794, 794, 794, 791, 792, - 794, 794, 794, 667, 749, 749, 818, 140, 140, 140, - 749, 443, 59, 59, 443, 235, 59, 5, 406, 367, - 782, 255, 419, 367, 364, 540, 314, 60, 805, 642, - 805, 1047, 328, 815, 815, 806, 686, 373, 890, 1080, - 1066, 808, 1104, 841, 1105, 349, 608, 628, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 944, - 201, 1047, 420, 944, 944, 944, 201, 201, 201, 201, - 201, 201, 201, 201, 820, 201, 201, 644, 420, 558, - 565, 420, 843, 201, 147, 789, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 147, 139, 147, 45, 58, - 58, 333, 53, 58, 58, 58, 58, 147, 147, 147, - 147, 642, 807, 758, 647, 410, 766, 350, 807, 807, - 807, 124, 428, 125, 768, 814, 379, 817, 817, 825, - 920, 920, 817, 819, 817, 825, 817, 817, 920, 920, - 799, 920, 360, 629, 500, 599, 637, 920, 384, 817, - 817, 817, 817, 787, 920, 146, 639, 817, 377, 369, - 817, 817, 787, 786, 823, 788, 920, 920, 920, 787, - 589, 788, 788, 788, 854, 855, 798, 822, 494, 480, - 643, 288, 623, 822, 822, 817, 615, 798, 822, 798, - 822, 778, 822, 822, 822, 798, 822, 819, 545, 822, - 770, 772, 641, 198, 822, 38, 932, 933, 624, 934, - 927, 941, 988, 942, 946, 1069, 919, 952, 931, 947, - 989, 926, 922, 829, 745, 760, 801, 784, 917, 811, - 811, 811, 910, 914, 811, 811, 811, 811, 811, 811, - 811, 811, 745, 774, 844, 816, 961, 761, 765, 1032, - 776, 1016, 771, 960, 932, 946, 626, 931, 947, 926, - 922, 802, 797, 790, 796, 785, 781, 737, 775, 821, - 1036, 948, 848, 769, 997, 963, 987, 1067, 969, 970, - 1002, 1037, 857, 1038, 1065, 826, 1082, 1084, 885, 972, - 1071, 811, 906, 795, 896, 971, 916, 745, 897, 1039, - 991, 998, 1003, 1004, 1068, 835, 833, 900, 1085, 976, - 977, 979, 1072, 1073, 852, 993, 840, 1010, 839, 1087, - 1012, 1014, 1017, 1024, 1074, 1088, 1075, 905, 1076, 858, - 837, 888, 810, 1090, 285, 834, 836, 850, 981, 498, - 953, 1077, 1091, 1093, 1026, 1029, 1030, 1094, 1095, 949, - 860, 994, 809, 995, 990, 865, 866, 659, 842, 1040, - 830, 831, 777, 666, 694, 1096, 1097, 1098, 951, 827, - 813, 869, 871, 1041, 773, 1045, 1099, 699, 872, 1101, - 1035, 779, 780, 705, 728, 715, 783, 838, 1078, 804, - 800, 812, 980, 780, 828, 875, 1102, 876, 880, 884, - 1031, 887, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -2, 156, 559, 641, 1004, 1027, 485, 292, 200, + -60, 283, 568, 590, 590, 715, 590, 195, 578, 892, + 395, 395, 395, 827, 313, 313, 827, 313, 731, 731, + 731, 731, 764, 764, 965, 965, 998, 932, 899, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 37, 360, 216, 701, 1062, 1068, 1064, + 1069, 1060, 1059, 1063, 1065, 1070, 1110, 1111, 812, 1112, + 1113, 1109, 1114, 1066, 907, 1061, 1067, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 135, 477, 373, 201, 201, 201, + 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, + 201, 201, 201, 201, 201, 201, 201, 642, 642, 22, + 22, 22, 362, 813, 778, 813, 813, 813, 813, 813, + 813, 813, 813, 346, 205, 678, 188, 171, 171, 7, + 7, 7, 7, 7, 376, 779, 54, 1083, 1083, 139, + 139, 139, 139, -50, 49, 749, 380, 787, -39, 569, + 569, 536, 536, 335, 335, 349, 349, 335, 335, 335, + 212, 212, 212, 212, 415, 494, 519, 512, -71, 807, + 584, 584, 584, 584, 807, 807, 807, 807, 843, 1086, + 807, 807, 807, 639, 828, 828, 979, 452, 452, 452, + 828, 492, -70, -70, 492, 394, -70, 516, 631, 397, + 785, 486, 509, 397, -16, 299, 502, 233, 795, 626, + 795, 1058, 199, 830, 830, 794, 752, 454, 894, 1085, + 1071, 832, 1107, 842, 1108, 471, 10, 747, 1056, 1056, + 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1115, + 632, 1058, 145, 1115, 1115, 1115, 632, 632, 632, 632, + 632, 632, 632, 632, 796, 632, 632, 649, 145, 643, + 645, 145, 846, 632, 37, 838, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, -18, 37, 360, 5, + 5, 341, 52, 5, 5, 5, 5, 37, 37, 37, + 37, 626, 845, 805, 633, 278, 810, 128, 845, 845, + 845, 26, 136, 120, 815, 819, 259, 825, 825, 829, + 930, 930, 825, 822, 825, 829, 825, 825, 930, 930, + 789, 930, 163, 562, 456, 535, 573, 930, 273, 825, + 825, 825, 825, 804, 930, 58, 586, 825, 234, 194, + 825, 825, 804, 801, 802, 809, 930, 930, 930, 804, + 514, 809, 809, 809, 855, 859, 800, 799, 430, 390, + 614, 127, 854, 799, 799, 825, 541, 800, 799, 800, + 799, 782, 799, 799, 799, 800, 799, 822, 470, 799, + 740, 746, 598, 75, 799, 19, 947, 950, 686, 953, + 935, 954, 1005, 955, 958, 1073, 929, 976, 944, 959, + 1008, 934, 933, 811, 720, 726, 847, 793, 925, 824, + 824, 824, 912, 917, 824, 824, 824, 824, 824, 824, + 824, 824, 720, 897, 858, 820, 982, 727, 728, 1045, + 814, 1089, 1081, 978, 947, 958, 734, 944, 959, 934, + 933, 792, 790, 772, 783, 769, 763, 760, 762, 797, + 1047, 966, 844, 736, 1018, 983, 1087, 1007, 985, 986, + 1019, 1050, 861, 1051, 1090, 818, 1091, 1092, 898, 988, + 1074, 824, 911, 852, 900, 987, 918, 720, 901, 1052, + 1003, 803, 1021, 1022, 1072, 840, 823, 902, 1093, 989, + 990, 991, 1075, 1076, 853, 1012, 931, 1023, 841, 1094, + 1030, 1033, 1036, 1040, 1077, 1095, 1079, 908, 1080, 866, + 839, 964, 821, 1096, 634, 836, 837, 850, 1001, 640, + 977, 1082, 1097, 1098, 1041, 1042, 1043, 1099, 1100, 974, + 868, 1014, 833, 1016, 997, 869, 870, 644, 849, 1053, + 831, 835, 848, 664, 674, 1101, 1102, 1103, 975, 806, + 817, 871, 875, 1054, 826, 1055, 1104, 694, 877, 1105, + 1046, 750, 751, 624, 707, 647, 754, 816, 1084, 857, + 798, 834, 999, 751, 808, 880, 1106, 881, 883, 887, + 1044, 888, 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, 459, 459, 459, 459, 459, 459, 307, 307, - 307, 307, 459, 459, 459, 459, 459, 459, 459, 307, - 459, 459, 459, 307, 307, 0, 0, 307, 0, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 0, 0, + 0, 0, 468, 468, 468, 468, 468, 468, 313, 313, + 313, 313, 313, 468, 468, 468, 468, 468, 468, 468, + 313, 468, 468, 468, 313, 0, 0, 313, 0, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 297, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 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, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 506, 506, - 291, 291, 291, 291, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 291, 291, 0, 291, 291, 291, - 291, 291, 291, 291, 291, 506, 799, 506, 506, 140, - 140, 140, 140, 506, 506, 506, -88, -88, 506, 235, - 506, 506, 140, 140, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 0, 0, 0, 420, 59, - 506, 819, 819, 819, 819, 506, 506, 506, 506, 59, - 59, 506, 506, 506, 0, 0, 0, 0, 0, 0, - 0, 0, 420, 0, 0, 420, 0, 0, 819, 819, - 506, 235, 799, 144, 506, 0, 0, 0, 0, 420, - 819, 420, 201, 817, 59, 59, 201, 201, 817, 58, - 147, 144, 645, 645, 645, 645, 0, 0, 642, 799, - 799, 799, 799, 799, 799, 799, 799, 799, 799, 799, - 819, 0, 799, 0, 819, 819, 819, 0, 0, 0, - 0, 0, 0, 0, 0, 920, 0, 0, 0, 0, - 0, 0, 0, 819, 0, 0, 920, 0, 0, 0, + 0, 0, 0, 0, 0, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 716, 716, + 297, 297, 297, 297, 716, 716, 716, 716, 716, 716, + 716, 716, 716, 716, 297, 297, 0, 297, 297, 297, + 297, 297, 297, 297, 297, 789, 716, 716, 716, 716, + 452, 452, 452, 452, -95, -95, 716, 716, 716, 394, + 716, 716, 452, 452, 716, 716, 716, 716, 716, 716, + 716, 716, 716, 716, 716, 0, 0, 0, 145, -70, + 716, 822, 822, 822, 822, 716, 716, 716, 716, -70, + -70, 716, 716, 716, 0, 0, 0, 0, 0, 0, + 0, 0, 145, 0, 0, 145, 0, 0, 822, 822, + 716, 394, 789, 659, 716, 0, 0, 0, 0, 145, + 822, 145, 632, 825, -70, -70, 632, 632, 825, 5, + 37, 659, 628, 628, 628, 628, 0, 0, 626, 789, + 789, 789, 789, 789, 789, 789, 789, 789, 789, 789, + 822, 0, 789, 0, 822, 822, 822, 0, 0, 0, + 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, + 0, 0, 0, 822, 0, 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 819, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 811, 835, 0, 0, 835, 0, 811, - 811, 811, 0, 0, 0, 842, 773 + 0, 0, 0, 822, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 824, 840, 0, 0, 840, 0, 824, + 824, 824, 0, 0, 0, 849, 826 ); protected array $actionDefault = array( 3,32767, 102,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 100,32767, 611, 611, - 611, 611,32767,32767, 254, 102,32767,32767, 480, 397, - 397, 397,32767,32767, 553, 553, 553, 553, 553,32767, - 32767,32767,32767,32767,32767, 480,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 100,32767, 617, 617, + 617, 617,32767,32767, 254, 102,32767,32767, 486, 403, + 403, 403,32767,32767, 559, 559, 559, 559, 559,32767, + 32767,32767,32767,32767,32767, 486,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, @@ -784,150 +792,142 @@ class Php7 extends \PhpParser\ParserAbstract 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767, 36, 7, - 8, 10, 11, 49, 17, 324, 100,32767,32767,32767, + 8, 10, 11, 49, 17, 327, 100,32767,32767,32767, 32767,32767,32767,32767,32767, 102,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 604,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 610,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 385, 484, 463, - 464, 466, 467, 396, 554, 610, 327, 607, 329, 395, - 145, 339, 330, 242, 258, 485, 259, 486, 489, 490, - 215, 382, 149, 150, 427, 481, 429, 479, 483, 428, - 402, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 400, 401, 482,32767,32767, 460, - 459, 458, 425,32767,32767,32767,32767,32767,32767,32767, - 32767, 102,32767, 426, 430, 399, 433, 431, 432, 449, - 450, 447, 448, 451,32767,32767,32767,32767, 452, 453, - 454, 455, 316,32767,32767, 366, 364, 316, 111,32767, - 32767, 440, 441,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 497, 547, 457,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 391, 490, 469, + 470, 472, 473, 402, 560, 616, 330, 613, 332, 401, + 145, 342, 333, 242, 258, 491, 259, 492, 495, 496, + 215, 388, 149, 150, 433, 487, 435, 485, 489, 434, + 408, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 406, 407, 488,32767,32767, 466, + 465, 464, 431,32767,32767,32767,32767,32767,32767,32767, + 32767, 102,32767, 432, 436, 405, 439, 437, 438, 455, + 456, 453, 454, 457,32767,32767, 319,32767,32767, 458, + 459, 460, 461, 369, 367,32767,32767, 319, 111,32767, + 32767, 446, 447,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 503, 553, 463,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 102,32767, 100, 549, 422, 424, 517, 435, 436, 434, - 403,32767, 522,32767, 102,32767, 524,32767,32767,32767, - 32767,32767,32767,32767, 548,32767, 555, 555,32767, 510, - 100, 195,32767,32767, 523, 195, 195,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 618, 510, 110, 110, + 102,32767, 100, 555, 428, 430, 523, 441, 442, 440, + 409,32767, 528,32767, 102,32767, 530,32767,32767,32767, + 32767,32767,32767,32767, 554,32767, 561, 561,32767, 516, + 100, 195,32767,32767, 529, 195, 195,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 624, 516, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,32767, 195, 110,32767,32767,32767, 100, 195, 195, 195, 195, - 195, 195, 195, 195, 525, 195, 195, 190,32767, 268, - 270, 102, 572, 195,32767, 527,32767,32767,32767,32767, + 195, 195, 195, 195, 531, 195, 195, 190,32767, 268, + 270, 102, 578, 195,32767, 533,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, 510, 445, 138,32767, 512, 138, 555, 437, 438, - 439, 555, 555, 555, 312, 289,32767,32767,32767,32767, - 525, 525, 100, 100, 100, 100,32767,32767,32767,32767, - 111, 496, 99, 99, 99, 99, 99, 103, 101,32767, + 32767, 516, 451, 138,32767, 518, 138, 561, 443, 444, + 445, 561, 561, 561, 315, 292,32767,32767,32767,32767, + 531, 531, 100, 100, 100, 100,32767,32767,32767,32767, + 111, 502, 99, 99, 99, 99, 99, 103, 101,32767, 32767,32767,32767, 223,32767, 101, 99,32767, 101, 101, - 32767,32767, 223, 225, 212, 227,32767, 576, 577, 223, - 101, 227, 227, 227, 247, 247, 499, 318, 101, 99, - 101, 101, 197, 318, 318,32767, 101, 499, 318, 499, - 318, 199, 318, 318, 318, 499, 318,32767, 101, 318, - 214, 385, 99, 99, 318,32767,32767,32767, 512,32767, + 32767,32767, 223, 225, 212, 227,32767, 582, 583, 223, + 101, 227, 227, 227, 247, 247, 505, 321, 101, 99, + 101, 101, 197, 321, 321,32767, 101, 505, 321, 505, + 321, 199, 321, 321, 321, 505, 321,32767, 101, 321, + 214, 391, 99, 99, 321,32767,32767,32767, 518,32767, 32767,32767,32767,32767,32767,32767, 222,32767,32767,32767, - 32767,32767,32767,32767,32767, 542,32767, 560, 574, 443, - 444, 446, 559, 557, 468, 469, 470, 471, 472, 473, - 474, 476, 606,32767, 516,32767,32767,32767, 338,32767, - 616,32767,32767,32767, 9, 74, 505, 42, 43, 51, - 57, 531, 532, 533, 534, 528, 529, 535, 530,32767, + 32767,32767,32767,32767,32767, 548,32767, 566, 580, 449, + 450, 452, 565, 563, 474, 475, 476, 477, 478, 479, + 480, 482, 612,32767, 522,32767,32767,32767, 341,32767, + 622,32767,32767,32767, 9, 74, 511, 42, 43, 51, + 57, 537, 538, 539, 540, 534, 535, 541, 536,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 617,32767, 555,32767,32767,32767, - 32767, 442, 537, 582,32767,32767, 556, 609,32767,32767, + 32767,32767,32767,32767, 623,32767, 561,32767,32767,32767, + 32767, 448, 543, 588,32767,32767, 562, 615,32767,32767, 32767,32767,32767,32767,32767, 138,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 542,32767, 136,32767, - 32767,32767,32767,32767,32767,32767,32767, 538,32767,32767, - 32767, 555,32767,32767,32767,32767, 314, 311,32767,32767, + 32767,32767,32767,32767,32767,32767, 548,32767, 136,32767, + 32767,32767,32767,32767,32767,32767,32767, 544,32767,32767, + 32767, 561,32767,32767,32767,32767, 317, 314,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 555,32767,32767,32767,32767,32767, - 291,32767, 308,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 561,32767,32767,32767,32767,32767, + 294,32767, 311,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 381, 512, 294, 296, 297,32767,32767,32767,32767, - 360,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 152, 152, 3, 3, 341, 152, 152, 152, - 341, 341, 152, 341, 341, 341, 152, 152, 152, 152, - 152, 152, 280, 185, 262, 265, 247, 247, 152, 352, + 32767, 387, 518, 297, 299, 300,32767,32767,32767,32767, + 363,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767, 152, 152, 3, 3, 344, 152, 152, 152, + 344, 344, 152, 344, 344, 344, 152, 152, 152, 152, + 152, 152, 280, 185, 262, 265, 247, 247, 152, 355, 152 ); protected array $goto = array( - 196, 196, 1036, 502, 699, 503, 1067, 432, 664, 624, - 661, 509, 708, 427, 320, 314, 315, 336, 596, 431, - 337, 433, 641, 895, 853, 895, 895, 166, 166, 166, + 196, 196, 1039, 1070, 699, 464, 586, 469, 469, 854, + 735, 640, 642, 1203, 855, 662, 469, 352, 708, 686, + 689, 1012, 697, 706, 1008, 624, 661, 166, 166, 166, 166, 220, 197, 193, 193, 176, 178, 215, 193, 193, 193, 193, 193, 194, 194, 194, 194, 194, 188, 189, 190, 191, 192, 217, 215, 218, 539, 540, 422, 541, - 544, 545, 546, 547, 548, 549, 550, 551, 1148, 167, + 544, 545, 546, 547, 548, 549, 550, 551, 1154, 167, 168, 169, 195, 170, 171, 172, 165, 173, 174, 175, 177, 214, 216, 219, 239, 242, 253, 254, 256, 257, - 258, 259, 260, 261, 262, 263, 268, 269, 270, 271, + 258, 259, 260, 261, 262, 263, 269, 270, 271, 272, 281, 282, 317, 318, 319, 428, 429, 430, 601, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 179, 236, 180, 188, 189, 190, - 191, 192, 217, 1148, 198, 199, 200, 201, 240, 181, + 191, 192, 217, 1154, 198, 199, 200, 201, 240, 181, 182, 202, 183, 203, 199, 184, 241, 198, 164, 204, 205, 185, 206, 207, 208, 186, 209, 210, 187, 211, - 212, 213, 857, 613, 627, 630, 631, 632, 633, 654, - 655, 656, 710, 352, 854, 343, 278, 278, 278, 278, - 835, 626, 626, 478, 1328, 1329, 603, 1283, 1283, 1283, - 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1228, 946, 344, - 343, 1229, 1232, 947, 1233, 855, 915, 862, 916, 911, - 906, 907, 920, 863, 908, 860, 909, 910, 861, 1001, - 914, 835, 973, 835, 734, 356, 977, 555, 1010, 1005, - 1089, 1084, 1085, 1086, 420, 356, 356, 355, 355, 355, - 355, 602, 1102, 657, 658, 481, 675, 676, 677, 356, - 356, 711, 483, 356, 829, 1370, 459, 510, 702, 1252, - 1100, 1252, 1252, 888, 469, 469, 558, 1036, 1036, 1252, - 356, 356, 1036, 469, 1036, 1036, 1109, 1110, 1036, 1036, - 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1335, - 1335, 1335, 1335, 696, 1252, 870, 831, 464, 593, 1252, - 1252, 1252, 1252, 441, 1197, 1252, 1252, 1252, 696, 563, - 556, 882, 696, 554, 869, 554, 554, 1039, 1039, 1314, - 350, 684, 954, 554, 928, 1031, 1047, 1048, 929, 1343, - 426, 944, 615, 1353, 1353, 5, 944, 6, 998, 511, - 342, 556, 563, 588, 589, 347, 599, 605, 457, 620, - 621, 1353, 396, 971, 971, 971, 971, 25, 591, 457, - 965, 972, 969, 411, 707, 1302, 1302, 1060, 1356, 1356, - 558, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, - 1302, 1299, 1299, 398, 401, 604, 608, 1299, 1299, 1299, - 1299, 1299, 1299, 1299, 1299, 1299, 1299, 543, 543, 1042, - 1041, 850, 663, 543, 543, 543, 543, 543, 543, 543, - 543, 543, 543, 634, 636, 638, 552, 552, 552, 552, - 1145, 607, 1045, 1046, 353, 354, 557, 583, 439, 326, - 309, 557, 685, 583, 1245, 399, 463, 450, 450, 450, - 450, 847, 1325, 669, 1325, 1325, 1330, 1331, 472, 600, - 473, 474, 1325, 338, 850, 960, 880, 586, 875, 1361, - 1362, 735, 640, 642, 597, 618, 662, 872, 405, 619, - 686, 689, 1012, 697, 706, 1008, 1020, 1073, 1337, 1337, - 1337, 1337, 542, 542, 878, 249, 249, 1243, 542, 738, - 542, 542, 542, 542, 542, 542, 542, 542, 325, 275, - 325, 325, 479, 1077, 884, 1321, 0, 982, 1027, 1120, - 1247, 0, 247, 247, 247, 247, 244, 250, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 450, 450, 450, 450, 450, 450, 450, 450, 450, - 450, 450, 0, 0, 450, 0, 0, 1075, 0, 409, - 410, 1323, 1323, 1075, 673, 0, 674, 0, 413, 414, - 415, 0, 687, 1248, 1249, 416, 1235, 0, 0, 0, - 348, 609, 845, 850, 933, 1135, 0, 0, 0, 1235, - 0, 0, 883, 871, 1072, 1076, 1017, 0, 0, 0, - 0, 1250, 1311, 1312, 874, 980, 667, 996, 0, 0, - 0, 0, 868, 434, 0, 0, 0, 0, 434, 0, - 0, 0, 0, 0, 1242, 0, 1043, 1043, 970, 0, - 0, 668, 1054, 1050, 1051, 1015, 1015, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1118, 887, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 212, 213, 278, 278, 278, 278, 857, 1112, 1113, 1359, + 1359, 603, 613, 627, 630, 631, 632, 633, 654, 655, + 656, 710, 356, 895, 853, 895, 895, 1359, 432, 664, + 977, 459, 356, 356, 427, 320, 314, 315, 336, 596, + 431, 337, 433, 641, 1362, 1362, 356, 356, 563, 556, + 356, 862, 1376, 911, 906, 907, 920, 863, 908, 860, + 909, 910, 861, 558, 914, 1234, 946, 356, 356, 1235, + 1238, 947, 1239, 829, 1092, 1087, 1088, 1089, 441, 342, + 556, 563, 588, 589, 347, 599, 605, 420, 620, 621, + 355, 355, 355, 355, 657, 658, 25, 675, 676, 677, + 1258, 1039, 1258, 1258, 398, 401, 604, 608, 353, 354, + 1039, 1258, 1039, 696, 1039, 1039, 1320, 831, 1039, 1039, + 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 696, + 850, 481, 696, 888, 1258, 343, 511, 870, 483, 1258, + 1258, 1258, 1258, 593, 835, 1258, 1258, 1258, 1341, 1341, + 1341, 1341, 554, 882, 554, 554, 869, 1045, 1044, 344, + 343, 1048, 1049, 554, 928, 626, 626, 558, 929, 1336, + 1337, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, + 1289, 350, 915, 850, 916, 835, 457, 835, 326, 309, + 944, 971, 971, 971, 971, 944, 1349, 457, 965, 972, + 1308, 1308, 478, 1334, 1335, 998, 1308, 1308, 1308, 1308, + 1308, 1308, 1308, 1308, 1308, 1308, 502, 426, 503, 615, + 552, 552, 552, 552, 509, 607, 1305, 1305, 634, 636, + 638, 1251, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, + 1305, 1305, 543, 543, 396, 249, 249, 591, 543, 543, + 543, 543, 543, 543, 543, 543, 543, 543, 1253, 969, + 411, 707, 663, 450, 450, 1151, 450, 450, 1331, 1063, + 1331, 1331, 247, 247, 247, 247, 244, 250, 439, 1331, + 602, 1105, 5, 685, 6, 557, 583, 597, 618, 338, + 557, 711, 583, 847, 399, 463, 510, 702, 669, 1103, + 875, 960, 850, 1343, 1343, 1343, 1343, 472, 600, 473, + 474, 1254, 1255, 405, 1241, 880, 619, 872, 1367, 1368, + 845, 1249, 1076, 542, 542, 738, 1020, 1241, 884, 542, + 1327, 542, 542, 542, 542, 542, 542, 542, 542, 1256, + 1317, 1318, 1080, 878, 479, 1126, 982, 1030, 0, 0, + 0, 273, 325, 0, 325, 325, 0, 450, 450, 450, + 450, 450, 450, 450, 450, 450, 450, 450, 0, 0, + 450, 0, 1078, 0, 409, 410, 1329, 1329, 1078, 673, + 0, 674, 0, 413, 414, 415, 0, 687, 609, 0, + 416, 933, 1141, 0, 0, 348, 883, 871, 1075, 1079, + 0, 434, 0, 1017, 0, 0, 0, 0, 0, 980, + 0, 874, 434, 667, 996, 0, 0, 0, 0, 868, + 1046, 1046, 0, 0, 0, 668, 1057, 1053, 1054, 1015, + 1015, 1248, 970, 1042, 1042, 0, 0, 684, 954, 0, + 0, 1034, 1050, 1051, 1001, 0, 0, 973, 0, 734, + 0, 0, 555, 1010, 1005, 1124, 887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 252 ); protected array $gotoCheck = array( - 42, 42, 73, 160, 73, 160, 128, 66, 66, 56, - 56, 160, 9, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 25, 25, 25, 25, 42, 42, 42, + 42, 42, 73, 128, 73, 156, 48, 154, 154, 26, + 48, 48, 48, 156, 27, 48, 154, 97, 9, 48, + 48, 48, 48, 48, 48, 56, 56, 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, @@ -941,108 +941,100 @@ class Php7 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, 15, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 97, 26, 174, 23, 23, 23, 23, - 12, 108, 108, 182, 182, 182, 131, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 79, 79, 174, - 174, 79, 79, 79, 79, 27, 65, 15, 65, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 50, - 15, 12, 50, 12, 50, 14, 49, 50, 50, 50, - 15, 15, 15, 15, 43, 14, 14, 24, 24, 24, - 24, 8, 8, 86, 86, 84, 86, 86, 86, 14, - 14, 8, 84, 14, 6, 14, 83, 8, 8, 73, - 8, 73, 73, 45, 154, 154, 14, 73, 73, 73, - 14, 14, 73, 154, 73, 73, 145, 145, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 9, - 9, 9, 9, 7, 73, 35, 7, 156, 178, 73, - 73, 73, 73, 83, 156, 73, 73, 73, 7, 76, - 76, 35, 7, 19, 35, 19, 19, 89, 89, 14, - 185, 89, 89, 19, 73, 89, 89, 89, 73, 187, - 13, 9, 13, 188, 188, 46, 9, 46, 103, 14, - 76, 76, 76, 76, 76, 76, 76, 76, 19, 76, - 76, 188, 62, 19, 19, 19, 19, 76, 104, 19, - 19, 19, 93, 93, 93, 176, 176, 115, 188, 188, - 14, 176, 176, 176, 176, 176, 176, 176, 176, 176, - 176, 177, 177, 59, 59, 59, 59, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 179, 179, 119, - 119, 22, 64, 179, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 85, 85, 85, 107, 107, 107, 107, - 155, 107, 120, 120, 97, 97, 9, 9, 113, 175, - 175, 9, 117, 9, 14, 9, 9, 23, 23, 23, - 23, 18, 131, 121, 131, 131, 184, 184, 9, 9, - 9, 9, 131, 29, 22, 92, 9, 48, 39, 9, - 9, 48, 48, 48, 2, 2, 48, 37, 28, 80, - 48, 48, 48, 48, 48, 48, 110, 130, 131, 131, - 131, 131, 162, 162, 9, 5, 5, 166, 162, 99, - 162, 162, 162, 162, 162, 162, 162, 162, 24, 24, - 24, 24, 157, 133, 41, 131, -1, 96, 114, 148, - 20, -1, 5, 5, 5, 5, 5, 5, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, -1, -1, 23, -1, -1, 131, -1, 82, - 82, 131, 131, 131, 82, -1, 82, -1, 82, 82, - 82, -1, 82, 20, 20, 82, 20, -1, -1, -1, - 82, 17, 20, 22, 17, 17, -1, -1, -1, 20, - -1, -1, 16, 16, 16, 16, 17, -1, -1, -1, - -1, 20, 20, 20, 17, 16, 17, 17, -1, -1, - -1, -1, 17, 118, -1, -1, -1, -1, 118, -1, - -1, -1, -1, -1, 17, -1, 118, 118, 16, -1, - -1, 118, 118, 118, 118, 107, 107, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 16, 16, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 42, 42, 23, 23, 23, 23, 15, 145, 145, 188, + 188, 131, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 14, 25, 25, 25, 25, 188, 66, 66, + 49, 83, 14, 14, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 188, 188, 14, 14, 76, 76, + 14, 15, 14, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 14, 15, 79, 79, 14, 14, 79, + 79, 79, 79, 6, 15, 15, 15, 15, 83, 76, + 76, 76, 76, 76, 76, 76, 76, 43, 76, 76, + 24, 24, 24, 24, 86, 86, 76, 86, 86, 86, + 73, 73, 73, 73, 59, 59, 59, 59, 97, 97, + 73, 73, 73, 7, 73, 73, 14, 7, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 7, + 22, 84, 7, 45, 73, 174, 14, 35, 84, 73, + 73, 73, 73, 178, 12, 73, 73, 73, 9, 9, + 9, 9, 19, 35, 19, 19, 35, 119, 119, 174, + 174, 120, 120, 19, 73, 108, 108, 14, 73, 184, + 184, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 185, 65, 22, 65, 12, 19, 12, 175, 175, + 9, 19, 19, 19, 19, 9, 187, 19, 19, 19, + 176, 176, 182, 182, 182, 103, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 160, 13, 160, 13, + 107, 107, 107, 107, 160, 107, 177, 177, 85, 85, + 85, 14, 177, 177, 177, 177, 177, 177, 177, 177, + 177, 177, 179, 179, 62, 5, 5, 104, 179, 179, + 179, 179, 179, 179, 179, 179, 179, 179, 20, 93, + 93, 93, 64, 23, 23, 155, 23, 23, 131, 115, + 131, 131, 5, 5, 5, 5, 5, 5, 113, 131, + 8, 8, 46, 117, 46, 9, 9, 2, 2, 29, + 9, 8, 9, 18, 9, 9, 8, 8, 121, 8, + 39, 92, 22, 131, 131, 131, 131, 9, 9, 9, + 9, 20, 20, 28, 20, 9, 80, 37, 9, 9, + 20, 166, 130, 162, 162, 99, 110, 20, 41, 162, + 131, 162, 162, 162, 162, 162, 162, 162, 162, 20, + 20, 20, 133, 9, 157, 148, 96, 114, -1, -1, + -1, 24, 24, -1, 24, 24, -1, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, -1, -1, + 23, -1, 131, -1, 82, 82, 131, 131, 131, 82, + -1, 82, -1, 82, 82, 82, -1, 82, 17, -1, + 82, 17, 17, -1, -1, 82, 16, 16, 16, 16, + -1, 118, -1, 17, -1, -1, -1, -1, -1, 16, + -1, 17, 118, 17, 17, -1, -1, -1, -1, 17, + 118, 118, -1, -1, -1, 118, 118, 118, 118, 107, + 107, 17, 16, 89, 89, -1, -1, 89, 89, -1, + -1, 89, 89, 89, 50, -1, -1, 50, -1, 50, + -1, -1, 50, 50, 50, 16, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 5 ); protected array $gotoBase = array( - 0, 0, -250, 0, 0, 484, 231, 286, 233, -11, - 0, 0, -117, -8, -73, -187, 129, 106, 131, 49, - 115, 0, 123, 173, 234, 20, 170, 201, 130, 156, - 0, 0, 0, 0, 0, -77, 0, 127, 0, 134, - 0, 62, -1, 212, 0, 237, -403, 0, -256, 209, - 208, 0, 0, 0, 0, 0, -31, 0, 0, 338, - 0, 0, 310, 0, 164, 193, -230, 0, 0, 0, - 0, 0, 0, -5, 0, 0, -36, 0, 0, -212, - 122, -196, 56, -22, -227, -68, -477, 0, 0, 38, - 0, 0, 125, 57, 0, 0, 63, -312, 0, 81, - 0, 0, 0, 303, 315, 0, 0, 388, -56, 0, - 105, 0, 0, 151, -3, 94, 0, 149, 331, 120, - 137, 153, 0, 0, 0, 0, 0, 0, 4, 0, - 102, 178, 0, 60, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 64, 0, - 0, 0, 0, 0, 230, 176, 30, 61, 0, 0, - -494, 0, 245, 0, 0, 0, 117, 0, 0, 0, - 0, 0, 0, 0, -123, 107, 128, 144, 269, 160, - 0, 0, -118, 0, 73, 290, 0, 298, 25, 0, + 0, 0, -267, 0, 0, 404, 223, 266, 432, 8, + 0, 0, 7, 39, -116, -183, 103, 83, 143, 47, + 23, 0, 12, 159, 247, 180, 5, 10, 135, 152, + 0, 0, 0, 0, 0, -75, 0, 137, 0, 136, + 0, 46, -1, 224, 0, 267, -296, 0, -707, 172, + 592, 0, 0, 0, 0, 0, -15, 0, 0, 219, + 0, 0, 362, 0, 184, 328, -49, 0, 0, 0, + 0, 0, 0, -5, 0, 0, -137, 0, 0, -184, + 129, -187, 41, -87, -181, -93, -466, 0, 0, 314, + 0, 0, 131, 114, 0, 0, 62, -468, 0, 77, + 0, 0, 0, 330, 364, 0, 0, 352, 88, 0, + 115, 0, 0, 161, -4, 154, 0, 160, 295, 38, + 36, 168, 0, 0, 0, 0, 0, 0, 1, 0, + 107, 163, 0, 59, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -106, 0, 0, 60, 0, + 0, 0, 0, 0, -27, 181, -263, 63, 0, 0, + -121, 0, 246, 0, 0, 0, 111, 0, 0, 0, + 0, 0, 0, 0, -3, 26, 123, 149, 274, 165, + 0, 0, 61, 0, -44, 311, 0, 325, -139, 0, 0 ); protected array $gotoDefault = array( -32768, 515, 742, 4, 743, 937, 818, 827, 579, 533, - 709, 349, 628, 423, 1319, 913, 1134, 598, 846, 1261, - 1267, 458, 849, 331, 732, 925, 896, 897, 402, 388, + 709, 349, 628, 423, 1325, 913, 1140, 598, 846, 1267, + 1273, 458, 849, 331, 732, 925, 896, 897, 402, 388, 394, 400, 652, 629, 496, 881, 454, 873, 488, 876, 453, 885, 163, 419, 513, 889, 3, 892, 561, 923, 975, 389, 900, 390, 680, 902, 582, 904, 905, 397, - 403, 404, 1139, 590, 625, 917, 255, 584, 918, 387, - 919, 927, 392, 395, 690, 468, 507, 501, 412, 1104, + 403, 404, 1145, 590, 625, 917, 255, 584, 918, 387, + 919, 927, 392, 395, 690, 468, 507, 501, 412, 1107, 585, 612, 649, 447, 475, 623, 635, 622, 482, 435, 417, 330, 959, 967, 489, 466, 981, 351, 989, 740, - 1147, 643, 491, 997, 644, 1004, 1007, 534, 535, 480, - 1019, 272, 1022, 492, 1028, 22, 670, 1033, 1034, 671, - 645, 1056, 646, 672, 647, 1058, 465, 580, 1066, 455, - 1074, 1307, 456, 1078, 265, 1081, 277, 418, 436, 1087, - 1088, 9, 1094, 700, 701, 18, 276, 512, 1119, 691, - -32768,-32768,-32768,-32768, 452, 1146, 451, 1216, 1218, 562, - 493, 1236, 294, 1239, 683, 508, 1244, 448, 1310, 449, - 536, 476, 316, 537, 1354, 308, 334, 313, 553, 295, - 335, 538, 477, 1316, 1324, 332, 31, 1344, 1355, 595, + 1153, 643, 491, 997, 644, 1004, 1007, 534, 535, 480, + 1019, 266, 1022, 492, 1031, 23, 670, 1036, 1037, 671, + 645, 1059, 646, 672, 647, 1061, 465, 580, 1069, 455, + 1077, 1313, 456, 1081, 264, 1084, 277, 418, 436, 1090, + 1091, 9, 1097, 700, 701, 19, 274, 512, 1125, 691, + -32768,-32768,-32768,-32768, 452, 1152, 451, 1222, 1224, 562, + 493, 1242, 294, 1245, 683, 508, 1250, 448, 1316, 449, + 536, 476, 316, 537, 1360, 308, 334, 313, 553, 295, + 335, 538, 477, 1322, 1330, 332, 31, 1350, 1361, 595, 617 ); @@ -1075,19 +1067,19 @@ class Php7 extends \PhpParser\ParserAbstract 98, 99, 99, 100, 101, 101, 102, 102, 103, 103, 55, 55, 51, 51, 105, 53, 53, 106, 52, 52, 54, 54, 64, 64, 64, 64, 81, 81, 109, 109, - 111, 111, 112, 112, 112, 112, 110, 110, 110, 115, - 115, 115, 115, 89, 89, 118, 118, 118, 119, 119, - 116, 116, 120, 120, 122, 122, 123, 123, 117, 124, - 124, 121, 125, 125, 125, 125, 113, 113, 82, 82, - 82, 20, 20, 20, 127, 126, 126, 128, 128, 128, - 128, 60, 129, 129, 130, 61, 132, 132, 133, 133, - 134, 134, 86, 135, 135, 135, 135, 135, 135, 135, - 140, 140, 141, 141, 142, 142, 142, 142, 142, 143, - 144, 144, 139, 139, 136, 136, 138, 138, 146, 146, - 145, 145, 145, 145, 145, 145, 145, 137, 147, 147, - 149, 148, 148, 150, 150, 114, 151, 151, 153, 153, - 153, 152, 152, 62, 104, 154, 154, 56, 56, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 111, 111, 112, 112, 112, 112, 112, 112, 112, 110, + 110, 110, 115, 115, 115, 115, 89, 89, 118, 118, + 118, 119, 119, 116, 116, 120, 120, 122, 122, 123, + 123, 117, 124, 124, 121, 125, 125, 125, 125, 113, + 113, 82, 82, 82, 20, 20, 20, 127, 126, 126, + 128, 128, 128, 128, 60, 129, 129, 130, 61, 132, + 132, 133, 133, 134, 134, 86, 135, 135, 135, 135, + 135, 135, 135, 140, 140, 141, 141, 142, 142, 142, + 142, 142, 143, 144, 144, 139, 139, 136, 136, 138, + 138, 146, 146, 145, 145, 145, 145, 145, 145, 145, + 145, 145, 145, 137, 147, 147, 149, 148, 148, 150, + 150, 114, 151, 151, 153, 153, 153, 152, 152, 62, + 104, 154, 154, 56, 56, 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, @@ -1096,20 +1088,21 @@ class Php7 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, 161, 162, 162, 163, 155, 155, 160, - 160, 164, 165, 165, 166, 167, 168, 168, 168, 168, - 19, 19, 73, 73, 73, 73, 156, 156, 156, 156, - 170, 170, 159, 159, 159, 157, 157, 176, 176, 176, - 176, 176, 176, 176, 176, 176, 176, 177, 177, 177, - 108, 179, 179, 179, 179, 158, 158, 158, 158, 158, - 158, 158, 158, 59, 59, 173, 173, 173, 173, 173, - 180, 180, 169, 169, 169, 169, 181, 181, 181, 181, - 181, 181, 74, 74, 66, 66, 66, 66, 131, 131, - 131, 131, 184, 183, 172, 172, 172, 172, 172, 172, - 172, 171, 171, 171, 182, 182, 182, 182, 107, 178, - 186, 186, 185, 185, 187, 187, 187, 187, 187, 187, - 187, 187, 175, 175, 175, 175, 174, 189, 188, 188, - 188, 188, 188, 188, 188, 188, 190, 190, 190, 190 + 42, 42, 42, 42, 42, 42, 42, 42, 42, 161, + 162, 162, 163, 155, 155, 160, 160, 164, 165, 165, + 166, 167, 168, 168, 168, 168, 19, 19, 73, 73, + 73, 73, 156, 156, 156, 156, 170, 170, 159, 159, + 159, 157, 157, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 177, 177, 177, 108, 179, 179, 179, + 179, 158, 158, 158, 158, 158, 158, 158, 158, 59, + 59, 173, 173, 173, 173, 173, 180, 180, 169, 169, + 169, 169, 181, 181, 181, 181, 181, 181, 74, 74, + 66, 66, 66, 66, 131, 131, 131, 131, 184, 183, + 172, 172, 172, 172, 172, 172, 172, 171, 171, 171, + 182, 182, 182, 182, 107, 178, 186, 186, 185, 185, + 187, 187, 187, 187, 187, 187, 187, 187, 175, 175, + 175, 175, 174, 189, 188, 188, 188, 188, 188, 188, + 188, 188, 190, 190, 190, 190 ); protected array $ruleToLength = array( @@ -1141,41 +1134,42 @@ class Php7 extends \PhpParser\ParserAbstract 3, 1, 1, 7, 0, 2, 1, 3, 3, 4, 1, 4, 0, 2, 5, 0, 2, 6, 0, 2, 0, 3, 1, 2, 1, 1, 2, 0, 1, 3, - 0, 2, 1, 1, 1, 1, 7, 9, 6, 1, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 3, 3, 1, 3, 3, 3, 3, 3, 1, 3, - 3, 1, 1, 2, 1, 1, 0, 1, 0, 2, - 2, 2, 4, 3, 1, 1, 3, 1, 2, 2, - 3, 2, 3, 1, 1, 2, 3, 1, 1, 3, - 2, 0, 1, 5, 5, 6, 10, 3, 5, 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, 1, 2, 1, 3, - 1, 1, 3, 0, 2, 0, 5, 8, 1, 3, - 3, 0, 2, 2, 2, 3, 1, 0, 1, 1, - 3, 3, 3, 4, 4, 1, 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, 3, 3, 3, - 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, - 3, 4, 4, 2, 2, 4, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 1, 3, 2, - 1, 2, 4, 2, 2, 8, 9, 8, 9, 9, - 10, 9, 10, 8, 3, 2, 2, 1, 1, 0, - 4, 2, 1, 3, 2, 1, 2, 2, 2, 4, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, - 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 5, 3, - 3, 4, 1, 1, 3, 1, 1, 1, 1, 1, - 3, 2, 3, 0, 1, 1, 3, 1, 1, 1, - 1, 1, 1, 3, 1, 1, 1, 4, 4, 1, - 4, 4, 0, 1, 1, 1, 3, 3, 1, 4, - 2, 2, 1, 3, 1, 4, 4, 3, 3, 3, - 3, 1, 3, 1, 1, 3, 1, 1, 4, 1, - 1, 1, 3, 1, 1, 2, 1, 3, 4, 3, - 2, 0, 2, 2, 1, 2, 1, 1, 1, 4, - 3, 3, 3, 3, 6, 3, 1, 1, 2, 1 + 0, 2, 1, 1, 1, 1, 1, 1, 1, 7, + 9, 6, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 3, 3, 3, 1, 3, 3, 3, 3, + 3, 1, 3, 3, 1, 1, 2, 1, 1, 0, + 1, 0, 2, 2, 2, 4, 3, 1, 1, 3, + 1, 2, 2, 3, 2, 3, 1, 1, 2, 3, + 1, 1, 3, 2, 0, 1, 5, 5, 6, 10, + 3, 5, 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, 1, + 1, 1, 1, 2, 1, 3, 1, 1, 3, 0, + 2, 0, 5, 8, 1, 3, 3, 0, 2, 2, + 2, 3, 1, 0, 1, 1, 3, 3, 3, 4, + 4, 1, 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, 3, 3, 3, 3, 3, 3, 2, + 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 5, 4, 3, 4, 4, 2, + 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 1, 3, 2, 1, 2, 4, 2, + 2, 8, 9, 8, 9, 9, 10, 9, 10, 8, + 3, 2, 2, 1, 1, 0, 4, 2, 1, 3, + 2, 1, 2, 2, 2, 4, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 1, 1, 1, 0, 1, + 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 3, 5, 3, 3, 4, 1, 1, + 3, 1, 1, 1, 1, 1, 3, 2, 3, 0, + 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, + 1, 1, 1, 4, 4, 1, 4, 4, 0, 1, + 1, 1, 3, 3, 1, 4, 2, 2, 1, 3, + 1, 4, 4, 3, 3, 3, 3, 1, 3, 1, + 1, 3, 1, 1, 4, 1, 1, 1, 3, 1, + 1, 2, 1, 3, 4, 3, 2, 0, 2, 2, + 1, 2, 1, 1, 1, 4, 3, 3, 3, 3, + 6, 3, 1, 1, 2, 1 ); protected function initReduceCallbacks(): void { @@ -1833,68 +1827,68 @@ protected function initReduceCallbacks(): void { $self->semValue = Modifiers::PRIVATE; }, 285 => static function ($self, $stackPos) { - $self->semValue = Modifiers::READONLY; + $self->semValue = Modifiers::PUBLIC_SET; }, 286 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PROTECTED_SET; + }, + 287 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PRIVATE_SET; + }, + 288 => static function ($self, $stackPos) { + $self->semValue = Modifiers::READONLY; + }, + 289 => static function ($self, $stackPos) { $self->semValue = new Node\Param($self->semStack[$stackPos-(7-6)], null, $self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-4)], $self->semStack[$stackPos-(7-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(7-2)], $self->semStack[$stackPos-(7-1)], $self->semStack[$stackPos-(7-7)]); $self->checkParam($self->semValue); }, - 287 => static function ($self, $stackPos) { + 290 => static function ($self, $stackPos) { $self->semValue = new Node\Param($self->semStack[$stackPos-(9-6)], $self->semStack[$stackPos-(9-8)], $self->semStack[$stackPos-(9-3)], $self->semStack[$stackPos-(9-4)], $self->semStack[$stackPos-(9-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(9-2)], $self->semStack[$stackPos-(9-1)], $self->semStack[$stackPos-(9-9)]); $self->checkParam($self->semValue); }, - 288 => static function ($self, $stackPos) { + 291 => static function ($self, $stackPos) { $self->semValue = new Node\Param(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])), null, $self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-4)], $self->semStack[$stackPos-(6-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-1)]); }, - 289 => null, - 290 => static function ($self, $stackPos) { + 292 => null, + 293 => static function ($self, $stackPos) { $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 291 => static function ($self, $stackPos) { + 294 => static function ($self, $stackPos) { $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 292 => null, - 293 => null, - 294 => static function ($self, $stackPos) { + 295 => null, + 296 => null, + 297 => static function ($self, $stackPos) { $self->semValue = new Node\Name('static', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 295 => static function ($self, $stackPos) { + 298 => static function ($self, $stackPos) { $self->semValue = $self->handleBuiltinTypes($self->semStack[$stackPos-(1-1)]); }, - 296 => static function ($self, $stackPos) { + 299 => static function ($self, $stackPos) { $self->semValue = new Node\Identifier('array', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 297 => static function ($self, $stackPos) { + 300 => static function ($self, $stackPos) { $self->semValue = new Node\Identifier('callable', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 298 => null, - 299 => static function ($self, $stackPos) { + 301 => null, + 302 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 300 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); - }, - 301 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; - }, - 302 => null, 303 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; - }, - 304 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 305 => static function ($self, $stackPos) { + 304 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, + 305 => null, 306 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 307 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, 308 => static function ($self, $stackPos) { - $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, 309 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); @@ -1905,871 +1899,889 @@ protected function initReduceCallbacks(): void { 311 => static function ($self, $stackPos) { $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 312 => null, + 312 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); + }, 313 => static function ($self, $stackPos) { - $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, 314 => static function ($self, $stackPos) { - $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 315 => null, 316 => static function ($self, $stackPos) { + $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 317 => static function ($self, $stackPos) { + $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 318 => null, + 319 => static function ($self, $stackPos) { $self->semValue = null; }, - 317 => null, - 318 => static function ($self, $stackPos) { + 320 => null, + 321 => static function ($self, $stackPos) { $self->semValue = null; }, - 319 => static function ($self, $stackPos) { + 322 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 320 => static function ($self, $stackPos) { + 323 => static function ($self, $stackPos) { $self->semValue = null; }, - 321 => static function ($self, $stackPos) { + 324 => static function ($self, $stackPos) { $self->semValue = array(); }, - 322 => static function ($self, $stackPos) { + 325 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 323 => static function ($self, $stackPos) { + 326 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-2)]); }, - 324 => static function ($self, $stackPos) { + 327 => static function ($self, $stackPos) { $self->semValue = new Node\VariadicPlaceholder($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 325 => static function ($self, $stackPos) { + 328 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 326 => static function ($self, $stackPos) { + 329 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 327 => static function ($self, $stackPos) { + 330 => static function ($self, $stackPos) { $self->semValue = new Node\Arg($self->semStack[$stackPos-(1-1)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 328 => static function ($self, $stackPos) { + 331 => static function ($self, $stackPos) { $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], true, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 329 => static function ($self, $stackPos) { + 332 => static function ($self, $stackPos) { $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], false, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 330 => static function ($self, $stackPos) { + 333 => static function ($self, $stackPos) { $self->semValue = new Node\Arg($self->semStack[$stackPos-(3-3)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(3-1)]); }, - 331 => null, - 332 => static function ($self, $stackPos) { + 334 => null, + 335 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 333 => static function ($self, $stackPos) { + 336 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 334 => null, - 335 => null, - 336 => static function ($self, $stackPos) { + 337 => null, + 338 => null, + 339 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 337 => static function ($self, $stackPos) { + 340 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 338 => static function ($self, $stackPos) { + 341 => static function ($self, $stackPos) { $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 339 => static function ($self, $stackPos) { + 342 => static function ($self, $stackPos) { $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 340 => static function ($self, $stackPos) { + 343 => static function ($self, $stackPos) { if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; } else { $self->semValue = $self->semStack[$stackPos-(2-1)]; } }, - 341 => static function ($self, $stackPos) { + 344 => static function ($self, $stackPos) { $self->semValue = array(); }, - 342 => static function ($self, $stackPos) { + 345 => static function ($self, $stackPos) { $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);; if ($nop !== null) { $self->semStack[$stackPos-(1-1)][] = $nop; } $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 343 => static function ($self, $stackPos) { + 346 => static function ($self, $stackPos) { $self->semValue = new Stmt\Property($self->semStack[$stackPos-(5-2)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-1)]); }, - 344 => static function ($self, $stackPos) { + 347 => static function ($self, $stackPos) { $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(5-1)]); $self->checkClassConst($self->semValue, $stackPos-(5-2)); }, - 345 => static function ($self, $stackPos) { + 348 => static function ($self, $stackPos) { $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos-(6-5)], $self->semStack[$stackPos-(6-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-1)], $self->semStack[$stackPos-(6-4)]); $self->checkClassConst($self->semValue, $stackPos-(6-2)); }, - 346 => static function ($self, $stackPos) { + 349 => static function ($self, $stackPos) { $self->semValue = new Stmt\ClassMethod($self->semStack[$stackPos-(10-5)], ['type' => $self->semStack[$stackPos-(10-2)], 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-7)], 'returnType' => $self->semStack[$stackPos-(10-9)], 'stmts' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); $self->checkClassMethod($self->semValue, $stackPos-(10-2)); }, - 347 => static function ($self, $stackPos) { + 350 => static function ($self, $stackPos) { $self->semValue = new Stmt\TraitUse($self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 348 => static function ($self, $stackPos) { + 351 => static function ($self, $stackPos) { $self->semValue = new Stmt\EnumCase($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 349 => static function ($self, $stackPos) { + 352 => static function ($self, $stackPos) { $self->semValue = null; /* will be skipped */ }, - 350 => static function ($self, $stackPos) { + 353 => static function ($self, $stackPos) { $self->semValue = array(); }, - 351 => static function ($self, $stackPos) { + 354 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 352 => static function ($self, $stackPos) { + 355 => static function ($self, $stackPos) { $self->semValue = array(); }, - 353 => static function ($self, $stackPos) { + 356 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 354 => static function ($self, $stackPos) { + 357 => static function ($self, $stackPos) { $self->semValue = new Stmt\TraitUseAdaptation\Precedence($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 355 => static function ($self, $stackPos) { + 358 => static function ($self, $stackPos) { $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(5-1)][0], $self->semStack[$stackPos-(5-1)][1], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 356 => static function ($self, $stackPos) { + 359 => static function ($self, $stackPos) { $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 357 => static function ($self, $stackPos) { + 360 => static function ($self, $stackPos) { $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 358 => static function ($self, $stackPos) { + 361 => static function ($self, $stackPos) { $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 359 => static function ($self, $stackPos) { + 362 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 360 => null, - 361 => static function ($self, $stackPos) { + 363 => null, + 364 => static function ($self, $stackPos) { $self->semValue = array(null, $self->semStack[$stackPos-(1-1)]); }, - 362 => static function ($self, $stackPos) { + 365 => static function ($self, $stackPos) { $self->semValue = null; }, - 363 => null, - 364 => null, - 365 => static function ($self, $stackPos) { + 366 => null, + 367 => null, + 368 => static function ($self, $stackPos) { $self->semValue = 0; }, - 366 => static function ($self, $stackPos) { + 369 => static function ($self, $stackPos) { $self->semValue = 0; }, - 367 => null, - 368 => null, - 369 => static function ($self, $stackPos) { + 370 => null, + 371 => null, + 372 => static function ($self, $stackPos) { $self->checkModifier($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 370 => static function ($self, $stackPos) { + 373 => static function ($self, $stackPos) { $self->semValue = Modifiers::PUBLIC; }, - 371 => static function ($self, $stackPos) { + 374 => static function ($self, $stackPos) { $self->semValue = Modifiers::PROTECTED; }, - 372 => static function ($self, $stackPos) { + 375 => static function ($self, $stackPos) { $self->semValue = Modifiers::PRIVATE; }, - 373 => static function ($self, $stackPos) { + 376 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PUBLIC_SET; + }, + 377 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PROTECTED_SET; + }, + 378 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PRIVATE_SET; + }, + 379 => static function ($self, $stackPos) { $self->semValue = Modifiers::STATIC; }, - 374 => static function ($self, $stackPos) { + 380 => static function ($self, $stackPos) { $self->semValue = Modifiers::ABSTRACT; }, - 375 => static function ($self, $stackPos) { + 381 => static function ($self, $stackPos) { $self->semValue = Modifiers::FINAL; }, - 376 => static function ($self, $stackPos) { + 382 => static function ($self, $stackPos) { $self->semValue = Modifiers::READONLY; }, - 377 => null, - 378 => static function ($self, $stackPos) { + 383 => null, + 384 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 379 => static function ($self, $stackPos) { + 385 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 380 => static function ($self, $stackPos) { + 386 => static function ($self, $stackPos) { $self->semValue = new Node\VarLikeIdentifier(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 381 => static function ($self, $stackPos) { + 387 => static function ($self, $stackPos) { $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 382 => static function ($self, $stackPos) { + 388 => static function ($self, $stackPos) { $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 383 => static function ($self, $stackPos) { + 389 => static function ($self, $stackPos) { $self->semValue = []; }, - 384 => static function ($self, $stackPos) { + 390 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 385 => static function ($self, $stackPos) { + 391 => static function ($self, $stackPos) { $self->semValue = []; }, - 386 => static function ($self, $stackPos) { + 392 => static function ($self, $stackPos) { $self->semValue = new Node\PropertyHook($self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-5)], ['flags' => $self->semStack[$stackPos-(5-2)], 'byRef' => $self->semStack[$stackPos-(5-3)], 'params' => [], 'attrGroups' => $self->semStack[$stackPos-(5-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); $self->checkPropertyHook($self->semValue, null); }, - 387 => static function ($self, $stackPos) { + 393 => static function ($self, $stackPos) { $self->semValue = new Node\PropertyHook($self->semStack[$stackPos-(8-4)], $self->semStack[$stackPos-(8-8)], ['flags' => $self->semStack[$stackPos-(8-2)], 'byRef' => $self->semStack[$stackPos-(8-3)], 'params' => $self->semStack[$stackPos-(8-6)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); $self->checkPropertyHook($self->semValue, $stackPos-(8-5)); }, - 388 => static function ($self, $stackPos) { + 394 => static function ($self, $stackPos) { $self->semValue = null; }, - 389 => static function ($self, $stackPos) { + 395 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 390 => static function ($self, $stackPos) { + 396 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 391 => static function ($self, $stackPos) { + 397 => static function ($self, $stackPos) { $self->semValue = 0; }, - 392 => static function ($self, $stackPos) { + 398 => static function ($self, $stackPos) { $self->checkPropertyHookModifiers($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 393 => null, - 394 => null, - 395 => static function ($self, $stackPos) { + 399 => null, + 400 => null, + 401 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 396 => static function ($self, $stackPos) { + 402 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 397 => static function ($self, $stackPos) { + 403 => static function ($self, $stackPos) { $self->semValue = array(); }, - 398 => null, - 399 => null, - 400 => static function ($self, $stackPos) { + 404 => null, + 405 => null, + 406 => static function ($self, $stackPos) { $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 401 => static function ($self, $stackPos) { + 407 => static function ($self, $stackPos) { $self->semValue = new Expr\Assign($self->fixupArrayDestructuring($self->semStack[$stackPos-(3-1)]), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 402 => static function ($self, $stackPos) { + 408 => static function ($self, $stackPos) { $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 403 => static function ($self, $stackPos) { + 409 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignRef($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 404 => static function ($self, $stackPos) { + 410 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignRef($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); if (!$self->phpVersion->allowsAssignNewByReference()) { $self->emitError(new Error('Cannot assign new by reference', $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]))); } }, - 405 => null, - 406 => null, - 407 => static function ($self, $stackPos) { + 411 => null, + 412 => null, + 413 => static function ($self, $stackPos) { $self->semValue = new Expr\Clone_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 408 => static function ($self, $stackPos) { + 414 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 409 => static function ($self, $stackPos) { + 415 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 410 => static function ($self, $stackPos) { + 416 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 411 => static function ($self, $stackPos) { + 417 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 412 => static function ($self, $stackPos) { + 418 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 413 => static function ($self, $stackPos) { + 419 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 414 => static function ($self, $stackPos) { + 420 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 415 => static function ($self, $stackPos) { + 421 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 416 => static function ($self, $stackPos) { + 422 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 417 => static function ($self, $stackPos) { + 423 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 418 => static function ($self, $stackPos) { + 424 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 419 => static function ($self, $stackPos) { + 425 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 420 => static function ($self, $stackPos) { + 426 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 421 => static function ($self, $stackPos) { + 427 => static function ($self, $stackPos) { $self->semValue = new Expr\PostInc($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 422 => static function ($self, $stackPos) { + 428 => static function ($self, $stackPos) { $self->semValue = new Expr\PreInc($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 423 => static function ($self, $stackPos) { + 429 => static function ($self, $stackPos) { $self->semValue = new Expr\PostDec($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 424 => static function ($self, $stackPos) { + 430 => static function ($self, $stackPos) { $self->semValue = new Expr\PreDec($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 425 => static function ($self, $stackPos) { + 431 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BooleanOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 426 => static function ($self, $stackPos) { + 432 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BooleanAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 427 => static function ($self, $stackPos) { + 433 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\LogicalOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 428 => static function ($self, $stackPos) { + 434 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\LogicalAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 429 => static function ($self, $stackPos) { + 435 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\LogicalXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 430 => static function ($self, $stackPos) { + 436 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 431 => static function ($self, $stackPos) { + 437 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 432 => static function ($self, $stackPos) { + 438 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 433 => static function ($self, $stackPos) { + 439 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 434 => static function ($self, $stackPos) { + 440 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 435 => static function ($self, $stackPos) { + 441 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 436 => static function ($self, $stackPos) { + 442 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 437 => static function ($self, $stackPos) { + 443 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 438 => static function ($self, $stackPos) { + 444 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 439 => static function ($self, $stackPos) { + 445 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 440 => static function ($self, $stackPos) { + 446 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 441 => static function ($self, $stackPos) { + 447 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 442 => static function ($self, $stackPos) { + 448 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 443 => static function ($self, $stackPos) { + 449 => static function ($self, $stackPos) { $self->semValue = new Expr\UnaryPlus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 444 => static function ($self, $stackPos) { + 450 => static function ($self, $stackPos) { $self->semValue = new Expr\UnaryMinus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 445 => static function ($self, $stackPos) { + 451 => static function ($self, $stackPos) { $self->semValue = new Expr\BooleanNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 446 => static function ($self, $stackPos) { + 452 => static function ($self, $stackPos) { $self->semValue = new Expr\BitwiseNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 447 => static function ($self, $stackPos) { + 453 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Identical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 448 => static function ($self, $stackPos) { + 454 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\NotIdentical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 449 => static function ($self, $stackPos) { + 455 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Equal($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 450 => static function ($self, $stackPos) { + 456 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\NotEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 451 => static function ($self, $stackPos) { + 457 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Spaceship($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 452 => static function ($self, $stackPos) { + 458 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Smaller($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 453 => static function ($self, $stackPos) { + 459 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\SmallerOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 454 => static function ($self, $stackPos) { + 460 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Greater($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 455 => static function ($self, $stackPos) { + 461 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\GreaterOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 456 => static function ($self, $stackPos) { + 462 => static function ($self, $stackPos) { $self->semValue = new Expr\Instanceof_($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 457 => static function ($self, $stackPos) { + 463 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 458 => static function ($self, $stackPos) { + 464 => static function ($self, $stackPos) { $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 459 => static function ($self, $stackPos) { + 465 => static function ($self, $stackPos) { $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(4-1)], null, $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 460 => static function ($self, $stackPos) { + 466 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 461 => static function ($self, $stackPos) { + 467 => static function ($self, $stackPos) { $self->semValue = new Expr\Isset_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 462 => static function ($self, $stackPos) { + 468 => static function ($self, $stackPos) { $self->semValue = new Expr\Empty_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 463 => static function ($self, $stackPos) { + 469 => static function ($self, $stackPos) { $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 464 => static function ($self, $stackPos) { + 470 => static function ($self, $stackPos) { $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 465 => static function ($self, $stackPos) { + 471 => static function ($self, $stackPos) { $self->semValue = new Expr\Eval_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 466 => static function ($self, $stackPos) { + 472 => static function ($self, $stackPos) { $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 467 => static function ($self, $stackPos) { + 473 => static function ($self, $stackPos) { $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 468 => static function ($self, $stackPos) { + 474 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Int_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 469 => static function ($self, $stackPos) { + 475 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = $self->getFloatCastKind($self->semStack[$stackPos-(2-1)]); $self->semValue = new Expr\Cast\Double($self->semStack[$stackPos-(2-2)], $attrs); }, - 470 => static function ($self, $stackPos) { + 476 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\String_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 471 => static function ($self, $stackPos) { + 477 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Array_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 472 => static function ($self, $stackPos) { + 478 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Object_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 473 => static function ($self, $stackPos) { + 479 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Bool_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 474 => static function ($self, $stackPos) { + 480 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Unset_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 475 => static function ($self, $stackPos) { + 481 => static function ($self, $stackPos) { $self->semValue = $self->createExitExpr($self->semStack[$stackPos-(2-1)], $stackPos-(2-1), $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 476 => static function ($self, $stackPos) { + 482 => static function ($self, $stackPos) { $self->semValue = new Expr\ErrorSuppress($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 477 => null, - 478 => static function ($self, $stackPos) { + 483 => null, + 484 => static function ($self, $stackPos) { $self->semValue = new Expr\ShellExec($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 479 => static function ($self, $stackPos) { + 485 => static function ($self, $stackPos) { $self->semValue = new Expr\Print_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 480 => static function ($self, $stackPos) { + 486 => static function ($self, $stackPos) { $self->semValue = new Expr\Yield_(null, null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 481 => static function ($self, $stackPos) { + 487 => static function ($self, $stackPos) { $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(2-2)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 482 => static function ($self, $stackPos) { + 488 => static function ($self, $stackPos) { $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(4-4)], $self->semStack[$stackPos-(4-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 483 => static function ($self, $stackPos) { + 489 => static function ($self, $stackPos) { $self->semValue = new Expr\YieldFrom($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 484 => static function ($self, $stackPos) { + 490 => static function ($self, $stackPos) { $self->semValue = new Expr\Throw_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 485 => static function ($self, $stackPos) { + 491 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-4)], 'returnType' => $self->semStack[$stackPos-(8-6)], 'expr' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 486 => static function ($self, $stackPos) { + 492 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'returnType' => $self->semStack[$stackPos-(9-7)], 'expr' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 487 => static function ($self, $stackPos) { + 493 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => false, 'byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-4)], 'uses' => $self->semStack[$stackPos-(8-6)], 'returnType' => $self->semStack[$stackPos-(8-7)], 'stmts' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 488 => static function ($self, $stackPos) { + 494 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => true, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'uses' => $self->semStack[$stackPos-(9-7)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 489 => static function ($self, $stackPos) { + 495 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'returnType' => $self->semStack[$stackPos-(9-7)], 'expr' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 490 => static function ($self, $stackPos) { + 496 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-6)], 'returnType' => $self->semStack[$stackPos-(10-8)], 'expr' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 491 => static function ($self, $stackPos) { + 497 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => false, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'uses' => $self->semStack[$stackPos-(9-7)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 492 => static function ($self, $stackPos) { + 498 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => true, 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-6)], 'uses' => $self->semStack[$stackPos-(10-8)], 'returnType' => $self->semStack[$stackPos-(10-9)], 'stmts' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 493 => static function ($self, $stackPos) { + 499 => static function ($self, $stackPos) { $self->semValue = array(new Stmt\Class_(null, ['type' => $self->semStack[$stackPos-(8-2)], 'extends' => $self->semStack[$stackPos-(8-4)], 'implements' => $self->semStack[$stackPos-(8-5)], 'stmts' => $self->semStack[$stackPos-(8-7)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])), $self->semStack[$stackPos-(8-3)]); $self->checkClass($self->semValue[0], -1); }, - 494 => static function ($self, $stackPos) { + 500 => static function ($self, $stackPos) { $self->semValue = new Expr\New_($self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 495 => static function ($self, $stackPos) { + 501 => static function ($self, $stackPos) { list($class, $ctorArgs) = $self->semStack[$stackPos-(2-2)]; $self->semValue = new Expr\New_($class, $ctorArgs, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 496 => static function ($self, $stackPos) { + 502 => static function ($self, $stackPos) { $self->semValue = new Expr\New_($self->semStack[$stackPos-(2-2)], [], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 497 => null, - 498 => null, - 499 => static function ($self, $stackPos) { + 503 => null, + 504 => null, + 505 => static function ($self, $stackPos) { $self->semValue = array(); }, - 500 => static function ($self, $stackPos) { + 506 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-3)]; }, - 501 => null, - 502 => static function ($self, $stackPos) { + 507 => null, + 508 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 503 => static function ($self, $stackPos) { + 509 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 504 => static function ($self, $stackPos) { + 510 => static function ($self, $stackPos) { $self->semValue = new Node\ClosureUse($self->semStack[$stackPos-(2-2)], $self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 505 => static function ($self, $stackPos) { + 511 => static function ($self, $stackPos) { $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 506 => static function ($self, $stackPos) { + 512 => static function ($self, $stackPos) { $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 507 => static function ($self, $stackPos) { + 513 => static function ($self, $stackPos) { $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 508 => static function ($self, $stackPos) { + 514 => static function ($self, $stackPos) { $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 509 => static function ($self, $stackPos) { + 515 => static function ($self, $stackPos) { $self->semValue = new Expr\StaticCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 510 => static function ($self, $stackPos) { + 516 => static function ($self, $stackPos) { $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 511 => null, - 512 => static function ($self, $stackPos) { + 517 => null, + 518 => static function ($self, $stackPos) { $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 513 => static function ($self, $stackPos) { + 519 => static function ($self, $stackPos) { $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 514 => static function ($self, $stackPos) { + 520 => static function ($self, $stackPos) { $self->semValue = new Name\FullyQualified(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 515 => static function ($self, $stackPos) { + 521 => static function ($self, $stackPos) { $self->semValue = new Name\Relative(substr($self->semStack[$stackPos-(1-1)], 10), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 516 => null, - 517 => null, - 518 => static function ($self, $stackPos) { + 522 => null, + 523 => null, + 524 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 519 => static function ($self, $stackPos) { + 525 => static function ($self, $stackPos) { $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 520 => null, - 521 => null, - 522 => static function ($self, $stackPos) { + 526 => null, + 527 => null, + 528 => static function ($self, $stackPos) { $self->semValue = array(); }, - 523 => static function ($self, $stackPos) { + 529 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); foreach ($self->semValue as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; }, - 524 => static function ($self, $stackPos) { + 530 => static function ($self, $stackPos) { foreach ($self->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 525 => static function ($self, $stackPos) { + 531 => static function ($self, $stackPos) { $self->semValue = array(); }, - 526 => null, - 527 => static function ($self, $stackPos) { + 532 => null, + 533 => static function ($self, $stackPos) { $self->semValue = new Expr\ConstFetch($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 528 => static function ($self, $stackPos) { + 534 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Line($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 529 => static function ($self, $stackPos) { + 535 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\File($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 530 => static function ($self, $stackPos) { + 536 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Dir($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 531 => static function ($self, $stackPos) { + 537 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Class_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 532 => static function ($self, $stackPos) { + 538 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Trait_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 533 => static function ($self, $stackPos) { + 539 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Method($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 534 => static function ($self, $stackPos) { + 540 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Function_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 535 => static function ($self, $stackPos) { + 541 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Namespace_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 536 => static function ($self, $stackPos) { + 542 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Property($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 537 => static function ($self, $stackPos) { + 543 => static function ($self, $stackPos) { $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 538 => static function ($self, $stackPos) { + 544 => static function ($self, $stackPos) { $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 539 => static function ($self, $stackPos) { + 545 => static function ($self, $stackPos) { $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)])), $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 540 => static function ($self, $stackPos) { + 546 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_SHORT; $self->semValue = new Expr\Array_($self->semStack[$stackPos-(3-2)], $attrs); }, - 541 => static function ($self, $stackPos) { + 547 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_LONG; $self->semValue = new Expr\Array_($self->semStack[$stackPos-(4-3)], $attrs); $self->createdArrays->attach($self->semValue); }, - 542 => static function ($self, $stackPos) { + 548 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(1-1)]; $self->createdArrays->attach($self->semValue); }, - 543 => static function ($self, $stackPos) { + 549 => static function ($self, $stackPos) { $self->semValue = Scalar\String_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->supportsUnicodeEscapes()); }, - 544 => static function ($self, $stackPos) { + 550 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; foreach ($self->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', $self->phpVersion->supportsUnicodeEscapes()); } }; $self->semValue = new Scalar\InterpolatedString($self->semStack[$stackPos-(3-2)], $attrs); }, - 545 => static function ($self, $stackPos) { + 551 => static function ($self, $stackPos) { $self->semValue = $self->parseLNumber($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->allowsInvalidOctals()); }, - 546 => static function ($self, $stackPos) { + 552 => static function ($self, $stackPos) { $self->semValue = Scalar\Float_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 547 => null, - 548 => null, - 549 => null, - 550 => static function ($self, $stackPos) { + 553 => null, + 554 => null, + 555 => null, + 556 => static function ($self, $stackPos) { $self->semValue = $self->parseDocString($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)]), true); }, - 551 => static function ($self, $stackPos) { + 557 => static function ($self, $stackPos) { $self->semValue = $self->parseDocString($self->semStack[$stackPos-(2-1)], '', $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(2-2)], $self->tokenEndStack[$stackPos-(2-2)]), true); }, - 552 => static function ($self, $stackPos) { + 558 => static function ($self, $stackPos) { $self->semValue = $self->parseDocString($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)]), true); }, - 553 => static function ($self, $stackPos) { + 559 => static function ($self, $stackPos) { $self->semValue = null; }, - 554 => null, - 555 => null, - 556 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; - }, - 557 => null, - 558 => null, - 559 => null, 560 => null, 561 => null, - 562 => null, - 563 => static function ($self, $stackPos) { + 562 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, + 563 => null, 564 => null, 565 => null, 566 => null, - 567 => static function ($self, $stackPos) { + 567 => null, + 568 => null, + 569 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; + }, + 570 => null, + 571 => null, + 572 => null, + 573 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 568 => static function ($self, $stackPos) { + 574 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 569 => null, - 570 => static function ($self, $stackPos) { + 575 => null, + 576 => static function ($self, $stackPos) { $self->semValue = new Expr\MethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 571 => static function ($self, $stackPos) { + 577 => static function ($self, $stackPos) { $self->semValue = new Expr\NullsafeMethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 572 => static function ($self, $stackPos) { + 578 => static function ($self, $stackPos) { $self->semValue = null; }, - 573 => null, - 574 => null, - 575 => null, - 576 => static function ($self, $stackPos) { + 579 => null, + 580 => null, + 581 => null, + 582 => static function ($self, $stackPos) { $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 577 => static function ($self, $stackPos) { + 583 => static function ($self, $stackPos) { $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 578 => null, - 579 => static function ($self, $stackPos) { + 584 => null, + 585 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 580 => static function ($self, $stackPos) { + 586 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 581 => static function ($self, $stackPos) { + 587 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])), $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 582 => static function ($self, $stackPos) { + 588 => static function ($self, $stackPos) { $var = $self->semStack[$stackPos-(1-1)]->name; $self->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])) : $var; }, - 583 => static function ($self, $stackPos) { + 589 => static function ($self, $stackPos) { $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 584 => null, - 585 => static function ($self, $stackPos) { + 590 => null, + 591 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 586 => static function ($self, $stackPos) { + 592 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 587 => static function ($self, $stackPos) { + 593 => static function ($self, $stackPos) { $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 588 => static function ($self, $stackPos) { + 594 => static function ($self, $stackPos) { $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 589 => static function ($self, $stackPos) { + 595 => static function ($self, $stackPos) { $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 590 => static function ($self, $stackPos) { + 596 => static function ($self, $stackPos) { $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 591 => null, - 592 => static function ($self, $stackPos) { + 597 => null, + 598 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 593 => null, - 594 => null, - 595 => static function ($self, $stackPos) { + 599 => null, + 600 => null, + 601 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 596 => null, - 597 => static function ($self, $stackPos) { + 602 => null, + 603 => static function ($self, $stackPos) { $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 598 => static function ($self, $stackPos) { + 604 => static function ($self, $stackPos) { $self->semValue = new Expr\List_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); $self->semValue->setAttribute('kind', Expr\List_::KIND_LIST); $self->postprocessList($self->semValue); }, - 599 => static function ($self, $stackPos) { + 605 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(1-1)]; $end = count($self->semValue)-1; if ($self->semValue[$end]->value instanceof Expr\Error) array_pop($self->semValue); }, - 600 => null, - 601 => static function ($self, $stackPos) { + 606 => null, + 607 => static function ($self, $stackPos) { /* do nothing -- prevent default action of $$=$self->semStack[$1]. See $551. */ }, - 602 => static function ($self, $stackPos) { + 608 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 603 => static function ($self, $stackPos) { + 609 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 604 => static function ($self, $stackPos) { + 610 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 605 => static function ($self, $stackPos) { + 611 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 606 => static function ($self, $stackPos) { + 612 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 607 => static function ($self, $stackPos) { + 613 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(3-3)], $self->semStack[$stackPos-(3-1)], false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 608 => static function ($self, $stackPos) { + 614 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(4-4)], $self->semStack[$stackPos-(4-1)], true, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 609 => static function ($self, $stackPos) { + 615 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(3-3)], $self->semStack[$stackPos-(3-1)], false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 610 => static function ($self, $stackPos) { + 616 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]), true); }, - 611 => static function ($self, $stackPos) { + 617 => static function ($self, $stackPos) { /* Create an Error node now to remember the position. We'll later either report an error, or convert this into a null element, depending on whether this is a creation or destructuring context. */ $attrs = $self->createEmptyElemAttributes($self->tokenPos); $self->semValue = new Node\ArrayItem(new Expr\Error($attrs), null, false, $attrs); }, - 612 => static function ($self, $stackPos) { + 618 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 613 => static function ($self, $stackPos) { + 619 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 614 => static function ($self, $stackPos) { + 620 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 615 => static function ($self, $stackPos) { + 621 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)]); }, - 616 => static function ($self, $stackPos) { + 622 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]); $attrs['rawValue'] = $self->semStack[$stackPos-(1-1)]; $self->semValue = new Node\InterpolatedStringPart($self->semStack[$stackPos-(1-1)], $attrs); }, - 617 => static function ($self, $stackPos) { + 623 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 618 => null, - 619 => static function ($self, $stackPos) { + 624 => null, + 625 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 620 => static function ($self, $stackPos) { + 626 => static function ($self, $stackPos) { $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 621 => static function ($self, $stackPos) { + 627 => static function ($self, $stackPos) { $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 622 => static function ($self, $stackPos) { + 628 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 623 => static function ($self, $stackPos) { + 629 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 624 => static function ($self, $stackPos) { + 630 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); }, - 625 => static function ($self, $stackPos) { + 631 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 626 => static function ($self, $stackPos) { + 632 => static function ($self, $stackPos) { $self->semValue = new Scalar\String_($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 627 => static function ($self, $stackPos) { + 633 => static function ($self, $stackPos) { $self->semValue = $self->parseNumString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 628 => static function ($self, $stackPos) { + 634 => static function ($self, $stackPos) { $self->semValue = $self->parseNumString('-' . $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 629 => null, + 635 => null, ]; } } diff --git a/lib/PhpParser/Parser/Php8.php b/lib/PhpParser/Parser/Php8.php index 2f3627b964..8c34240def 100644 --- a/lib/PhpParser/Parser/Php8.php +++ b/lib/PhpParser/Parser/Php8.php @@ -122,49 +122,52 @@ class Php8 extends \PhpParser\ParserAbstract public const T_PROTECTED = 357; public const T_PUBLIC = 358; public const T_READONLY = 359; - public const T_VAR = 360; - public const T_UNSET = 361; - public const T_ISSET = 362; - public const T_EMPTY = 363; - public const T_HALT_COMPILER = 364; - public const T_CLASS = 365; - public const T_TRAIT = 366; - public const T_INTERFACE = 367; - public const T_ENUM = 368; - public const T_EXTENDS = 369; - public const T_IMPLEMENTS = 370; - public const T_OBJECT_OPERATOR = 371; - public const T_NULLSAFE_OBJECT_OPERATOR = 372; - public const T_LIST = 373; - public const T_ARRAY = 374; - public const T_CALLABLE = 375; - public const T_CLASS_C = 376; - public const T_TRAIT_C = 377; - public const T_METHOD_C = 378; - public const T_FUNC_C = 379; - public const T_PROPERTY_C = 380; - public const T_LINE = 381; - public const T_FILE = 382; - public const T_START_HEREDOC = 383; - public const T_END_HEREDOC = 384; - public const T_DOLLAR_OPEN_CURLY_BRACES = 385; - public const T_CURLY_OPEN = 386; - public const T_PAAMAYIM_NEKUDOTAYIM = 387; - public const T_NAMESPACE = 388; - public const T_NS_C = 389; - public const T_DIR = 390; - public const T_NS_SEPARATOR = 391; - public const T_ELLIPSIS = 392; - public const T_NAME_FULLY_QUALIFIED = 393; - public const T_NAME_QUALIFIED = 394; - public const T_NAME_RELATIVE = 395; - public const T_ATTRIBUTE = 396; + public const T_PUBLIC_SET = 360; + public const T_PROTECTED_SET = 361; + public const T_PRIVATE_SET = 362; + public const T_VAR = 363; + public const T_UNSET = 364; + public const T_ISSET = 365; + public const T_EMPTY = 366; + public const T_HALT_COMPILER = 367; + public const T_CLASS = 368; + public const T_TRAIT = 369; + public const T_INTERFACE = 370; + public const T_ENUM = 371; + public const T_EXTENDS = 372; + public const T_IMPLEMENTS = 373; + public const T_OBJECT_OPERATOR = 374; + public const T_NULLSAFE_OBJECT_OPERATOR = 375; + public const T_LIST = 376; + public const T_ARRAY = 377; + public const T_CALLABLE = 378; + public const T_CLASS_C = 379; + public const T_TRAIT_C = 380; + public const T_METHOD_C = 381; + public const T_FUNC_C = 382; + public const T_PROPERTY_C = 383; + public const T_LINE = 384; + public const T_FILE = 385; + public const T_START_HEREDOC = 386; + public const T_END_HEREDOC = 387; + public const T_DOLLAR_OPEN_CURLY_BRACES = 388; + public const T_CURLY_OPEN = 389; + public const T_PAAMAYIM_NEKUDOTAYIM = 390; + public const T_NAMESPACE = 391; + public const T_NS_C = 392; + public const T_DIR = 393; + public const T_NS_SEPARATOR = 394; + public const T_ELLIPSIS = 395; + public const T_NAME_FULLY_QUALIFIED = 396; + public const T_NAME_QUALIFIED = 397; + public const T_NAME_RELATIVE = 398; + public const T_ATTRIBUTE = 399; - protected int $tokenToSymbolMapSize = 397; - protected int $actionTableSize = 1278; - protected int $gotoTableSize = 658; + protected int $tokenToSymbolMapSize = 400; + protected int $actionTableSize = 1289; + protected int $gotoTableSize = 685; - protected int $invalidSymbol = 169; + protected int $invalidSymbol = 172; protected int $errorSymbol = 1; protected int $defaultAction = -32766; protected int $unexpectedTokenRule = 32767; @@ -296,6 +299,9 @@ class Php8 extends \PhpParser\ParserAbstract "T_PROTECTED", "T_PUBLIC", "T_READONLY", + "T_PUBLIC_SET", + "T_PROTECTED_SET", + "T_PRIVATE_SET", "T_VAR", "T_UNSET", "T_ISSET", @@ -345,32 +351,32 @@ class Php8 extends \PhpParser\ParserAbstract ); protected array $tokenToSymbol = array( - 0, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 56, 167, 169, 168, 55, 169, 169, - 162, 163, 53, 51, 8, 52, 48, 54, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 31, 160, - 44, 16, 46, 30, 68, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 70, 169, 161, 36, 169, 166, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 164, 35, 165, 58, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 1, 2, 3, 4, + 0, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 56, 170, 172, 171, 55, 172, 172, + 165, 166, 53, 51, 8, 52, 48, 54, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 31, 163, + 44, 16, 46, 30, 68, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 70, 172, 164, 36, 172, 169, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 167, 35, 168, 58, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 172, 172, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 37, 38, 39, 40, @@ -384,401 +390,403 @@ class Php8 extends \PhpParser\ParserAbstract 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159 + 153, 154, 155, 156, 157, 158, 159, 160, 161, 162 ); protected array $action = array( - 126, 127, 128, 569, 129, 130, 1334, 764, 765, 766, - 131, 38,-32766,-32766,-32766, 1003,-32766,-32766,-32766,-32766, - -32766, 388, 387, 839,-32767,-32767,-32767,-32767, 101, 102, - 103, 429, 954,-32766, 0, 758, 757,-32766, 850,-32766, + 126, 127, 128, 569, 129, 130, 954, 764, 765, 766, + 131, 38, 848, -85,-32766, 1374,-32766,-32766,-32766, 0, + 839, 1132, 1133, 1134, 1128, 1127, 1126, 1135, 1129, 1130, + 1131,-32766,-32766,-32766, 850, 758, 757,-32766,-32766,-32766, -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, - -32767,-32766,-32766,-32766, 24, 767,-32766,-32766,-32766, 1126, - 1127, 1128, 1125, 1124, 1123, 1129, -328, 1102, 841, 262, - 132, 389, 771, 772, 773, 774, 1118,-32766, 430,-32766, - -32766,-32766,-32766,-32766, 157, 828, 775, 776, 777, 778, + -32767, 1003,-32766, 1043, -569, 767, 1132, 1133, 1134, 1128, + 1127, 1126, 1135, 1129, 1130, 1131, 388, 387, 841, 263, + 132, 389, 771, 772, 773, 774, 429,-32766, 430, -85, + 956, 36, 246, 47, 291, 828, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 804, 570, 805, 806, 807, 808, 796, 797, 343, 344, 799, 800, 785, 786, 787, 789, 790, 791, 359, 831, 832, 833, 834, 835, - 571, 792, 793, 572, 573, -194, 816, 814, 815, 827, - 811, 812,-32766, 1040, 574, 575, 810, 576, 577, 578, - 579, -193, 580, 581, 1004, 843, 465, 466, 467, 813, - 582, 583, 721, 133, 1049, 126, 127, 128, 569, 129, - 130, 1073, 764, 765, 766, 131, 38, -110, 848, 81, - -85, 1368, -110, 321, -110,-32766,-32766,-32766, 290, 303, - 758, 757, -110, -110, -110, -110, -110, -110, -110, -110, - 758, 757,-32766,-32766,-32766, 734,-32766, 849,-32766,-32766, - -32766,-32766,-32766,-32766,-32766, 104, 105, 106, 107, 108, - 767, 272, 236,-32766, 2,-32766,-32766,-32766,-32766, 102, - 103, -328, 1293, 109, 262, 132, 389, 771, 772, 773, - 774, -342, 749, 430, 36, 246, -85, 875, 844, 876, + 571, -569, -569, 360, 792, 793, 572, 573, -331, 816, + 814, 815, 827, 811, 812, 2, -194, 574, 575, 810, + 576, 577, 578, 579, 322, 580, 581, 875, 843, 876, + 297, 298, 813, 582, 583, 721, 133, 236, 126, 127, + 128, 569, 129, 130, 1076, 764, 765, 766, 131, 38, + -32766, 26, 734, 1036, 1035, 1034, 1040, 1037, 1038, 1039, + -32766,-32766,-32766, 1004, 104, 105, 106, 107, 108, 35, + 275, 956,-32766, 758, 757, 1052, 849,-32766,-32766,-32766, + 847,-32766, 109,-32766,-32766,-32766,-32766,-32766,-32766,-32766, + 148, 475, 476, 767,-32766,-32766,-32766, 1052,-32766, 290, + -32766,-32766,-32766,-32766,-32766, 615, 134, 263, 132, 389, + 771, 772, 773, 774, 365,-32766, 430,-32766,-32766,-32766, + -32766, 290, 143, 828, 775, 776, 777, 778, 779, 780, + 781, 782, 783, 784, 804, 570, 805, 806, 807, 808, + 796, 797, 343, 344, 799, 800, 785, 786, 787, 789, + 790, 791, 359, 831, 832, 833, 834, 835, 571,-32766, + -32766,-32766, 792, 793, 572, 573, -331, 816, 814, 815, + 827, 811, 812, 1299, -194, 574, 575, 810, 576, 577, + 578, 579, 844, 580, 581, 149, 82, 83, 84, -272, + 813, 582, 583, 249, 146, 788, 759, 760, 761, 762, + 763, 235, 764, 765, 766, 801, 802, 37, 307, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 157, 275,-32766,-32766,-32766,-32767,-32767, + -32767,-32767, 101, 102, 103, 1106, 109, 309, 621, 747, + 767,-32766,-32766,-32766, 848, 318,-32766, 1105,-32766,-32766, + -32766, 338, 845, 1355, 768, 769, 770, 771, 772, 773, + 774, 339,-32766, 837,-32766,-32766, 1384, 374, 1279, 1385, 828, 775, 776, 777, 778, 779, 780, 781, 782, 783, - 784, 804, 570, 805, 806, 807, 808, 796, 797, 343, - 344, 799, 800, 785, 786, 787, 789, 790, 791, 359, - 831, 832, 833, 834, 835, 571, 792, 793, 572, 573, - -194, 816, 814, 815, 827, 811, 812, 847, -560, 574, - 575, 810, 576, 577, 578, 579, -193, 580, 581,-32766, - 82, 83, 84, 848, 813, 582, 583, 161, 146, 788, - 759, 760, 761, 762, 763, 845, 764, 765, 766, 801, - 802, 37, 26, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 1046, 272,-32766, - -32766,-32766, -560, -560, 615, 386, 387,-32766,-32766,-32766, - 109, -272, 125, 35, 767, 429, 972, 973, -560, 1049, - -32766, 974,-32766,-32766,-32766, 489, 134, 968, 768, 769, - 770, 771, 772, 773, 774, 138, 1103, 837, 143, 321, - 747, 430, 1273, 281, 828, 775, 776, 777, 778, 779, - 780, 781, 782, 783, 784, 804, 826, 805, 806, 807, - 808, 796, 797, 798, 825, 799, 800, 785, 786, 787, - 789, 790, 791, 830, 831, 832, 833, 834, 835, 836, - 792, 793, 794, 795, 148, 816, 814, 815, 827, 811, - 812, 565, -563, 803, 809, 810, 817, 818, 820, 819, - 235, 821, 822, 1142,-32766,-32766,-32766, 739, 813, 824, - 823, 49, 50, 51, 521, 52, 53, 1268, 1267, 1269, - -32766, 54, 55, 848, 56,-32766, 1104,-32766,-32766, 1046, - 149, 291, 1126, 1127, 1128, 1125, 1124, 1123, 1129, 249, - 972, 973, 1049, 1353, 307, 974, -561, -599, 1349, -599, - 1352, 1049, -368, 1305, -368, 1072, -563, -563, 490, 309, - 57, 58, 621, 318, 933, 59, 956, 60, 243, 244, - 61, 62, 63, 64, 65, 66, 67, 68,-32766, 28, - 264, 69, 445, 522, 285,-32766,-32766, 1299, 1300, 523, - 1378, 848, 47, 1379, 724, 1297, 42, 19, 524, 933, - 525, 338, 526, 74, 527, 933, 360, 528, 529, 321, - -561, -561, 44, 45, 451, 383, 382,-32766, 46, 530, - 1036, 1035, 1034, 1037, 372, 337, -561, 839, 339, 725, - 398, 1259, 7, 532, 533, 534, 1266, -559, -567, 1049, - 758, 757, 322,-32766, -558, 536, 537, 923, 1285, 1286, - 1287, 1288, 1290, 1282, 1283, 295, 297, 298, 875, 956, - 876, 1289, 1284, 290,-32766, 1268, 1267, 1269, 296, 374, - 1046, 70, 1264, 28, 265, 316, 317, 321, 380, -153, - -153, -153, 923, 933, 396, 848, 664, 20, 923, 1297, - 683, 684, 1049, 1048, -153, 447, -153, 448, -153, 365, - -153, -559, -559, 147, 413, 151, 475, 476, -558, -558, - 381, 139, 1268, 1267, 1269, 321, 281, -559, 384, 385, - 449, 972, 973, 935, -558, 1259, 531, 719, 450, -566, - 854, 909, 968, -110, -110, -110, -565, 390, 391, 536, - 537, 152, 1285, 1286, 1287, 1288, 1290, 1282, 1283, 655, - 656, 758, 757, 153, 285, 1289, 1284, 155, 935, 33, - -78, -87, 719, -557, 935, 72, 923, 48, 719, -153, - 317, 321, 32, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, -58, -57,-32766, 123, - -4, 933, 291, 124, 1266, 135, 136, 142, 758, 757, - 156,-32766,-32766,-32766, 697,-32766, -84,-32766, 158,-32766, - 159, 160,-32766, -78, 933, 1175, 1177,-32766,-32766,-32766, - -73, 933, -72,-32766,-32766, 286, -557, -557, -557,-32766, - 426, 299, 300, -71, -70,-32766, -69, -68,-32766, -67, - 698, 1266, 935, -557, 726, -66, 719, 379,-32766,-32766, - -32766, 729,-32766, 933,-32766, -65,-32766, -46, -18,-32766, - 140, 699, 700, 271,-32766,-32766,-32766, 282, 735, 73, - -32766,-32766, 738, 932, 923, 145,-32766, 426,-32766, 272, - 1268, 1267, 1269, 736, -302,-32766, 281, 287, -298, 279, - -557, -557, 280, 28, 264, 283, 381, 923, 442, 284, - 1049, 327, 292, 294, 923, 848, -557, 972, 973, 1297, - 293, 693, 531, 950, 109, 839, 144, 535, 968, -110, - -110, -110, 848, 708, 290, 710, 28, 265, 586, 1133, - 671, 1380, 686, 304, 653, 968, 923, 969, 848, 592, - -32766, 10, 1297, 301, 308, 1259, 1304, 670, 665, 302, - 935, 1306,-32766, 952, 719, -4, 23, 847, 472, 500, - 537, 1294, 1285, 1286, 1287, 1288, 1290, 1282, 1283, 687, - -50, 619, -593, 989, 0, 1289, 1284, 719, 1259, 859, - 935, -523, 0, 0, 719, 72, 1321, 296, 0, 0, - 317, 321, 0, 537, 0, 1285, 1286, 1287, 1288, 1290, - 1282, 1283, 137, 0, 0, 0, 0, 0, 1289, 1284, - 0, 0, 935,-32766, 0, 0, 719, -513, 72, 1266, - 8, 27, 378, 317, 321, -592,-32766,-32766,-32766, 1338, - -32766, 0,-32766, 0,-32766, 1371, 40,-32766, 41, 744, - 745, 867,-32766,-32766,-32766,-32766, 914, 1013,-32766,-32766, - 990, 1266, 997, 933,-32766, 426, 987, 998,-32766,-32766, - -32766, 912,-32766,-32766,-32766, 985,-32766, 1107, 1110,-32766, - 1111, 1108, 933, 1144,-32766,-32766,-32766,-32766, 1109, 1115, - -32766,-32766, 658, 1266, -591, -567,-32766, 426, -566, -565, - -32766,-32766,-32766, -564,-32766,-32766,-32766, -507,-32766, 1, - 29,-32766, 30, 39, 43, 495,-32766,-32766,-32766,-32766, - 71, 75,-32766,-32766, 76, 1266, 599, 77,-32766, 426, - 78, 79,-32766,-32766,-32766, 80,-32766,-32766,-32766, 141, - -32766, 150, 154,-32766, 241, 323, 923, 360,-32766,-32766, - -32766, 361, 362, 1273,-32766,-32766, 363, 364, 365, 366, - -32766, 426, -250, -250, -250, 923, 367, 368, 381,-32766, - 1273, 369, 370, 373, 443, 1298, 564, 371, 0, 972, - 973, -249, -249, -249, 531, -275, -273, 381, -272, 909, - 968, -110, -110, -110, 12, 13, 14, 15, 972, 973, - -16, 17, 354, 531, 412, 491, 492, 499, 909, 968, - -110, -110, -110, 502, 503, 504, 505, 509,-32766, 510, - 511, 518, 935, 597, 1266, 34, 719, -250, 703, 1075, - 1215,-32766,-32766,-32766, 848,-32766, 1295,-32766, 1074,-32766, - 1055, 935,-32766, 1254, 741, 719, -249,-32766,-32766,-32766, - 1051, 848, -277,-32766,-32766, -102, 11, 16, 21,-32766, - 426, 312, 411, 611, 616, 644, 709, 1219,-32766, -110, - -110, 1272, 1216, 1350, -110, 315, 375, 720, 723, 727, - -110, 728, 730, 731, 732, 733, -110, -110, 737,-32766, - 749, -110, 722, 750, 0, 910, 1375, -110, 1377, 870, - 869, 878, 962, 1005, 877, 1376,-32766, 961, 959, 321, - 960, 296, 963, 1247, 74, 943, 953, 0, 941, 1143, - 321, 1139, 1096, 995, 996, 642, 1374, 1332, 296, 1347, - 0, 74, 1232, 0, 0, 0, 0, 321 + 784, 804, 826, 805, 806, 807, 808, 796, 797, 798, + 825, 799, 800, 785, 786, 787, 789, 790, 791, 830, + 831, 832, 833, 834, 835, 836, 1075, 430, -566, 792, + 793, 794, 795, 1359, 816, 814, 815, 827, 811, 812, + 1358, -193, 803, 809, 810, 817, 818, 820, 819, 138, + 821, 822, 839, 321, 380, 285, 24, 813, 824, 823, + 49, 50, 51, 521, 52, 53, -371, -110, -371, 848, + 54, 55, -110, 56, -110,-32766,-32766,-32766, 1340, 303, + 125, 1121, -110, -110, -110, -110, -110, -110, -110, -110, + -110, -110, -110, 161, 749, -566, -566, 291, 972, 973, + 465, 466, 467, 974, 396, 285, 1274, 1273, 1275, 57, + 58, -566, 565, 447, 59, 1107, 60, 243, 244, 61, + 62, 63, 64, 65, 66, 67, 68,-32766, 28, 265, + 69, 445, 522, 489, -345, 448, 1305, 1306, 523, 139, + 848, 1049, 449, 321, 1303, 42, 20, 524, 933, 525, + 933, 526, 74, 527, -567, 697, 528, 529, 321, 386, + 387, 44, 45, 451, 383, 382, 1052, 46, 530, 429, + 972, 973, 450, 372, 337, 974, 1279, 1311, 724, 933, + 1265,-32766,-32766,-32766, 968, 532, 533, 534, 854, 933, + 281, 698, -78, -565, 1272, 758, 757, 536, 537, -193, + 1291, 1292, 1293, 1294, 1296, 1288, 1289, 295, 1052, 725, + 398, 151, 7, 1295, 1290, 699, 700, 1274, 1273, 1275, + 296, -567, -567, 70, -153, -153, -153, 316, 317, 321, + 1270, 923, 290, 923, 1274, 1273, 1275, -567, 1049, -153, + 281, -153, 1148, -153, 81, -153, 739, 152, 321, -573, + 153, 758, 757,-32766, 1051, 381, 875, 848, 876, 155, + -565, -565, 923, 1052, 1049, 33, 972, 973, -58, 490, + -57, 531, 923, 1274, 1273, 1275, -565, 123, 1052, 909, + 968, -110, -110, -110, 28, 266, 124, 281, -572, 1052, + 102, 103, -110, -110,-32766,-32766, 848, -110, 135, -563, + 1303, 136, -605, 142, -605, 156, -110, 664, 21, 158, + 935, 159, 935, 160, 719,-32766, 719, -153, -305, 48, + 32, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 683, 684, 1265, 296, 758, 757, + 74, 935, -87, 933, -84, 719, 321, -4, 933, -78, + 933, 935, -73, 536, 537, 719, 1291, 1292, 1293, 1294, + 1296, 1288, 1289, 1181, 1183, 933, -563, -563, -564, 1295, + 1290, 758, 757, 726, -563,-32766, 147, 413, -301, 72, + 729, 1272, -563, -72, 317, 321, 299, 300,-32766,-32766, + -32766, -71,-32766, -70,-32766, 736,-32766, 384, 385,-32766, + 390, 391, 379, -69,-32766,-32766,-32766, -68,-32766, -67, + -32766,-32766, -66, -65, 1272, -46,-32766, 426, 28, 265, + -18,-32766,-32766,-32766, 140,-32766, 923,-32766,-32766,-32766, + 848, 923,-32766, 923, 1303, -564, -564,-32766,-32766,-32766, + 274, -563, -563,-32766,-32766, 282, 655, 656, 923,-32766, + 426, -564, 735, 381, 738, 442, 932, -563, 145, 73, + 294,-32766, 950, -571, 972, 973, 279, 280, 283, 531, + 1265, 28, 266, 284, 327, 275, 109, 535, 968, -110, + -110, -110, 286, 848, 287, 292, 293, 1303, 537, 144, + 1291, 1292, 1293, 1294, 1296, 1288, 1289, 693, 848, 1139, + -32766, 11, 839, 1295, 1290, 989, 708, 686, 670, 719, + 935, 1386, 935, 72, 719, -4, 719, 653, 317, 321, + -50, 710, 304, 1265, 586, 968, 665, 935, 969, 1310, + 671, 719, 302, 301, 10, 308, 1312, 472, 500,-32766, + -529, 537, 687, 1291, 1292, 1293, 1294, 1296, 1288, 1289, + 952, 40, 592, 137, 41, -519, 1295, 1290, 8, 27, + 619, 321, 0,-32766, 378, 0, 72, 0, 0, 1272, + 0, 317, 321, 744, 0, 0,-32766,-32766,-32766, 0, + -32766, 0,-32766, 0,-32766, 0, 0,-32766, 0, 0, + 0, 0,-32766,-32766,-32766, 933,-32766, 745,-32766,-32766, + 0, 0, 1272, 847,-32766, 426, 867, 0, 296,-32766, + -32766,-32766, 0,-32766, 914,-32766,-32766,-32766, 933, 1013, + -32766, 990, 997, 987, 998,-32766,-32766,-32766, 912,-32766, + 985,-32766,-32766, 1110, 1113, 1272, 1114,-32766, 426, 1111, + 1150, 1112,-32766,-32766,-32766, 1118,-32766, 1300,-32766,-32766, + -32766, 859, 1327,-32766, 1344, 1377, 658, 495,-32766,-32766, + -32766, -599,-32766, -598,-32766,-32766, -597, -573, 1272, 599, + -32766, 426, -572, -571, -570,-32766,-32766,-32766, 923,-32766, + -513,-32766,-32766,-32766, 1, 29,-32766, -275, 30, 39, + 43,-32766,-32766,-32766, -250, -250, -250,-32766,-32766, 71, + 381, 923, 75,-32766, 426, 76, 77, 78, 1279, 79, + 80, 972, 973, 141, 150,-32766, 531, -249, -249, -249, + -273, 154, 241, 381, 909, 968, -110, -110, -110, 323, + 360, 361, 362, 363, 972, 973, 364, 365, -16, 531, + 366, 367, 368, 369, 370, 373, 443, 909, 968, -110, + -110, -110,-32766, -272, 564, 371, 1304, 935, 1272, 13, + 741, 719, -250, 14, 15,-32766,-32766,-32766, 16,-32766, + 18,-32766, 354,-32766, 412, 491,-32766, 492, 499, 502, + 935,-32766,-32766,-32766, 719, -249, 503,-32766,-32766, 848, + 504, 505, 509,-32766, 426, 510, 511, 518, 597, 703, + 1078, 1221, 1301, 1077, 1058,-32766, 1260, 1054, -277, -102, + 12, 17, 22, 312, 411, 611, 616, 644, 709, 1225, + 1278, 1222, 1356, 0, -110, -110, 34, 315, 375, -110, + 720, 723, 727, 728, 730, 731, 732, 733, -110, 737, + 749, 722, 750, 0, 910, 1381, 0,-32766, 1383, 870, + 869, 878, 962, 1005, 877, 1382, 961, 959, 960, 963, + 1253, 943, 953, 941, 1149, 1145, 1099, 995, 996, 296, + 642, 1380, 74, 1338, 1353, 0, 0, 1238, 321 ); protected array $actionCheck = array( 2, 3, 4, 5, 6, 7, 1, 9, 10, 11, - 12, 13, 9, 10, 11, 31, 9, 10, 11, 9, - 10, 106, 107, 80, 44, 45, 46, 47, 48, 49, - 50, 116, 1, 30, 0, 37, 38, 30, 1, 32, + 12, 13, 82, 31, 116, 85, 9, 10, 11, 0, + 80, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 9, 10, 11, 1, 37, 38, 30, 140, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 9, 10, 11, 101, 57, 9, 10, 11, 116, - 117, 118, 119, 120, 121, 122, 8, 1, 80, 71, - 72, 73, 74, 75, 76, 77, 123, 30, 80, 32, - 33, 34, 35, 36, 16, 87, 88, 89, 90, 91, + 43, 31, 30, 1, 70, 57, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 106, 107, 80, 71, + 72, 73, 74, 75, 76, 77, 116, 9, 80, 97, + 122, 151, 152, 70, 30, 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, 8, 128, 129, 130, 131, - 132, 133, 116, 1, 136, 137, 138, 139, 140, 141, - 142, 8, 144, 145, 160, 157, 129, 130, 131, 151, - 152, 153, 164, 155, 138, 2, 3, 4, 5, 6, - 7, 163, 9, 10, 11, 12, 13, 101, 82, 164, - 31, 85, 106, 168, 108, 9, 10, 11, 162, 113, - 37, 38, 116, 117, 118, 119, 120, 121, 122, 123, - 37, 38, 9, 10, 11, 164, 30, 160, 32, 33, - 34, 35, 36, 37, 38, 51, 52, 53, 54, 55, - 57, 57, 14, 30, 8, 32, 33, 34, 35, 49, - 50, 163, 1, 69, 71, 72, 73, 74, 75, 76, - 77, 165, 164, 80, 148, 149, 97, 106, 80, 108, + 122, 137, 138, 165, 126, 127, 128, 129, 8, 131, + 132, 133, 134, 135, 136, 8, 8, 139, 140, 141, + 142, 143, 144, 145, 70, 147, 148, 106, 160, 108, + 137, 138, 154, 155, 156, 167, 158, 14, 2, 3, + 4, 5, 6, 7, 166, 9, 10, 11, 12, 13, + 116, 8, 167, 119, 120, 121, 122, 123, 124, 125, + 9, 10, 11, 163, 51, 52, 53, 54, 55, 8, + 57, 122, 116, 37, 38, 141, 163, 9, 10, 11, + 159, 30, 69, 32, 33, 34, 35, 36, 37, 38, + 14, 137, 138, 57, 9, 10, 11, 141, 30, 165, + 32, 33, 34, 35, 36, 1, 8, 71, 72, 73, + 74, 75, 76, 77, 165, 30, 80, 32, 33, 34, + 35, 165, 8, 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, 9, + 10, 11, 126, 127, 128, 129, 166, 131, 132, 133, + 134, 135, 136, 1, 166, 139, 140, 141, 142, 143, + 144, 145, 80, 147, 148, 14, 9, 10, 11, 166, + 154, 155, 156, 8, 158, 2, 3, 4, 5, 6, + 7, 97, 9, 10, 11, 12, 13, 30, 8, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 16, 57, 9, 10, 11, 44, 45, + 46, 47, 48, 49, 50, 163, 69, 8, 52, 167, + 57, 9, 10, 11, 82, 8, 30, 1, 32, 33, + 34, 8, 160, 1, 71, 72, 73, 74, 75, 76, + 77, 8, 30, 80, 32, 33, 80, 8, 1, 83, 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, - 163, 128, 129, 130, 131, 132, 133, 156, 70, 136, - 137, 138, 139, 140, 141, 142, 163, 144, 145, 9, - 9, 10, 11, 82, 151, 152, 153, 14, 155, 2, - 3, 4, 5, 6, 7, 157, 9, 10, 11, 12, - 13, 30, 8, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 116, 57, 9, - 10, 11, 134, 135, 1, 106, 107, 9, 10, 11, - 69, 163, 14, 8, 57, 116, 117, 118, 150, 138, - 30, 122, 32, 33, 34, 31, 8, 128, 71, 72, - 73, 74, 75, 76, 77, 164, 160, 80, 8, 168, - 164, 80, 1, 162, 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, 14, 128, 129, 130, 131, 132, - 133, 85, 70, 136, 137, 138, 139, 140, 141, 142, - 97, 144, 145, 160, 9, 10, 11, 164, 151, 152, - 153, 2, 3, 4, 5, 6, 7, 156, 157, 158, - 116, 12, 13, 82, 15, 30, 165, 32, 33, 116, - 14, 30, 116, 117, 118, 119, 120, 121, 122, 8, - 117, 118, 138, 1, 8, 122, 70, 161, 1, 163, - 8, 138, 106, 147, 108, 1, 134, 135, 164, 8, - 51, 52, 52, 8, 1, 56, 122, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 137, 70, - 71, 72, 73, 74, 30, 51, 52, 78, 79, 80, - 80, 82, 70, 83, 31, 86, 87, 88, 89, 1, - 91, 8, 93, 162, 95, 1, 162, 98, 99, 168, - 134, 135, 103, 104, 105, 106, 107, 116, 109, 110, - 119, 120, 121, 122, 115, 116, 150, 80, 8, 31, - 106, 122, 108, 124, 125, 126, 80, 70, 162, 138, - 37, 38, 70, 116, 70, 136, 137, 84, 139, 140, - 141, 142, 143, 144, 145, 146, 134, 135, 106, 122, - 108, 152, 153, 162, 137, 156, 157, 158, 159, 8, - 116, 162, 116, 70, 71, 166, 167, 168, 8, 75, - 76, 77, 84, 1, 8, 82, 75, 76, 84, 86, - 75, 76, 138, 137, 90, 8, 92, 8, 94, 162, - 96, 134, 135, 101, 102, 14, 134, 135, 134, 135, - 106, 164, 156, 157, 158, 168, 162, 150, 106, 107, - 8, 117, 118, 160, 150, 122, 122, 164, 8, 162, - 8, 127, 128, 129, 130, 131, 162, 106, 107, 136, - 137, 14, 139, 140, 141, 142, 143, 144, 145, 111, - 112, 37, 38, 14, 30, 152, 153, 14, 160, 14, - 16, 31, 164, 70, 160, 162, 84, 70, 164, 165, - 167, 168, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 16, 16, 74, 16, - 0, 1, 30, 16, 80, 16, 16, 16, 37, 38, - 16, 87, 88, 89, 80, 91, 31, 93, 16, 95, - 16, 16, 98, 31, 1, 59, 60, 103, 104, 105, - 31, 1, 31, 109, 110, 37, 70, 134, 135, 115, - 116, 134, 135, 31, 31, 74, 31, 31, 124, 31, - 116, 80, 160, 150, 31, 31, 164, 150, 87, 88, - 89, 31, 91, 1, 93, 31, 95, 31, 31, 98, - 31, 137, 138, 31, 103, 104, 105, 31, 31, 155, - 109, 110, 31, 31, 84, 31, 115, 116, 116, 57, - 156, 157, 158, 31, 35, 124, 162, 37, 35, 35, - 134, 135, 35, 70, 71, 35, 106, 84, 108, 35, - 138, 35, 37, 113, 84, 82, 150, 117, 118, 86, - 37, 77, 122, 38, 69, 80, 70, 127, 128, 129, - 130, 131, 82, 80, 162, 92, 70, 71, 89, 82, - 100, 83, 94, 114, 113, 128, 84, 128, 82, 154, - 85, 151, 86, 132, 132, 122, 147, 96, 90, 133, - 160, 147, 137, 155, 164, 165, 97, 156, 97, 97, - 137, 161, 139, 140, 141, 142, 143, 144, 145, 100, - 31, 154, 162, 160, -1, 152, 153, 164, 122, 161, - 160, 150, -1, -1, 164, 162, 161, 159, -1, -1, - 167, 168, -1, 137, -1, 139, 140, 141, 142, 143, - 144, 145, 31, -1, -1, -1, -1, -1, 152, 153, - -1, -1, 160, 74, -1, -1, 164, 150, 162, 80, - 150, 150, 150, 167, 168, 162, 87, 88, 89, 161, - 91, -1, 93, -1, 95, 161, 160, 98, 160, 160, - 160, 160, 103, 104, 105, 74, 160, 160, 109, 110, - 160, 80, 160, 1, 115, 116, 160, 160, 87, 88, - 89, 160, 91, 124, 93, 160, 95, 160, 160, 98, - 160, 160, 1, 160, 103, 104, 105, 74, 160, 160, - 109, 110, 161, 80, 162, 162, 115, 116, 162, 162, - 87, 88, 89, 162, 91, 124, 93, 162, 95, 162, - 162, 98, 162, 162, 162, 102, 103, 104, 105, 74, - 162, 162, 109, 110, 162, 80, 81, 162, 115, 116, - 162, 162, 87, 88, 89, 162, 91, 124, 93, 162, - 95, 162, 162, 98, 162, 162, 84, 162, 103, 104, - 105, 162, 162, 1, 109, 110, 162, 162, 162, 162, - 115, 116, 100, 101, 102, 84, 162, 162, 106, 124, - 1, 162, 162, 162, 162, 167, 162, 162, -1, 117, - 118, 100, 101, 102, 122, 163, 163, 106, 163, 127, - 128, 129, 130, 131, 163, 163, 163, 163, 117, 118, - 31, 163, 163, 122, 163, 163, 163, 163, 127, 128, - 129, 130, 131, 163, 163, 163, 163, 163, 74, 163, - 163, 163, 160, 163, 80, 164, 164, 165, 163, 163, - 163, 87, 88, 89, 82, 91, 163, 93, 163, 95, - 163, 160, 98, 163, 165, 164, 165, 103, 104, 105, - 163, 82, 163, 109, 110, 163, 163, 163, 163, 115, - 116, 163, 163, 163, 163, 163, 163, 163, 124, 117, - 118, 163, 163, 163, 122, 164, 164, 164, 164, 164, - 128, 164, 164, 164, 164, 164, 117, 118, 164, 137, - 164, 122, 164, 164, -1, 165, 165, 128, 165, 165, - 165, 165, 165, 165, 165, 165, 137, 165, 165, 168, - 165, 159, 165, 165, 162, 165, 165, -1, 165, 165, - 168, 165, 165, 165, 165, 165, 165, 165, 159, 165, - -1, 162, 166, -1, -1, -1, -1, 168 + 117, 118, 119, 120, 121, 122, 1, 80, 70, 126, + 127, 128, 129, 1, 131, 132, 133, 134, 135, 136, + 8, 8, 139, 140, 141, 142, 143, 144, 145, 167, + 147, 148, 80, 171, 8, 30, 101, 154, 155, 156, + 2, 3, 4, 5, 6, 7, 106, 101, 108, 82, + 12, 13, 106, 15, 108, 9, 10, 11, 1, 113, + 14, 126, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 14, 167, 137, 138, 30, 117, 118, + 132, 133, 134, 122, 8, 30, 159, 160, 161, 51, + 52, 153, 85, 8, 56, 168, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 140, 70, 71, + 72, 73, 74, 31, 168, 8, 78, 79, 80, 167, + 82, 116, 8, 171, 86, 87, 88, 89, 1, 91, + 1, 93, 165, 95, 70, 80, 98, 99, 171, 106, + 107, 103, 104, 105, 106, 107, 141, 109, 110, 116, + 117, 118, 8, 115, 116, 122, 1, 150, 31, 1, + 122, 9, 10, 116, 131, 127, 128, 129, 8, 1, + 165, 116, 16, 70, 80, 37, 38, 139, 140, 166, + 142, 143, 144, 145, 146, 147, 148, 149, 141, 31, + 106, 14, 108, 155, 156, 140, 141, 159, 160, 161, + 162, 137, 138, 165, 75, 76, 77, 169, 170, 171, + 116, 84, 165, 84, 159, 160, 161, 153, 116, 90, + 165, 92, 163, 94, 167, 96, 167, 14, 171, 165, + 14, 37, 38, 116, 140, 106, 106, 82, 108, 14, + 137, 138, 84, 141, 116, 14, 117, 118, 16, 167, + 16, 122, 84, 159, 160, 161, 153, 16, 141, 130, + 131, 132, 133, 134, 70, 71, 16, 165, 165, 141, + 49, 50, 117, 118, 51, 52, 82, 122, 16, 70, + 86, 16, 164, 16, 166, 16, 131, 75, 76, 16, + 163, 16, 163, 16, 167, 140, 167, 168, 35, 70, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 75, 76, 122, 162, 37, 38, + 165, 163, 31, 1, 31, 167, 171, 0, 1, 31, + 1, 163, 31, 139, 140, 167, 142, 143, 144, 145, + 146, 147, 148, 59, 60, 1, 137, 138, 70, 155, + 156, 37, 38, 31, 70, 74, 101, 102, 35, 165, + 31, 80, 153, 31, 170, 171, 137, 138, 87, 88, + 89, 31, 91, 31, 93, 31, 95, 106, 107, 98, + 106, 107, 153, 31, 103, 104, 105, 31, 74, 31, + 109, 110, 31, 31, 80, 31, 115, 116, 70, 71, + 31, 87, 88, 89, 31, 91, 84, 93, 127, 95, + 82, 84, 98, 84, 86, 137, 138, 103, 104, 105, + 31, 137, 138, 109, 110, 31, 111, 112, 84, 115, + 116, 153, 31, 106, 31, 108, 31, 153, 31, 158, + 113, 127, 38, 165, 117, 118, 35, 35, 35, 122, + 122, 70, 71, 35, 35, 57, 69, 130, 131, 132, + 133, 134, 37, 82, 37, 37, 37, 86, 140, 70, + 142, 143, 144, 145, 146, 147, 148, 77, 82, 82, + 85, 154, 80, 155, 156, 163, 80, 94, 96, 167, + 163, 83, 163, 165, 167, 168, 167, 113, 170, 171, + 31, 92, 114, 122, 89, 131, 90, 163, 131, 150, + 100, 167, 136, 135, 97, 135, 150, 97, 97, 140, + 153, 140, 100, 142, 143, 144, 145, 146, 147, 148, + 158, 163, 157, 31, 163, 153, 155, 156, 153, 153, + 157, 171, -1, 74, 153, -1, 165, -1, -1, 80, + -1, 170, 171, 163, -1, -1, 87, 88, 89, -1, + 91, -1, 93, -1, 95, -1, -1, 98, -1, -1, + -1, -1, 103, 104, 105, 1, 74, 163, 109, 110, + -1, -1, 80, 159, 115, 116, 163, -1, 162, 87, + 88, 89, -1, 91, 163, 93, 127, 95, 1, 163, + 98, 163, 163, 163, 163, 103, 104, 105, 163, 74, + 163, 109, 110, 163, 163, 80, 163, 115, 116, 163, + 163, 163, 87, 88, 89, 163, 91, 164, 93, 127, + 95, 164, 164, 98, 164, 164, 164, 102, 103, 104, + 105, 165, 74, 165, 109, 110, 165, 165, 80, 81, + 115, 116, 165, 165, 165, 87, 88, 89, 84, 91, + 165, 93, 127, 95, 165, 165, 98, 166, 165, 165, + 165, 103, 104, 105, 100, 101, 102, 109, 110, 165, + 106, 84, 165, 115, 116, 165, 165, 165, 1, 165, + 165, 117, 118, 165, 165, 127, 122, 100, 101, 102, + 166, 165, 165, 106, 130, 131, 132, 133, 134, 165, + 165, 165, 165, 165, 117, 118, 165, 165, 31, 122, + 165, 165, 165, 165, 165, 165, 165, 130, 131, 132, + 133, 134, 74, 166, 165, 165, 170, 163, 80, 166, + 168, 167, 168, 166, 166, 87, 88, 89, 166, 91, + 166, 93, 166, 95, 166, 166, 98, 166, 166, 166, + 163, 103, 104, 105, 167, 168, 166, 109, 110, 82, + 166, 166, 166, 115, 116, 166, 166, 166, 166, 166, + 166, 166, 166, 166, 166, 127, 166, 166, 166, 166, + 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, + 166, 166, 166, -1, 117, 118, 167, 167, 167, 122, + 167, 167, 167, 167, 167, 167, 167, 167, 131, 167, + 167, 167, 167, -1, 168, 168, -1, 140, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 162, + 168, 168, 165, 168, 168, -1, -1, 169, 171 ); protected array $actionBase = array( - 0, -2, 153, 554, 740, 1002, 1021, 674, 221, 311, - -12, 548, 770, 770, 802, 770, 513, 763, 868, 632, - 632, 632, 793, -57, 307, 307, 793, 307, 664, 664, - 664, 664, 711, 711, 953, 953, 985, 921, 889, 1084, - 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, - 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, - 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, - 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, - 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, - 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, - 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, - 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, - 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, - 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, - 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, - 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, - 1084, 1084, 37, -16, 353, 1066, 695, 1038, 1044, 1040, - 1048, 1034, 1033, 1039, 1041, 1049, 1101, 1102, 794, 1100, - 1104, 1042, 871, 1035, 1043, 863, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 290, 348, 10, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 553, 553, 3, 3, 3, - 445, 806, 773, 806, 806, 806, 806, 806, 806, 806, - 806, 340, 183, 47, 706, 166, 166, 7, 7, 7, - 7, 7, 1109, 66, 1092, 1092, -20, -20, -20, -20, - 451, 504, 391, -47, 143, 396, 170, 712, 249, 231, - 231, 363, 363, 16, 16, 363, 363, 363, 154, 154, - 354, 354, 354, 354, 131, 356, 765, 497, 497, 497, - 497, 765, 765, 765, 765, 754, 948, 765, 765, 765, - 426, 517, 524, 484, 484, 502, 86, 86, 502, 757, - 86, 5, 460, 477, 759, -85, 336, 477, 955, 218, - 643, 643, 647, 643, 643, 643, 751, 562, 751, 1032, - 394, 805, 805, 776, 739, 487, 869, 1068, 1050, 780, - 1098, 819, 1099, 1069, 293, 17, 372, 472, 522, 732, - 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, - 1029, 1029, 1081, 143, 1032, 158, 1096, 1097, 1081, 1081, - 1081, 143, 143, 143, 143, 143, 143, 143, 143, 777, - 143, 143, 588, 158, 561, 565, 158, 816, 143, 37, - 817, 37, 37, 37, 37, 37, 37, 37, 37, 37, - 37, 344, 37, -16, 31, 31, 226, 132, 31, 31, - 31, 68, 31, 37, 37, 37, 562, 772, 735, 581, - 139, 767, 133, 772, 772, 772, 58, 198, 117, 799, - 803, 474, 785, 785, 797, 887, 887, 785, 790, 785, - 797, 785, 785, 887, 887, 778, 887, 368, 637, 543, - 620, 639, 887, 486, 785, 785, 785, 785, 762, 887, - 206, 662, 785, 481, 380, 785, 785, 762, 761, 786, - 766, 887, 887, 887, 762, 611, 766, 766, 766, 829, - 830, 771, 782, 505, 501, 672, 355, 825, 782, 782, - 785, 626, 771, 782, 771, 782, 748, 782, 782, 782, - 771, 782, 790, 570, 782, 734, 670, 314, 782, 785, - 34, 898, 899, 680, 902, 891, 905, 952, 908, 909, - 1053, 885, 922, 892, 913, 954, 890, 888, 792, 723, - 727, 820, 781, 881, 795, 795, 795, 873, 876, 795, - 795, 795, 795, 795, 795, 795, 795, 723, 750, 822, - 789, 929, 729, 730, 1000, 749, 1070, 1106, 925, 898, - 909, 725, 892, 913, 890, 888, 774, 764, 756, 758, - 755, 753, 741, 752, 779, 1006, 917, 826, 731, 978, - 930, 1019, 1051, 934, 935, 981, 1007, 831, 1013, 1071, - 796, 1073, 1074, 768, 937, 1054, 795, 872, 760, 775, - 936, 877, 723, 818, 1015, 971, 1001, 982, 983, 1052, - 811, 798, 824, 1075, 944, 945, 949, 1055, 1057, 828, - 972, 962, 984, 812, 1076, 990, 991, 992, 993, 1058, - 1077, 1059, 813, 1060, 836, 808, 963, 801, 1078, 420, - 810, 814, 823, 951, 466, 923, 1061, 1079, 1080, 994, - 996, 997, 1082, 1083, 919, 837, 973, 788, 974, 965, - 840, 842, 641, 815, 1017, 804, 807, 800, 677, 689, - 1085, 1087, 1088, 920, 787, 784, 846, 847, 1020, 738, - 1027, 1090, 693, 851, 1091, 1005, 742, 744, 694, 721, - 720, 745, 783, 1064, 821, 769, 809, 950, 744, 791, - 855, 1093, 857, 858, 860, 998, 861, 979, 1094, 0, + 0, -2, 156, 559, 757, 1004, 1027, 485, 292, 357, + -60, -12, 588, 759, 759, 774, 759, 557, 752, 888, + 598, 598, 598, 836, 313, 313, 836, 313, 711, 711, + 711, 711, 744, 744, 965, 965, 998, 932, 899, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, + 1088, 1088, 33, 20, 224, 1083, 661, 1057, 1063, 1059, + 1064, 1055, 1054, 1058, 1060, 1065, 1113, 1115, 837, 1112, + 1116, 1061, 902, 1056, 1062, 887, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 68, 476, 582, 270, 270, 270, 270, 270, + 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, + 270, 270, 270, 270, 270, 624, 624, 22, 22, 22, + 362, 811, 758, 811, 811, 811, 811, 811, 811, 811, + 811, 346, 205, 188, 714, 171, 171, 7, 7, 7, + 7, 7, 376, 1117, 54, 585, 585, 314, 314, 314, + 314, 365, 568, 370, 435, 397, 651, 477, 463, 532, + 532, 558, 558, 76, 76, 558, 558, 558, 133, 133, + 547, 547, 547, 547, 41, 437, 809, 382, 382, 382, + 382, 809, 809, 809, 809, 796, 996, 809, 809, 809, + 494, 533, 708, 653, 653, 560, -70, -70, 560, 804, + -70, 487, 316, -102, 807, -40, 548, -102, 1000, 368, + 639, 639, 659, 639, 639, 639, 854, 701, 854, 1053, + -42, 825, 825, 794, 731, 69, 892, 1084, 1066, 840, + 1109, 852, 1110, 1085, 489, 378, -16, 13, 74, 728, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 800, 568, 1053, 222, 1107, 1108, 800, 800, + 800, 568, 568, 568, 568, 568, 568, 568, 568, 799, + 568, 568, 745, 222, 642, 669, 222, 849, 568, 33, + 812, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 512, 33, 20, 5, 5, 202, 52, 5, 5, + 5, 337, 5, 33, 33, 33, 701, 828, 805, 704, + -18, 813, 443, 828, 828, 828, 120, 143, 128, 693, + 753, 514, 832, 832, 827, 929, 929, 832, 826, 832, + 827, 832, 832, 929, 929, 856, 929, 218, 515, 373, + 456, 537, 929, 320, 832, 832, 832, 832, 810, 929, + 127, 544, 832, 305, 234, 832, 832, 810, 808, 824, + 806, 929, 929, 929, 810, 389, 806, 806, 806, 820, + 844, 814, 819, 367, 359, 590, 181, 834, 819, 819, + 832, 506, 814, 819, 814, 819, 802, 819, 819, 819, + 814, 819, 826, 383, 819, 699, 574, 163, 819, 832, + 19, 944, 947, 721, 950, 934, 951, 991, 952, 954, + 1073, 925, 967, 935, 955, 999, 933, 930, 835, 671, + 680, 815, 797, 919, 817, 817, 817, 912, 917, 817, + 817, 817, 817, 817, 817, 817, 817, 671, 893, 821, + 845, 976, 692, 695, 1042, 789, 1086, 1118, 975, 944, + 954, 723, 935, 955, 933, 930, 792, 791, 786, 788, + 782, 772, 762, 770, 803, 1044, 958, 798, 697, 1014, + 977, 1002, 1070, 978, 981, 1018, 1045, 853, 1046, 1087, + 829, 1090, 1091, 897, 985, 1074, 817, 911, 906, 898, + 982, 918, 671, 900, 1047, 1003, 1069, 1019, 1021, 1071, + 850, 838, 901, 1092, 986, 987, 988, 1075, 1076, 801, + 1007, 931, 1022, 851, 1093, 1023, 1030, 1034, 1035, 1077, + 1094, 1078, 908, 1079, 861, 846, 964, 822, 1095, 196, + 843, 848, 859, 990, 291, 974, 1080, 1096, 1097, 1036, + 1039, 1040, 1098, 1099, 959, 866, 1008, 823, 1012, 997, + 868, 869, 607, 858, 1048, 841, 842, 857, 643, 646, + 1100, 1101, 1102, 966, 831, 830, 870, 871, 1050, 855, + 1051, 1103, 655, 875, 1104, 1043, 703, 705, 586, 664, + 662, 707, 839, 1082, 816, 818, 847, 989, 705, 833, + 877, 1105, 880, 881, 883, 1041, 886, 1016, 1106, 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, 459, 459, 459, 459, 459, 459, 307, - 307, 307, 307, 459, 459, 459, 459, 459, 459, 459, - 307, 459, 459, 459, 307, 307, 0, 0, 307, 0, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 0, 0, + 0, 0, 0, 468, 468, 468, 468, 468, 468, 313, + 313, 313, 313, 313, 468, 468, 468, 468, 468, 468, + 468, 313, 468, 468, 468, 313, 0, 0, 313, 0, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 297, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 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, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 506, 506, 291, - 291, 291, 291, 506, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 291, 291, 291, 0, 291, 291, 291, - 291, 291, 291, 291, 506, 778, 506, 506, 154, 154, - 154, 154, 506, 506, 506, 366, 366, 366, 154, 506, - 778, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 0, 0, 506, 506, 506, 506, 158, 86, 506, 790, - 790, 790, 790, 506, 506, 506, 506, 86, 86, 506, - 506, 506, 0, 0, 0, 154, 154, 158, 0, 0, - 158, 373, 0, 790, 790, 506, 373, 778, 492, 506, - 293, 0, 0, 0, 0, 0, 0, 0, 158, 790, - 158, 143, 785, 86, 86, 143, 143, 785, 31, 37, - 492, 552, 552, 552, 552, 37, 0, 0, 0, 0, - 0, 562, 778, 778, 778, 778, 778, 778, 778, 778, - 778, 778, 778, 778, 790, 0, 778, 0, 778, 778, - 790, 790, 790, 0, 0, 0, 0, 0, 0, 0, - 0, 887, 0, 0, 0, 0, 0, 0, 0, 790, - 0, 0, 887, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 790, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 795, - 811, 0, 0, 811, 0, 795, 795, 795, 0, 0, - 0, 815, 738 + 0, 0, 0, 0, 297, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 524, 524, 297, + 297, 297, 297, 524, 524, 524, 524, 524, 524, 524, + 524, 524, 524, 297, 297, 297, 0, 297, 297, 297, + 297, 297, 297, 297, 856, 524, 524, 524, 524, 133, + 133, 133, 133, -95, -95, -95, 524, 524, 133, 524, + 856, 524, 524, 524, 524, 524, 524, 524, 524, 524, + 0, 0, 524, 524, 524, 524, 222, -70, 524, 826, + 826, 826, 826, 524, 524, 524, 524, -70, -70, 524, + 524, 524, 0, 0, 0, 133, 133, 222, 0, 0, + 222, 391, 0, 826, 826, 524, 391, 856, 442, 524, + 489, 0, 0, 0, 0, 0, 0, 0, 222, 826, + 222, 568, 832, -70, -70, 568, 568, 832, 5, 33, + 442, 685, 685, 685, 685, 33, 0, 0, 0, 0, + 0, 701, 856, 856, 856, 856, 856, 856, 856, 856, + 856, 856, 856, 856, 826, 0, 856, 0, 856, 856, + 826, 826, 826, 0, 0, 0, 0, 0, 0, 0, + 0, 929, 0, 0, 0, 0, 0, 0, 0, 826, + 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 826, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 817, + 850, 0, 0, 850, 0, 817, 817, 817, 0, 0, + 0, 858, 855 ); protected array $actionDefault = array( 3,32767, 102,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 100,32767, 611, 611, - 611, 611,32767,32767, 254, 102,32767,32767, 482, 399, - 399, 399,32767,32767, 555, 555, 555, 555, 555,32767, - 32767,32767,32767,32767,32767, 482,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 100,32767, 617, 617, + 617, 617,32767,32767, 254, 102,32767,32767, 488, 405, + 405, 405,32767,32767, 561, 561, 561, 561, 561,32767, + 32767,32767,32767,32767,32767, 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, @@ -786,144 +794,147 @@ class Php8 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, 36, 7, 8, 10, - 11, 49, 17, 324, 100,32767,32767,32767,32767,32767, + 11, 49, 17, 327, 100,32767,32767,32767,32767,32767, 32767,32767,32767, 102,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 386, 604,32767,32767,32767, + 32767,32767,32767,32767,32767, 392, 610,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 486, 465, 466, 468, - 469, 398, 556, 610, 327, 607, 329, 397, 145, 339, - 330, 242, 258, 487, 259, 488, 491, 492, 215, 383, - 149, 150, 429, 483, 431, 481, 485, 430, 404, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 402, 403, 484,32767,32767, 462, 461, 460, - 427,32767,32767,32767,32767,32767,32767,32767,32767, 102, - 32767, 428, 432, 435, 401, 433, 434, 451, 452, 449, - 450, 453,32767,32767,32767,32767, 454, 455, 456, 457, - 316,32767,32767, 367, 195, 365, 436, 316, 111,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 442, 443, + 32767,32767,32767,32767,32767,32767, 492, 471, 472, 474, + 475, 404, 562, 616, 330, 613, 332, 403, 145, 342, + 333, 242, 258, 493, 259, 494, 497, 498, 215, 389, + 149, 150, 435, 489, 437, 487, 491, 436, 410, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 408, 409, 490,32767,32767, 468, 467, 466, + 433,32767,32767,32767,32767,32767,32767,32767,32767, 102, + 32767, 434, 438, 441, 407, 439, 440, 457, 458, 455, + 456, 459,32767,32767, 319,32767,32767, 460, 461, 462, + 463, 370, 195, 368,32767,32767, 442, 319, 111,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 448, 449, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767, 102,32767, 100, - 499, 549, 459, 437, 438,32767, 524,32767, 102,32767, - 526,32767,32767,32767,32767,32767,32767,32767,32767, 551, - 424, 426, 519, 605, 405, 608,32767, 512, 100, 195, - 32767,32767, 525, 195, 195,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 550,32767, 618, 512, + 505, 555, 465, 443, 444,32767, 530,32767, 102,32767, + 532,32767,32767,32767,32767,32767,32767,32767,32767, 557, + 430, 432, 525, 611, 411, 614,32767, 518, 100, 195, + 32767,32767, 531, 195, 195,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 556,32767, 624, 518, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,32767, 195, 110,32767, 110, 110,32767,32767, - 100, 195, 195, 195, 195, 195, 195, 195, 195, 527, - 195, 195, 190,32767, 268, 270, 102, 573, 195,32767, - 529,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 100, 195, 195, 195, 195, 195, 195, 195, 195, 533, + 195, 195, 190,32767, 268, 270, 102, 579, 195,32767, + 535,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 386,32767,32767,32767,32767, 512, 447, 138,32767, - 514, 138, 557, 439, 440, 441, 557, 557, 557, 312, - 289,32767,32767,32767,32767, 527, 527, 100, 100, 100, - 100,32767,32767,32767,32767, 111, 498, 99, 99, 99, + 32767, 392,32767,32767,32767,32767, 518, 453, 138,32767, + 520, 138, 563, 445, 446, 447, 563, 563, 563, 315, + 292,32767,32767,32767,32767, 533, 533, 100, 100, 100, + 100,32767,32767,32767,32767, 111, 504, 99, 99, 99, 99, 99, 103, 101,32767,32767,32767,32767, 223,32767, 101, 99,32767, 101, 101,32767,32767, 223, 225, 212, - 227,32767, 577, 578, 223, 101, 227, 227, 227, 247, - 247, 501, 318, 101, 99, 101, 101, 197, 318, 318, - 32767, 101, 501, 318, 501, 318, 199, 318, 318, 318, - 501, 318,32767, 101, 318, 214, 99, 99, 318,32767, - 32767,32767,32767, 514,32767,32767,32767,32767,32767,32767, + 227,32767, 583, 584, 223, 101, 227, 227, 227, 247, + 247, 507, 321, 101, 99, 101, 101, 197, 321, 321, + 32767, 101, 507, 321, 507, 321, 199, 321, 321, 321, + 507, 321,32767, 101, 321, 214, 99, 99, 321,32767, + 32767,32767,32767, 520,32767,32767,32767,32767,32767,32767, 32767, 222,32767,32767,32767,32767,32767,32767,32767,32767, - 544,32767, 562, 575, 445, 446, 448, 561, 559, 470, - 471, 472, 473, 474, 475, 476, 478, 606,32767, 518, - 32767,32767,32767, 338,32767, 616,32767,32767,32767, 9, - 74, 507, 42, 43, 51, 57, 533, 534, 535, 536, - 530, 531, 537, 532,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 617, - 32767, 557,32767,32767,32767,32767, 444, 539, 583,32767, - 32767, 558, 609,32767,32767,32767,32767,32767,32767,32767, + 550,32767, 568, 581, 451, 452, 454, 567, 565, 476, + 477, 478, 479, 480, 481, 482, 484, 612,32767, 524, + 32767,32767,32767, 341,32767, 622,32767,32767,32767, 9, + 74, 513, 42, 43, 51, 57, 539, 540, 541, 542, + 536, 537, 543, 538,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 623, + 32767, 563,32767,32767,32767,32767, 450, 545, 589,32767, + 32767, 564, 615,32767,32767,32767,32767,32767,32767,32767, 138,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 544,32767, 136,32767,32767,32767,32767,32767,32767, - 32767,32767, 540,32767,32767,32767, 557,32767,32767,32767, - 32767, 314, 311,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 557, - 32767,32767,32767,32767,32767, 291,32767, 308,32767,32767, + 32767, 550,32767, 136,32767,32767,32767,32767,32767,32767, + 32767,32767, 546,32767,32767,32767, 563,32767,32767,32767, + 32767, 317, 314,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 563, + 32767,32767,32767,32767,32767, 294,32767, 311,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 382, 514, 294, 296, - 297,32767,32767,32767,32767, 361,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 388, 520, 297, 299, + 300,32767,32767,32767,32767, 364,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767, 152, - 152, 3, 3, 341, 152, 152, 152, 341, 341, 152, - 341, 341, 341, 152, 152, 152, 152, 152, 152, 152, - 280, 185, 262, 265, 247, 247, 152, 353, 152, 384, - 384, 393 + 152, 3, 3, 344, 152, 152, 152, 344, 344, 152, + 344, 344, 344, 152, 152, 152, 152, 152, 152, 152, + 280, 185, 262, 265, 247, 247, 152, 356, 152, 390, + 390, 399 ); protected array $goto = array( - 194, 194, 1047, 431, 704, 620, 1078, 437, 669, 278, - 278, 278, 278, 432, 334, 330, 331, 333, 601, 436, - 335, 438, 646, 906, 864, 906, 906, 166, 166, 166, + 194, 194, 1050, 486, 704, 278, 278, 278, 278, 1081, + 488, 547, 547, 906, 864, 906, 906, 547, 713, 547, + 547, 547, 547, 547, 547, 547, 547, 166, 166, 166, 166, 218, 195, 191, 191, 176, 178, 213, 191, 191, 191, 191, 191, 192, 192, 192, 192, 192, 186, 187, 188, 189, 190, 215, 213, 216, 544, 545, 427, 546, - 549, 550, 551, 552, 553, 554, 555, 556, 1161, 167, + 549, 550, 551, 552, 553, 554, 555, 556, 1167, 167, 168, 169, 193, 170, 171, 172, 164, 173, 174, 175, 177, 212, 214, 217, 237, 240, 251, 252, 253, 255, - 256, 257, 258, 259, 260, 261, 266, 267, 268, 269, + 256, 257, 258, 259, 260, 261, 267, 268, 269, 270, 276, 288, 289, 313, 314, 433, 434, 435, 606, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 186, 187, 188, 189, 190, - 215, 1161, 196, 197, 198, 199, 238, 179, 180, 200, + 215, 1167, 196, 197, 198, 199, 238, 179, 180, 200, 181, 201, 197, 182, 239, 196, 163, 202, 203, 183, 204, 205, 206, 184, 207, 208, 165, 209, 210, 211, - 185, 713, 868, 608, 341, 591, 469, 865, 1095, 743, - 645, 647, 866, 1210, 667, 350, 629, 666, 691, 694, - 1023, 702, 711, 1019, 718, 342, 341, 988, 358, 557, - 557, 557, 557, 926, 612, 927, 1364, 1364, 358, 358, - 1050, 1050, 689, 965, 425, 486, 1042, 1058, 1059, 358, - 358, 1364, 488, 358, 873, 1381, 922, 917, 918, 931, - 874, 919, 871, 920, 921, 872, 861, 925, 474, 474, - 563, 840, 1367, 1367, 358, 358, 519, 474, 1101, 1097, - 1098, 618, 632, 635, 636, 637, 638, 659, 660, 661, - 715, 717, 355, 355, 355, 355, 5, 1265, 6, 1265, - 1265, 403, 406, 609, 613, 1047, 1047, 1265, 455, 455, - 455, 455, 1047, 861, 1047, 1047, 1047, 1047, 1047, 1047, - 1047, 1047, 1047, 899, 846, 1047, 1047, 1047, 1047, 598, - 1326, 1265, 701, 1053, 1052, 842, 1265, 1265, 1265, 1265, - 1056, 1057, 1265, 1265, 1265, 568, 561, 701, 1241, 957, - 421, 701, 1242, 1245, 958, 1354, 1246, 559, 939, 559, - 559, 881, 940, 631, 631, 348, 846, 559, 846, 1296, - 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 893, - 464, 563, 880, 340, 561, 568, 593, 594, 345, 604, - 610, 462, 625, 626, 320, 306, 982, 982, 982, 982, - 25, 1009, 462, 976, 983, 401, 455, 455, 455, 455, - 455, 455, 455, 455, 455, 455, 455, 455, 1315, 1315, - 455, 446, 455, 455, 1315, 1315, 1315, 1315, 1315, 1315, - 1315, 1315, 1315, 1315, 247, 247, 1026, 1026, 602, 623, - 1312, 1312, 596, 861, 1158, 1258, 1312, 1312, 1312, 1312, - 1312, 1312, 1312, 1312, 1312, 1312, 1071, 1337, 444, 1337, - 1337, 245, 245, 245, 245, 242, 248, 1337, 668, 351, - 352, 1341, 1342, 548, 548, 1346, 1346, 1346, 1346, 548, - 548, 548, 548, 548, 548, 548, 548, 548, 548, 674, - 547, 547, 1348, 1348, 1348, 1348, 547, 690, 547, 547, - 547, 547, 547, 547, 547, 547, 336, 1260, 662, 663, - 886, 680, 681, 682, 858, 971, 1333, 883, 955, 414, - 415, 1141, 410, 955, 678, 624, 679, 439, 418, 419, - 420, 1256, 692, 1031, 439, 422, 507, 1084, 508, 346, - 1054, 1054, 746, 1038, 514, 484, 1088, 673, 1065, 1061, - 1062, 319, 273, 319, 319, 614, 895, 993, 944, 1148, - 1261, 1262, 1132, 1248, 1121, 1146, 1122, 1086, 377, 856, - 1028, 0, 0, 1335, 1335, 1086, 1248, 0, 885, 0, - 672, 1007, 894, 882, 1083, 1087, 879, 0, 1263, 1323, - 1324, 607, 1114, 0, 0, 991, 0, 0, 1255, 0, - 0, 716, 483, 1339, 1340, 0, 1012, 515, 707, 984, - 1112, 742, 0, 0, 560, 1021, 1016, 0, 981, 0, - 562, 588, 980, 416, 712, 562, 0, 588, 0, 404, - 468, 639, 641, 643, 0, 0, 0, 0, 0, 0, - 1130, 898, 477, 605, 478, 479, 0, 0, 0, 0, - 891, 0, 0, 1372, 1373, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 751, 751, 0, 250, 250, - 0, 0, 0, 0, 0, 0, 0, 0, 889, 0, + 185, 868, 247, 247, 591, 474, 474, 1098, 743, 645, + 647, 865, 608, 667, 474, 866, 469, 691, 694, 1023, + 702, 711, 1019, 718, 464, 1216, 881, 358, 840, 245, + 245, 245, 245, 242, 248, 1370, 1370, 358, 358, 350, + 557, 557, 557, 557, 893, 612, 341, 880, 358, 358, + 1370, 988, 358, 873, 1387, 922, 917, 918, 931, 874, + 919, 871, 920, 921, 872, 446, 925, 342, 341, 563, + 425, 1373, 1373, 358, 358, 899, 861, 1104, 1100, 1101, + 437, 669, 403, 406, 609, 613, 432, 334, 330, 331, + 333, 601, 436, 335, 438, 646, 629, 666, 1271, 1050, + 1271, 1271, 1056, 1055, 455, 455, 598, 455, 455, 1050, + 1271, 348, 1050, 519, 1050, 1050, 1050, 1050, 1050, 1050, + 1050, 1050, 1050, 861, 1360, 1050, 1050, 1050, 1050, 1332, + 1009, 1271, 507, 926, 508, 927, 1271, 1271, 1271, 1271, + 514, 401, 1271, 1271, 1271, 1352, 1352, 1352, 1352, 421, + 355, 355, 355, 355, 1124, 1152, 1125, 596, 939, 631, + 631, 668, 940, 439, 1164, 1302, 1302, 1302, 1302, 1302, + 1302, 1302, 1302, 1302, 1302, 1074, 439, 483, 1345, 1346, + 563, 444, 1057, 1057, 568, 561, 1059, 1060, 955, 673, + 1068, 1064, 1065, 955, 662, 663, 846, 680, 681, 682, + 320, 306, 455, 455, 455, 455, 455, 455, 455, 455, + 455, 455, 455, 455, 690, 5, 455, 6, 455, 455, + 602, 623, 340, 561, 568, 593, 594, 345, 604, 610, + 674, 625, 626, 980, 416, 712, 250, 250, 846, 25, + 846, 1347, 1348, 559, 1264, 559, 559, 1026, 1026, 336, + 1321, 1321, 431, 861, 620, 559, 1321, 1321, 1321, 1321, + 1321, 1321, 1321, 1321, 1321, 1321, 858, 1343, 886, 1343, + 1343, 639, 641, 643, 410, 971, 462, 883, 1262, 1343, + 624, 982, 982, 982, 982, 1031, 1147, 462, 976, 983, + 562, 588, 701, 351, 352, 562, 842, 588, 1087, 404, + 468, 1354, 1354, 1354, 1354, 746, 1041, 895, 701, 1138, + 484, 701, 477, 605, 478, 479, 1091, 377, 993, 0, + 891, 1318, 1318, 1378, 1379, 1339, 0, 1318, 1318, 1318, + 1318, 1318, 1318, 1318, 1318, 1318, 1318, 0, 0, 0, + 0, 0, 0, 548, 548, 1266, 0, 0, 889, 548, + 548, 548, 548, 548, 548, 548, 548, 548, 548, 414, + 415, 0, 0, 0, 678, 0, 679, 328, 418, 419, + 420, 0, 692, 0, 0, 422, 1089, 0, 0, 346, + 0, 0, 1341, 1341, 1089, 618, 632, 635, 636, 637, + 638, 659, 660, 661, 715, 717, 0, 0, 1267, 1268, + 0, 1254, 894, 882, 1086, 1090, 0, 856, 0, 271, + 319, 0, 319, 319, 1254, 991, 614, 1247, 957, 944, + 1154, 1248, 1251, 958, 0, 1252, 1269, 1329, 1330, 0, + 0, 1028, 0, 0, 0, 0, 0, 0, 981, 885, + 0, 672, 1007, 1053, 1053, 689, 965, 879, 0, 1045, + 1061, 1062, 607, 1117, 0, 0, 0, 0, 0, 1261, + 1136, 898, 0, 716, 0, 0, 0, 1012, 515, 707, + 984, 1115, 742, 0, 0, 560, 1021, 1016, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 328 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 751, 751 ); protected array $gotoCheck = array( - 42, 42, 73, 13, 73, 13, 128, 66, 66, 23, - 23, 23, 23, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 25, 25, 25, 25, 42, 42, 42, + 42, 42, 73, 84, 73, 23, 23, 23, 23, 128, + 84, 162, 162, 25, 25, 25, 25, 162, 9, 162, + 162, 162, 162, 162, 162, 162, 162, 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, @@ -937,101 +948,104 @@ class Php8 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, 9, 15, 131, 174, 48, 156, 26, 15, 48, - 48, 48, 27, 156, 48, 97, 56, 56, 48, 48, - 48, 48, 48, 48, 48, 174, 174, 49, 14, 107, - 107, 107, 107, 65, 107, 65, 188, 188, 14, 14, - 89, 89, 89, 89, 43, 84, 89, 89, 89, 14, - 14, 188, 84, 14, 15, 14, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 22, 15, 154, 154, - 14, 6, 188, 188, 14, 14, 76, 154, 15, 15, - 15, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 24, 24, 24, 24, 46, 73, 46, 73, - 73, 59, 59, 59, 59, 73, 73, 73, 23, 23, - 23, 23, 73, 22, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 45, 12, 73, 73, 73, 73, 178, - 14, 73, 7, 119, 119, 7, 73, 73, 73, 73, - 120, 120, 73, 73, 73, 76, 76, 7, 79, 79, - 14, 7, 79, 79, 79, 187, 79, 19, 73, 19, - 19, 35, 73, 108, 108, 185, 12, 19, 12, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 35, - 83, 14, 35, 76, 76, 76, 76, 76, 76, 76, - 76, 19, 76, 76, 175, 175, 19, 19, 19, 19, - 76, 103, 19, 19, 19, 62, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 176, 176, - 23, 83, 23, 23, 176, 176, 176, 176, 176, 176, - 176, 176, 176, 176, 5, 5, 107, 107, 2, 2, - 177, 177, 104, 22, 155, 14, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 115, 131, 113, 131, - 131, 5, 5, 5, 5, 5, 5, 131, 64, 97, - 97, 184, 184, 179, 179, 9, 9, 9, 9, 179, - 179, 179, 179, 179, 179, 179, 179, 179, 179, 121, - 162, 162, 131, 131, 131, 131, 162, 117, 162, 162, - 162, 162, 162, 162, 162, 162, 29, 20, 86, 86, - 39, 86, 86, 86, 18, 92, 131, 37, 9, 82, - 82, 153, 28, 9, 82, 80, 82, 118, 82, 82, - 82, 166, 82, 110, 118, 82, 160, 130, 160, 82, - 118, 118, 99, 114, 160, 157, 133, 118, 118, 118, - 118, 24, 24, 24, 24, 17, 41, 96, 17, 17, - 20, 20, 149, 20, 146, 146, 146, 131, 138, 20, - 17, -1, -1, 131, 131, 131, 20, -1, 17, -1, - 17, 17, 16, 16, 16, 16, 17, -1, 20, 20, - 20, 8, 8, -1, -1, 16, -1, -1, 17, -1, - -1, 8, 182, 182, 182, -1, 50, 8, 8, 50, - 8, 50, -1, -1, 50, 50, 50, -1, 16, -1, - 9, 9, 93, 93, 93, 9, -1, 9, -1, 9, - 9, 85, 85, 85, -1, -1, -1, -1, -1, -1, - 16, 16, 9, 9, 9, 9, -1, -1, -1, -1, - 9, -1, -1, 9, 9, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 24, 24, -1, 5, 5, - -1, -1, -1, -1, -1, -1, -1, -1, 9, -1, + 42, 15, 5, 5, 48, 154, 154, 15, 48, 48, + 48, 26, 131, 48, 154, 27, 156, 48, 48, 48, + 48, 48, 48, 48, 83, 156, 35, 14, 6, 5, + 5, 5, 5, 5, 5, 188, 188, 14, 14, 97, + 107, 107, 107, 107, 35, 107, 174, 35, 14, 14, + 188, 49, 14, 15, 14, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 83, 15, 174, 174, 14, + 43, 188, 188, 14, 14, 45, 22, 15, 15, 15, + 66, 66, 59, 59, 59, 59, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 56, 56, 73, 73, + 73, 73, 119, 119, 23, 23, 178, 23, 23, 73, + 73, 185, 73, 76, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 22, 187, 73, 73, 73, 73, 14, + 103, 73, 160, 65, 160, 65, 73, 73, 73, 73, + 160, 62, 73, 73, 73, 9, 9, 9, 9, 14, + 24, 24, 24, 24, 146, 146, 146, 104, 73, 108, + 108, 64, 73, 118, 155, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 115, 118, 182, 182, 182, + 14, 113, 118, 118, 76, 76, 120, 120, 9, 118, + 118, 118, 118, 9, 86, 86, 12, 86, 86, 86, + 175, 175, 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 117, 46, 23, 46, 23, 23, + 2, 2, 76, 76, 76, 76, 76, 76, 76, 76, + 121, 76, 76, 93, 93, 93, 5, 5, 12, 76, + 12, 184, 184, 19, 14, 19, 19, 107, 107, 29, + 176, 176, 13, 22, 13, 19, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 18, 131, 39, 131, + 131, 85, 85, 85, 28, 92, 19, 37, 166, 131, + 80, 19, 19, 19, 19, 110, 153, 19, 19, 19, + 9, 9, 7, 97, 97, 9, 7, 9, 130, 9, + 9, 131, 131, 131, 131, 99, 114, 41, 7, 149, + 157, 7, 9, 9, 9, 9, 133, 138, 96, -1, + 9, 177, 177, 9, 9, 131, -1, 177, 177, 177, + 177, 177, 177, 177, 177, 177, 177, -1, -1, -1, + -1, -1, -1, 179, 179, 20, -1, -1, 9, 179, + 179, 179, 179, 179, 179, 179, 179, 179, 179, 82, + 82, -1, -1, -1, 82, -1, 82, 9, 82, 82, + 82, -1, 82, -1, -1, 82, 131, -1, -1, 82, + -1, -1, 131, 131, 131, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, -1, -1, 20, 20, + -1, 20, 16, 16, 16, 16, -1, 20, -1, 24, + 24, -1, 24, 24, 20, 16, 17, 79, 79, 17, + 17, 79, 79, 79, -1, 79, 20, 20, 20, -1, + -1, 17, -1, -1, -1, -1, -1, -1, 16, 17, + -1, 17, 17, 89, 89, 89, 89, 17, -1, 89, + 89, 89, 8, 8, -1, -1, -1, -1, -1, 17, + 16, 16, -1, 8, -1, -1, -1, 50, 8, 8, + 50, 8, 50, -1, -1, 50, 50, 50, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 9 + -1, -1, -1, 24, 24 ); protected array $gotoBase = array( - 0, 0, -323, 0, 0, 393, 208, 285, 543, 138, - 0, 0, -10, -333, -107, -185, 84, 45, 167, 55, - 67, 0, -52, 6, 249, 20, 163, 168, 146, 172, - 0, 0, 0, 0, 0, -54, 0, 139, 0, 152, - 0, 69, -1, 182, 0, 257, -490, 0, -555, 170, - 555, 0, 0, 0, 0, 0, 136, 0, 0, 216, - 0, 0, 323, 0, 192, 180, -228, 0, 0, 0, - 0, 0, 0, -5, 0, 0, -38, 0, 0, -106, - 140, -120, -19, 62, -272, 105, -259, 0, 0, -79, - 0, 0, 151, 280, 0, 0, 68, -315, 0, 89, - 0, 0, 0, 326, 359, 0, 0, 161, 88, 0, - 119, 0, 0, 141, 82, 145, 0, 176, 217, 14, - 17, 159, 0, 0, 0, 0, 0, 0, 4, 0, - 117, 155, 0, 58, 0, 0, 0, 0, -222, 0, - 0, 0, 0, 0, 0, 0, 251, 0, 0, 72, - 0, 0, 0, 127, 194, 162, -99, 59, 0, 0, - -6, 0, 215, 0, 0, 0, 118, 0, 0, 0, - 0, 0, 0, 0, -131, 38, 143, 165, 260, 198, - 0, 0, 264, 0, 53, 295, 0, 284, -109, 0, + 0, 0, -341, 0, 0, 161, 178, 445, 604, 8, + 0, 0, 62, 76, -108, -186, 104, 106, 119, 140, + 105, 0, -42, 2, 307, 10, 167, 171, 98, 115, + 0, 0, 0, 0, 0, -189, 0, 99, 0, 110, + 0, 20, -1, 207, 0, 209, -371, 0, -556, 193, + 615, 0, 0, 0, 0, 0, 216, 0, 0, 197, + 0, 0, 259, 0, 85, 279, 5, 0, 0, 0, + 0, 0, 0, -5, 0, 0, 1, 0, 0, 163, + 95, 184, 21, -94, -474, -55, -373, 0, 0, 324, + 0, 0, 111, 91, 0, 0, 29, -291, 0, 52, + 0, 0, 0, 255, 274, 0, 0, 172, 84, 0, + 71, 0, 0, 64, 45, 61, 0, 93, 59, -17, + 63, 100, 0, 0, 0, 0, 0, 0, 7, 0, + 78, 164, 0, 28, 0, 0, 0, 0, -273, 0, + 0, 0, 0, 0, 0, 0, 43, 0, 0, 19, + 0, 0, 0, 92, 131, 82, -90, 24, 0, 0, + -210, 0, -224, 0, 0, 0, 65, 0, 0, 0, + 0, 0, 0, 0, -89, 44, 175, 246, 237, 268, + 0, 0, 39, 0, 23, 241, 0, 253, -110, 0, 0 ); protected array $gotoDefault = array( -32768, 520, 753, 4, 754, 948, 829, 838, 584, 538, - 714, 347, 633, 428, 1331, 924, 1147, 603, 857, 1274, - 1280, 463, 860, 325, 740, 936, 907, 908, 407, 393, + 714, 347, 633, 428, 1337, 924, 1153, 603, 857, 1280, + 1286, 463, 860, 325, 740, 936, 907, 908, 407, 393, 399, 405, 657, 634, 501, 892, 459, 884, 493, 887, 458, 896, 162, 424, 517, 900, 3, 903, 566, 934, 986, 394, 911, 395, 685, 913, 587, 915, 916, 402, - 408, 409, 1152, 595, 630, 928, 254, 589, 929, 392, - 930, 938, 397, 400, 695, 473, 512, 506, 417, 1116, + 408, 409, 1158, 595, 630, 928, 254, 589, 929, 392, + 930, 938, 397, 400, 695, 473, 512, 506, 417, 1119, 590, 617, 654, 452, 480, 628, 640, 627, 487, 440, 423, 324, 970, 978, 494, 471, 992, 349, 1000, 748, - 1160, 648, 496, 1008, 649, 1015, 1018, 539, 540, 485, - 1030, 270, 1033, 497, 1039, 22, 675, 1044, 1045, 676, - 650, 1067, 651, 677, 652, 1069, 470, 585, 1077, 460, - 1085, 1320, 461, 1089, 263, 1092, 277, 353, 376, 441, - 1099, 1100, 9, 1106, 705, 706, 18, 275, 516, 1131, - 696, 1137, 274, 1140, 457, 1159, 456, 1229, 1231, 567, - 498, 1249, 310, 1252, 688, 513, 1257, 453, 1322, 454, - 541, 481, 332, 542, 1365, 305, 356, 329, 558, 311, - 357, 543, 482, 1328, 1336, 326, 31, 1355, 1366, 600, + 1166, 648, 496, 1008, 649, 1015, 1018, 539, 540, 485, + 1030, 264, 1033, 497, 1042, 23, 675, 1047, 1048, 676, + 650, 1070, 651, 677, 652, 1072, 470, 585, 1080, 460, + 1088, 1326, 461, 1092, 262, 1095, 277, 353, 376, 441, + 1102, 1103, 9, 1109, 705, 706, 19, 273, 516, 1137, + 696, 1143, 272, 1146, 457, 1165, 456, 1235, 1237, 567, + 498, 1255, 310, 1258, 688, 513, 1263, 453, 1328, 454, + 541, 481, 332, 542, 1371, 305, 356, 329, 558, 311, + 357, 543, 482, 1334, 1342, 326, 31, 1361, 1372, 600, 622 ); @@ -1064,19 +1078,19 @@ class Php8 extends \PhpParser\ParserAbstract 98, 99, 99, 100, 101, 101, 102, 102, 103, 103, 55, 55, 51, 51, 105, 53, 53, 106, 52, 52, 54, 54, 64, 64, 64, 64, 81, 81, 109, 109, - 111, 111, 112, 112, 112, 112, 110, 110, 110, 115, - 115, 115, 115, 89, 89, 118, 118, 118, 119, 119, - 116, 116, 120, 120, 122, 122, 123, 123, 117, 124, - 124, 121, 125, 125, 125, 125, 113, 113, 82, 82, - 82, 20, 20, 20, 127, 126, 126, 128, 128, 128, - 128, 60, 129, 129, 130, 61, 132, 132, 133, 133, - 134, 134, 86, 135, 135, 135, 135, 135, 135, 135, - 135, 141, 141, 142, 142, 143, 143, 143, 143, 143, - 144, 145, 145, 140, 140, 136, 136, 139, 139, 147, - 147, 146, 146, 146, 146, 146, 146, 146, 137, 148, - 148, 150, 149, 149, 138, 138, 114, 114, 151, 151, - 153, 153, 153, 152, 152, 62, 104, 154, 154, 56, - 56, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 111, 111, 112, 112, 112, 112, 112, 112, 112, 110, + 110, 110, 115, 115, 115, 115, 89, 89, 118, 118, + 118, 119, 119, 116, 116, 120, 120, 122, 122, 123, + 123, 117, 124, 124, 121, 125, 125, 125, 125, 113, + 113, 82, 82, 82, 20, 20, 20, 127, 126, 126, + 128, 128, 128, 128, 60, 129, 129, 130, 61, 132, + 132, 133, 133, 134, 134, 86, 135, 135, 135, 135, + 135, 135, 135, 135, 141, 141, 142, 142, 143, 143, + 143, 143, 143, 144, 145, 145, 140, 140, 136, 136, + 139, 139, 147, 147, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 137, 148, 148, 150, 149, 149, + 138, 138, 114, 114, 151, 151, 153, 153, 153, 152, + 152, 62, 104, 154, 154, 56, 56, 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, @@ -1085,20 +1099,21 @@ class Php8 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, 161, 162, 162, 163, 155, - 155, 160, 160, 164, 165, 165, 166, 167, 168, 168, - 168, 168, 19, 19, 73, 73, 73, 73, 156, 156, - 156, 156, 170, 170, 159, 159, 159, 157, 157, 176, - 176, 176, 176, 176, 176, 176, 176, 176, 176, 177, - 177, 177, 108, 179, 179, 179, 179, 158, 158, 158, - 158, 158, 158, 158, 158, 59, 59, 173, 173, 173, - 173, 173, 180, 180, 169, 169, 169, 169, 181, 181, - 181, 181, 181, 74, 74, 66, 66, 66, 66, 131, - 131, 131, 131, 184, 183, 172, 172, 172, 172, 172, - 172, 171, 171, 171, 182, 182, 182, 182, 107, 178, - 186, 186, 185, 185, 187, 187, 187, 187, 187, 187, - 187, 187, 175, 175, 175, 175, 174, 189, 188, 188, - 188, 188, 188, 188, 188, 188, 190, 190, 190, 190 + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 161, 162, 162, 163, 155, 155, 160, 160, 164, + 165, 165, 166, 167, 168, 168, 168, 168, 19, 19, + 73, 73, 73, 73, 156, 156, 156, 156, 170, 170, + 159, 159, 159, 157, 157, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 177, 177, 177, 108, 179, + 179, 179, 179, 158, 158, 158, 158, 158, 158, 158, + 158, 59, 59, 173, 173, 173, 173, 173, 180, 180, + 169, 169, 169, 169, 181, 181, 181, 181, 181, 74, + 74, 66, 66, 66, 66, 131, 131, 131, 131, 184, + 183, 172, 172, 172, 172, 172, 172, 171, 171, 171, + 182, 182, 182, 182, 107, 178, 186, 186, 185, 185, + 187, 187, 187, 187, 187, 187, 187, 187, 175, 175, + 175, 175, 174, 189, 188, 188, 188, 188, 188, 188, + 188, 188, 190, 190, 190, 190 ); protected array $ruleToLength = array( @@ -1130,41 +1145,42 @@ class Php8 extends \PhpParser\ParserAbstract 3, 1, 1, 7, 0, 2, 1, 3, 3, 4, 1, 4, 0, 2, 5, 0, 2, 6, 0, 2, 0, 3, 1, 2, 1, 1, 2, 0, 1, 3, - 0, 2, 1, 1, 1, 1, 7, 9, 6, 1, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 3, 3, 1, 3, 3, 3, 3, 3, 1, 3, - 3, 1, 1, 2, 1, 1, 0, 1, 0, 2, - 2, 2, 4, 3, 1, 1, 3, 1, 2, 2, - 3, 2, 3, 1, 1, 2, 3, 1, 1, 3, - 2, 0, 1, 5, 7, 5, 6, 10, 3, 5, - 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, 1, 2, 1, - 3, 1, 1, 3, 0, 2, 0, 3, 5, 8, - 1, 3, 3, 0, 2, 2, 2, 3, 1, 0, - 1, 1, 3, 3, 3, 4, 4, 1, 1, 2, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, + 0, 2, 1, 1, 1, 1, 1, 1, 1, 7, + 9, 6, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 3, 3, 3, 1, 3, 3, 3, 3, + 3, 1, 3, 3, 1, 1, 2, 1, 1, 0, + 1, 0, 2, 2, 2, 4, 3, 1, 1, 3, + 1, 2, 2, 3, 2, 3, 1, 1, 2, 3, + 1, 1, 3, 2, 0, 1, 5, 7, 5, 6, + 10, 3, 5, 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, + 1, 1, 1, 1, 2, 1, 3, 1, 1, 3, + 0, 2, 0, 3, 5, 8, 1, 3, 3, 0, + 2, 2, 2, 3, 1, 0, 1, 1, 3, 3, + 3, 4, 4, 1, 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, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 5, 4, 3, 4, 4, 2, 2, 4, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, - 3, 2, 1, 2, 4, 2, 2, 8, 9, 8, - 9, 9, 10, 9, 10, 8, 3, 2, 2, 1, - 1, 0, 4, 2, 1, 3, 2, 1, 2, 2, - 2, 4, 1, 1, 1, 1, 1, 1, 1, 1, - 3, 1, 1, 1, 0, 1, 1, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 5, 3, 3, 4, 1, 1, 3, 1, 1, 1, - 1, 1, 3, 2, 3, 0, 1, 1, 3, 1, - 1, 1, 1, 1, 1, 3, 1, 1, 1, 4, - 1, 4, 4, 0, 1, 1, 1, 3, 3, 1, - 4, 2, 2, 1, 3, 1, 4, 3, 3, 3, - 3, 1, 3, 1, 1, 3, 1, 1, 4, 1, - 1, 1, 3, 1, 1, 2, 1, 3, 4, 3, - 2, 0, 2, 2, 1, 2, 1, 1, 1, 4, - 3, 3, 3, 3, 6, 3, 1, 1, 2, 1 + 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 5, 4, 3, 4, + 4, 2, 2, 4, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 1, 3, 2, 1, 2, + 4, 2, 2, 8, 9, 8, 9, 9, 10, 9, + 10, 8, 3, 2, 2, 1, 1, 0, 4, 2, + 1, 3, 2, 1, 2, 2, 2, 4, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, + 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 5, 3, 3, 4, + 1, 1, 3, 1, 1, 1, 1, 1, 3, 2, + 3, 0, 1, 1, 3, 1, 1, 1, 1, 1, + 1, 3, 1, 1, 1, 4, 1, 4, 4, 0, + 1, 1, 1, 3, 3, 1, 4, 2, 2, 1, + 3, 1, 4, 3, 3, 3, 3, 1, 3, 1, + 1, 3, 1, 1, 4, 1, 1, 1, 3, 1, + 1, 2, 1, 3, 4, 3, 2, 0, 2, 2, + 1, 2, 1, 1, 1, 4, 3, 3, 3, 3, + 6, 3, 1, 1, 2, 1 ); protected function initReduceCallbacks(): void { @@ -1822,68 +1838,68 @@ protected function initReduceCallbacks(): void { $self->semValue = Modifiers::PRIVATE; }, 285 => static function ($self, $stackPos) { - $self->semValue = Modifiers::READONLY; + $self->semValue = Modifiers::PUBLIC_SET; }, 286 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PROTECTED_SET; + }, + 287 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PRIVATE_SET; + }, + 288 => static function ($self, $stackPos) { + $self->semValue = Modifiers::READONLY; + }, + 289 => static function ($self, $stackPos) { $self->semValue = new Node\Param($self->semStack[$stackPos-(7-6)], null, $self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-4)], $self->semStack[$stackPos-(7-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(7-2)], $self->semStack[$stackPos-(7-1)], $self->semStack[$stackPos-(7-7)]); $self->checkParam($self->semValue); }, - 287 => static function ($self, $stackPos) { + 290 => static function ($self, $stackPos) { $self->semValue = new Node\Param($self->semStack[$stackPos-(9-6)], $self->semStack[$stackPos-(9-8)], $self->semStack[$stackPos-(9-3)], $self->semStack[$stackPos-(9-4)], $self->semStack[$stackPos-(9-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(9-2)], $self->semStack[$stackPos-(9-1)], $self->semStack[$stackPos-(9-9)]); $self->checkParam($self->semValue); }, - 288 => static function ($self, $stackPos) { + 291 => static function ($self, $stackPos) { $self->semValue = new Node\Param(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])), null, $self->semStack[$stackPos-(6-3)], $self->semStack[$stackPos-(6-4)], $self->semStack[$stackPos-(6-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-1)]); }, - 289 => null, - 290 => static function ($self, $stackPos) { + 292 => null, + 293 => static function ($self, $stackPos) { $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 291 => static function ($self, $stackPos) { + 294 => static function ($self, $stackPos) { $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 292 => null, - 293 => null, - 294 => static function ($self, $stackPos) { + 295 => null, + 296 => null, + 297 => static function ($self, $stackPos) { $self->semValue = new Node\Name('static', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 295 => static function ($self, $stackPos) { + 298 => static function ($self, $stackPos) { $self->semValue = $self->handleBuiltinTypes($self->semStack[$stackPos-(1-1)]); }, - 296 => static function ($self, $stackPos) { + 299 => static function ($self, $stackPos) { $self->semValue = new Node\Identifier('array', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 297 => static function ($self, $stackPos) { + 300 => static function ($self, $stackPos) { $self->semValue = new Node\Identifier('callable', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 298 => null, - 299 => static function ($self, $stackPos) { + 301 => null, + 302 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 300 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); - }, - 301 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; - }, - 302 => null, 303 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; - }, - 304 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 305 => static function ($self, $stackPos) { + 304 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, + 305 => null, 306 => static function ($self, $stackPos) { - $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); + $self->semValue = $self->semStack[$stackPos-(3-2)]; }, 307 => static function ($self, $stackPos) { - $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, 308 => static function ($self, $stackPos) { - $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, 309 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); @@ -1894,872 +1910,890 @@ protected function initReduceCallbacks(): void { 311 => static function ($self, $stackPos) { $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 312 => null, + 312 => static function ($self, $stackPos) { + $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); + }, 313 => static function ($self, $stackPos) { - $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, 314 => static function ($self, $stackPos) { - $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + $self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, 315 => null, 316 => static function ($self, $stackPos) { + $self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); + }, + 317 => static function ($self, $stackPos) { + $self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); + }, + 318 => null, + 319 => static function ($self, $stackPos) { $self->semValue = null; }, - 317 => null, - 318 => static function ($self, $stackPos) { + 320 => null, + 321 => static function ($self, $stackPos) { $self->semValue = null; }, - 319 => static function ($self, $stackPos) { + 322 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(2-2)]; }, - 320 => static function ($self, $stackPos) { + 323 => static function ($self, $stackPos) { $self->semValue = null; }, - 321 => static function ($self, $stackPos) { + 324 => static function ($self, $stackPos) { $self->semValue = array(); }, - 322 => static function ($self, $stackPos) { + 325 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-2)]; }, - 323 => static function ($self, $stackPos) { + 326 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-2)]); }, - 324 => static function ($self, $stackPos) { + 327 => static function ($self, $stackPos) { $self->semValue = new Node\VariadicPlaceholder($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 325 => static function ($self, $stackPos) { + 328 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 326 => static function ($self, $stackPos) { + 329 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 327 => static function ($self, $stackPos) { + 330 => static function ($self, $stackPos) { $self->semValue = new Node\Arg($self->semStack[$stackPos-(1-1)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 328 => static function ($self, $stackPos) { + 331 => static function ($self, $stackPos) { $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], true, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 329 => static function ($self, $stackPos) { + 332 => static function ($self, $stackPos) { $self->semValue = new Node\Arg($self->semStack[$stackPos-(2-2)], false, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 330 => static function ($self, $stackPos) { + 333 => static function ($self, $stackPos) { $self->semValue = new Node\Arg($self->semStack[$stackPos-(3-3)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(3-1)]); }, - 331 => null, - 332 => static function ($self, $stackPos) { + 334 => null, + 335 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 333 => static function ($self, $stackPos) { + 336 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 334 => null, - 335 => null, - 336 => static function ($self, $stackPos) { + 337 => null, + 338 => null, + 339 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 337 => static function ($self, $stackPos) { + 340 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 338 => static function ($self, $stackPos) { + 341 => static function ($self, $stackPos) { $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 339 => static function ($self, $stackPos) { + 342 => static function ($self, $stackPos) { $self->semValue = new Node\StaticVar($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 340 => static function ($self, $stackPos) { + 343 => static function ($self, $stackPos) { if ($self->semStack[$stackPos-(2-2)] !== null) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; } else { $self->semValue = $self->semStack[$stackPos-(2-1)]; } }, - 341 => static function ($self, $stackPos) { + 344 => static function ($self, $stackPos) { $self->semValue = array(); }, - 342 => static function ($self, $stackPos) { + 345 => static function ($self, $stackPos) { $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);; if ($nop !== null) { $self->semStack[$stackPos-(1-1)][] = $nop; } $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 343 => static function ($self, $stackPos) { + 346 => static function ($self, $stackPos) { $self->semValue = new Stmt\Property($self->semStack[$stackPos-(5-2)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-1)]); }, - 344 => static function ($self, $stackPos) { + 347 => static function ($self, $stackPos) { $self->semValue = new Stmt\Property($self->semStack[$stackPos-(7-2)], $self->semStack[$stackPos-(7-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(7-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(7-3)], $self->semStack[$stackPos-(7-1)], $self->semStack[$stackPos-(7-6)]); $self->checkPropertyHookList($self->semStack[$stackPos-(7-6)], $stackPos-(7-5)); }, - 345 => static function ($self, $stackPos) { + 348 => static function ($self, $stackPos) { $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(5-1)]); $self->checkClassConst($self->semValue, $stackPos-(5-2)); }, - 346 => static function ($self, $stackPos) { + 349 => static function ($self, $stackPos) { $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos-(6-5)], $self->semStack[$stackPos-(6-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(6-1)], $self->semStack[$stackPos-(6-4)]); $self->checkClassConst($self->semValue, $stackPos-(6-2)); }, - 347 => static function ($self, $stackPos) { + 350 => static function ($self, $stackPos) { $self->semValue = new Stmt\ClassMethod($self->semStack[$stackPos-(10-5)], ['type' => $self->semStack[$stackPos-(10-2)], 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-7)], 'returnType' => $self->semStack[$stackPos-(10-9)], 'stmts' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); $self->checkClassMethod($self->semValue, $stackPos-(10-2)); }, - 348 => static function ($self, $stackPos) { + 351 => static function ($self, $stackPos) { $self->semValue = new Stmt\TraitUse($self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 349 => static function ($self, $stackPos) { + 352 => static function ($self, $stackPos) { $self->semValue = new Stmt\EnumCase($self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 350 => static function ($self, $stackPos) { + 353 => static function ($self, $stackPos) { $self->semValue = null; /* will be skipped */ }, - 351 => static function ($self, $stackPos) { + 354 => static function ($self, $stackPos) { $self->semValue = array(); }, - 352 => static function ($self, $stackPos) { + 355 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 353 => static function ($self, $stackPos) { + 356 => static function ($self, $stackPos) { $self->semValue = array(); }, - 354 => static function ($self, $stackPos) { + 357 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 355 => static function ($self, $stackPos) { + 358 => static function ($self, $stackPos) { $self->semValue = new Stmt\TraitUseAdaptation\Precedence($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 356 => static function ($self, $stackPos) { + 359 => static function ($self, $stackPos) { $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(5-1)][0], $self->semStack[$stackPos-(5-1)][1], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 357 => static function ($self, $stackPos) { + 360 => static function ($self, $stackPos) { $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], $self->semStack[$stackPos-(4-3)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 358 => static function ($self, $stackPos) { + 361 => static function ($self, $stackPos) { $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 359 => static function ($self, $stackPos) { + 362 => static function ($self, $stackPos) { $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos-(4-1)][0], $self->semStack[$stackPos-(4-1)][1], null, $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 360 => static function ($self, $stackPos) { + 363 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]); }, - 361 => null, - 362 => static function ($self, $stackPos) { + 364 => null, + 365 => static function ($self, $stackPos) { $self->semValue = array(null, $self->semStack[$stackPos-(1-1)]); }, - 363 => static function ($self, $stackPos) { + 366 => static function ($self, $stackPos) { $self->semValue = null; }, - 364 => null, - 365 => null, - 366 => static function ($self, $stackPos) { + 367 => null, + 368 => null, + 369 => static function ($self, $stackPos) { $self->semValue = 0; }, - 367 => static function ($self, $stackPos) { + 370 => static function ($self, $stackPos) { $self->semValue = 0; }, - 368 => null, - 369 => null, - 370 => static function ($self, $stackPos) { + 371 => null, + 372 => null, + 373 => static function ($self, $stackPos) { $self->checkModifier($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 371 => static function ($self, $stackPos) { + 374 => static function ($self, $stackPos) { $self->semValue = Modifiers::PUBLIC; }, - 372 => static function ($self, $stackPos) { + 375 => static function ($self, $stackPos) { $self->semValue = Modifiers::PROTECTED; }, - 373 => static function ($self, $stackPos) { + 376 => static function ($self, $stackPos) { $self->semValue = Modifiers::PRIVATE; }, - 374 => static function ($self, $stackPos) { + 377 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PUBLIC_SET; + }, + 378 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PROTECTED_SET; + }, + 379 => static function ($self, $stackPos) { + $self->semValue = Modifiers::PRIVATE_SET; + }, + 380 => static function ($self, $stackPos) { $self->semValue = Modifiers::STATIC; }, - 375 => static function ($self, $stackPos) { + 381 => static function ($self, $stackPos) { $self->semValue = Modifiers::ABSTRACT; }, - 376 => static function ($self, $stackPos) { + 382 => static function ($self, $stackPos) { $self->semValue = Modifiers::FINAL; }, - 377 => static function ($self, $stackPos) { + 383 => static function ($self, $stackPos) { $self->semValue = Modifiers::READONLY; }, - 378 => null, - 379 => static function ($self, $stackPos) { + 384 => null, + 385 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 380 => static function ($self, $stackPos) { + 386 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 381 => static function ($self, $stackPos) { + 387 => static function ($self, $stackPos) { $self->semValue = new Node\VarLikeIdentifier(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 382 => static function ($self, $stackPos) { + 388 => static function ($self, $stackPos) { $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(1-1)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 383 => static function ($self, $stackPos) { + 389 => static function ($self, $stackPos) { $self->semValue = new Node\PropertyItem($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 384 => static function ($self, $stackPos) { + 390 => static function ($self, $stackPos) { $self->semValue = []; }, - 385 => static function ($self, $stackPos) { + 391 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 386 => static function ($self, $stackPos) { + 392 => static function ($self, $stackPos) { $self->semValue = []; }, - 387 => static function ($self, $stackPos) { + 393 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; $self->checkPropertyHookList($self->semStack[$stackPos-(3-2)], $stackPos-(3-1)); }, - 388 => static function ($self, $stackPos) { + 394 => static function ($self, $stackPos) { $self->semValue = new Node\PropertyHook($self->semStack[$stackPos-(5-4)], $self->semStack[$stackPos-(5-5)], ['flags' => $self->semStack[$stackPos-(5-2)], 'byRef' => $self->semStack[$stackPos-(5-3)], 'params' => [], 'attrGroups' => $self->semStack[$stackPos-(5-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); $self->checkPropertyHook($self->semValue, null); }, - 389 => static function ($self, $stackPos) { + 395 => static function ($self, $stackPos) { $self->semValue = new Node\PropertyHook($self->semStack[$stackPos-(8-4)], $self->semStack[$stackPos-(8-8)], ['flags' => $self->semStack[$stackPos-(8-2)], 'byRef' => $self->semStack[$stackPos-(8-3)], 'params' => $self->semStack[$stackPos-(8-6)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); $self->checkPropertyHook($self->semValue, $stackPos-(8-5)); }, - 390 => static function ($self, $stackPos) { + 396 => static function ($self, $stackPos) { $self->semValue = null; }, - 391 => static function ($self, $stackPos) { + 397 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 392 => static function ($self, $stackPos) { + 398 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 393 => static function ($self, $stackPos) { + 399 => static function ($self, $stackPos) { $self->semValue = 0; }, - 394 => static function ($self, $stackPos) { + 400 => static function ($self, $stackPos) { $self->checkPropertyHookModifiers($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $self->semValue = $self->semStack[$stackPos-(2-1)] | $self->semStack[$stackPos-(2-2)]; }, - 395 => null, - 396 => null, - 397 => static function ($self, $stackPos) { + 401 => null, + 402 => null, + 403 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 398 => static function ($self, $stackPos) { + 404 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 399 => static function ($self, $stackPos) { + 405 => static function ($self, $stackPos) { $self->semValue = array(); }, - 400 => null, - 401 => null, - 402 => static function ($self, $stackPos) { + 406 => null, + 407 => null, + 408 => static function ($self, $stackPos) { $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 403 => static function ($self, $stackPos) { + 409 => static function ($self, $stackPos) { $self->semValue = new Expr\Assign($self->fixupArrayDestructuring($self->semStack[$stackPos-(3-1)]), $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 404 => static function ($self, $stackPos) { + 410 => static function ($self, $stackPos) { $self->semValue = new Expr\Assign($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 405 => static function ($self, $stackPos) { + 411 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignRef($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 406 => static function ($self, $stackPos) { + 412 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignRef($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); if (!$self->phpVersion->allowsAssignNewByReference()) { $self->emitError(new Error('Cannot assign new by reference', $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]))); } }, - 407 => null, - 408 => null, - 409 => static function ($self, $stackPos) { + 413 => null, + 414 => null, + 415 => static function ($self, $stackPos) { $self->semValue = new Expr\Clone_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 410 => static function ($self, $stackPos) { + 416 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 411 => static function ($self, $stackPos) { + 417 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 412 => static function ($self, $stackPos) { + 418 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 413 => static function ($self, $stackPos) { + 419 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 414 => static function ($self, $stackPos) { + 420 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 415 => static function ($self, $stackPos) { + 421 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 416 => static function ($self, $stackPos) { + 422 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 417 => static function ($self, $stackPos) { + 423 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 418 => static function ($self, $stackPos) { + 424 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 419 => static function ($self, $stackPos) { + 425 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 420 => static function ($self, $stackPos) { + 426 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 421 => static function ($self, $stackPos) { + 427 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 422 => static function ($self, $stackPos) { + 428 => static function ($self, $stackPos) { $self->semValue = new Expr\AssignOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 423 => static function ($self, $stackPos) { + 429 => static function ($self, $stackPos) { $self->semValue = new Expr\PostInc($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 424 => static function ($self, $stackPos) { + 430 => static function ($self, $stackPos) { $self->semValue = new Expr\PreInc($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 425 => static function ($self, $stackPos) { + 431 => static function ($self, $stackPos) { $self->semValue = new Expr\PostDec($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 426 => static function ($self, $stackPos) { + 432 => static function ($self, $stackPos) { $self->semValue = new Expr\PreDec($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 427 => static function ($self, $stackPos) { + 433 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BooleanOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 428 => static function ($self, $stackPos) { + 434 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BooleanAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 429 => static function ($self, $stackPos) { + 435 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\LogicalOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 430 => static function ($self, $stackPos) { + 436 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\LogicalAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 431 => static function ($self, $stackPos) { + 437 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\LogicalXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 432 => static function ($self, $stackPos) { + 438 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BitwiseOr($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 433 => static function ($self, $stackPos) { + 439 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 434 => static function ($self, $stackPos) { + 440 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 435 => static function ($self, $stackPos) { + 441 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\BitwiseXor($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 436 => static function ($self, $stackPos) { + 442 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Concat($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 437 => static function ($self, $stackPos) { + 443 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Plus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 438 => static function ($self, $stackPos) { + 444 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Minus($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 439 => static function ($self, $stackPos) { + 445 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Mul($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 440 => static function ($self, $stackPos) { + 446 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Div($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 441 => static function ($self, $stackPos) { + 447 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Mod($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 442 => static function ($self, $stackPos) { + 448 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\ShiftLeft($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 443 => static function ($self, $stackPos) { + 449 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\ShiftRight($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 444 => static function ($self, $stackPos) { + 450 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Pow($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 445 => static function ($self, $stackPos) { + 451 => static function ($self, $stackPos) { $self->semValue = new Expr\UnaryPlus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 446 => static function ($self, $stackPos) { + 452 => static function ($self, $stackPos) { $self->semValue = new Expr\UnaryMinus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 447 => static function ($self, $stackPos) { + 453 => static function ($self, $stackPos) { $self->semValue = new Expr\BooleanNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 448 => static function ($self, $stackPos) { + 454 => static function ($self, $stackPos) { $self->semValue = new Expr\BitwiseNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 449 => static function ($self, $stackPos) { + 455 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Identical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 450 => static function ($self, $stackPos) { + 456 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\NotIdentical($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 451 => static function ($self, $stackPos) { + 457 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Equal($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 452 => static function ($self, $stackPos) { + 458 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\NotEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 453 => static function ($self, $stackPos) { + 459 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Spaceship($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 454 => static function ($self, $stackPos) { + 460 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Smaller($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 455 => static function ($self, $stackPos) { + 461 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\SmallerOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 456 => static function ($self, $stackPos) { + 462 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Greater($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 457 => static function ($self, $stackPos) { + 463 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\GreaterOrEqual($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 458 => static function ($self, $stackPos) { + 464 => static function ($self, $stackPos) { $self->semValue = new Expr\Instanceof_($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 459 => static function ($self, $stackPos) { + 465 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 460 => static function ($self, $stackPos) { + 466 => static function ($self, $stackPos) { $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-3)], $self->semStack[$stackPos-(5-5)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 461 => static function ($self, $stackPos) { + 467 => static function ($self, $stackPos) { $self->semValue = new Expr\Ternary($self->semStack[$stackPos-(4-1)], null, $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 462 => static function ($self, $stackPos) { + 468 => static function ($self, $stackPos) { $self->semValue = new Expr\BinaryOp\Coalesce($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 463 => static function ($self, $stackPos) { + 469 => static function ($self, $stackPos) { $self->semValue = new Expr\Isset_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 464 => static function ($self, $stackPos) { + 470 => static function ($self, $stackPos) { $self->semValue = new Expr\Empty_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 465 => static function ($self, $stackPos) { + 471 => static function ($self, $stackPos) { $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 466 => static function ($self, $stackPos) { + 472 => static function ($self, $stackPos) { $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 467 => static function ($self, $stackPos) { + 473 => static function ($self, $stackPos) { $self->semValue = new Expr\Eval_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 468 => static function ($self, $stackPos) { + 474 => static function ($self, $stackPos) { $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 469 => static function ($self, $stackPos) { + 475 => static function ($self, $stackPos) { $self->semValue = new Expr\Include_($self->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 470 => static function ($self, $stackPos) { + 476 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Int_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 471 => static function ($self, $stackPos) { + 477 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = $self->getFloatCastKind($self->semStack[$stackPos-(2-1)]); $self->semValue = new Expr\Cast\Double($self->semStack[$stackPos-(2-2)], $attrs); }, - 472 => static function ($self, $stackPos) { + 478 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\String_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 473 => static function ($self, $stackPos) { + 479 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Array_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 474 => static function ($self, $stackPos) { + 480 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Object_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 475 => static function ($self, $stackPos) { + 481 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Bool_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 476 => static function ($self, $stackPos) { + 482 => static function ($self, $stackPos) { $self->semValue = new Expr\Cast\Unset_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 477 => static function ($self, $stackPos) { + 483 => static function ($self, $stackPos) { $self->semValue = $self->createExitExpr($self->semStack[$stackPos-(2-1)], $stackPos-(2-1), $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 478 => static function ($self, $stackPos) { + 484 => static function ($self, $stackPos) { $self->semValue = new Expr\ErrorSuppress($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 479 => null, - 480 => static function ($self, $stackPos) { + 485 => null, + 486 => static function ($self, $stackPos) { $self->semValue = new Expr\ShellExec($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 481 => static function ($self, $stackPos) { + 487 => static function ($self, $stackPos) { $self->semValue = new Expr\Print_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 482 => static function ($self, $stackPos) { + 488 => static function ($self, $stackPos) { $self->semValue = new Expr\Yield_(null, null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 483 => static function ($self, $stackPos) { + 489 => static function ($self, $stackPos) { $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(2-2)], null, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 484 => static function ($self, $stackPos) { + 490 => static function ($self, $stackPos) { $self->semValue = new Expr\Yield_($self->semStack[$stackPos-(4-4)], $self->semStack[$stackPos-(4-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 485 => static function ($self, $stackPos) { + 491 => static function ($self, $stackPos) { $self->semValue = new Expr\YieldFrom($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 486 => static function ($self, $stackPos) { + 492 => static function ($self, $stackPos) { $self->semValue = new Expr\Throw_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 487 => static function ($self, $stackPos) { + 493 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-4)], 'returnType' => $self->semStack[$stackPos-(8-6)], 'expr' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 488 => static function ($self, $stackPos) { + 494 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'returnType' => $self->semStack[$stackPos-(9-7)], 'expr' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 489 => static function ($self, $stackPos) { + 495 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => false, 'byRef' => $self->semStack[$stackPos-(8-2)], 'params' => $self->semStack[$stackPos-(8-4)], 'uses' => $self->semStack[$stackPos-(8-6)], 'returnType' => $self->semStack[$stackPos-(8-7)], 'stmts' => $self->semStack[$stackPos-(8-8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])); }, - 490 => static function ($self, $stackPos) { + 496 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => true, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'uses' => $self->semStack[$stackPos-(9-7)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 491 => static function ($self, $stackPos) { + 497 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'returnType' => $self->semStack[$stackPos-(9-7)], 'expr' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 492 => static function ($self, $stackPos) { + 498 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-6)], 'returnType' => $self->semStack[$stackPos-(10-8)], 'expr' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 493 => static function ($self, $stackPos) { + 499 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => false, 'byRef' => $self->semStack[$stackPos-(9-3)], 'params' => $self->semStack[$stackPos-(9-5)], 'uses' => $self->semStack[$stackPos-(9-7)], 'returnType' => $self->semStack[$stackPos-(9-8)], 'stmts' => $self->semStack[$stackPos-(9-9)], 'attrGroups' => $self->semStack[$stackPos-(9-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(9-1)], $self->tokenEndStack[$stackPos])); }, - 494 => static function ($self, $stackPos) { + 500 => static function ($self, $stackPos) { $self->semValue = new Expr\Closure(['static' => true, 'byRef' => $self->semStack[$stackPos-(10-4)], 'params' => $self->semStack[$stackPos-(10-6)], 'uses' => $self->semStack[$stackPos-(10-8)], 'returnType' => $self->semStack[$stackPos-(10-9)], 'stmts' => $self->semStack[$stackPos-(10-10)], 'attrGroups' => $self->semStack[$stackPos-(10-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(10-1)], $self->tokenEndStack[$stackPos])); }, - 495 => static function ($self, $stackPos) { + 501 => static function ($self, $stackPos) { $self->semValue = array(new Stmt\Class_(null, ['type' => $self->semStack[$stackPos-(8-2)], 'extends' => $self->semStack[$stackPos-(8-4)], 'implements' => $self->semStack[$stackPos-(8-5)], 'stmts' => $self->semStack[$stackPos-(8-7)], 'attrGroups' => $self->semStack[$stackPos-(8-1)]], $self->getAttributes($self->tokenStartStack[$stackPos-(8-1)], $self->tokenEndStack[$stackPos])), $self->semStack[$stackPos-(8-3)]); $self->checkClass($self->semValue[0], -1); }, - 496 => static function ($self, $stackPos) { + 502 => static function ($self, $stackPos) { $self->semValue = new Expr\New_($self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 497 => static function ($self, $stackPos) { + 503 => static function ($self, $stackPos) { list($class, $ctorArgs) = $self->semStack[$stackPos-(2-2)]; $self->semValue = new Expr\New_($class, $ctorArgs, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 498 => static function ($self, $stackPos) { + 504 => static function ($self, $stackPos) { $self->semValue = new Expr\New_($self->semStack[$stackPos-(2-2)], [], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 499 => null, - 500 => null, - 501 => static function ($self, $stackPos) { + 505 => null, + 506 => null, + 507 => static function ($self, $stackPos) { $self->semValue = array(); }, - 502 => static function ($self, $stackPos) { + 508 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(4-3)]; }, - 503 => null, - 504 => static function ($self, $stackPos) { + 509 => null, + 510 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 505 => static function ($self, $stackPos) { + 511 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 506 => static function ($self, $stackPos) { + 512 => static function ($self, $stackPos) { $self->semValue = new Node\ClosureUse($self->semStack[$stackPos-(2-2)], $self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 507 => static function ($self, $stackPos) { + 513 => static function ($self, $stackPos) { $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 508 => static function ($self, $stackPos) { + 514 => static function ($self, $stackPos) { $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 509 => static function ($self, $stackPos) { + 515 => static function ($self, $stackPos) { $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 510 => static function ($self, $stackPos) { + 516 => static function ($self, $stackPos) { $self->semValue = new Expr\FuncCall($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 511 => static function ($self, $stackPos) { + 517 => static function ($self, $stackPos) { $self->semValue = new Expr\StaticCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 512 => static function ($self, $stackPos) { + 518 => static function ($self, $stackPos) { $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 513 => null, - 514 => static function ($self, $stackPos) { + 519 => null, + 520 => static function ($self, $stackPos) { $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 515 => static function ($self, $stackPos) { + 521 => static function ($self, $stackPos) { $self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 516 => static function ($self, $stackPos) { + 522 => static function ($self, $stackPos) { $self->semValue = new Name\FullyQualified(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 517 => static function ($self, $stackPos) { + 523 => static function ($self, $stackPos) { $self->semValue = new Name\Relative(substr($self->semStack[$stackPos-(1-1)], 10), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 518 => null, - 519 => null, - 520 => static function ($self, $stackPos) { + 524 => null, + 525 => null, + 526 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 521 => static function ($self, $stackPos) { + 527 => static function ($self, $stackPos) { $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 522 => null, - 523 => null, - 524 => static function ($self, $stackPos) { + 528 => null, + 529 => null, + 530 => static function ($self, $stackPos) { $self->semValue = array(); }, - 525 => static function ($self, $stackPos) { + 531 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); foreach ($self->semValue as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; }, - 526 => static function ($self, $stackPos) { + 532 => static function ($self, $stackPos) { foreach ($self->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes()); } }; $self->semValue = $self->semStack[$stackPos-(1-1)]; }, - 527 => static function ($self, $stackPos) { + 533 => static function ($self, $stackPos) { $self->semValue = array(); }, - 528 => null, - 529 => static function ($self, $stackPos) { + 534 => null, + 535 => static function ($self, $stackPos) { $self->semValue = new Expr\ConstFetch($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 530 => static function ($self, $stackPos) { + 536 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Line($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 531 => static function ($self, $stackPos) { + 537 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\File($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 532 => static function ($self, $stackPos) { + 538 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Dir($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 533 => static function ($self, $stackPos) { + 539 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Class_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 534 => static function ($self, $stackPos) { + 540 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Trait_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 535 => static function ($self, $stackPos) { + 541 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Method($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 536 => static function ($self, $stackPos) { + 542 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Function_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 537 => static function ($self, $stackPos) { + 543 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Namespace_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 538 => static function ($self, $stackPos) { + 544 => static function ($self, $stackPos) { $self->semValue = new Scalar\MagicConst\Property($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 539 => static function ($self, $stackPos) { + 545 => static function ($self, $stackPos) { $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 540 => static function ($self, $stackPos) { + 546 => static function ($self, $stackPos) { $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(5-1)], $self->semStack[$stackPos-(5-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos])); }, - 541 => static function ($self, $stackPos) { + 547 => static function ($self, $stackPos) { $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos-(3-1)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)])), $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 542 => static function ($self, $stackPos) { + 548 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_SHORT; $self->semValue = new Expr\Array_($self->semStack[$stackPos-(3-2)], $attrs); }, - 543 => static function ($self, $stackPos) { + 549 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Expr\Array_::KIND_LONG; $self->semValue = new Expr\Array_($self->semStack[$stackPos-(4-3)], $attrs); $self->createdArrays->attach($self->semValue); }, - 544 => static function ($self, $stackPos) { + 550 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(1-1)]; $self->createdArrays->attach($self->semValue); }, - 545 => static function ($self, $stackPos) { + 551 => static function ($self, $stackPos) { $self->semValue = Scalar\String_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->supportsUnicodeEscapes()); }, - 546 => static function ($self, $stackPos) { + 552 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; foreach ($self->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', $self->phpVersion->supportsUnicodeEscapes()); } }; $self->semValue = new Scalar\InterpolatedString($self->semStack[$stackPos-(3-2)], $attrs); }, - 547 => static function ($self, $stackPos) { + 553 => static function ($self, $stackPos) { $self->semValue = $self->parseLNumber($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->allowsInvalidOctals()); }, - 548 => static function ($self, $stackPos) { + 554 => static function ($self, $stackPos) { $self->semValue = Scalar\Float_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 549 => null, - 550 => null, - 551 => null, - 552 => static function ($self, $stackPos) { + 555 => null, + 556 => null, + 557 => null, + 558 => static function ($self, $stackPos) { $self->semValue = $self->parseDocString($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)]), true); }, - 553 => static function ($self, $stackPos) { + 559 => static function ($self, $stackPos) { $self->semValue = $self->parseDocString($self->semStack[$stackPos-(2-1)], '', $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(2-2)], $self->tokenEndStack[$stackPos-(2-2)]), true); }, - 554 => static function ($self, $stackPos) { + 560 => static function ($self, $stackPos) { $self->semValue = $self->parseDocString($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-2)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos-(3-3)], $self->tokenEndStack[$stackPos-(3-3)]), true); }, - 555 => static function ($self, $stackPos) { + 561 => static function ($self, $stackPos) { $self->semValue = null; }, - 556 => null, - 557 => null, - 558 => static function ($self, $stackPos) { - $self->semValue = $self->semStack[$stackPos-(3-2)]; - }, - 559 => null, - 560 => null, - 561 => null, 562 => null, 563 => null, - 564 => null, - 565 => static function ($self, $stackPos) { + 564 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, + 565 => null, 566 => null, 567 => null, 568 => null, - 569 => static function ($self, $stackPos) { - $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); - }, + 569 => null, 570 => null, 571 => static function ($self, $stackPos) { + $self->semValue = $self->semStack[$stackPos-(3-2)]; + }, + 572 => null, + 573 => null, + 574 => null, + 575 => static function ($self, $stackPos) { + $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); + }, + 576 => null, + 577 => static function ($self, $stackPos) { $self->semValue = new Expr\MethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 572 => static function ($self, $stackPos) { + 578 => static function ($self, $stackPos) { $self->semValue = new Expr\NullsafeMethodCall($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->semStack[$stackPos-(4-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 573 => static function ($self, $stackPos) { + 579 => static function ($self, $stackPos) { $self->semValue = null; }, - 574 => null, - 575 => null, - 576 => null, - 577 => static function ($self, $stackPos) { + 580 => null, + 581 => null, + 582 => null, + 583 => static function ($self, $stackPos) { $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 578 => static function ($self, $stackPos) { + 584 => static function ($self, $stackPos) { $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 579 => null, - 580 => static function ($self, $stackPos) { + 585 => null, + 586 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 581 => static function ($self, $stackPos) { + 587 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 582 => static function ($self, $stackPos) { + 588 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])), $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 583 => static function ($self, $stackPos) { + 589 => static function ($self, $stackPos) { $var = $self->semStack[$stackPos-(1-1)]->name; $self->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])) : $var; }, - 584 => static function ($self, $stackPos) { + 590 => static function ($self, $stackPos) { $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 585 => null, - 586 => static function ($self, $stackPos) { + 591 => null, + 592 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 587 => static function ($self, $stackPos) { + 593 => static function ($self, $stackPos) { $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 588 => static function ($self, $stackPos) { + 594 => static function ($self, $stackPos) { $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 589 => static function ($self, $stackPos) { + 595 => static function ($self, $stackPos) { $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 590 => static function ($self, $stackPos) { + 596 => static function ($self, $stackPos) { $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 591 => null, - 592 => static function ($self, $stackPos) { + 597 => null, + 598 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 593 => null, - 594 => null, - 595 => static function ($self, $stackPos) { + 599 => null, + 600 => null, + 601 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 596 => null, - 597 => static function ($self, $stackPos) { + 602 => null, + 603 => static function ($self, $stackPos) { $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2; }, - 598 => static function ($self, $stackPos) { + 604 => static function ($self, $stackPos) { $self->semValue = new Expr\List_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); $self->semValue->setAttribute('kind', Expr\List_::KIND_LIST); $self->postprocessList($self->semValue); }, - 599 => static function ($self, $stackPos) { + 605 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(1-1)]; $end = count($self->semValue)-1; if ($self->semValue[$end]->value instanceof Expr\Error) array_pop($self->semValue); }, - 600 => null, - 601 => static function ($self, $stackPos) { + 606 => null, + 607 => static function ($self, $stackPos) { /* do nothing -- prevent default action of $$=$self->semStack[$1]. See $551. */ }, - 602 => static function ($self, $stackPos) { + 608 => static function ($self, $stackPos) { $self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)]; }, - 603 => static function ($self, $stackPos) { + 609 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 604 => static function ($self, $stackPos) { + 610 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 605 => static function ($self, $stackPos) { + 611 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, true, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 606 => static function ($self, $stackPos) { + 612 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(1-1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 607 => static function ($self, $stackPos) { + 613 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(3-3)], $self->semStack[$stackPos-(3-1)], false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 608 => static function ($self, $stackPos) { + 614 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(4-4)], $self->semStack[$stackPos-(4-1)], true, $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 609 => static function ($self, $stackPos) { + 615 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(3-3)], $self->semStack[$stackPos-(3-1)], false, $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 610 => static function ($self, $stackPos) { + 616 => static function ($self, $stackPos) { $self->semValue = new Node\ArrayItem($self->semStack[$stackPos-(2-2)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]), true); }, - 611 => static function ($self, $stackPos) { + 617 => static function ($self, $stackPos) { /* Create an Error node now to remember the position. We'll later either report an error, or convert this into a null element, depending on whether this is a creation or destructuring context. */ $attrs = $self->createEmptyElemAttributes($self->tokenPos); $self->semValue = new Node\ArrayItem(new Expr\Error($attrs), null, false, $attrs); }, - 612 => static function ($self, $stackPos) { + 618 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 613 => static function ($self, $stackPos) { + 619 => static function ($self, $stackPos) { $self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)]; }, - 614 => static function ($self, $stackPos) { + 620 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(1-1)]); }, - 615 => static function ($self, $stackPos) { + 621 => static function ($self, $stackPos) { $self->semValue = array($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)]); }, - 616 => static function ($self, $stackPos) { + 622 => static function ($self, $stackPos) { $attrs = $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]); $attrs['rawValue'] = $self->semStack[$stackPos-(1-1)]; $self->semValue = new Node\InterpolatedStringPart($self->semStack[$stackPos-(1-1)], $attrs); }, - 617 => static function ($self, $stackPos) { + 623 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 618 => null, - 619 => static function ($self, $stackPos) { + 624 => null, + 625 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])); }, - 620 => static function ($self, $stackPos) { + 626 => static function ($self, $stackPos) { $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 621 => static function ($self, $stackPos) { + 627 => static function ($self, $stackPos) { $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 622 => static function ($self, $stackPos) { + 628 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 623 => static function ($self, $stackPos) { + 629 => static function ($self, $stackPos) { $self->semValue = new Expr\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos])); }, - 624 => static function ($self, $stackPos) { + 630 => static function ($self, $stackPos) { $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos-(6-2)], $self->semStack[$stackPos-(6-4)], $self->getAttributes($self->tokenStartStack[$stackPos-(6-1)], $self->tokenEndStack[$stackPos])); }, - 625 => static function ($self, $stackPos) { + 631 => static function ($self, $stackPos) { $self->semValue = $self->semStack[$stackPos-(3-2)]; }, - 626 => static function ($self, $stackPos) { + 632 => static function ($self, $stackPos) { $self->semValue = new Scalar\String_($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 627 => static function ($self, $stackPos) { + 633 => static function ($self, $stackPos) { $self->semValue = $self->parseNumString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); }, - 628 => static function ($self, $stackPos) { + 634 => static function ($self, $stackPos) { $self->semValue = $self->parseNumString('-' . $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos])); }, - 629 => null, + 635 => null, ]; } } diff --git a/lib/PhpParser/PrettyPrinterAbstract.php b/lib/PhpParser/PrettyPrinterAbstract.php index 1dbd21f587..1367a4bfee 100644 --- a/lib/PhpParser/PrettyPrinterAbstract.php +++ b/lib/PhpParser/PrettyPrinterAbstract.php @@ -1196,6 +1196,9 @@ protected function pModifiers(int $modifiers): string { . ($modifiers & Modifiers::PUBLIC ? 'public ' : '') . ($modifiers & Modifiers::PROTECTED ? 'protected ' : '') . ($modifiers & Modifiers::PRIVATE ? 'private ' : '') + . ($modifiers & Modifiers::PUBLIC_SET ? 'public(set) ' : '') + . ($modifiers & Modifiers::PROTECTED_SET ? 'protected(set) ' : '') + . ($modifiers & Modifiers::PRIVATE_SET ? 'private(set) ' : '') . ($modifiers & Modifiers::STATIC ? 'static ' : '') . ($modifiers & Modifiers::READONLY ? 'readonly ' : ''); } diff --git a/test/PhpParser/Builder/ParamTest.php b/test/PhpParser/Builder/ParamTest.php index 0baeb1e7a0..56eee0a726 100644 --- a/test/PhpParser/Builder/ParamTest.php +++ b/test/PhpParser/Builder/ParamTest.php @@ -227,6 +227,16 @@ public function testMakeProtected(): void { new Node\Param(new Expr\Variable('test'), null, null, false, false, [], Modifiers::PROTECTED), $node ); + + $node = $this->createParamBuilder('test') + ->makeProtectedSet() + ->getNode() + ; + + $this->assertEquals( + new Node\Param(new Expr\Variable('test'), null, null, false, false, [], Modifiers::PROTECTED_SET), + $node + ); } public function testMakePrivate(): void { @@ -239,6 +249,16 @@ public function testMakePrivate(): void { new Node\Param(new Expr\Variable('test'), null, null, false, false, [], Modifiers::PRIVATE), $node ); + + $node = $this->createParamBuilder('test') + ->makePrivateSet() + ->getNode() + ; + + $this->assertEquals( + new Node\Param(new Expr\Variable('test'), null, null, false, false, [], Modifiers::PRIVATE_SET), + $node + ); } public function testMakeReadonly(): void { diff --git a/test/PhpParser/Builder/PropertyTest.php b/test/PhpParser/Builder/PropertyTest.php index 4a37e82796..0505327a7b 100644 --- a/test/PhpParser/Builder/PropertyTest.php +++ b/test/PhpParser/Builder/PropertyTest.php @@ -82,6 +82,20 @@ public function testModifiers(): void { $this->assertEquals( new Stmt\Property(Modifiers::FINAL, [new PropertyItem('test')]), $node); + + $node = $this->createPropertyBuilder('test') + ->makePrivateSet() + ->getNode(); + $this->assertEquals( + new Stmt\Property(Modifiers::PRIVATE_SET, [new PropertyItem('test')]), + $node); + + $node = $this->createPropertyBuilder('test') + ->makeProtectedSet() + ->getNode(); + $this->assertEquals( + new Stmt\Property(Modifiers::PROTECTED_SET, [new PropertyItem('test')]), + $node); } public function testAbstractWithoutHook() { diff --git a/test/PhpParser/Node/ParamTest.php b/test/PhpParser/Node/ParamTest.php index 96d9de40d5..93bbf92cdb 100644 --- a/test/PhpParser/Node/ParamTest.php +++ b/test/PhpParser/Node/ParamTest.php @@ -14,6 +14,9 @@ public function testNoModifiers(): void { $this->assertFalse($node->isProtected()); $this->assertFalse($node->isPrivate()); $this->assertFalse($node->isReadonly()); + $this->assertFalse($node->isPublicSet()); + $this->assertFalse($node->isProtectedSet()); + $this->assertFalse($node->isPrivateSet()); } /** @@ -34,4 +37,14 @@ public static function provideModifiers() { ['readonly'], ]; } + + public function testSetVisibility() { + $node = new Param(new Variable('foo')); + $node->flags = Modifiers::PRIVATE_SET; + $this->assertTrue($node->isPrivateSet()); + $node->flags = Modifiers::PROTECTED_SET; + $this->assertTrue($node->isProtectedSet()); + $node->flags = Modifiers::PUBLIC_SET; + $this->assertTrue($node->isPublicSet()); + } } diff --git a/test/PhpParser/Node/Stmt/PropertyTest.php b/test/PhpParser/Node/Stmt/PropertyTest.php index a55992c128..3b4f31c730 100644 --- a/test/PhpParser/Node/Stmt/PropertyTest.php +++ b/test/PhpParser/Node/Stmt/PropertyTest.php @@ -25,6 +25,9 @@ public function testNoModifiers(): void { $this->assertFalse($node->isPrivate()); $this->assertFalse($node->isStatic()); $this->assertFalse($node->isReadonly()); + $this->assertFalse($node->isPublicSet()); + $this->assertFalse($node->isProtectedSet()); + $this->assertFalse($node->isPrivateSet()); } public function testStaticImplicitlyPublic(): void { @@ -45,4 +48,13 @@ public static function provideModifiers() { ['readonly'], ]; } + + public function testSetVisibility() { + $node = new Property(Modifiers::PRIVATE_SET, []); + $this->assertTrue($node->isPrivateSet()); + $node = new Property(Modifiers::PROTECTED_SET, []); + $this->assertTrue($node->isProtectedSet()); + $node = new Property(Modifiers::PUBLIC_SET, []); + $this->assertTrue($node->isPublicSet()); + } } diff --git a/test/code/parser/stmt/class/asymmetric_visibility.test b/test/code/parser/stmt/class/asymmetric_visibility.test new file mode 100644 index 0000000000..0877f1bfcd --- /dev/null +++ b/test/code/parser/stmt/class/asymmetric_visibility.test @@ -0,0 +1,191 @@ +Asymmetric visibility modifiers +----- +