From 5c267f55c9cbcc968ccd035ffbf6bcf292eec707 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sat, 20 May 2023 19:14:49 +0200 Subject: [PATCH] Add support for typed constants RFC: https://wiki.php.net/rfc/typed_class_constants --- grammar/php.y | 8 +- lib/PhpParser/Builder/ClassConst.php | 18 +- lib/PhpParser/Node/Stmt/ClassConst.php | 15 +- lib/PhpParser/Parser/Php7.php | 2560 ++++++++-------- lib/PhpParser/Parser/Php8.php | 2580 +++++++++-------- lib/PhpParser/PrettyPrinter/Standard.php | 4 +- lib/PhpParser/PrettyPrinterAbstract.php | 2 + test/PhpParser/Builder/ClassConstTest.php | 12 + .../insertionOfNullable.test | 9 + .../formatPreservation/removalViaNull.test | 10 + test/code/parser/errorHandling/recovery.test | 2 + test/code/parser/semiReserved.test | 2 + test/code/parser/stmt/class/anonymous.test | 1 + .../stmt/class/constModifierErrors.test | 4 + .../parser/stmt/class/constModifiers.test | 5 + test/code/parser/stmt/class/simple.test | 1 + .../parser/stmt/class/typedConstants.test | 124 + test/code/parser/stmt/newInInitializer.test | 1 + test/code/prettyPrinter/stmt/class_const.test | 6 +- 19 files changed, 2803 insertions(+), 2561 deletions(-) create mode 100644 test/code/parser/stmt/class/typedConstants.test diff --git a/grammar/php.y b/grammar/php.y index 4756898b..d3540701 100644 --- a/grammar/php.y +++ b/grammar/php.y @@ -340,7 +340,10 @@ non_empty_class_const_list: ; class_const: - identifier_maybe_reserved '=' expr { $$ = Node\Const_[$1, $3]; } + T_STRING '=' expr + { $$ = Node\Const_[new Node\Identifier($1, stackAttributes(#1)), $3]; } + | semi_reserved '=' expr + { $$ = Node\Const_[new Node\Identifier($1, stackAttributes(#1)), $3]; } ; inner_statement_list_ex: @@ -842,6 +845,9 @@ class_statement: | optional_attributes method_modifiers T_CONST class_const_list semi { $$ = new Stmt\ClassConst($4, $2, attributes(), $1); $this->checkClassConst($$, #2); } + | optional_attributes method_modifiers T_CONST type_expr class_const_list semi + { $$ = new Stmt\ClassConst($5, $2, attributes(), $1, $4); + $this->checkClassConst($$, #2); } | optional_attributes method_modifiers T_FUNCTION optional_ref identifier_maybe_reserved '(' parameter_list ')' optional_return_type method_body { $$ = Stmt\ClassMethod[$5, ['type' => $2, 'byRef' => $4, 'params' => $7, 'returnType' => $9, 'stmts' => $10, 'attrGroups' => $1]]; diff --git a/lib/PhpParser/Builder/ClassConst.php b/lib/PhpParser/Builder/ClassConst.php index de51a910..13b4a703 100644 --- a/lib/PhpParser/Builder/ClassConst.php +++ b/lib/PhpParser/Builder/ClassConst.php @@ -22,6 +22,8 @@ class ClassConst implements PhpParser\Builder { /** @var list */ protected $attributeGroups = []; + /** @var Identifier|Node\Name|Node\ComplexType */ + protected $type; /** * Creates a class constant builder @@ -119,6 +121,19 @@ class ClassConst implements PhpParser\Builder { return $this; } + /** + * Sets the constant type. + * + * @param string|Node\Name|Identifier|Node\ComplexType $type + * + * @return $this + */ + public function setType($type) { + $this->type = BuilderHelpers::normalizeType($type); + + return $this; + } + /** * Returns the built class node. * @@ -129,7 +144,8 @@ class ClassConst implements PhpParser\Builder { $this->constants, $this->flags, $this->attributes, - $this->attributeGroups + $this->attributeGroups, + $this->type ); } } diff --git a/lib/PhpParser/Node/Stmt/ClassConst.php b/lib/PhpParser/Node/Stmt/ClassConst.php index 8b05980c..38527bb8 100644 --- a/lib/PhpParser/Node/Stmt/ClassConst.php +++ b/lib/PhpParser/Node/Stmt/ClassConst.php @@ -10,31 +10,36 @@ class ClassConst extends Node\Stmt { public $flags; /** @var Node\Const_[] Constant declarations */ public $consts; - /** @var Node\AttributeGroup[] */ + /** @var Node\AttributeGroup[] PHP attribute groups */ public $attrGroups; + /** @var Node\Identifier|Node\Name|Node\ComplexType Type declaration */ + public $type; /** * Constructs a class const list node. * - * @param Node\Const_[] $consts Constant declarations - * @param int $flags Modifiers + * @param Node\Const_[] $consts Constant declarations + * @param int $flags Modifiers * @param array $attributes Additional attributes * @param list $attrGroups PHP attribute groups + * @param null|string|Node\Identifier|Node\Name|Node\ComplexType $type Type declaration */ public function __construct( array $consts, int $flags = 0, array $attributes = [], - array $attrGroups = [] + array $attrGroups = [], + $type = null ) { $this->attributes = $attributes; $this->flags = $flags; $this->consts = $consts; $this->attrGroups = $attrGroups; + $this->type = $type; } public function getSubNodeNames(): array { - return ['attrGroups', 'flags', 'consts']; + return ['attrGroups', 'flags', 'type', 'consts']; } /** diff --git a/lib/PhpParser/Parser/Php7.php b/lib/PhpParser/Parser/Php7.php index f39511c7..b90176c3 100644 --- a/lib/PhpParser/Parser/Php7.php +++ b/lib/PhpParser/Parser/Php7.php @@ -160,16 +160,16 @@ class Php7 extends \PhpParser\ParserAbstract public const T_ATTRIBUTE = 395; protected $tokenToSymbolMapSize = 396; - protected $actionTableSize = 1252; - protected $gotoTableSize = 615; + protected $actionTableSize = 1265; + protected $gotoTableSize = 624; protected $invalidSymbol = 168; protected $errorSymbol = 1; protected $defaultAction = -32766; protected $unexpectedTokenRule = 32767; - protected $YY2TBLSTATE = 429; - protected $numNonLeafStates = 730; + protected $YY2TBLSTATE = 433; + protected $numNonLeafStates = 739; protected $symbolToName = array( "EOF", @@ -386,132 +386,133 @@ class Php7 extends \PhpParser\ParserAbstract ); protected $action = array( - 132, 133, 134, 578, 135, 136, 0, 742, 743, 744, - 137, 37, 476, 853, 1016, 854,-32766,-32766,-32766,-32767, - -32767,-32767,-32767, 101, 102, 103, 104, 105, 1100, 1101, - 1102, 1099, 1098, 1097, 1103, 736, 735,-32766, 239,-32766, + 133, 134, 135, 582, 136, 137, 0, 751, 752, 753, + 138, 38, 480, 862, 1026, 863,-32766,-32766,-32766,-32767, + -32767,-32767,-32767, 102, 103, 104, 105, 106, 1111, 1112, + 1113, 1110, 1109, 1108, 1114, 745, 744,-32766, 242,-32766, -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, - -32767, 1233,-32766,-32766,-32766, 745,-32766,-32766,-32766, -326, - -591, -588, 825,-32766,-32766,-32766, 979, -591, -588, 267, - 138, 399, 749, 750, 751, 752, -192,-32766, 423,-32766, - -32766,-32766,-32766,-32766,-32766, 806, 753, 754, 755, 756, - 757, 758, 759, 760, 761, 762, 782, 579, 783, 784, - 785, 786, 774, 775, 340, 341, 777, 778, 763, 764, - 765, 767, 768, 769, 351, 809, 810, 811, 812, 813, - 580, 770, 771, 581, 582, 930, 794, 792, 793, 805, - 789, 790, 826, 2, 583, 584, 788, 585, 586, 587, - 588, 589, 590, 817, 477,-32766,-32766,-32766, 791, 591, - 592, -191, 139, 19, 132, 133, 134, 578, 135, 136, - 1049, 742, 743, 744, 137, 37,-32766, 34,-32766,-32766, - -32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766, -110, 1100, - 1101, 1102, 1099, 1098, 1097, 1103, -270,-32766, 21, 736, - 735,-32766,-32766,-32766, 980, 128,-32766, 932,-32766,-32766, - -32766,-32766, 106, 107, 108, 602, 271, 1310, 295, 745, - 1092, 74,-32766, -326,-32766,-32766,-32766, 322, 109, -591, - -588, -591, -588, 267, 138, 399, 749, 750, 751, 752, - -192, -85, 423,-32766,-32766,-32766, 352, 819, 126, 806, - 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, - 782, 579, 783, 784, 785, 786, 774, 775, 340, 341, - 777, 778, 763, 764, 765, 767, 768, 769, 351, 809, - 810, 811, 812, 813, 580, 770, 771, 581, 582, 423, - 794, 792, 793, 805, 789, 790, 817, 716, 583, 584, - 788, 585, 586, 587, 588, 589, 590, -85, 82, 83, - 84, 238, 791, 591, 592, -191, 148, 766, 737, 738, - 739, 740, 741, 821, 742, 743, 744, 779, 780, 36, - 703, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 828, 271, 1294, 932, 375, - 376,-32766,-32766,-32766, 1228, 1227, 1229, 608, 109, 417, - 948, 949, 745, 1078, 288, 950, 103, 104, 105, 141, - 1076, 944,-32766, 322,-32766,-32766, 746, 747, 748, 749, - 750, 751, 752, 144, 1314, 815, 1339, 357, -542, 1340, - 910, 1313, 806, 753, 754, 755, 756, 757, 758, 759, - 760, 761, 762, 782, 804, 783, 784, 785, 786, 774, - 775, 776, 803, 777, 778, 763, 764, 765, 767, 768, - 769, 808, 809, 810, 811, 812, 813, 814, 770, 771, - 772, 773, -545, 794, 792, 793, 805, 789, 790, 551, - 251, 781, 787, 788, 795, 796, 798, 797, 799, 800, - -32766,-32766, -542, -542, 306, 791, 802, 801, 49, 50, - 51, 507, 52, 53, 453, 454, 455, -542, 54, 55, - -110, 56, 1025, 900, 910, -110, 323, -110, 288, -548, - 822, -542, 302, 377, 376, -110, -110, -110, -110, -110, - -110, -110, -110, 417, 308, 287, -545, -545, 1233, -364, - 1266, -364, 1233, 827, 706, 150, 57, 58, 1254, 81, - 320, -541, 59, 322, 60, 245, 246, 61, 62, 63, - 64, 65, 66, 67, 68, -545, 27, 269, 69, 439, - 508,-32766, -16, -340, 1260, 1261, 509,-32766, 826, 335, - 461, 462, 1258, 41, 24, 510, 336, 511, 912, 512, - 910, 513, 701, 1025, 514, 515, 823, 900,-32766, 43, - 44, 440, 372, 371,-32766, 45, 516, 1012, 1011, 1010, - 1013, 363, 334, 1077, 1226, -541, -541, 728, 1219, 826, - 518, 519, 520, 826, 1022, 386, 1025, 18, 826, 826, - -541, 1329, 522, 523, 365, 1247, 1248, 1249, 1250, 1244, - 1245, 294, -547, -582, -541, -582, 1025, 1251, 1246, 287, - 1224, 1228, 1227, 1229, 295,-32766, 369, 70, 910,-32766, - -32766, 318, 319, 322, -152, -152, -152, 910, 384, -110, - 1022, 1024, 912, 900,-32766, 910, 701, 1025,-32766, -152, - 853, -152, 854, -152, 1048, -152, 736, 735, 707, 1228, - 1227, 1229, 1025, 35, 248, 370, 435, 708, 74, 295, - 287, 436, 74, 437, 322, 711, 948, 949, 322, 438, - 140, 517, 910, 284, 322, 280, 886, 944, -110, -110, - -110, 31, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 736, 735, 652, 25, 671, - 672, 900, 718, 736, 735, -543, 948, 949, 912, 832, - 900, 950, 701, -152, 149, 402, 151, 945, 900, 153, - 373, 374, 378, 379, 1138, 1140, 47, 154, 155, 643, - 644, 157,-32766, 32, 123, -540, 27, 124, 1226, 129, - 130, 143, -87, 158, 159,-32766,-32766,-32766, 826,-32766, - 160,-32766, 1258,-32766, 161, 900,-32766, 285, 109, 1022, - -84,-32766,-32766,-32766, -4, 910, -78,-32766,-32766, -543, - -543, -73, -72,-32766, 414, -71, 912, -70, -69, -68, - 701, 1025,-32766, -67, -543, 965, 736, 735, 1219, 701, - 296, 297, -540, 912, -66, -300, 48, 701, -543, -540, - -540, -65, 522, 523, 280, 1247, 1248, 1249, 1250, 1244, - 1245, -46, 73, -18, -540, 147, 270, 1251, 1246, 125, - 281, 717, 720,-32766, 909, 146, 926, 72, -540, 1226, - 912, -296, 319, 322, 701, 276,-32766,-32766,-32766, 277, - -32766, 282,-32766, 283,-32766, 328, 286,-32766, 900, 289, - 290, 145,-32766,-32766,-32766, 271, -540, -540,-32766,-32766, - 298, 299, -50, 681,-32766, 414, 1341, 817, 557, 694, - 370, -540, 430,-32766, 826, 368, 659, 293, 675, 1107, - -32766, 948, 949, 303, 553, -540, 517, 641, 300, 127, - 434, 521, 944, -110, -110, -110, 131, 653, 658, 674, - 20, 301,-32766, 307, 1265,-32766, -505, 1267, 458, 928, - 39, 1226, 487, 40, 9, -495, 7, 295,-32766,-32766, - -32766, 23,-32766, 912,-32766, 0,-32766, 701, -4,-32766, - 825, 0, 725, 0,-32766,-32766,-32766, 0, 0,-32766, - -32766,-32766, 910, 0, 0, 1226,-32766, 414, 0, 0, - 367, 0,-32766,-32766,-32766,-32766,-32766, 0,-32766, 0, - -32766, 0, 0,-32766, 0, 0, 0, 563,-32766,-32766, - -32766,-32766, 606, 0,-32766,-32766, 726, 1226, 1255, 845, - -32766, 414, 910, 891,-32766,-32766,-32766, 989,-32766,-32766, - -32766, 966,-32766, 973, 963,-32766, 974, 889, 961, 482, - -32766,-32766,-32766,-32766, 1081, 1084,-32766,-32766, 1085, 1226, - 570, 1082,-32766, 414, 1083, 1089,-32766,-32766,-32766, 837, - -32766,-32766,-32766, 1280,-32766, 900, 1298,-32766, 1332, 646, - 33, -576,-32766,-32766,-32766, -575, -574, -548,-32766,-32766, - -547, -248, -248, -248,-32766, 414, -546, 370, -489, 1, - 27, 269, 28,-32766, 29, 38, 42, 46, 948, 949, - 71, 75, 826, 517, 76, 900, 1258, 77, 886, 944, - -110, -110, -110, 78, 79, 80, 142, 152, 156, 244, - 324, -247, -247, -247, 352, 353, 354, 370, 355, 356, - 722, 357, 358, 359, 360, 361, 362, 364, 948, 949, - 912, 431, 1219, 517, 701, -248, 550, 317, 886, 944, - -110, -110, -110, -273, -271, -270, 12, 523, 27, 1247, - 1248, 1249, 1250, 1244, 1245, 13, 14, 15, 17, 401, - 826, 1251, 1246, 478, 1258, 479,-32766, 486, 489, 490, - 912, 72, 1226, 887, 701, -247, 319, 322, 491,-32766, - -32766,-32766, 492,-32766, 496,-32766, 497,-32766, 498, 505, - -32766, 568, 688, 1237, 1178,-32766,-32766,-32766, 1256, 1051, - 1219,-32766,-32766, 1050, 1031, 1214, 1027,-32766, 414, -275, - -102, 11, 16, 26, 292, 523,-32766, 1247, 1248, 1249, - 1250, 1244, 1245, 400, 599, 603, 632, 693, 1182, 1251, - 1246, 1232, 1179, 1311, 1259, 366, 702, 705, 709, 72, - 710, -509, 712, 713, 319, 322, 714, 715, 719, 704, - 0, 1336, 1338, 848, 847, 856, 0, 938, 981, 855, - 1337, 937, 935, 936, 939, 1210, 919, 929, 917, 971, - 972, 630, 1335, 1292, 1281, 1299, 1308, 0, 1195, 0, - 0, 322 + -32767, 1244,-32766,-32766,-32766, 754,-32766,-32766,-32766, -327, + -593, -590, 834,-32766,-32766,-32766, 989, -593, -590, 270, + 139, 402, 758, 759, 760, 761, -193,-32766, 427,-32766, + -32766,-32766,-32766,-32766,-32766, 815, 762, 763, 764, 765, + 766, 767, 768, 769, 770, 771, 791, 583, 792, 793, + 794, 795, 783, 784, 343, 344, 786, 787, 772, 773, + 774, 776, 777, 778, 354, 818, 819, 820, 821, 822, + 584, 779, 780, 585, 586, 940, 803, 801, 802, 814, + 798, 799, 835, 2, 587, 588, 797, 589, 590, 591, + 592, 593, 594, 826, 481,-32766,-32766,-32766, 800, 595, + 596, -192, 140, 23, 133, 134, 135, 582, 136, 137, + 1059, 751, 752, 753, 138, 38,-32766, 35,-32766,-32766, + -32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766, -110, 1111, + 1112, 1113, 1110, 1109, 1108, 1114, -271,-32766, 21, 745, + 744,-32766,-32766,-32766, 990, 129,-32766, 942,-32766,-32766, + -32766,-32766, 107, 108, 109, 606, 274, 1321, 298, 754, + 1103, 75,-32766, -327,-32766,-32766,-32766, 325, 110, -593, + -590, -593, -590, 270, 139, 402, 758, 759, 760, 761, + -193, -85, 427,-32766,-32766,-32766, 355, 828, 127, 815, + 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, + 791, 583, 792, 793, 794, 795, 783, 784, 343, 344, + 786, 787, 772, 773, 774, 776, 777, 778, 354, 818, + 819, 820, 821, 822, 584, 779, 780, 585, 586, 427, + 803, 801, 802, 814, 798, 799, 826, 725, 587, 588, + 797, 589, 590, 591, 592, 593, 594, -85, 83, 84, + 85, 241, 800, 595, 596, -192, 149, 775, 746, 747, + 748, 749, 750, 830, 751, 752, 753, 788, 789, 37, + 712, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 942, 274, 837, 145, 378, + 379,-32766,-32766,-32766, 1239, 1238, 1240, 612, 110, 421, + 958, 959, 754, 1089, 291, 960, 104, 105, 106, 142, + 1087, 954,-32766, 325,-32766,-32766, 755, 756, 757, 758, + 759, 760, 761, 254, 360, 824, 1350, 1088, -544, 1351, + 920, 737, 815, 762, 763, 764, 765, 766, 767, 768, + 769, 770, 771, 791, 813, 792, 793, 794, 795, 783, + 784, 785, 812, 786, 787, 772, 773, 774, 776, 777, + 778, 817, 818, 819, 820, 821, 822, 823, 779, 780, + 781, 782, -547, 803, 801, 802, 814, 798, 799, 555, + 309, 790, 796, 797, 804, 805, 807, 806, 808, 809, + -32766, 311, -544, -544, 323, 800, 811, 810, 50, 51, + 52, 511, 53, 54, 457, 458, 459, -544, 55, 56, + -110, 57, 1035, 910, 920, -110, 326, -110, 291, -550, + 1305, -544, 305, 380, 379, -110, -110, -110, -110, -110, + -110, -110, -110, 421, 338, 290, -547, -547, 958, 959, + 1277, 831, 1244, 960, 715, 836, 58, 59, 1265, 955, + 339, -543, 60, 368, 61, 248, 249, 62, 63, 64, + 65, 66, 67, 68, 69, -547, 28, 272, 70, 443, + 512,-32766, -16, -341, 1271, 1272, 513, 372, 835, 1244, + 465, 466, 1269, 42, 25, 514,-32766, 515, 922, 516, + 920, 517, 710, 1035, 518, 519, 387, 910,-32766, 44, + 45, 444, 375, 374,-32766, 46, 520, 1022, 1021, 1020, + 1023, 366, 337, 439, 1237, -543, -543, 832, 1230,-32766, + 522, 523, 524, 835, 440, -584, 1035, -584, 835, 835, + -543, 1340, 526, 527, 1032, 1258, 1259, 1260, 1261, 1255, + 1256, 297, -549, -366, -543, -366, 1058, 1262, 1257, 290, + 1235, 1239, 1238, 1240, 298,-32766, 1035, 71, 920, 441, + 835, 321, 322, 325, -153, -153, -153, 1325, 389, -110, + 7, 1034, 922, 910, 1324, 287, 710, 1035,-32766, -153, + 442, -153, 82, -153, 841, -153, 325, 151, 716, 1239, + 1238, 1240, 152, 36, 251, 373, 862, 154, 863, 298, + 290, 155, 75, 156, 287, -545, 958, 959, 325, 158, + 141, 521, 920, 33, 325,-32766, 896, 954, -110, -110, + -110, 32, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 745, 744, 1032, 920, 75, + -78, 910, 717, 745, 744, 325, 745, 744, 922, 920, + -32766,-32766, 710, -153, 690, 656, 26, 675, 676, 1035, + 48, 1032, 150, 405, 1149, 1151, 376, 377, 720, -545, + -545, -58,-32766, 381, 382, -542, 28, -57, 1237, 727, + 647, 648, 283, 1035, -545,-32766,-32766,-32766, 835,-32766, + 691,-32766, 1269,-32766, 124, 910,-32766, -87, -545, 125, + 130,-32766,-32766,-32766, -4, 920, 283,-32766,-32766, 131, + 144, 692, 693,-32766, 418, 159, 922, 160, 161, 162, + 710, 910,-32766, 163, 299, 300, 745, 744, 1230, 1239, + 1238, 1240, 910, -301, 288, 283, -84, -78, 936, -542, + -542, -73, 526, 527, -542, 1258, 1259, 1260, 1261, 1255, + 1256, 49, 74, 126, -542, -72, -71, 1262, 1257, -70, + -69, -68, -67,-32766, -66, -65, -46, 73, -542, 1237, + 975, -18, 322, 325, 710, 148,-32766,-32766,-32766, 273, + -32766, 284,-32766, 726,-32766, 729, 919,-32766, 910, 147, + 289, -297,-32766,-32766,-32766, 279, 922, 280,-32766,-32766, + 710, 285, -50, 286,-32766, 418, 292, 922, -542, -542, + 373, 710, 434,-32766, 331, 301, 302, 296, 293, 146, + 274, 958, 959, -542, 685, 826, 521,-32766, 110, 1352, + 371, 525, 954, -110, -110, -110, 132, -542, 20, 835, + 561, 701, 438, 663, 128,-32766, 1118, 303, 310, 645, + 557, 1237, 306, 304, 10,-32766, 1266, 657,-32766,-32766, + -32766, -507,-32766, 922,-32766, 703,-32766, 710, -4,-32766, + 678, 662, 679, 1276,-32766,-32766,-32766, 462, 1278,-32766, + -32766,-32766, 920, 491, 298, 1237,-32766, 418, -497, 1270, + 567, 0,-32766,-32766,-32766,-32766,-32766, 0,-32766, 0, + -32766, 0, 0,-32766, 0, 0, 0, 0,-32766,-32766, + -32766,-32766, 0, 0,-32766,-32766, 0, 1237, 0, 8, + -32766, 418, 920, 24,-32766,-32766,-32766, 370,-32766,-32766, + -32766, 938,-32766, 0, 0,-32766, 610, 834, 0, 486, + -32766,-32766,-32766,-32766, 40, -578,-32766,-32766, 41, 1237, + 574, 734,-32766, 418, 735, 854,-32766,-32766,-32766, 901, + -32766,-32766,-32766, 999,-32766, 910, 976,-32766, 983, 973, + 984, 899,-32766,-32766,-32766, 971, 1092, 1095,-32766,-32766, + 1096, -249, -249, -249,-32766, 418, 1093, 373, 1094, 1100, + 28, 272, 846,-32766, 1291, 1309, 1343, 731, 958, 959, + 650, -274, 835, 521, -577, 910, 1269, -576, 896, 954, + -110, -110, -110, -550, -549, -548, -491, 1, 29, 30, + 39, -248, -248, -248, 43, 47, 72, 373, 76, 77, + 897, 78, 79, 80, 81, 143, 153, 157, 958, 959, + 922, 247, 1230, 521, 710, -249, 327, 355, 896, 954, + -110, -110, -110, 356, 357, 358, 359, 527, 28, 1258, + 1259, 1260, 1261, 1255, 1256, 360, 361, 362, 363, 364, + 835, 1262, 1257, 365, 1269, 367,-32766, 435, 554, 1347, + 922, 73, 1237, 1349, 710, -248, 322, 325, -272,-32766, + -32766,-32766, -271,-32766, 13,-32766, 14,-32766, 15, 16, + -32766, 18, 404, 482, 483,-32766,-32766,-32766, 490, 493, + 1230,-32766,-32766, 494, 495, 496, 500,-32766, 418, 501, + 502, 509, 572, 696, 1248, 527,-32766, 1258, 1259, 1260, + 1261, 1255, 1256, 1189, 1267, 1061, 1060, 1041, 1225, 1262, + 1257, 1037, -276, -102, 12, 17, 27, 295, 403, 73, + 34, 603, 607, 636, 322, 325, 702, 1193, 1243, 1190, + 1322, 0, 320, 369, 711, 0, 714, 718, 719, 721, + 722, 723, 724, 728, 713, 0, 857, 856, 865, 948, + 991, 864, 1348, 947, 945, 946, 949, 1221, 929, 939, + 927, 981, 982, 634, 1346, 1303, 1292, 1310, 1319, 0, + -511, 1206, 0, 0, 325 ); protected $actionCheck = array( @@ -549,105 +550,106 @@ class Php7 extends \PhpParser\ParserAbstract 5, 6, 7, 156, 9, 10, 11, 12, 13, 30, 163, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 1, 57, 1, 122, 106, + 51, 52, 53, 54, 55, 122, 57, 1, 8, 106, 107, 9, 10, 11, 155, 156, 157, 51, 69, 116, 117, 118, 57, 164, 30, 122, 50, 51, 52, 163, 1, 128, 30, 167, 32, 33, 71, 72, 73, 74, - 75, 76, 77, 8, 1, 80, 80, 161, 70, 83, - 1, 8, 87, 88, 89, 90, 91, 92, 93, 94, + 75, 76, 77, 8, 161, 80, 80, 159, 70, 83, + 1, 163, 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, 85, 8, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 116, 9, 134, 135, 8, 150, 151, 152, 2, 3, + 116, 8, 134, 135, 8, 150, 151, 152, 2, 3, 4, 5, 6, 7, 129, 130, 131, 149, 12, 13, 101, 15, 138, 84, 1, 106, 70, 108, 30, 161, - 80, 163, 113, 106, 107, 116, 117, 118, 119, 120, - 121, 122, 123, 116, 8, 161, 134, 135, 1, 106, - 146, 108, 1, 159, 31, 14, 50, 51, 1, 163, - 8, 70, 56, 167, 58, 59, 60, 61, 62, 63, + 1, 163, 113, 106, 107, 116, 117, 118, 119, 120, + 121, 122, 123, 116, 8, 161, 134, 135, 117, 118, + 146, 80, 1, 122, 31, 159, 50, 51, 1, 128, + 8, 70, 56, 8, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 163, 70, 71, 72, 73, - 74, 116, 31, 164, 78, 79, 80, 116, 82, 8, - 134, 135, 86, 87, 88, 89, 8, 91, 159, 93, - 1, 95, 163, 138, 98, 99, 156, 84, 137, 103, + 74, 116, 31, 164, 78, 79, 80, 8, 82, 1, + 134, 135, 86, 87, 88, 89, 9, 91, 159, 93, + 1, 95, 163, 138, 98, 99, 8, 84, 116, 103, 104, 105, 106, 107, 116, 109, 110, 119, 120, 121, - 122, 115, 116, 159, 80, 134, 135, 163, 122, 82, - 124, 125, 126, 82, 116, 106, 138, 108, 82, 82, - 149, 85, 136, 137, 8, 139, 140, 141, 142, 143, - 144, 145, 161, 160, 163, 162, 138, 151, 152, 161, - 116, 155, 156, 157, 158, 116, 8, 161, 1, 9, - 10, 165, 166, 167, 75, 76, 77, 1, 8, 128, - 116, 137, 159, 84, 137, 1, 163, 138, 137, 90, - 106, 92, 108, 94, 1, 96, 37, 38, 31, 155, - 156, 157, 138, 147, 148, 106, 8, 31, 161, 158, - 161, 8, 161, 8, 167, 31, 117, 118, 167, 8, - 163, 122, 1, 30, 167, 161, 127, 128, 129, 130, + 122, 115, 116, 8, 80, 134, 135, 156, 122, 137, + 124, 125, 126, 82, 8, 160, 138, 162, 82, 82, + 149, 85, 136, 137, 116, 139, 140, 141, 142, 143, + 144, 145, 161, 106, 163, 108, 1, 151, 152, 161, + 116, 155, 156, 157, 158, 116, 138, 161, 1, 8, + 82, 165, 166, 167, 75, 76, 77, 1, 106, 128, + 108, 137, 159, 84, 8, 30, 163, 138, 137, 90, + 8, 92, 163, 94, 8, 96, 167, 14, 31, 155, + 156, 157, 14, 147, 148, 106, 106, 14, 108, 158, + 161, 14, 161, 14, 30, 70, 117, 118, 167, 14, + 163, 122, 1, 14, 167, 137, 127, 128, 129, 130, 131, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 37, 38, 75, 76, 75, - 76, 84, 31, 37, 38, 70, 117, 118, 159, 8, - 84, 122, 163, 164, 101, 102, 14, 128, 84, 14, - 106, 107, 106, 107, 59, 60, 70, 14, 14, 111, - 112, 14, 74, 14, 16, 70, 70, 16, 80, 16, - 16, 16, 31, 16, 16, 87, 88, 89, 82, 91, - 16, 93, 86, 95, 16, 84, 98, 37, 69, 116, - 31, 103, 104, 105, 0, 1, 31, 109, 110, 134, - 135, 31, 31, 115, 116, 31, 159, 31, 31, 31, - 163, 138, 124, 31, 149, 159, 37, 38, 122, 163, - 134, 135, 70, 159, 31, 35, 70, 163, 163, 134, - 135, 31, 136, 137, 161, 139, 140, 141, 142, 143, - 144, 31, 154, 31, 149, 31, 31, 151, 152, 163, - 31, 31, 31, 74, 31, 31, 38, 161, 163, 80, - 159, 35, 166, 167, 163, 35, 87, 88, 89, 35, - 91, 35, 93, 35, 95, 35, 37, 98, 84, 37, - 37, 70, 103, 104, 105, 57, 134, 135, 109, 110, - 134, 135, 31, 77, 115, 116, 83, 80, 89, 92, - 106, 149, 108, 124, 82, 149, 100, 113, 100, 82, - 85, 117, 118, 114, 85, 163, 122, 113, 132, 163, - 128, 127, 128, 129, 130, 131, 31, 90, 96, 94, - 97, 133, 137, 132, 146, 74, 149, 146, 97, 154, - 159, 80, 97, 159, 150, 149, 149, 158, 87, 88, - 89, 149, 91, 159, 93, -1, 95, 163, 164, 98, - 155, -1, 159, -1, 103, 104, 105, -1, -1, 74, - 109, 110, 1, -1, -1, 80, 115, 116, -1, -1, - 149, -1, 87, 88, 89, 124, 91, -1, 93, -1, - 95, -1, -1, 98, -1, -1, -1, 153, 103, 104, - 105, 74, 153, -1, 109, 110, 159, 80, 160, 159, - 115, 116, 1, 159, 87, 88, 89, 159, 91, 124, - 93, 159, 95, 159, 159, 98, 159, 159, 159, 102, - 103, 104, 105, 74, 159, 159, 109, 110, 159, 80, - 81, 159, 115, 116, 159, 159, 87, 88, 89, 160, - 91, 124, 93, 160, 95, 84, 160, 98, 160, 160, - 163, 161, 103, 104, 105, 161, 161, 161, 109, 110, - 161, 100, 101, 102, 115, 116, 161, 106, 161, 161, - 70, 71, 161, 124, 161, 161, 161, 161, 117, 118, - 161, 161, 82, 122, 161, 84, 86, 161, 127, 128, + 25, 26, 27, 28, 29, 37, 38, 116, 1, 161, + 16, 84, 31, 37, 38, 167, 37, 38, 159, 1, + 9, 10, 163, 164, 80, 75, 76, 75, 76, 138, + 70, 116, 101, 102, 59, 60, 106, 107, 31, 134, + 135, 16, 74, 106, 107, 70, 70, 16, 80, 31, + 111, 112, 161, 138, 149, 87, 88, 89, 82, 91, + 116, 93, 86, 95, 16, 84, 98, 31, 163, 16, + 16, 103, 104, 105, 0, 1, 161, 109, 110, 16, + 16, 137, 138, 115, 116, 16, 159, 16, 16, 16, + 163, 84, 124, 16, 134, 135, 37, 38, 122, 155, + 156, 157, 84, 35, 37, 161, 31, 31, 38, 134, + 135, 31, 136, 137, 70, 139, 140, 141, 142, 143, + 144, 70, 154, 163, 149, 31, 31, 151, 152, 31, + 31, 31, 31, 74, 31, 31, 31, 161, 163, 80, + 159, 31, 166, 167, 163, 31, 87, 88, 89, 31, + 91, 31, 93, 31, 95, 31, 31, 98, 84, 31, + 37, 35, 103, 104, 105, 35, 159, 35, 109, 110, + 163, 35, 31, 35, 115, 116, 37, 159, 134, 135, + 106, 163, 108, 124, 35, 134, 135, 113, 37, 70, + 57, 117, 118, 149, 77, 80, 122, 85, 69, 83, + 149, 127, 128, 129, 130, 131, 31, 163, 97, 82, + 89, 80, 128, 100, 163, 74, 82, 132, 132, 113, + 85, 80, 114, 133, 150, 137, 160, 90, 87, 88, + 89, 149, 91, 159, 93, 92, 95, 163, 164, 98, + 94, 96, 100, 146, 103, 104, 105, 97, 146, 74, + 109, 110, 1, 97, 158, 80, 115, 116, 149, 166, + 153, -1, 87, 88, 89, 124, 91, -1, 93, -1, + 95, -1, -1, 98, -1, -1, -1, -1, 103, 104, + 105, 74, -1, -1, 109, 110, -1, 80, -1, 149, + 115, 116, 1, 149, 87, 88, 89, 149, 91, 124, + 93, 154, 95, -1, -1, 98, 153, 155, -1, 102, + 103, 104, 105, 74, 159, 161, 109, 110, 159, 80, + 81, 159, 115, 116, 159, 159, 87, 88, 89, 159, + 91, 124, 93, 159, 95, 84, 159, 98, 159, 159, + 159, 159, 103, 104, 105, 159, 159, 159, 109, 110, + 159, 100, 101, 102, 115, 116, 159, 106, 159, 159, + 70, 71, 160, 124, 160, 160, 160, 164, 117, 118, + 160, 162, 82, 122, 161, 84, 86, 161, 127, 128, 129, 130, 131, 161, 161, 161, 161, 161, 161, 161, 161, 100, 101, 102, 161, 161, 161, 106, 161, 161, 164, 161, 161, 161, 161, 161, 161, 161, 117, 118, - 159, 161, 122, 122, 163, 164, 161, 163, 127, 128, - 129, 130, 131, 162, 162, 162, 162, 137, 70, 139, - 140, 141, 142, 143, 144, 162, 162, 162, 162, 162, - 82, 151, 152, 162, 86, 162, 74, 162, 162, 162, + 159, 161, 122, 122, 163, 164, 161, 161, 127, 128, + 129, 130, 131, 161, 161, 161, 161, 137, 70, 139, + 140, 141, 142, 143, 144, 161, 161, 161, 161, 161, + 82, 151, 152, 161, 86, 161, 74, 161, 161, 164, 159, 161, 80, 164, 163, 164, 166, 167, 162, 87, 88, 89, 162, 91, 162, 93, 162, 95, 162, 162, 98, 162, 162, 162, 162, 103, 104, 105, 162, 162, 122, 109, 110, 162, 162, 162, 162, 115, 116, 162, 162, 162, 162, 162, 162, 137, 124, 139, 140, 141, 142, 143, 144, 162, 162, 162, 162, 162, 162, 151, - 152, 162, 162, 162, 166, 163, 163, 163, 163, 161, - 163, 165, 163, 163, 166, 167, 163, 163, 163, 163, - -1, 164, 164, 164, 164, 164, -1, 164, 164, 164, + 152, 162, 162, 162, 162, 162, 162, 162, 162, 161, + 163, 162, 162, 162, 166, 167, 162, 162, 162, 162, + 162, -1, 163, 163, 163, -1, 163, 163, 163, 163, + 163, 163, 163, 163, 163, -1, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, -1, 165, -1, - -1, 167 + 164, 164, 164, 164, 164, 164, 164, 164, 164, -1, + 165, 165, -1, -1, 167 ); protected $actionBase = array( - 0, -2, 152, 549, 764, 941, 981, 507, 199, 157, - 855, 617, 634, 634, 671, 634, 473, 626, 305, 305, - 63, 305, 305, 305, 389, 389, 389, 658, 658, 658, - 658, 749, 749, 897, 897, 929, 865, 831, 1062, 1062, + 0, -2, 152, 549, 764, 941, 981, 634, 507, 199, + 157, 889, 617, 697, 697, 708, 697, 473, 671, 821, + 63, 305, 305, 821, 305, 389, 389, 389, 658, 658, + 658, 658, 749, 749, 897, 897, 929, 865, 831, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, @@ -660,66 +662,67 @@ class Php7 extends \PhpParser\ParserAbstract 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, - 1062, 1062, 344, 35, 204, 719, 1022, 1036, 1032, 1039, - 1020, 1019, 1031, 1033, 1040, 1078, 1079, 794, 1080, 1081, - 1077, 1082, 1034, 869, 1021, 1035, 289, 289, 289, 289, + 1062, 1062, 1062, 1062, 346, 35, 204, 659, 1045, 1055, + 1049, 1056, 1043, 1042, 1046, 1050, 1057, 1090, 1091, 818, + 1092, 1093, 1089, 1094, 1051, 900, 1044, 1054, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 442, 224, 610, 43, 43, 43, 43, 43, + 289, 289, 289, 289, 289, 537, 224, 701, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 54, 54, 54, 666, 666, - 342, 182, 980, 166, 1048, 1048, 1048, 1048, 1048, 1048, - 1048, 1048, 1048, 665, 47, 136, 136, 7, 7, 7, - 7, 7, 369, -25, -25, -25, -25, 501, 448, 50, - 643, 497, 87, 393, 334, 243, 514, 514, 316, 316, - 468, 468, 499, 499, 468, 468, 468, 415, 415, 415, - 415, 318, 441, -93, 354, 765, 206, 206, 206, 206, - 765, 765, 765, 765, 761, 1038, 765, 765, 765, 635, - 722, 722, 726, 149, 149, 149, 722, 534, 799, 506, - 534, 506, 346, 306, 421, 589, 377, 443, 421, 362, - 656, 60, 59, 775, 614, 775, 1018, 75, 795, 226, - 780, 740, 856, 1056, 1041, 776, 1075, 778, 1076, 335, - 406, 735, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1084, 609, 1018, 400, 1084, 1084, 1084, - 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, - 618, 400, 622, 624, 400, 810, 609, 344, 766, 344, - 344, 344, 344, 344, 344, 344, 344, 344, 344, 782, - -19, 344, 35, 124, 124, 414, 13, 124, 124, 124, - 124, 344, 344, 344, 614, 798, 814, 616, 819, 143, - 798, 798, 798, 200, 51, 24, 68, 760, 796, 479, - 787, 787, 797, 888, 888, 787, 792, 787, 797, 896, - 787, 787, 888, 888, 759, 187, 648, 531, 608, 653, - 888, 446, 787, 787, 787, 787, 771, 655, 787, 432, - 375, 787, 787, 771, 756, 789, 125, 768, 888, 888, - 888, 771, 586, 768, 768, 768, 773, 817, 774, 785, - 502, 486, 701, 159, 788, 785, 785, 787, 620, 774, - 785, 774, 785, 755, 785, 785, 785, 774, 785, 792, - 538, 785, 727, 661, 145, 785, 6, 899, 900, 711, - 903, 894, 906, 940, 912, 913, 1043, 887, 918, 895, - 914, 945, 893, 891, 793, 718, 721, 767, 757, 885, - 689, 689, 689, 876, 689, 689, 689, 689, 689, 689, - 689, 689, 718, 818, 801, 762, 779, 924, 723, 724, - 999, 758, 979, 1046, 1083, 923, 1001, 915, 751, 725, - 966, 925, 926, 944, 927, 928, 967, 1002, 820, 1006, - 1057, 781, 1058, 1059, 859, 931, 1044, 689, 899, 913, - 729, 895, 914, 893, 891, 770, 763, 748, 752, 747, - 746, 741, 744, 784, 1007, 875, 870, 863, 930, 879, - 718, 866, 954, 867, 971, 973, 1042, 811, 783, 868, - 1060, 932, 933, 934, 1045, 1011, 1047, 754, 963, 951, - 975, 815, 1061, 976, 977, 986, 990, 1049, 1063, 1050, - 874, 1053, 824, 807, 952, 802, 1064, 491, 806, 808, - 813, 936, 702, 919, 1054, 1065, 1066, 992, 994, 996, - 1067, 1068, 916, 828, 964, 805, 965, 953, 832, 834, - 705, 812, 1012, 800, 804, 809, 713, 714, 1069, 1070, - 1071, 917, 790, 786, 835, 837, 1013, 720, 1014, 1072, - 717, 838, 728, 1073, 1000, 734, 738, 777, 1055, 772, - 769, 803, 935, 791, 839, 1074, 845, 846, 849, 997, - 852, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 43, 43, 43, 43, 43, 43, 43, 43, 54, 54, + 54, 666, 666, 342, 182, 980, 166, 1048, 1048, 1048, + 1048, 1048, 1048, 1048, 1048, 1048, 665, 47, 136, 136, + 7, 7, 7, 7, 7, 369, -25, -25, -25, -25, + 501, 448, 50, 605, 538, 87, 497, 334, 243, 581, + 581, 316, 316, 478, 478, 499, 499, 478, 478, 478, + 415, 415, 415, 415, 318, 441, -93, 354, 778, 206, + 206, 206, 206, 778, 778, 778, 778, 792, 783, 778, + 778, 778, 595, 734, 734, 741, 149, 149, 149, 734, + 550, 825, 506, 550, 506, 479, 306, 442, 381, 377, + 425, 442, 362, 650, 60, 59, 842, 620, 842, 1041, + 75, 802, 223, 795, 770, 890, 1071, 1058, 803, 1087, + 832, 1088, 335, 406, 766, 1040, 1040, 1040, 1040, 1040, + 1040, 1040, 1040, 1040, 1040, 1040, 1097, 669, 1041, 421, + 1097, 1097, 1097, 669, 669, 669, 669, 669, 669, 669, + 669, 669, 669, 629, 421, 640, 642, 421, 839, 669, + 346, 799, 346, 346, 346, 346, 346, 346, 346, 346, + 346, 346, 800, -19, 346, 35, 124, 124, 228, 13, + 124, 124, 124, 124, 346, 346, 346, 346, 620, 823, + 797, 627, 843, 143, 823, 823, 823, 200, 51, 24, + 68, 758, 816, 522, 805, 805, 824, 916, 916, 805, + 817, 805, 824, 924, 805, 805, 916, 916, 786, 187, + 565, 486, 529, 576, 916, 432, 805, 805, 805, 805, + 776, 611, 805, 375, 340, 805, 805, 776, 775, 810, + 125, 780, 916, 916, 916, 776, 505, 780, 780, 780, + 852, 855, 796, 808, 446, 443, 636, 159, 760, 808, + 808, 805, 548, 796, 808, 796, 808, 837, 808, 808, + 808, 796, 808, 817, 502, 808, 759, 632, 145, 808, + 6, 925, 927, 726, 928, 919, 930, 976, 931, 932, + 1061, 915, 940, 923, 933, 977, 918, 917, 815, 738, + 743, 830, 772, 914, 819, 819, 819, 912, 819, 819, + 819, 819, 819, 819, 819, 819, 738, 756, 838, 774, + 811, 952, 744, 753, 1020, 787, 926, 1095, 1096, 946, + 1022, 934, 845, 754, 999, 953, 893, 1059, 954, 955, + 1000, 1031, 856, 1032, 975, 809, 979, 1072, 892, 965, + 1063, 819, 925, 932, 765, 923, 933, 918, 917, 794, + 793, 790, 791, 789, 788, 784, 785, 804, 1033, 906, + 844, 894, 964, 913, 738, 895, 992, 1047, 1001, 1002, + 1060, 840, 806, 896, 1073, 966, 967, 968, 1064, 1034, + 1065, 849, 994, 899, 1006, 846, 1074, 1007, 1011, 1012, + 1013, 1066, 1075, 1067, 903, 1068, 860, 827, 986, 835, + 1076, 633, 826, 828, 841, 974, 638, 945, 1069, 1077, + 1078, 1014, 1017, 1018, 1079, 1080, 935, 864, 996, 836, + 997, 990, 867, 869, 643, 829, 1035, 820, 822, 813, + 647, 649, 1081, 1082, 1083, 936, 812, 807, 870, 871, + 1036, 757, 1039, 1084, 655, 872, 761, 1085, 1021, 762, + 763, 684, 721, 715, 767, 833, 1070, 834, 798, 801, + 972, 763, 814, 876, 1086, 877, 878, 881, 1019, 887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 456, 456, 456, 456, 456, 456, 305, 305, 305, - 305, 456, 456, 456, 456, 456, 456, 456, 0, 0, - 305, 0, 0, 0, 456, 456, 456, 456, 456, 456, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 456, 456, 456, 456, 456, 456, 305, 305, 305, 305, + 305, 456, 456, 456, 456, 456, 456, 456, 305, 305, + 0, 0, 305, 0, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, @@ -733,180 +736,183 @@ class Php7 extends \PhpParser\ParserAbstract 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 289, 289, 289, 289, 289, 289, 289, 289, + 456, 456, 456, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 0, 0, 0, 0, + 289, 289, 289, 289, 289, 289, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 289, 289, 289, 289, 289, 289, 289, 289, + 0, 0, 0, 0, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 494, 494, - 289, 289, 494, 289, 494, 494, 494, 494, 494, 494, - 494, 494, 494, 0, 289, 289, 289, 289, 289, 289, - 289, 289, 759, 149, 149, 149, 149, 494, 494, 494, - 494, 494, -88, -88, 494, 759, 494, 494, 149, 149, - 494, 494, 494, 494, 494, 494, 494, 494, 494, 494, - 494, 0, 0, 400, 506, 494, 792, 792, 792, 792, - 494, 494, 494, 494, 506, 506, 494, 494, 494, 0, - 0, 0, 0, 0, 0, 0, 0, 400, 506, 0, - 400, 0, 792, 792, 494, 0, 759, 383, 494, 0, - 0, 0, 0, 400, 792, 400, 609, 787, 506, 787, - 609, 609, 124, 344, 383, 613, 613, 613, 613, 0, - 0, 614, 759, 759, 759, 759, 759, 759, 759, 759, - 759, 759, 759, 792, 0, 759, 0, 792, 792, 792, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 792, 0, 0, 888, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 896, - 0, 0, 0, 0, 0, 0, 792, 0, 0, 0, - 0, 0, 0, 0, 0, 689, 811, 0, 811, 0, - 689, 689, 689, 0, 0, 0, 0, 812, 720 + 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, + 494, 494, 289, 289, 494, 289, 494, 494, 494, 494, + 494, 494, 494, 494, 494, 0, 289, 289, 289, 289, + 289, 289, 289, 289, 786, 149, 149, 149, 149, 494, + 494, 494, 494, 494, -88, -88, 494, 786, 494, 494, + 149, 149, 494, 494, 494, 494, 494, 494, 494, 494, + 494, 494, 494, 0, 0, 421, 506, 494, 817, 817, + 817, 817, 494, 494, 494, 494, 506, 506, 494, 494, + 494, 0, 0, 0, 0, 0, 0, 0, 0, 421, + 506, 0, 421, 0, 817, 817, 494, 0, 786, 626, + 494, 0, 0, 0, 0, 421, 817, 421, 669, 805, + 506, 805, 669, 669, 124, 346, 626, 621, 621, 621, + 621, 0, 0, 620, 786, 786, 786, 786, 786, 786, + 786, 786, 786, 786, 786, 817, 0, 786, 0, 817, + 817, 817, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 817, 0, 0, + 916, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 924, 0, 0, 0, 0, 0, 0, 817, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 819, 840, + 0, 840, 0, 819, 819, 819, 0, 0, 0, 0, + 829, 757 ); protected $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, 100,32767,32767,32767,32767, 596, 596, + 596, 596,32767,32767, 253, 102,32767,32767, 469, 386, + 386, 386,32767,32767, 540, 540, 540, 540, 540, 540, + 32767,32767,32767,32767,32767,32767, 469,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767, 100, - 32767,32767,32767,32767,32767,32767,32767, 594, 594, 594, - 594,32767,32767, 252, 102,32767,32767, 467, 384, 384, - 384,32767,32767, 538, 538, 538, 538, 538, 538,32767, - 32767,32767,32767,32767,32767, 467,32767,32767,32767,32767, + 32767,32767,32767, 36, 7, 8, 10, 11, 49, 17, + 323,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, 589,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 473, 452, + 453, 455, 456, 385, 541, 595, 326, 592, 384, 145, + 338, 328, 241, 329, 257, 474, 258, 475, 478, 479, + 214, 286, 381, 149, 150, 416, 470, 418, 468, 472, + 417, 391, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 389, 390, 471, 449, 448, + 447,32767,32767, 414, 415,32767, 419,32767,32767,32767, + 32767,32767,32767,32767, 102,32767, 388, 422, 420, 421, + 438, 439, 436, 437, 440,32767, 441, 442, 443, 444, + 32767, 315,32767,32767,32767, 365, 363, 315, 111,32767, + 32767, 429, 430,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 534, 446,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 102, + 32767, 100, 536, 411, 413, 503, 424, 425, 423, 392, + 32767, 510,32767, 102, 512,32767,32767,32767,32767,32767, + 32767,32767, 535,32767, 542, 542,32767, 496, 100, 194, + 32767,32767,32767, 194, 194,32767,32767,32767,32767,32767, + 32767,32767,32767, 603, 496, 110, 110, 110, 110, 110, + 110, 110, 110, 110, 110, 110,32767, 194, 110,32767, + 32767,32767, 100, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 189,32767, 267, 269, 102, 557, 194, + 32767, 515,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767, 508,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 496, 434, + 138,32767, 138, 542, 426, 427, 428, 498, 542, 542, + 542, 311, 288,32767,32767,32767,32767, 513, 513, 100, + 100, 100, 100, 508,32767,32767,32767,32767, 111, 99, + 99, 99, 99, 99, 103, 101,32767,32767,32767,32767, + 222, 99,32767, 101, 101,32767,32767, 222, 224, 211, + 101, 226,32767, 561, 562, 222, 101, 226, 226, 226, + 246, 246, 485, 317, 101, 99, 101, 101, 196, 317, + 317,32767, 101, 485, 317, 485, 317, 198, 317, 317, + 317, 485, 317,32767, 101, 317, 213, 99, 99, 317, + 32767,32767,32767, 498,32767,32767,32767,32767,32767,32767, + 32767, 221,32767,32767,32767,32767,32767,32767,32767,32767, + 529,32767, 546, 559, 432, 433, 435, 544, 457, 458, + 459, 460, 461, 462, 463, 465, 591,32767, 502,32767, + 32767,32767,32767, 337,32767, 601,32767, 601,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 602,32767, 542,32767,32767,32767, + 32767, 431, 9, 74, 491, 42, 43, 51, 57, 519, + 520, 521, 522, 516, 517, 523, 518,32767,32767, 524, + 567,32767,32767, 543, 594,32767,32767,32767,32767,32767, + 32767, 138,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767, 529,32767, 136,32767,32767,32767,32767, + 32767,32767,32767,32767, 525,32767,32767,32767, 542,32767, + 32767,32767,32767, 313, 310,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767, 542,32767,32767,32767,32767,32767, 290,32767, 307, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 285,32767,32767, 380, + 498, 293, 295, 296,32767,32767,32767,32767, 359,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 100,32767, - 32767,32767, 36, 7, 8, 10, 11, 49, 17, 322, - 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, 587,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 471, 450, 451, 453, - 454, 383, 539, 593, 325, 590, 382, 145, 337, 327, - 240, 328, 256, 472, 257, 473, 476, 477, 213, 285, - 379, 149, 414, 468, 416, 466, 470, 415, 389, 395, - 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 387, 388, 469, 447, 446, 445,32767,32767, - 412, 413,32767, 417,32767,32767,32767,32767,32767,32767, - 32767, 102,32767, 386, 420, 418, 419, 436, 437, 434, - 435, 438,32767, 439, 440, 441, 442,32767, 314,32767, - 32767,32767, 363, 361, 314, 111,32767,32767, 427, 428, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 532, 444,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 102,32767, 100, 534, - 409, 411, 501, 422, 423, 421, 390,32767, 508,32767, - 102, 510,32767,32767,32767,32767,32767,32767,32767, 533, - 32767, 540, 540,32767, 494, 100, 193,32767,32767,32767, - 193, 193,32767,32767,32767,32767,32767,32767,32767,32767, - 601, 494, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110,32767, 193, 110,32767,32767,32767, 100, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 188,32767, 266, 268, 102, 555, 193,32767, 513,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 506, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 494, 432, 138,32767, 138, 540, - 424, 425, 426, 496, 540, 540, 540, 310, 287,32767, - 32767,32767,32767, 511, 511, 100, 100, 100, 100, 506, - 32767,32767,32767,32767, 111, 99, 99, 99, 99, 99, - 103, 101,32767,32767,32767,32767, 221, 99,32767, 101, - 101,32767,32767, 221, 223, 210, 101, 225,32767, 559, - 560, 221, 101, 225, 225, 225, 245, 245, 483, 316, - 101, 99, 101, 101, 195, 316, 316,32767, 101, 483, - 316, 483, 316, 197, 316, 316, 316, 483, 316,32767, - 101, 316, 212, 99, 99, 316,32767,32767,32767, 496, - 32767,32767,32767,32767,32767,32767,32767, 220,32767,32767, - 32767,32767,32767,32767,32767,32767, 527,32767, 544, 557, - 430, 431, 433, 542, 455, 456, 457, 458, 459, 460, - 461, 463, 589,32767, 500,32767,32767,32767,32767, 336, - 32767, 599,32767, 599,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 600,32767, 540,32767,32767,32767,32767, 429, 9, 74, - 489, 42, 43, 51, 57, 517, 518, 519, 520, 514, - 515, 521, 516,32767,32767, 522, 565,32767,32767, 541, - 592,32767,32767,32767,32767,32767,32767, 138,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 527, - 32767, 136,32767,32767,32767,32767,32767,32767,32767,32767, - 523,32767,32767,32767, 540,32767,32767,32767,32767, 312, - 309,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 540,32767,32767, - 32767,32767,32767, 289,32767, 306,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 284,32767,32767, 378,32767,32767,32767,32767, - 357,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 151, 151, 3, 3, 339, 151, 151, 151, 339, - 339, 151, 339, 339, 339, 151, 151, 151, 151, 151, - 151, 278, 183, 260, 263, 245, 245, 151, 349, 151 + 152, 152, 3, 3, 340, 152, 152, 152, 340, 340, + 152, 340, 340, 340, 152, 152, 152, 152, 152, 152, + 279, 184, 261, 264, 246, 246, 152, 351, 152 ); protected $goto = array( - 194, 194, 689, 1054, 425, 657, 617, 654, 316, 697, - 419, 310, 311, 331, 572, 424, 332, 426, 634, 650, - 651, 843, 668, 669, 670, 844, 165, 165, 165, 165, - 218, 195, 191, 191, 175, 177, 213, 191, 191, 191, - 191, 191, 192, 192, 192, 192, 192, 192, 186, 187, - 188, 189, 190, 215, 213, 216, 530, 531, 415, 532, - 534, 535, 536, 537, 538, 539, 540, 541, 1124, 166, - 167, 168, 193, 169, 170, 171, 164, 172, 173, 174, - 176, 212, 214, 217, 235, 240, 241, 243, 254, 255, - 256, 257, 258, 259, 260, 261, 263, 264, 265, 266, - 278, 279, 313, 314, 315, 420, 421, 422, 577, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 178, 234, 179, 196, 197, 198, - 236, 186, 187, 188, 189, 190, 215, 1124, 199, 180, - 181, 182, 200, 196, 183, 237, 201, 199, 163, 202, - 203, 184, 204, 205, 206, 185, 207, 208, 209, 210, - 211, 846, 820, 249, 249, 470, 1300, 1301, 275, 275, - 275, 275, 964, 596, 619, 619, 877, 903, 1257, 904, - 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 247, - 247, 247, 247, 242, 250, 349, 349, 349, 349, 956, - 405, 696, 555, 547, 346, 851, 818, 899, 894, 895, - 908, 852, 896, 849, 897, 898, 850, 1204, 933, 902, - 473, 1205, 1208, 934, 1209, 1325, 1325, 824, 475, 1075, - 1071, 1072, 337, 547, 555, 564, 565, 339, 575, 598, - 612, 613, 1325, 1275, 1275, 1095, 1096, 1275, 22, 1275, - 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 494, 1328, - 495, 1225, 1023, 1225, 1023, 1225, 501, 824, 1023, 824, - 1023, 1023, 1029, 1028, 1023, 1023, 1023, 1023, 1023, 1023, - 1023, 1023, 1023, 1023, 1023, 1307, 1307, 1307, 1307, 1225, - 859, 569, 1326, 1326, 1225, 1225, 1225, 1225, 460, 460, - 1225, 1225, 1225, 842, 344, 871, 350, 460, 858, 1326, - 988, 962, 962, 960, 962, 723, 350, 350, 915, 627, - 629, 631, 916, 546, 997, 992, 931, 5, 931, 6, - 350, 350, 1315, 350, 1220, 1342, 605, 620, 623, 624, - 625, 626, 647, 648, 649, 699, 549, 1273, 1273, 985, - 350, 1273, 389, 1273, 1273, 1273, 1273, 1273, 1273, 1273, - 1273, 1273, 533, 533, 567, 418, 533, 607, 533, 533, - 533, 533, 533, 533, 533, 533, 533, 562, 1032, 1033, - 839, 724, 633, 635, 321, 305, 655, 656, 1221, 1222, - 679, 683, 999, 687, 695, 995, 834, 1286, 1302, 1303, - 252, 252, 542, 542, 542, 542, 1173, 600, 573, 610, - 872, 860, 1059, 1063, 1223, 1283, 1284, 1121, 682, 548, - 559, 967, 452, 432, 548, 678, 559, 444, 662, 392, - 456, 839, 444, 1297, 444, 1297, 333, 1297, 836, 864, - 947, 463, 576, 464, 465, 957, 398, 869, 549, 861, - 1333, 1334, 347, 348, 272, 611, 544, 1216, 544, 545, - 544, 545, 1309, 1309, 1309, 1309, 1007, 1104, 876, 1060, - 727, 595, 1088, 471, 700, 873, 867, 391, 394, 556, - 597, 601, 686, 686, 450, 502, 692, 1086, 1293, 958, - 958, 958, 958, 403, 404, 450, 952, 959, 666, 1064, - 667, 969, 407, 408, 409, 1106, 680, 0, 0, 410, - 0, 1218, 0, 342, 0, 0, 0, 444, 444, 444, - 444, 444, 444, 444, 444, 444, 444, 444, 0, 1062, - 444, 920, 1111, 1295, 1295, 1062, 0, 0, 615, 0, - 0, 0, 427, 0, 1004, 0, 0, 0, 427, 839, - 0, 0, 863, 0, 660, 983, 1030, 1030, 0, 428, - 857, 661, 1041, 1037, 1038, 0, 0, 0, 0, 677, - 941, 0, 1215, 1018, 1034, 1035, 0, 0, 0, 0, + 196, 196, 1033, 1064, 697, 429, 661, 349, 852, 319, + 706, 423, 313, 314, 334, 576, 428, 335, 430, 638, + 654, 655, 853, 672, 673, 674, 974, 167, 167, 167, + 167, 221, 197, 193, 193, 177, 179, 216, 193, 193, + 193, 193, 193, 194, 194, 194, 194, 194, 194, 188, + 189, 190, 191, 192, 218, 216, 219, 534, 535, 419, + 536, 538, 539, 540, 541, 542, 543, 544, 545, 1135, + 168, 169, 170, 195, 171, 172, 173, 166, 174, 175, + 176, 178, 215, 217, 220, 238, 243, 244, 246, 257, + 258, 259, 260, 261, 262, 263, 264, 266, 267, 268, + 269, 281, 282, 316, 317, 318, 424, 425, 426, 581, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 180, 237, 181, 198, 199, + 200, 239, 188, 189, 190, 191, 192, 218, 1135, 201, + 182, 183, 184, 202, 198, 185, 240, 203, 201, 165, + 204, 205, 186, 206, 207, 208, 187, 209, 210, 211, + 212, 213, 214, 855, 353, 417, 881, 869, 1069, 1073, + 278, 278, 278, 278, 353, 353, 600, 977, 621, 658, + 833, 566, 827, 1337, 1337, 733, 637, 639, 353, 353, + 659, 353, 573, 1353, 683, 687, 1009, 695, 704, 1005, + 1337, 967, 1106, 1107, 553, 559, 551, 860, 353, 909, + 904, 905, 918, 861, 906, 858, 907, 908, 859, 886, + 833, 912, 833, 1115, 885, 394, 397, 560, 601, 605, + 347, 1086, 1081, 1082, 1083, 340, 551, 559, 568, 569, + 342, 579, 602, 616, 617, 464, 464, 694, 1036, 1036, + 829, 22, 681, 951, 464, 1297, 1028, 1044, 1045, 694, + 350, 351, 498, 694, 499, 1236, 1033, 1236, 1033, 1236, + 505, 913, 1033, 914, 1033, 1033, 686, 1326, 1033, 1033, + 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1318, + 1318, 1318, 1318, 1236, 352, 352, 352, 352, 1236, 1236, + 1236, 1236, 851, 868, 1236, 1236, 1236, 553, 995, 477, + 998, 972, 972, 970, 972, 732, 848, 479, 880, 1039, + 1038, 867, 925, 550, 1007, 1002, 926, 623, 623, 392, + 941, 1268, 941, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1286, 1286, 571, 5, 1286, 6, 1286, 1286, + 1286, 1286, 1286, 1286, 1286, 1286, 1286, 546, 546, 546, + 546, 422, 604, 611, 660, 1284, 1284, 848, 1132, 1284, + 1229, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, + 537, 537, 252, 252, 537, 1057, 537, 537, 537, 537, + 537, 537, 537, 537, 537, 609, 624, 627, 628, 629, + 630, 651, 652, 653, 708, 599, 1099, 1184, 709, 250, + 250, 250, 250, 245, 253, 666, 1336, 1336, 506, 700, + 436, 1097, 1042, 1043, 552, 563, 474, 1311, 1312, 552, + 456, 563, 448, 1336, 395, 460, 682, 448, 1308, 448, + 1308, 336, 1308, 631, 633, 635, 467, 580, 468, 469, + 1339, 845, 878, 324, 308, 1344, 1345, 873, 431, 1313, + 1314, 548, 615, 548, 431, 548, 401, 1320, 1320, 1320, + 1320, 1227, 1040, 1040, 966, 408, 705, 665, 1051, 1047, + 1048, 876, 577, 614, 957, 870, 848, 1017, 1070, 454, + 736, 1231, 475, 1304, 968, 968, 968, 968, 406, 407, + 454, 962, 969, 670, 882, 671, 1074, 410, 411, 412, + 979, 684, 1117, 0, 413, 0, 0, 0, 345, 0, + 0, 0, 448, 448, 448, 448, 448, 448, 448, 448, + 448, 448, 448, 0, 1072, 448, 930, 1122, 1306, 1306, + 1072, 0, 0, 619, 0, 0, 1232, 1233, 0, 1014, + 0, 0, 0, 0, 843, 0, 275, 872, 0, 664, + 993, 549, 0, 549, 0, 866, 0, 0, 0, 0, + 1012, 1012, 1234, 1294, 1295, 1215, 943, 1226, 0, 1216, + 1219, 944, 1220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1002, 1002 + 0, 0, 255, 255 ); protected $gotoCheck = array( - 42, 42, 72, 126, 65, 65, 55, 55, 65, 9, - 65, 65, 65, 65, 65, 65, 65, 65, 65, 85, - 85, 26, 85, 85, 85, 27, 42, 42, 42, 42, + 42, 42, 72, 126, 72, 65, 65, 96, 26, 65, + 9, 65, 65, 65, 65, 65, 65, 65, 65, 65, + 85, 85, 27, 85, 85, 85, 49, 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, @@ -920,96 +926,97 @@ 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, 15, 7, 5, 5, 174, 174, 174, 23, 23, - 23, 23, 49, 129, 107, 107, 45, 64, 107, 64, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 5, - 5, 5, 5, 5, 5, 24, 24, 24, 24, 92, - 92, 92, 75, 75, 96, 15, 6, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 78, 78, 15, - 83, 78, 78, 78, 78, 180, 180, 12, 83, 15, - 15, 15, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 180, 168, 168, 143, 143, 168, 75, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 154, 180, - 154, 72, 72, 72, 72, 72, 154, 12, 72, 12, - 72, 72, 117, 117, 72, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 9, 9, 9, 9, 72, - 35, 170, 181, 181, 72, 72, 72, 72, 148, 148, - 72, 72, 72, 25, 177, 35, 14, 148, 35, 181, - 25, 25, 25, 25, 25, 25, 14, 14, 72, 84, - 84, 84, 72, 25, 25, 25, 9, 46, 9, 46, - 14, 14, 179, 14, 20, 14, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 14, 169, 169, 102, - 14, 169, 61, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 171, 171, 103, 13, 171, 13, 171, 171, - 171, 171, 171, 171, 171, 171, 171, 48, 118, 118, - 22, 48, 48, 48, 167, 167, 48, 63, 20, 20, - 48, 48, 48, 48, 48, 48, 20, 14, 176, 176, - 5, 5, 106, 106, 106, 106, 150, 106, 2, 2, - 16, 16, 16, 16, 20, 20, 20, 149, 14, 9, - 9, 16, 82, 112, 9, 115, 9, 23, 119, 9, - 9, 22, 23, 129, 23, 129, 29, 129, 18, 39, - 91, 9, 9, 9, 9, 16, 28, 9, 14, 37, - 9, 9, 96, 96, 24, 79, 19, 159, 19, 24, - 19, 24, 129, 129, 129, 129, 109, 16, 16, 128, - 98, 8, 8, 156, 8, 41, 9, 58, 58, 58, - 58, 58, 8, 8, 19, 8, 8, 8, 129, 19, - 19, 19, 19, 81, 81, 19, 19, 19, 81, 131, - 81, 95, 81, 81, 81, 146, 81, -1, -1, 81, - -1, 14, -1, 81, -1, -1, -1, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, -1, 129, - 23, 17, 17, 129, 129, 129, -1, -1, 17, -1, - -1, -1, 116, -1, 17, -1, -1, -1, 116, 22, - -1, -1, 17, -1, 17, 17, 116, 116, -1, 88, - 17, 116, 116, 116, 116, -1, -1, -1, -1, 88, - 88, -1, 17, 88, 88, 88, -1, -1, -1, -1, + 42, 42, 42, 15, 14, 43, 16, 16, 16, 16, + 23, 23, 23, 23, 14, 14, 129, 16, 55, 55, + 12, 48, 6, 181, 181, 48, 48, 48, 14, 14, + 48, 14, 170, 14, 48, 48, 48, 48, 48, 48, + 181, 16, 143, 143, 14, 75, 75, 15, 14, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 45, + 12, 15, 12, 16, 16, 58, 58, 58, 58, 58, + 177, 15, 15, 15, 15, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 148, 148, 7, 88, 88, + 7, 75, 88, 88, 148, 14, 88, 88, 88, 7, + 96, 96, 154, 7, 154, 72, 72, 72, 72, 72, + 154, 64, 72, 64, 72, 72, 14, 179, 72, 72, + 72, 72, 72, 72, 72, 72, 72, 72, 72, 9, + 9, 9, 9, 72, 24, 24, 24, 24, 72, 72, + 72, 72, 25, 35, 72, 72, 72, 14, 102, 83, + 25, 25, 25, 25, 25, 25, 22, 83, 35, 117, + 117, 35, 72, 25, 25, 25, 72, 107, 107, 61, + 9, 107, 9, 107, 107, 107, 107, 107, 107, 107, + 107, 107, 168, 168, 103, 46, 168, 46, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 106, 106, 106, + 106, 13, 106, 13, 63, 169, 169, 22, 149, 169, + 14, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 171, 171, 5, 5, 171, 113, 171, 171, 171, 171, + 171, 171, 171, 171, 171, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 8, 8, 150, 8, 5, + 5, 5, 5, 5, 5, 119, 180, 180, 8, 8, + 112, 8, 118, 118, 9, 9, 174, 174, 174, 9, + 82, 9, 23, 180, 9, 9, 115, 23, 129, 23, + 129, 29, 129, 84, 84, 84, 9, 9, 9, 9, + 180, 18, 9, 167, 167, 9, 9, 39, 116, 176, + 176, 19, 79, 19, 116, 19, 28, 129, 129, 129, + 129, 159, 116, 116, 92, 92, 92, 116, 116, 116, + 116, 9, 2, 2, 91, 37, 22, 109, 128, 19, + 98, 20, 156, 129, 19, 19, 19, 19, 81, 81, + 19, 19, 19, 81, 41, 81, 131, 81, 81, 81, + 95, 81, 146, -1, 81, -1, -1, -1, 81, -1, + -1, -1, 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, -1, 129, 23, 17, 17, 129, 129, + 129, -1, -1, 17, -1, -1, 20, 20, -1, 17, + -1, -1, -1, -1, 20, -1, 24, 17, -1, 17, + 17, 24, -1, 24, -1, 17, -1, -1, -1, -1, + 106, 106, 20, 20, 20, 78, 78, 17, -1, 78, + 78, 78, 78, -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, 106, 106 + -1, -1, 5, 5 ); protected $gotoBase = array( - 0, 0, -295, 0, 0, 162, 186, 153, 464, -11, - 0, 0, -66, 32, 12, -182, -36, 72, 132, 189, - -54, 0, 105, 165, 192, 299, 17, 21, 113, 143, - 0, 0, 0, 0, 0, -76, 0, 114, 0, 119, - 0, 40, -1, 0, 0, 157, -400, 0, -325, 155, - 0, 0, 0, 0, 0, -33, 0, 0, 433, 0, - 0, 311, 0, 148, 164, -234, 0, 0, 0, 0, - 0, 0, -6, 0, 0, -138, 0, 0, -186, 116, - -17, 8, 147, -243, -154, -690, 0, 0, 289, 0, - 0, 115, -102, 0, 0, 64, -273, 0, 68, 0, - 0, 0, 315, 322, 0, 0, 375, -64, 0, 101, - 0, 0, 149, 0, 0, 145, 274, -4, 96, 141, - 0, 0, 0, 0, 0, 0, 1, 0, 100, 166, - 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -27, 0, 0, 67, 0, 265, 175, - 135, 0, 0, 0, -231, 0, 39, 0, 0, 93, - 0, 0, 0, 0, 0, 0, 0, 66, 5, 109, - 263, 124, 0, 0, -132, 0, 31, 275, 0, 302, - -79, -12, 0, 0 + 0, 0, -230, 0, 0, 381, 162, 240, 397, -10, + 0, 0, -116, 25, -133, -183, -284, 73, 142, 191, + 100, 0, 38, 167, 291, 298, 4, 18, 130, 145, + 0, 0, 0, 0, 0, -66, 0, 147, 0, 134, + 0, 65, -1, 146, 0, 196, -391, 0, -530, 8, + 0, 0, 0, 0, 0, 138, 0, 0, 180, 0, + 0, 287, 0, 122, 257, -236, 0, 0, 0, 0, + 0, 0, -5, 0, 0, -138, 0, 0, 169, 120, + 39, 9, 152, -158, -34, -698, 0, 0, -31, 0, + 0, 156, 170, 0, 0, 69, -474, 0, 85, 0, + 0, 0, 273, 301, 0, 0, 329, 86, 0, 119, + 0, 0, 143, 112, 0, 153, 187, 40, 137, 125, + 0, 0, 0, 0, 0, 0, 1, 0, 116, 168, + 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -73, 0, 0, 70, 0, 211, 123, + 133, 0, 0, 0, -231, 0, 54, 0, 0, 104, + 0, 0, 0, 0, 0, 0, 0, 132, 101, 124, + 163, 139, 0, 0, 126, 0, 89, 200, 0, 246, + 109, -124, 0, 0 ); protected $gotoDefault = array( - -32768, 506, 731, 4, 732, 924, 807, 816, 593, 524, - 698, 343, 621, 416, 1291, 901, 1110, 574, 835, 1234, - 1242, 451, 838, 326, 721, 883, 884, 885, 395, 381, - 387, 393, 645, 622, 488, 870, 447, 862, 480, 865, - 446, 874, 162, 413, 504, 878, 3, 880, 552, 911, - 382, 888, 383, 673, 890, 558, 892, 893, 390, 396, - 397, 1115, 566, 618, 905, 253, 560, 906, 380, 907, - 914, 385, 388, 684, 459, 499, 493, 406, 1090, 561, - 604, 642, 441, 467, 616, 628, 614, 474, 1026, 411, - 325, 946, 954, 481, 457, 968, 345, 976, 729, 1123, - 636, 483, 984, 637, 991, 994, 525, 526, 472, 1006, - 268, 1009, 484, 1047, 663, 1020, 1021, 664, 638, 1043, - 639, 665, 640, 1045, 466, 594, 1053, 448, 1061, 1279, - 449, 1065, 262, 1068, 274, 412, 429, 1073, 1074, 8, - 1080, 690, 691, 10, 273, 503, 1105, 685, 445, 1122, - 433, 1192, 1194, 554, 485, 1212, 1211, 676, 500, 1217, - 442, 1282, 443, 527, 468, 312, 528, 304, 329, 309, - 543, 291, 330, 529, 469, 1288, 1296, 327, 30, 1316, - 1327, 338, 571, 609 + -32768, 510, 740, 4, 741, 934, 816, 825, 597, 528, + 707, 346, 625, 420, 1302, 911, 1121, 578, 844, 1245, + 1253, 455, 847, 329, 730, 893, 894, 895, 398, 384, + 390, 396, 649, 626, 492, 879, 451, 871, 484, 874, + 450, 883, 164, 416, 508, 887, 3, 890, 556, 921, + 385, 898, 386, 677, 900, 562, 902, 903, 393, 399, + 400, 1126, 570, 622, 915, 256, 564, 916, 383, 917, + 924, 388, 391, 688, 463, 503, 497, 409, 1101, 565, + 608, 646, 445, 471, 620, 632, 618, 478, 432, 414, + 328, 956, 964, 485, 461, 978, 348, 986, 738, 1134, + 640, 487, 994, 641, 1001, 1004, 529, 530, 476, 1016, + 271, 1019, 488, 19, 667, 1030, 1031, 668, 642, 1053, + 643, 669, 644, 1055, 470, 598, 1063, 452, 1071, 1290, + 453, 1075, 265, 1078, 277, 415, 433, 1084, 1085, 9, + 1091, 698, 699, 11, 276, 507, 1116, 689, 449, 1133, + 437, 1203, 1205, 558, 489, 1223, 1222, 680, 504, 1228, + 446, 1293, 447, 531, 472, 315, 532, 307, 332, 312, + 547, 294, 333, 533, 473, 1299, 1307, 330, 31, 1327, + 1338, 341, 575, 613 ); protected $ruleToNonTerminal = array( @@ -1028,30 +1035,30 @@ class Php7 extends \PhpParser\ParserAbstract 4, 4, 4, 29, 29, 30, 30, 32, 34, 34, 28, 36, 36, 33, 38, 38, 35, 35, 37, 37, 39, 39, 31, 40, 40, 41, 43, 44, 44, 45, - 46, 46, 48, 47, 47, 47, 47, 49, 49, 49, + 45, 46, 46, 48, 47, 47, 47, 47, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - 49, 25, 25, 68, 68, 71, 71, 70, 69, 69, - 62, 74, 74, 75, 75, 76, 76, 77, 77, 78, - 78, 79, 79, 26, 26, 27, 27, 27, 27, 27, - 87, 87, 89, 89, 82, 82, 90, 90, 91, 91, - 91, 83, 83, 86, 86, 84, 84, 92, 93, 93, - 56, 56, 64, 64, 67, 67, 67, 66, 94, 94, - 95, 57, 57, 57, 57, 96, 96, 97, 97, 98, - 98, 99, 100, 100, 101, 101, 102, 102, 54, 54, - 50, 50, 104, 52, 52, 105, 51, 51, 53, 53, - 63, 63, 63, 63, 80, 80, 108, 108, 110, 110, - 111, 111, 111, 111, 109, 109, 109, 113, 113, 113, - 113, 88, 88, 116, 116, 116, 117, 117, 114, 114, - 118, 118, 120, 120, 121, 121, 115, 122, 122, 119, - 123, 123, 123, 123, 112, 112, 81, 81, 81, 20, - 20, 20, 125, 124, 124, 126, 126, 126, 126, 59, - 127, 127, 128, 60, 130, 130, 131, 131, 132, 132, - 85, 133, 133, 133, 133, 133, 133, 138, 138, 139, - 139, 140, 140, 140, 140, 140, 141, 142, 142, 137, - 137, 134, 134, 136, 136, 144, 144, 143, 143, 143, - 143, 143, 143, 143, 135, 145, 145, 147, 146, 146, - 61, 103, 148, 148, 55, 55, 42, 42, 42, 42, + 49, 49, 25, 25, 68, 68, 71, 71, 70, 69, + 69, 62, 74, 74, 75, 75, 76, 76, 77, 77, + 78, 78, 79, 79, 26, 26, 27, 27, 27, 27, + 27, 87, 87, 89, 89, 82, 82, 90, 90, 91, + 91, 91, 83, 83, 86, 86, 84, 84, 92, 93, + 93, 56, 56, 64, 64, 67, 67, 67, 66, 94, + 94, 95, 57, 57, 57, 57, 96, 96, 97, 97, + 98, 98, 99, 100, 100, 101, 101, 102, 102, 54, + 54, 50, 50, 104, 52, 52, 105, 51, 51, 53, + 53, 63, 63, 63, 63, 80, 80, 108, 108, 110, + 110, 111, 111, 111, 111, 109, 109, 109, 113, 113, + 113, 113, 88, 88, 116, 116, 116, 117, 117, 114, + 114, 118, 118, 120, 120, 121, 121, 115, 122, 122, + 119, 123, 123, 123, 123, 112, 112, 81, 81, 81, + 20, 20, 20, 125, 124, 124, 126, 126, 126, 126, + 59, 127, 127, 128, 60, 130, 130, 131, 131, 132, + 132, 85, 133, 133, 133, 133, 133, 133, 133, 138, + 138, 139, 139, 140, 140, 140, 140, 140, 141, 142, + 142, 137, 137, 134, 134, 136, 136, 144, 144, 143, + 143, 143, 143, 143, 143, 143, 135, 145, 145, 147, + 146, 146, 61, 103, 148, 148, 55, 55, 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, @@ -1061,20 +1068,20 @@ 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, - 155, 149, 149, 154, 154, 157, 158, 158, 159, 160, - 161, 161, 161, 161, 19, 19, 72, 72, 72, 72, - 150, 150, 150, 150, 163, 163, 151, 151, 153, 153, - 153, 156, 156, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 169, 169, 169, 107, 171, 171, 171, 171, - 152, 152, 152, 152, 152, 152, 152, 152, 58, 58, - 166, 166, 166, 166, 172, 172, 162, 162, 162, 173, - 173, 173, 173, 173, 173, 73, 73, 65, 65, 65, - 65, 129, 129, 129, 129, 176, 175, 165, 165, 165, - 165, 165, 165, 165, 164, 164, 164, 174, 174, 174, - 174, 106, 170, 178, 178, 177, 177, 179, 179, 179, - 179, 179, 179, 179, 179, 167, 167, 167, 167, 181, - 182, 180, 180, 180, 180, 180, 180, 180, 180, 183, - 183, 183, 183 + 42, 42, 155, 149, 149, 154, 154, 157, 158, 158, + 159, 160, 161, 161, 161, 161, 19, 19, 72, 72, + 72, 72, 150, 150, 150, 150, 163, 163, 151, 151, + 153, 153, 153, 156, 156, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 169, 169, 169, 107, 171, 171, + 171, 171, 152, 152, 152, 152, 152, 152, 152, 152, + 58, 58, 166, 166, 166, 166, 172, 172, 162, 162, + 162, 173, 173, 173, 173, 173, 173, 73, 73, 65, + 65, 65, 65, 129, 129, 129, 129, 176, 175, 165, + 165, 165, 165, 165, 165, 165, 164, 164, 164, 174, + 174, 174, 174, 106, 170, 178, 178, 177, 177, 179, + 179, 179, 179, 179, 179, 179, 179, 167, 167, 167, + 167, 181, 182, 180, 180, 180, 180, 180, 180, 180, + 180, 183, 183, 183, 183 ); protected $ruleToLength = array( @@ -1093,53 +1100,53 @@ class Php7 extends \PhpParser\ParserAbstract 4, 2, 3, 1, 1, 7, 6, 2, 3, 1, 2, 3, 1, 2, 3, 1, 1, 3, 1, 3, 1, 2, 2, 3, 1, 3, 2, 3, 1, 3, - 2, 0, 1, 1, 1, 1, 1, 3, 7, 10, - 5, 7, 9, 5, 3, 3, 3, 3, 3, 3, - 1, 2, 5, 7, 9, 6, 5, 6, 3, 2, - 1, 1, 1, 0, 2, 1, 3, 8, 0, 4, - 2, 1, 3, 0, 1, 0, 1, 0, 1, 3, - 1, 1, 1, 8, 9, 7, 8, 7, 6, 8, - 0, 2, 0, 2, 1, 2, 1, 2, 1, 1, - 1, 0, 2, 0, 2, 0, 2, 2, 1, 3, - 1, 4, 1, 4, 1, 1, 4, 2, 1, 3, - 3, 3, 4, 4, 5, 0, 2, 4, 3, 1, - 1, 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, 6, 8, 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, 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, - 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, 2, 0, 1, 1, 1, 1, 1, 3, 7, + 10, 5, 7, 9, 5, 3, 3, 3, 3, 3, + 3, 1, 2, 5, 7, 9, 6, 5, 6, 3, + 2, 1, 1, 1, 0, 2, 1, 3, 8, 0, + 4, 2, 1, 3, 0, 1, 0, 1, 0, 1, + 3, 1, 1, 1, 8, 9, 7, 8, 7, 6, + 8, 0, 2, 0, 2, 1, 2, 1, 2, 1, + 1, 1, 0, 2, 0, 2, 0, 2, 2, 1, + 3, 1, 4, 1, 4, 1, 1, 4, 2, 1, + 3, 3, 3, 4, 4, 5, 0, 2, 4, 3, + 1, 1, 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, 6, 8, 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, 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, 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, 0, 4, 2, 1, 3, 2, 1, - 2, 2, 2, 4, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 1, 1, 1, 0, 3, 0, 1, - 1, 0, 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, 3, 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 + 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, 0, 4, 2, 1, 3, + 2, 1, 2, 2, 2, 4, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 1, 1, 1, 0, 3, + 0, 1, 1, 0, 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, 3, + 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 { @@ -1599,20 +1606,20 @@ class Php7 extends \PhpParser\ParserAbstract $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 149 => function ($stackPos) { - $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\Const_(new Node\Identifier($this->semStack[$stackPos-(3-1)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributeStack[$stackPos-(3-1)]), $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 150 => function ($stackPos) { - if (is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }; + $this->semValue = new Node\Const_(new Node\Identifier($this->semStack[$stackPos-(3-1)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributeStack[$stackPos-(3-1)]), $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 151 => function ($stackPos) { - $this->semValue = array(); + if (is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }; }, 152 => function ($stackPos) { - $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; }; - if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array(); }, 153 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; }; + if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 154 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -1621,9 +1628,12 @@ class Php7 extends \PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 156 => function ($stackPos) { - throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 157 => function ($stackPos) { + throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 158 => function ($stackPos) { if ($this->semStack[$stackPos-(3-2)]) { $this->semValue = $this->semStack[$stackPos-(3-2)]; $attrs = $this->startAttributeStack[$stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments'])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); }; @@ -1633,46 +1643,46 @@ class Php7 extends \PhpParser\ParserAbstract } }, - 158 => function ($stackPos) { + 159 => function ($stackPos) { $this->semValue = new Stmt\If_($this->semStack[$stackPos-(7-3)], ['stmts' => is_array($this->semStack[$stackPos-(7-5)]) ? $this->semStack[$stackPos-(7-5)] : array($this->semStack[$stackPos-(7-5)]), 'elseifs' => $this->semStack[$stackPos-(7-6)], 'else' => $this->semStack[$stackPos-(7-7)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); }, - 159 => function ($stackPos) { + 160 => function ($stackPos) { $this->semValue = new Stmt\If_($this->semStack[$stackPos-(10-3)], ['stmts' => $this->semStack[$stackPos-(10-6)], 'elseifs' => $this->semStack[$stackPos-(10-7)], 'else' => $this->semStack[$stackPos-(10-8)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); }, - 160 => function ($stackPos) { + 161 => function ($stackPos) { $this->semValue = new Stmt\While_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 161 => function ($stackPos) { + 162 => function ($stackPos) { $this->semValue = new Stmt\Do_($this->semStack[$stackPos-(7-5)], is_array($this->semStack[$stackPos-(7-2)]) ? $this->semStack[$stackPos-(7-2)] : array($this->semStack[$stackPos-(7-2)]), $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); }, - 162 => function ($stackPos) { + 163 => function ($stackPos) { $this->semValue = new Stmt\For_(['init' => $this->semStack[$stackPos-(9-3)], 'cond' => $this->semStack[$stackPos-(9-5)], 'loop' => $this->semStack[$stackPos-(9-7)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, - 163 => function ($stackPos) { + 164 => function ($stackPos) { $this->semValue = new Stmt\Switch_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 164 => function ($stackPos) { + 165 => function ($stackPos) { $this->semValue = new Stmt\Break_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 165 => function ($stackPos) { + 166 => function ($stackPos) { $this->semValue = new Stmt\Continue_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 166 => function ($stackPos) { + 167 => function ($stackPos) { $this->semValue = new Stmt\Return_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 167 => function ($stackPos) { + 168 => function ($stackPos) { $this->semValue = new Stmt\Global_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 168 => function ($stackPos) { + 169 => function ($stackPos) { $this->semValue = new Stmt\Static_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 169 => function ($stackPos) { + 170 => function ($stackPos) { $this->semValue = new Stmt\Echo_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 170 => function ($stackPos) { + 171 => function ($stackPos) { $this->semValue = new Stmt\InlineHTML($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 171 => function ($stackPos) { + 172 => function ($stackPos) { $e = $this->semStack[$stackPos-(2-1)]; if ($e instanceof Expr\Throw_) { @@ -1684,1145 +1694,1143 @@ class Php7 extends \PhpParser\ParserAbstract } }, - 172 => function ($stackPos) { + 173 => function ($stackPos) { $this->semValue = new Stmt\Unset_($this->semStack[$stackPos-(5-3)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 173 => function ($stackPos) { + 174 => function ($stackPos) { $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$stackPos-(7-5)][1], 'stmts' => $this->semStack[$stackPos-(7-7)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); }, - 174 => function ($stackPos) { + 175 => function ($stackPos) { $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(9-3)], $this->semStack[$stackPos-(9-7)][0], ['keyVar' => $this->semStack[$stackPos-(9-5)], 'byRef' => $this->semStack[$stackPos-(9-7)][1], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, - 175 => function ($stackPos) { + 176 => function ($stackPos) { $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(6-3)], new Expr\Error($this->startAttributeStack[$stackPos-(6-4)] + $this->endAttributeStack[$stackPos-(6-4)]), ['stmts' => $this->semStack[$stackPos-(6-6)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, - 176 => function ($stackPos) { + 177 => function ($stackPos) { $this->semValue = new Stmt\Declare_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 177 => function ($stackPos) { + 178 => function ($stackPos) { $this->semValue = new Stmt\TryCatch($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue); }, - 178 => function ($stackPos) { + 179 => function ($stackPos) { $this->semValue = new Stmt\Goto_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 179 => function ($stackPos) { + 180 => function ($stackPos) { $this->semValue = new Stmt\Label($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 180 => function ($stackPos) { + 181 => function ($stackPos) { $this->semValue = array(); /* means: no statement */ }, - 181 => function ($stackPos) { + 182 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 182 => function ($stackPos) { + 183 => function ($stackPos) { $startAttributes = $this->startAttributeStack[$stackPos-(1-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; }; if ($this->semValue === null) $this->semValue = array(); /* means: no statement */ }, - 183 => function ($stackPos) { + 184 => function ($stackPos) { $this->semValue = array(); }, - 184 => function ($stackPos) { + 185 => function ($stackPos) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 185 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, 186 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 187 => function ($stackPos) { - $this->semValue = new Stmt\Catch_($this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); - }, - 188 => function ($stackPos) { - $this->semValue = null; - }, - 189 => function ($stackPos) { - $this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 190 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 191 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 192 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, + 188 => function ($stackPos) { + $this->semValue = new Stmt\Catch_($this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + }, + 189 => function ($stackPos) { + $this->semValue = null; + }, + 190 => function ($stackPos) { + $this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 191 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 192 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, 193 => function ($stackPos) { - $this->semValue = false; + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 194 => function ($stackPos) { - $this->semValue = true; + $this->semValue = false; }, 195 => function ($stackPos) { - $this->semValue = false; + $this->semValue = true; }, 196 => function ($stackPos) { - $this->semValue = true; - }, - 197 => function ($stackPos) { $this->semValue = false; }, - 198 => function ($stackPos) { + 197 => function ($stackPos) { $this->semValue = true; }, + 198 => function ($stackPos) { + $this->semValue = false; + }, 199 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = true; }, 200 => function ($stackPos) { - $this->semValue = []; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 201 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = []; }, 202 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 203 => function ($stackPos) { - $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(8-3)], ['byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-5)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 204 => function ($stackPos) { - $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(9-4)], ['byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(8-3)], ['byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-5)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); }, 205 => function ($stackPos) { + $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(9-4)], ['byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + }, + 206 => function ($stackPos) { $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(7-2)], ['type' => $this->semStack[$stackPos-(7-1)], 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); $this->checkClass($this->semValue, $stackPos-(7-2)); }, - 206 => function ($stackPos) { + 207 => function ($stackPos) { $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(8-3)], ['type' => $this->semStack[$stackPos-(8-2)], 'extends' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); $this->checkClass($this->semValue, $stackPos-(8-3)); }, - 207 => function ($stackPos) { + 208 => function ($stackPos) { $this->semValue = new Stmt\Interface_($this->semStack[$stackPos-(7-3)], ['extends' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)], 'attrGroups' => $this->semStack[$stackPos-(7-1)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); $this->checkInterface($this->semValue, $stackPos-(7-3)); }, - 208 => function ($stackPos) { + 209 => function ($stackPos) { $this->semValue = new Stmt\Trait_($this->semStack[$stackPos-(6-3)], ['stmts' => $this->semStack[$stackPos-(6-5)], 'attrGroups' => $this->semStack[$stackPos-(6-1)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, - 209 => function ($stackPos) { + 210 => function ($stackPos) { $this->semValue = new Stmt\Enum_($this->semStack[$stackPos-(8-3)], ['scalarType' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); $this->checkEnum($this->semValue, $stackPos-(8-3)); }, - 210 => function ($stackPos) { - $this->semValue = null; - }, 211 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + $this->semValue = null; }, 212 => function ($stackPos) { - $this->semValue = null; + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, 213 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + $this->semValue = null; }, 214 => function ($stackPos) { - $this->semValue = 0; + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, 215 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = 0; }, 216 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 217 => function ($stackPos) { - $this->checkClassModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 218 => function ($stackPos) { - $this->semValue = Modifiers::ABSTRACT; + $this->checkClassModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; }, 219 => function ($stackPos) { - $this->semValue = Modifiers::FINAL; + $this->semValue = Modifiers::ABSTRACT; }, 220 => function ($stackPos) { - $this->semValue = Modifiers::READONLY; + $this->semValue = Modifiers::FINAL; }, 221 => function ($stackPos) { - $this->semValue = null; + $this->semValue = Modifiers::READONLY; }, 222 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 223 => function ($stackPos) { - $this->semValue = array(); - }, - 224 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 225 => function ($stackPos) { - $this->semValue = array(); - }, - 226 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 227 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 228 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 229 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 230 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 231 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 232 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 233 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 234 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 235 => function ($stackPos) { $this->semValue = null; }, - 236 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + 223 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, - 237 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 238 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 239 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 240 => function ($stackPos) { - $this->semValue = new Node\DeclareItem($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 241 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 242 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; - }, - 243 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 244 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(5-3)]; - }, - 245 => function ($stackPos) { + 224 => function ($stackPos) { $this->semValue = array(); }, + 225 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; + }, + 226 => function ($stackPos) { + $this->semValue = array(); + }, + 227 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; + }, + 228 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 229 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 230 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 231 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 232 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 233 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 234 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 235 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 236 => function ($stackPos) { + $this->semValue = null; + }, + 237 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 238 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 239 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 240 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 241 => function ($stackPos) { + $this->semValue = new Node\DeclareItem($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 242 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 243 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-3)]; + }, + 244 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 245 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(5-3)]; + }, 246 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = array(); }, 247 => function ($stackPos) { - $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 248 => function ($stackPos) { - $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 249 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; + $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 250 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos]; }, 251 => function ($stackPos) { - $this->semValue = new Expr\Match_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-6)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos]; }, 252 => function ($stackPos) { - $this->semValue = []; + $this->semValue = new Expr\Match_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-6)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); }, 253 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = []; }, 254 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 255 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 256 => function ($stackPos) { - $this->semValue = new Node\MatchArm($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 257 => function ($stackPos) { - $this->semValue = new Node\MatchArm(null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 258 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 259 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 260 => function ($stackPos) { - $this->semValue = array(); - }, - 261 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 262 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(5-3)], is_array($this->semStack[$stackPos-(5-5)]) ? $this->semStack[$stackPos-(5-5)] : array($this->semStack[$stackPos-(5-5)]), $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 263 => function ($stackPos) { - $this->semValue = array(); - }, - 264 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 265 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->fixupAlternativeElse($this->semValue); - }, - 266 => function ($stackPos) { - $this->semValue = null; - }, - 267 => function ($stackPos) { - $this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 268 => function ($stackPos) { - $this->semValue = null; - }, - 269 => function ($stackPos) { - $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->fixupAlternativeElse($this->semValue); - }, - 270 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); - }, - 271 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-2)], true); - }, - 272 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); - }, - 273 => function ($stackPos) { - $this->semValue = array($this->fixupArrayDestructuring($this->semStack[$stackPos-(1-1)]), false); - }, - 274 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 275 => function ($stackPos) { - $this->semValue = array(); - }, - 276 => function ($stackPos) { + 255 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, - 277 => function ($stackPos) { + 256 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, + 257 => function ($stackPos) { + $this->semValue = new Node\MatchArm($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 258 => function ($stackPos) { + $this->semValue = new Node\MatchArm(null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 259 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 260 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 261 => function ($stackPos) { + $this->semValue = array(); + }, + 262 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 263 => function ($stackPos) { + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(5-3)], is_array($this->semStack[$stackPos-(5-5)]) ? $this->semStack[$stackPos-(5-5)] : array($this->semStack[$stackPos-(5-5)]), $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 264 => function ($stackPos) { + $this->semValue = array(); + }, + 265 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 266 => function ($stackPos) { + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->fixupAlternativeElse($this->semValue); + }, + 267 => function ($stackPos) { + $this->semValue = null; + }, + 268 => function ($stackPos) { + $this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 269 => function ($stackPos) { + $this->semValue = null; + }, + 270 => function ($stackPos) { + $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->fixupAlternativeElse($this->semValue); + }, + 271 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + }, + 272 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(2-2)], true); + }, + 273 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + }, + 274 => function ($stackPos) { + $this->semValue = array($this->fixupArrayDestructuring($this->semStack[$stackPos-(1-1)]), false); + }, + 275 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 276 => function ($stackPos) { + $this->semValue = array(); + }, + 277 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, 278 => function ($stackPos) { - $this->semValue = 0; + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 279 => function ($stackPos) { - $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + $this->semValue = 0; }, 280 => function ($stackPos) { - $this->semValue = Modifiers::PUBLIC; + $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; }, 281 => function ($stackPos) { - $this->semValue = Modifiers::PROTECTED; + $this->semValue = Modifiers::PUBLIC; }, 282 => function ($stackPos) { - $this->semValue = Modifiers::PRIVATE; + $this->semValue = Modifiers::PROTECTED; }, 283 => function ($stackPos) { - $this->semValue = Modifiers::READONLY; + $this->semValue = Modifiers::PRIVATE; }, 284 => function ($stackPos) { + $this->semValue = Modifiers::READONLY; + }, + 285 => function ($stackPos) { $this->semValue = new Node\Param($this->semStack[$stackPos-(6-6)], null, $this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes, $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-1)]); $this->checkParam($this->semValue); }, - 285 => function ($stackPos) { + 286 => function ($stackPos) { $this->semValue = new Node\Param($this->semStack[$stackPos-(8-6)], $this->semStack[$stackPos-(8-8)], $this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-5)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes, $this->semStack[$stackPos-(8-2)], $this->semStack[$stackPos-(8-1)]); $this->checkParam($this->semValue); }, - 286 => function ($stackPos) { + 287 => function ($stackPos) { $this->semValue = new Node\Param(new Expr\Error($this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes), null, $this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes, $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-1)]); }, - 287 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, 288 => function ($stackPos) { - $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 289 => function ($stackPos) { - $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 290 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 291 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 292 => function ($stackPos) { - $this->semValue = new Node\Name('static', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 293 => function ($stackPos) { - $this->semValue = $this->handleBuiltinTypes($this->semStack[$stackPos-(1-1)]); + $this->semValue = new Node\Name('static', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 294 => function ($stackPos) { - $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->handleBuiltinTypes($this->semStack[$stackPos-(1-1)]); }, 295 => function ($stackPos) { - $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 296 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 297 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 298 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); - }, - 299 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 300 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 301 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(3-2)]; }, - 302 => function ($stackPos) { + 299 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); }, + 300 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 301 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 302 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, 303 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); }, 304 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 305 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 306 => function ($stackPos) { - $this->semValue = new Node\IntersectionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 307 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); }, - 308 => function ($stackPos) { + 306 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, - 309 => function ($stackPos) { + 307 => function ($stackPos) { $this->semValue = new Node\IntersectionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, + 308 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + }, + 309 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, 310 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\IntersectionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 311 => function ($stackPos) { - $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 312 => function ($stackPos) { - $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 313 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 314 => function ($stackPos) { - $this->semValue = null; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 315 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = null; }, 316 => function ($stackPos) { - $this->semValue = null; - }, - 317 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 318 => function ($stackPos) { - $this->semValue = null; - }, - 319 => function ($stackPos) { - $this->semValue = array(); - }, - 320 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 321 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-2)]); - }, - 322 => function ($stackPos) { - $this->semValue = new Node\VariadicPlaceholder($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 323 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 324 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 325 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 326 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 327 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 328 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(3-3)], false, false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->semStack[$stackPos-(3-1)]); - }, - 329 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 330 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 331 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 332 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 333 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + 317 => function ($stackPos) { + $this->semValue = null; }, - 334 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 318 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, - 335 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 319 => function ($stackPos) { + $this->semValue = null; }, - 336 => function ($stackPos) { - $this->semValue = new Node\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 337 => function ($stackPos) { - $this->semValue = new Node\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 338 => function ($stackPos) { - if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } - }, - 339 => function ($stackPos) { + 320 => function ($stackPos) { $this->semValue = array(); }, + 321 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 322 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(3-2)]); + }, + 323 => function ($stackPos) { + $this->semValue = new Node\VariadicPlaceholder($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 324 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 325 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 326 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 327 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 328 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 329 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(3-3)], false, false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->semStack[$stackPos-(3-1)]); + }, + 330 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 331 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 332 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 333 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 334 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 335 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 336 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 337 => function ($stackPos) { + $this->semValue = new Node\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 338 => function ($stackPos) { + $this->semValue = new Node\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 339 => function ($stackPos) { + if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } + }, 340 => function ($stackPos) { + $this->semValue = array(); + }, + 341 => function ($stackPos) { $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; }; if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 341 => function ($stackPos) { + 342 => function ($stackPos) { $this->semValue = new Stmt\Property($this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes, $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-1)]); $this->checkProperty($this->semValue, $stackPos-(5-2)); }, - 342 => function ($stackPos) { + 343 => function ($stackPos) { $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(5-4)], $this->semStack[$stackPos-(5-2)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes, $this->semStack[$stackPos-(5-1)]); $this->checkClassConst($this->semValue, $stackPos-(5-2)); }, - 343 => function ($stackPos) { + 344 => function ($stackPos) { + $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-2)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes, $this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-4)]); + $this->checkClassConst($this->semValue, $stackPos-(6-2)); + }, + 345 => function ($stackPos) { $this->semValue = new Stmt\ClassMethod($this->semStack[$stackPos-(10-5)], ['type' => $this->semStack[$stackPos-(10-2)], 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-7)], 'returnType' => $this->semStack[$stackPos-(10-9)], 'stmts' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); $this->checkClassMethod($this->semValue, $stackPos-(10-2)); }, - 344 => function ($stackPos) { + 346 => function ($stackPos) { $this->semValue = new Stmt\TraitUse($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 345 => function ($stackPos) { + 347 => function ($stackPos) { $this->semValue = new Stmt\EnumCase($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->semStack[$stackPos-(5-1)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 346 => function ($stackPos) { - $this->semValue = null; /* will be skipped */ - }, - 347 => function ($stackPos) { - $this->semValue = array(); - }, 348 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = null; /* will be skipped */ }, 349 => function ($stackPos) { $this->semValue = array(); }, 350 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 351 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 352 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 353 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 354 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 355 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 356 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); - }, - 357 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 358 => function ($stackPos) { - $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); - }, - 359 => function ($stackPos) { - $this->semValue = null; - }, - 360 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 361 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 362 => function ($stackPos) { - $this->semValue = 0; - }, - 363 => function ($stackPos) { - $this->semValue = 0; - }, - 364 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 365 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 366 => function ($stackPos) { - $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; - }, - 367 => function ($stackPos) { - $this->semValue = Modifiers::PUBLIC; - }, - 368 => function ($stackPos) { - $this->semValue = Modifiers::PROTECTED; - }, - 369 => function ($stackPos) { - $this->semValue = Modifiers::PRIVATE; - }, - 370 => function ($stackPos) { - $this->semValue = Modifiers::STATIC; - }, - 371 => function ($stackPos) { - $this->semValue = Modifiers::ABSTRACT; - }, - 372 => function ($stackPos) { - $this->semValue = Modifiers::FINAL; - }, - 373 => function ($stackPos) { - $this->semValue = Modifiers::READONLY; - }, - 374 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 375 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 376 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 377 => function ($stackPos) { - $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 378 => function ($stackPos) { - $this->semValue = new Node\PropertyItem($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 379 => function ($stackPos) { - $this->semValue = new Node\PropertyItem($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 380 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 381 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 382 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 383 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 384 => function ($stackPos) { $this->semValue = array(); }, - 385 => function ($stackPos) { + 352 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 353 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 354 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 355 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 356 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 357 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 358 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + }, + 359 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 360 => function ($stackPos) { + $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); + }, + 361 => function ($stackPos) { + $this->semValue = null; + }, + 362 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 363 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 364 => function ($stackPos) { + $this->semValue = 0; + }, + 365 => function ($stackPos) { + $this->semValue = 0; + }, + 366 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 367 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 368 => function ($stackPos) { + $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + }, + 369 => function ($stackPos) { + $this->semValue = Modifiers::PUBLIC; + }, + 370 => function ($stackPos) { + $this->semValue = Modifiers::PROTECTED; + }, + 371 => function ($stackPos) { + $this->semValue = Modifiers::PRIVATE; + }, + 372 => function ($stackPos) { + $this->semValue = Modifiers::STATIC; + }, + 373 => function ($stackPos) { + $this->semValue = Modifiers::ABSTRACT; + }, + 374 => function ($stackPos) { + $this->semValue = Modifiers::FINAL; + }, + 375 => function ($stackPos) { + $this->semValue = Modifiers::READONLY; + }, + 376 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 377 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 378 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 379 => function ($stackPos) { + $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 380 => function ($stackPos) { + $this->semValue = new Node\PropertyItem($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 381 => function ($stackPos) { + $this->semValue = new Node\PropertyItem($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 382 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 383 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 384 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 385 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, 386 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array(); }, 387 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 388 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->fixupArrayDestructuring($this->semStack[$stackPos-(3-1)]), $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 389 => function ($stackPos) { $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 390 => function ($stackPos) { - $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Assign($this->fixupArrayDestructuring($this->semStack[$stackPos-(3-1)]), $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 391 => function ($stackPos) { + $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 392 => function ($stackPos) { + $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 393 => function ($stackPos) { $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); if (!$this->phpVersion->allowsAssignNewByReference()) { $this->emitError(new Error('Cannot assign new by reference', $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes)); } - }, - 392 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 393 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 394 => function ($stackPos) { - $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 395 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 396 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 397 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 398 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 399 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 400 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 401 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 402 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 403 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 404 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 405 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 406 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 407 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 408 => function ($stackPos) { - $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 409 => function ($stackPos) { - $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 410 => function ($stackPos) { - $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 411 => function ($stackPos) { - $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 412 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 413 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 414 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 415 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 416 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 417 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 418 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 419 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 420 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 421 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 422 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 423 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 424 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 425 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 426 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 427 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 428 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 429 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 430 => function ($stackPos) { - $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 431 => function ($stackPos) { - $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 432 => function ($stackPos) { - $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 433 => function ($stackPos) { - $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 434 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 435 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 436 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 437 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 438 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 439 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 440 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 441 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 442 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 443 => function ($stackPos) { - $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 444 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 445 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 446 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 447 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, 448 => function ($stackPos) { - $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 449 => function ($stackPos) { - $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 450 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 451 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 452 => function ($stackPos) { - $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 453 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 454 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 455 => function ($stackPos) { - $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 456 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 457 => function ($stackPos) { + $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 458 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = $this->getFloatCastKind($this->semStack[$stackPos-(2-1)]); $this->semValue = new Expr\Cast\Double($this->semStack[$stackPos-(2-2)], $attrs); }, - 457 => function ($stackPos) { + 459 => function ($stackPos) { $this->semValue = new Expr\Cast\String_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 458 => function ($stackPos) { + 460 => function ($stackPos) { $this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 459 => function ($stackPos) { + 461 => function ($stackPos) { $this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 460 => function ($stackPos) { + 462 => function ($stackPos) { $this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 461 => function ($stackPos) { + 463 => function ($stackPos) { $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 462 => function ($stackPos) { + 464 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strtolower($this->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; $this->semValue = new Expr\Exit_($this->semStack[$stackPos-(2-2)], $attrs); }, - 463 => function ($stackPos) { + 465 => function ($stackPos) { $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 464 => function ($stackPos) { + 466 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 465 => function ($stackPos) { + 467 => function ($stackPos) { $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 466 => function ($stackPos) { + 468 => function ($stackPos) { $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 467 => function ($stackPos) { + 469 => function ($stackPos) { $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 468 => function ($stackPos) { + 470 => function ($stackPos) { $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 469 => function ($stackPos) { + 471 => function ($stackPos) { $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, - 470 => function ($stackPos) { + 472 => function ($stackPos) { $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 471 => function ($stackPos) { + 473 => function ($stackPos) { $this->semValue = new Expr\Throw_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 472 => function ($stackPos) { + 474 => function ($stackPos) { $this->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'returnType' => $this->semStack[$stackPos-(8-6)], 'expr' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); }, - 473 => function ($stackPos) { + 475 => function ($stackPos) { $this->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'returnType' => $this->semStack[$stackPos-(9-7)], 'expr' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, - 474 => function ($stackPos) { + 476 => function ($stackPos) { $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'uses' => $this->semStack[$stackPos-(8-6)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); }, - 475 => function ($stackPos) { + 477 => function ($stackPos) { $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'uses' => $this->semStack[$stackPos-(9-7)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, - 476 => function ($stackPos) { + 478 => function ($stackPos) { $this->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'returnType' => $this->semStack[$stackPos-(9-7)], 'expr' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, - 477 => function ($stackPos) { + 479 => function ($stackPos) { $this->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-6)], 'returnType' => $this->semStack[$stackPos-(10-8)], 'expr' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); }, - 478 => function ($stackPos) { + 480 => function ($stackPos) { $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'uses' => $this->semStack[$stackPos-(9-7)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, - 479 => function ($stackPos) { + 481 => function ($stackPos) { $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-6)], 'uses' => $this->semStack[$stackPos-(10-8)], 'returnType' => $this->semStack[$stackPos-(10-9)], 'stmts' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); }, - 480 => function ($stackPos) { + 482 => function ($stackPos) { $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes), $this->semStack[$stackPos-(8-3)]); $this->checkClass($this->semValue[0], -1); }, - 481 => function ($stackPos) { + 483 => function ($stackPos) { $this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 482 => function ($stackPos) { + 484 => function ($stackPos) { list($class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 483 => function ($stackPos) { + 485 => function ($stackPos) { $this->semValue = array(); }, - 484 => function ($stackPos) { + 486 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(4-3)]; }, - 485 => function ($stackPos) { + 487 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 486 => function ($stackPos) { + 488 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, - 487 => function ($stackPos) { + 489 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, - 488 => function ($stackPos) { + 490 => function ($stackPos) { $this->semValue = new Node\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 489 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 490 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, 491 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 492 => function ($stackPos) { $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 493 => function ($stackPos) { - $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 494 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 495 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 496 => function ($stackPos) { $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 497 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 498 => function ($stackPos) { - $this->semValue = new Name\FullyQualified(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 499 => function ($stackPos) { - $this->semValue = new Name\Relative(substr($this->semStack[$stackPos-(1-1)], 10), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 500 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Name\FullyQualified(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 501 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Name\Relative(substr($this->semStack[$stackPos-(1-1)], 10), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 502 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 503 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 504 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 505 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 506 => function ($stackPos) { - $this->semValue = null; - }, - 507 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(3-2)]; }, - 508 => function ($stackPos) { - $this->semValue = array(); + 505 => function ($stackPos) { + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; }, - 509 => function ($stackPos) { - $this->semValue = array(new Node\InterpolatedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); - }, - 510 => function ($stackPos) { - foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 511 => function ($stackPos) { - $this->semValue = array(); - }, - 512 => function ($stackPos) { + 506 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 507 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 508 => function ($stackPos) { + $this->semValue = null; + }, + 509 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 510 => function ($stackPos) { + $this->semValue = array(); + }, + 511 => function ($stackPos) { + $this->semValue = array(new Node\InterpolatedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); + }, + 512 => function ($stackPos) { + foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, 513 => function ($stackPos) { - $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array(); }, 514 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 515 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 516 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 517 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 518 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 519 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 520 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 521 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 522 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 523 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 524 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], new Expr\Error($this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 525 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 526 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], new Expr\Error($this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->errorState = 2; + }, + 527 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT; $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $attrs); }, - 526 => function ($stackPos) { + 528 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG; $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $attrs); $this->createdArrays->attach($this->semValue); }, - 527 => function ($stackPos) { + 529 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; $this->createdArrays->attach($this->semValue); }, - 528 => function ($stackPos) { + 530 => function ($stackPos) { $this->semValue = Scalar\String_::fromString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 529 => function ($stackPos) { + 531 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\InterpolatedString($this->semStack[$stackPos-(3-2)], $attrs); }, - 530 => function ($stackPos) { + 532 => function ($stackPos) { $this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes, $this->phpVersion->allowsInvalidOctals()); }, - 531 => function ($stackPos) { - $this->semValue = Scalar\Float_::fromString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 532 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, 533 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = Scalar\Float_::fromString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 534 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 535 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 536 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], true); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 537 => function ($stackPos) { $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); }, 538 => function ($stackPos) { - $this->semValue = null; + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], true); }, 539 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); }, 540 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = null; }, 541 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 542 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 543 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 544 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -2834,205 +2842,211 @@ class Php7 extends \PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 547 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 548 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 549 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 550 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 551 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 552 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 553 => function ($stackPos) { - $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 554 => function ($stackPos) { - $this->semValue = new Expr\NullsafeMethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 555 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 556 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\NullsafeMethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 557 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = null; }, 558 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 559 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 560 => function ($stackPos) { - $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 561 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 562 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 563 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 564 => function ($stackPos) { - $this->semValue = new Expr\Variable(new Expr\Error($this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); $this->errorState = 2; - }, - 565 => function ($stackPos) { - $var = $this->semStack[$stackPos-(1-1)]->name; $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; - }, - 566 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 567 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 568 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 569 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 570 => function ($stackPos) { $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 571 => function ($stackPos) { + 562 => function ($stackPos) { $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 572 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 573 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 574 => function ($stackPos) { + 563 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 564 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 565 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 566 => function ($stackPos) { + $this->semValue = new Expr\Variable(new Expr\Error($this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); $this->errorState = 2; + }, + 567 => function ($stackPos) { + $var = $this->semStack[$stackPos-(1-1)]->name; $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; + }, + 568 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 569 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 570 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 571 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 572 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 573 => function ($stackPos) { + $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 574 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, 575 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 576 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 577 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 578 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 579 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 580 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 581 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 582 => function ($stackPos) { + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + }, + 583 => function ($stackPos) { $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->semValue->setAttribute('kind', Expr\List_::KIND_LIST); $this->postprocessList($this->semValue); }, - 582 => function ($stackPos) { + 584 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end]->value instanceof Expr\Error) array_pop($this->semValue); }, - 583 => function ($stackPos) { + 585 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos]; }, - 584 => function ($stackPos) { + 586 => function ($stackPos) { /* do nothing -- prevent default action of $$=$this->semStack[$1]. See $551. */ }, - 585 => function ($stackPos) { + 587 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, - 586 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 587 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, 588 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 589 => function ($stackPos) { $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 590 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 591 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 592 => function ($stackPos) { $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 593 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(2-2)], null, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, true); + $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 594 => function ($stackPos) { + $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 595 => function ($stackPos) { + $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(2-2)], null, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, true); + }, + 596 => function ($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 = $this->createEmptyElemAttributes($this->lookaheadStartAttributes); $this->semValue = new Node\ArrayItem(new Expr\Error($attrs), null, false, $attrs); }, - 595 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 596 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, 597 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 598 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 599 => function ($stackPos) { - $this->semValue = new Node\InterpolatedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 600 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); }, 601 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\InterpolatedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 602 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 603 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 604 => function ($stackPos) { - $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 605 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 606 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 607 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 608 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 609 => function ($stackPos) { - $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, 610 => function ($stackPos) { - $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 611 => function ($stackPos) { - $this->semValue = $this->parseNumString('-' . $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 612 => function ($stackPos) { + $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 613 => function ($stackPos) { + $this->semValue = $this->parseNumString('-' . $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 614 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, ]; diff --git a/lib/PhpParser/Parser/Php8.php b/lib/PhpParser/Parser/Php8.php index cdf3e436..0d1ece97 100644 --- a/lib/PhpParser/Parser/Php8.php +++ b/lib/PhpParser/Parser/Php8.php @@ -160,16 +160,16 @@ class Php8 extends \PhpParser\ParserAbstract public const T_ATTRIBUTE = 395; protected $tokenToSymbolMapSize = 396; - protected $actionTableSize = 1252; - protected $gotoTableSize = 646; + protected $actionTableSize = 1263; + protected $gotoTableSize = 718; protected $invalidSymbol = 168; protected $errorSymbol = 1; protected $defaultAction = -32766; protected $unexpectedTokenRule = 32767; - protected $YY2TBLSTATE = 429; - protected $numNonLeafStates = 730; + protected $YY2TBLSTATE = 433; + protected $numNonLeafStates = 739; protected $symbolToName = array( "EOF", @@ -386,132 +386,133 @@ class Php8 extends \PhpParser\ParserAbstract ); protected $action = array( - 132, 133, 134, 578, 135, 136, 0, 742, 743, 744, - 137, 37,-32766,-32766,-32766, 979,-32766,-32766,-32766,-32766, - -32766,-32766, 1294, 817,-32767,-32767,-32767,-32767, 101, 102, - 103,-32766, 930,-32766, 828, 736, 735,-32766, 1016,-32766, + 133, 134, 135, 582, 136, 137, 0, 751, 752, 753, + 138, 38,-32766,-32766,-32766, 989,-32766,-32766,-32766,-32766, + -32766,-32766, 1305, 826,-32767,-32767,-32767,-32767, 102, 103, + 104,-32766, 940,-32766, 837, 745, 744,-32766, 1026,-32766, -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, - -32767, 1233, -364, 1025, -364, 745,-32766,-32766,-32766, 1100, - 1101, 1102, 1099, 1098, 1097, 1103, -326, -192, 819, 267, - 138, 399, 749, 750, 751, 752, 288,-32766, 423,-32766, - -32766,-32766,-32766,-32766, 602, 806, 753, 754, 755, 756, - 757, 758, 759, 760, 761, 762, 782, 579, 783, 784, - 785, 786, 774, 775, 340, 341, 777, 778, 763, 764, - 765, 767, 768, 769, 351, 809, 810, 811, 812, 813, - 580, 770, 771, 581, 582, -191, 794, 792, 793, 805, - 789, 790, 826, 2, 583, 584, 788, 585, 586, 587, - 588, 589, 590, 980, 821,-32766,-32766,-32766, 791, 591, - 592, 703, 139, 19, 132, 133, 134, 578, 135, 136, - 1049, 742, 743, 744, 137, 37,-32766, 34,-32766,-32766, - -32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766, -110, 128, - 238,-32766,-32766,-32766, 81, 144, -591,-32766, 322, 736, - 735, 608, 827, -591, 716, 386,-32766, 18,-32766,-32766, - -32766,-32766,-32766, 1314,-32766,-32766,-32766, 1310, 296, 745, - 1313, 74, 104, 105, 106, 107, 108, 322, 271, 1339, - -326, -192, 1340, 267, 138, 399, 749, 750, 751, 752, - 109, 476, 423,-32766,-32766,-32766, 551, 822, 126, 806, - 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, - 782, 579, 783, 784, 785, 786, 774, 775, 340, 341, - 777, 778, 763, 764, 765, 767, 768, 769, 351, 809, - 810, 811, 812, 813, 580, 770, 771, 581, 582, -191, - 794, 792, 793, 805, 789, 790, 817, 251, 583, 584, - 788, 585, 586, 587, 588, 589, 590, 1266, 82, 83, - 84, 1077, 791, 591, 592, 728, 148, 766, 737, 738, - 739, 740, 741, 823, 742, 743, 744, 779, 780, 36, - 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, -591, 271, -591, 309, 375, - 376, 1100, 1101, 1102, 1099, 1098, 1097, 1103, 109, 417, - 948, 949, 745, 477, 289, 950,-32766,-32766,-32766, 141, - 1076, 944,-32766, 322, 377, 376, 746, 747, 748, 749, - 750, 751, 752, 320, 417, 815, 335,-32766, -542,-32766, - -32766, 336, 806, 753, 754, 755, 756, 757, 758, 759, - 760, 761, 762, 782, 804, 783, 784, 785, 786, 774, - 775, 776, 803, 777, 778, 763, 764, 765, 767, 768, - 769, 808, 809, 810, 811, 812, 813, 814, 770, 771, - 772, 773, -545, 794, 792, 793, 805, 789, 790, 239, - -85, 781, 787, 788, 795, 796, 798, 797, 799, 800, - -32766, 21, -542, -542, 1022, 791, 802, 801, 49, 50, - 51, 507, 52, 53, 423, 736, 735, -542, 54, 55, - -110, 56, 1025, 1092, 910, -110, 1025, -110, 289, -548, - -32766, -542, 303,-32766,-32766, -110, -110, -110, -110, -110, - -110, -110, -110, 365, 910, 288, -545, -545, 1233, 279, - 369,-32766, 1233, 853, 706, 854, -85, 57, 58,-32766, - 384, -541, 59, 435, 60, 245, 246, 61, 62, 63, - 64, 65, 66, 67, 68, -545, 27, 269, 69, 439, - 508, 1025, -16, -340, 1260, 1261, 509, 436, 826, 1228, - 1227, 1229, 1258, 41, 24, 510, 932, 511, 1078, 512, - 910, 513, 825, 437, 514, 515, 853, 900, 854, 43, - 44, 440, 372, 371,-32766, 45, 516, 1012, 1011, 1010, - 1013, 363, 334, 438, 1226, -541, -541, 900, 1219, 826, - 518, 519, 520, 826, 1022, 352, 1025, -270, 1254, 932, - -541, 832, 522, 523, 150, 1247, 1248, 1249, 1250, 1244, - 1245, 295, -547, -582, -541, -582, 1025, 1251, 1246, 288, - 1224, 1228, 1227, 1229, 296, 102, 103, 70, 910, 652, - 25, 318, 319, 322, -152, -152, -152, 910, 357, -110, - 123, 1024, 912, 900,-32766, 910, 701, 151,-32766, -152, - -87, -152, 153, -152, 1048, -152,-32766,-32766, 707, 1228, - 1227, 1229, 912, 124, -588, 370, 701, 708, 74, 296, - 154, -588, 74, 155, 322, 711, 948, 949, 322, 826, - 129, 517, 910, 283, 157, 323, 886, 944, -110, -110, - -110, 31, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 736, 735, 453, 454, 455, - 32, 900, 718, 736, 735, -543, 826, 130, 912, 1329, - 900, 143, 701, -152, 671, 672, 948, 949, 900, 149, - 402, 950, 373, 374, 1138, 1140, 47, 945, 378, 379, - 643, 644,-32766, 158, 159, -540, 27, 160, 1226, 461, - 462, 161, -84, -78, -73,-32766,-32766,-32766, 826,-32766, - 140,-32766, 1258,-32766, 322, 900,-32766, 284, -72, 1022, - -71,-32766,-32766,-32766, -4, 910, -70,-32766,-32766, -543, - -543, 35, 248,-32766, 414, -69, 912, -68, -67, -66, - 701, 1025,-32766, -65, -543, 965, 736, 735, 1219, 701, - 297, 298, -540, 912, -46, -300, 48, 701, -543, -540, - -540, -18, 522, 523, 279, 1247, 1248, 1249, 1250, 1244, - 1245, 147, 73, -588, -540, -588, 270, 1251, 1246, 125, - 280, 717, 720,-32766, 909, 146, 926, 72, -540, 1226, - 912, -296, 319, 322, 701, 277,-32766,-32766,-32766, 278, - -32766, 281,-32766, 282,-32766, 328, 285,-32766, 900, 290, - 291, 109,-32766,-32766,-32766, 271, -540, -540,-32766,-32766, - 299, 300, -50, 681,-32766, 414, 826, 145,-32766, 1107, - 370, -540, 430,-32766, 658, 368, 20, 294, 1341, 817, - 641, 948, 949, 304, 694, -540, 517, 553, 301, 127, - 557, 521, 944, -110, -110, -110, 131, 653, 308, 674, - 458, 434,-32766, 1265, 302,-32766, 563, 1267, 487, 928, - 39, 1226, 606, 825, 9, 659, 675, -505,-32766,-32766, - -32766, -495,-32766, 912,-32766, 7,-32766, 701, -4,-32766, - 23, 0, 296, 0,-32766,-32766,-32766, 1255, 33,-32766, - -32766,-32766, 910, 0, 0, 1226,-32766, 414, 0, 0, - 0, 0,-32766,-32766,-32766,-32766,-32766, 0,-32766, 0, - -32766, 0, 0,-32766, 0, 0, 367, 0,-32766,-32766, - -32766,-32766, 0, 40,-32766,-32766, 0, 1226, 725, 726, - -32766, 414, 910, 845,-32766,-32766,-32766, 891,-32766,-32766, - -32766, 989,-32766, 966, 973,-32766, 963, 974, 889, 482, - -32766,-32766,-32766,-32766, 961, 1081,-32766,-32766, 1084, 1226, - 570, 1085,-32766, 414, 1082, 1083,-32766,-32766,-32766, 1089, - -32766,-32766,-32766, 837,-32766, 900, 1280,-32766, 1298, 1332, - 646, 722,-32766,-32766,-32766, -576, -575, -574,-32766,-32766, - -548, -248, -248, -248,-32766, 414, -547, 370, -546, -489, - 27, 269, 1,-32766, 28, 29, 38, 42, 948, 949, - 46, 71, 826, 517, 75, 900, 1258, 76, 886, 944, - -110, -110, -110, 77, 78, 79, 80, 142, 152, 156, - 244, -247, -247, -247, 324, 352, 353, 370, 354, 355, - 887, 356, 357, 358, 359, 360, 361, 362, 948, 949, - 912, 364, 1219, 517, 701, -248, 431, 550, 886, 944, - -110, -110, -110, -273, -271, -270, 12, 523, 27, 1247, - 1248, 1249, 1250, 1244, 1245, 13, 14, 15, 17, 401, - 826, 1251, 1246, 478, 1258, 479,-32766, 486, 489, 490, - 912, 72, 1226, 1336, 701, -247, 319, 322, 491,-32766, - -32766,-32766, 492,-32766, 496,-32766, 497,-32766, 498, 505, - -32766, 568, 688, 1237, 1178,-32766,-32766,-32766, 1256, 1051, - 1219,-32766,-32766, 1050, 1031, 1214, 1027,-32766, 414, -275, - -102, 11, 16, 26, 293, 523,-32766, 1247, 1248, 1249, - 1250, 1244, 1245, 400, 599, 603, 632, 693, 1182, 1251, - 1246, 1232, 1179, 1311, 1259, 317, 366, 702, 705, 72, - 709, -509, 710, 712, 319, 322, 713, 714, 715, 719, - 704, 0, 1338, 848, 847, 856, 0, 938, 981, 855, - 1337, 937, 935, 936, 939, 1210, 919, 929, 917, 971, - 972, 630, 1335, 1292, 1281, 1299, 1308, 0, 1195, 0, - 0, 322 + -32767, 1244, -366, 1035, -366, 754,-32766,-32766,-32766, 1111, + 1112, 1113, 1110, 1109, 1108, 1114, -327, -193, 828, 270, + 139, 402, 758, 759, 760, 761, 291,-32766, 427,-32766, + -32766,-32766,-32766,-32766, 606, 815, 762, 763, 764, 765, + 766, 767, 768, 769, 770, 771, 791, 583, 792, 793, + 794, 795, 783, 784, 343, 344, 786, 787, 772, 773, + 774, 776, 777, 778, 354, 818, 819, 820, 821, 822, + 584, 779, 780, 585, 586, -192, 803, 801, 802, 814, + 798, 799, 835, 2, 587, 588, 797, 589, 590, 591, + 592, 593, 594, 990, 830,-32766,-32766,-32766, 800, 595, + 596, 712, 140, 23, 133, 134, 135, 582, 136, 137, + 1059, 751, 752, 753, 138, 38,-32766, 35,-32766,-32766, + -32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766, -110, 129, + 241,-32766,-32766,-32766, 82, 145, -593,-32766, 325, 745, + 744, 612, 836, -593, 725, 389,-32766, 7,-32766,-32766, + -32766,-32766,-32766, 1325,-32766,-32766,-32766, 1321, 299, 754, + 1324, 75, 105, 106, 107, 108, 109, 325, 274, 1350, + -327, -193, 1351, 270, 139, 402, 758, 759, 760, 761, + 110, 480, 427,-32766,-32766,-32766, 555, 831, 127, 815, + 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, + 791, 583, 792, 793, 794, 795, 783, 784, 343, 344, + 786, 787, 772, 773, 774, 776, 777, 778, 354, 818, + 819, 820, 821, 822, 584, 779, 780, 585, 586, -192, + 803, 801, 802, 814, 798, 799, 826, 254, 587, 588, + 797, 589, 590, 591, 592, 593, 594, 1277, 83, 84, + 85, 1088, 800, 595, 596, 737, 149, 775, 746, 747, + 748, 749, 750, 832, 751, 752, 753, 788, 789, 37, + 310, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, -593, 274, -593, 312, 378, + 379, 1111, 1112, 1113, 1110, 1109, 1108, 1114, 110, 421, + 958, 959, 754, 481, 292, 960,-32766,-32766,-32766, 142, + 1087, 954, 323, 325, 380, 379, 755, 756, 757, 758, + 759, 760, 761, 338, 421, 824, 339,-32766, -544,-32766, + -32766, 368, 815, 762, 763, 764, 765, 766, 767, 768, + 769, 770, 771, 791, 813, 792, 793, 794, 795, 783, + 784, 785, 812, 786, 787, 772, 773, 774, 776, 777, + 778, 817, 818, 819, 820, 821, 822, 823, 779, 780, + 781, 782, -547, 803, 801, 802, 814, 798, 799, -85, + 372, 790, 796, 797, 804, 805, 807, 806, 808, 809, + -32766, 21, -544, -544, 942, 800, 811, 810, 50, 51, + 52, 511, 53, 54, 862, 387, 863, -544, 55, 56, + -110, 57, 1035, 1103, 920, -110, 326, -110, 292, -550, + 242, -544, 306,-32766,-32766, -110, -110, -110, -110, -110, + -110, -110, -110, 355, 439, 291, -547, -547, 942, -590, + 440, 862, 1244, 863, 715, -85, -590, 58, 59,-32766, + 441, -543, 60, 834, 61, 248, 249, 62, 63, 64, + 65, 66, 67, 68, 69, -547, 28, 272, 70, 443, + 512, 1035, -16, -341, 1271, 1272, 513, 360, 835, 1244, + 465, 466, 1269, 42, 25, 514, -584, 515, -584, 516, + 920, 517,-32766, 1265, 518, 519, 442, 910, 841, 44, + 45, 444, 375, 374,-32766, 46, 520, 1022, 1021, 1020, + 1023, 366, 337,-32766, 1237, -543, -543, 427, 1230,-32766, + 522, 523, 524, 835, 745, 744, 1035, 457, 458, 459, + -543, 151, 526, 527, 1032, 1258, 1259, 1260, 1261, 1255, + 1256, 298, -549, -78, -543, 152, 1058, 1262, 1257, 291, + 1235, 1239, 1238, 1240, 299, 154, 1035, 71, 920, -58, + 835, 321, 322, 325, -153, -153, -153, 155, -271, -110, + 156, 1034, 922, 910, 835, 286, 710, 158,-32766, -153, + 33, -153, -87, -153, -57, -153, 103, 104, 716, 1239, + 1238, 1240, 1239, 1238, 1240, 373, 124, 920, -590, 299, + -590, 1089, 75, -84, 286, -545, 958, 959, 325,-32766, + -32766, 521, 920, 656, 26,-32766, 896, 954, -110, -110, + -110, 32, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 745, 744, 125, 920, 75, + 130, 910, 717, 745, 744, 325, 958, 959, 922, 920, + 131, 960, 710, -153, 690, 141, 144, 955, 159, 325, + 48, 1032, 675, 676, 1149, 1151, 150, 405, 720, -545, + -545, 835,-32766, 160, 1340, -542, 28, 161, 1237, 727, + 910, 376, 377, 1035, -545,-32766,-32766,-32766, 835,-32766, + 691,-32766, 1269,-32766, 162, 910,-32766, -78, -545, 381, + 382,-32766,-32766,-32766, -4, 920, 282,-32766,-32766, 163, + -73, 692, 693,-32766, 418, -72, 922, -71, -70, 1032, + 710, 910,-32766, -69, 300, 301, 745, 744, 1230, 1239, + 1238, 1240, 910, 647, 648, 282, 36, 251, -68, -542, + -542, 1035, 526, 527, -542, 1258, 1259, 1260, 1261, 1255, + 1256, 49, 74, 126, -542, 922, -67, 1262, 1257, 710, + -66, -65, -46,-32766, 282, -18, 148, 73, -542, 1237, + 975, 273, 322, 325, 710, 283,-32766,-32766,-32766, 726, + -32766, 729,-32766, 919,-32766, 147, -301,-32766, 910, 274, + -297, 280,-32766,-32766,-32766, 281, 922, 284,-32766,-32766, + 710, 285, -50, 331,-32766, 418, 287, 922, -542, -542, + 373, 710, 434,-32766, 288, 302, 303, 297, 293, 294, + 685, 958, 959, -542, 936, 826, 521, 110, 835, 146, + 371, 525, 954, -110, -110, -110, 132, -542,-32766, 1118, + 645, 701, 663, 678, 128,-32766, 1352, 679, 438, 557, + 307, 1237, 305, 304, 10, 657, 561, 1276,-32766,-32766, + -32766,-32766,-32766, 922,-32766, 703,-32766, 710, -4,-32766, + 662, 311, 20, 462,-32766,-32766,-32766, 491, 834,-32766, + -32766,-32766, 920, 1278, 299, 1237,-32766, 418, 1266, 325, + -507, 567,-32766,-32766,-32766,-32766,-32766, 731,-32766, 0, + -32766, 0, 0,-32766, 0, 0, 0, 0,-32766,-32766, + -32766,-32766, 0, 0,-32766,-32766, 0, 1237, 0, -497, + -32766, 418, 920, 0,-32766,-32766,-32766, 8,-32766,-32766, + -32766, 40,-32766, 24, 370,-32766, 610, 0, 41, 486, + -32766,-32766,-32766,-32766, 938, 0,-32766,-32766, 734, 1237, + 574, 735,-32766, 418, 854, 901,-32766,-32766,-32766, 999, + -32766,-32766,-32766, 976,-32766, 910, 983,-32766, 973, 984, + 899, 971,-32766,-32766,-32766, 1092, 1095, 1096,-32766,-32766, + 1093, -249, -249, -249,-32766, 418, 1094, 373, 1100, -578, + 28, 272, 846,-32766, 1291, 1309, 1343, 897, 958, 959, + 650, -274, 835, 521, -577, 910, 1269, -576, 896, 954, + -110, -110, -110, -550, -549, -548, -491, 1, 29, 30, + 39, -248, -248, -248, 43, 47, 72, 373, 76, 77, + 1347, 78, 79, 80, 81, 143, 153, 157, 958, 959, + 922, 247, 1230, 521, 710, -249, 327, 355, 896, 954, + -110, -110, -110, 356, 357, 358, 359, 527, 28, 1258, + 1259, 1260, 1261, 1255, 1256, 360, 361, 362, 363, 364, + 835, 1262, 1257, 365, 1269, 367,-32766, 435, 554, 1349, + 922, 73, 1237, 857, 710, -248, 322, 325, -272,-32766, + -32766,-32766, -271,-32766, 13,-32766, 14,-32766, 15, 16, + -32766, 18, 404, 482, 483,-32766,-32766,-32766, 490, 493, + 1230,-32766,-32766, 494, 495, 496, 500,-32766, 418, 501, + 502, 509, 572, 696, 1248, 527,-32766, 1258, 1259, 1260, + 1261, 1255, 1256, 1189, 1267, 1061, 1060, 1041, 1225, 1262, + 1257, 1037, -276, -102, 12, 17, 27, 296, 403, 73, + 34, 603, 607, 636, 322, 325, 702, 1193, 1243, 1190, + 1322, 0, 320, 369, 711, 0, 714, 718, 719, 721, + 722, 723, 724, 728, 713, 0, 856, 865, 948, 991, + 864, 1348, 947, 945, 946, 949, 1221, 929, 939, 927, + 981, 982, 634, 1346, 1303, 1292, 1310, 1319, 0, -511, + 1206, 0, 1270 ); protected $actionCheck = array( @@ -552,102 +553,103 @@ class Php8 extends \PhpParser\ParserAbstract 51, 52, 53, 54, 55, 160, 57, 162, 8, 106, 107, 116, 117, 118, 119, 120, 121, 122, 69, 116, 117, 118, 57, 163, 30, 122, 9, 10, 11, 163, - 1, 128, 9, 167, 106, 107, 71, 72, 73, 74, + 1, 128, 8, 167, 106, 107, 71, 72, 73, 74, 75, 76, 77, 8, 116, 80, 8, 30, 70, 32, 33, 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, 123, 124, - 125, 126, 70, 128, 129, 130, 131, 132, 133, 14, - 31, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 116, 101, 134, 135, 116, 150, 151, 152, 2, 3, - 4, 5, 6, 7, 80, 37, 38, 149, 12, 13, - 101, 15, 138, 123, 1, 106, 138, 108, 30, 161, - 116, 163, 113, 9, 10, 116, 117, 118, 119, 120, - 121, 122, 123, 8, 1, 161, 134, 135, 1, 161, - 8, 137, 1, 106, 31, 108, 97, 51, 52, 116, - 8, 70, 56, 8, 58, 59, 60, 61, 62, 63, + 125, 126, 70, 128, 129, 130, 131, 132, 133, 31, + 8, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 116, 101, 134, 135, 122, 150, 151, 152, 2, 3, + 4, 5, 6, 7, 106, 8, 108, 149, 12, 13, + 101, 15, 138, 123, 1, 106, 70, 108, 30, 161, + 14, 163, 113, 9, 10, 116, 117, 118, 119, 120, + 121, 122, 123, 161, 8, 161, 134, 135, 122, 1, + 8, 106, 1, 108, 31, 97, 8, 51, 52, 116, + 8, 70, 56, 155, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 163, 70, 71, 72, 73, - 74, 138, 31, 164, 78, 79, 80, 8, 82, 155, - 156, 157, 86, 87, 88, 89, 122, 91, 164, 93, - 1, 95, 155, 8, 98, 99, 106, 84, 108, 103, + 74, 138, 31, 164, 78, 79, 80, 161, 82, 1, + 134, 135, 86, 87, 88, 89, 160, 91, 162, 93, + 1, 95, 116, 1, 98, 99, 8, 84, 8, 103, 104, 105, 106, 107, 116, 109, 110, 119, 120, 121, - 122, 115, 116, 8, 80, 134, 135, 84, 122, 82, - 124, 125, 126, 82, 116, 161, 138, 162, 1, 122, - 149, 8, 136, 137, 14, 139, 140, 141, 142, 143, - 144, 145, 161, 160, 163, 162, 138, 151, 152, 161, - 116, 155, 156, 157, 158, 49, 50, 161, 1, 75, - 76, 165, 166, 167, 75, 76, 77, 1, 161, 128, - 16, 137, 159, 84, 137, 1, 163, 14, 137, 90, - 31, 92, 14, 94, 1, 96, 51, 52, 31, 155, - 156, 157, 159, 16, 1, 106, 163, 31, 161, 158, - 14, 8, 161, 14, 167, 31, 117, 118, 167, 82, - 16, 122, 1, 30, 14, 70, 127, 128, 129, 130, + 122, 115, 116, 137, 80, 134, 135, 80, 122, 9, + 124, 125, 126, 82, 37, 38, 138, 129, 130, 131, + 149, 14, 136, 137, 116, 139, 140, 141, 142, 143, + 144, 145, 161, 16, 163, 14, 1, 151, 152, 161, + 116, 155, 156, 157, 158, 14, 138, 161, 1, 16, + 82, 165, 166, 167, 75, 76, 77, 14, 162, 128, + 14, 137, 159, 84, 82, 30, 163, 14, 137, 90, + 14, 92, 31, 94, 16, 96, 49, 50, 31, 155, + 156, 157, 155, 156, 157, 106, 16, 1, 160, 158, + 162, 164, 161, 31, 30, 70, 117, 118, 167, 51, + 52, 122, 1, 75, 76, 137, 127, 128, 129, 130, 131, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 37, 38, 129, 130, 131, - 14, 84, 31, 37, 38, 70, 82, 16, 159, 85, - 84, 16, 163, 164, 75, 76, 117, 118, 84, 101, - 102, 122, 106, 107, 59, 60, 70, 128, 106, 107, - 111, 112, 74, 16, 16, 70, 70, 16, 80, 134, - 135, 16, 31, 31, 31, 87, 88, 89, 82, 91, - 163, 93, 86, 95, 167, 84, 98, 37, 31, 116, - 31, 103, 104, 105, 0, 1, 31, 109, 110, 134, - 135, 147, 148, 115, 116, 31, 159, 31, 31, 31, - 163, 138, 124, 31, 149, 159, 37, 38, 122, 163, - 134, 135, 70, 159, 31, 35, 70, 163, 163, 134, - 135, 31, 136, 137, 161, 139, 140, 141, 142, 143, - 144, 31, 154, 160, 149, 162, 31, 151, 152, 163, - 31, 31, 31, 74, 31, 31, 38, 161, 163, 80, - 159, 35, 166, 167, 163, 35, 87, 88, 89, 35, - 91, 35, 93, 35, 95, 35, 37, 98, 84, 37, - 37, 69, 103, 104, 105, 57, 134, 135, 109, 110, - 134, 135, 31, 77, 115, 116, 82, 70, 85, 82, - 106, 149, 108, 124, 96, 149, 97, 113, 83, 80, - 113, 117, 118, 114, 92, 163, 122, 85, 132, 163, - 89, 127, 128, 129, 130, 131, 31, 90, 132, 94, - 97, 128, 137, 146, 133, 74, 153, 146, 97, 154, - 159, 80, 153, 155, 150, 100, 100, 149, 87, 88, - 89, 149, 91, 159, 93, 149, 95, 163, 164, 98, - 149, -1, 158, -1, 103, 104, 105, 160, 163, 74, - 109, 110, 1, -1, -1, 80, 115, 116, -1, -1, - -1, -1, 87, 88, 89, 124, 91, -1, 93, -1, - 95, -1, -1, 98, -1, -1, 149, -1, 103, 104, - 105, 74, -1, 159, 109, 110, -1, 80, 159, 159, - 115, 116, 1, 159, 87, 88, 89, 159, 91, 124, - 93, 159, 95, 159, 159, 98, 159, 159, 159, 102, - 103, 104, 105, 74, 159, 159, 109, 110, 159, 80, + 25, 26, 27, 28, 29, 37, 38, 16, 1, 161, + 16, 84, 31, 37, 38, 167, 117, 118, 159, 1, + 16, 122, 163, 164, 80, 163, 16, 128, 16, 167, + 70, 116, 75, 76, 59, 60, 101, 102, 31, 134, + 135, 82, 74, 16, 85, 70, 70, 16, 80, 31, + 84, 106, 107, 138, 149, 87, 88, 89, 82, 91, + 116, 93, 86, 95, 16, 84, 98, 31, 163, 106, + 107, 103, 104, 105, 0, 1, 161, 109, 110, 16, + 31, 137, 138, 115, 116, 31, 159, 31, 31, 116, + 163, 84, 124, 31, 134, 135, 37, 38, 122, 155, + 156, 157, 84, 111, 112, 161, 147, 148, 31, 134, + 135, 138, 136, 137, 70, 139, 140, 141, 142, 143, + 144, 70, 154, 163, 149, 159, 31, 151, 152, 163, + 31, 31, 31, 74, 161, 31, 31, 161, 163, 80, + 159, 31, 166, 167, 163, 31, 87, 88, 89, 31, + 91, 31, 93, 31, 95, 31, 35, 98, 84, 57, + 35, 35, 103, 104, 105, 35, 159, 35, 109, 110, + 163, 35, 31, 35, 115, 116, 37, 159, 134, 135, + 106, 163, 108, 124, 37, 134, 135, 113, 37, 37, + 77, 117, 118, 149, 38, 80, 122, 69, 82, 70, + 149, 127, 128, 129, 130, 131, 31, 163, 85, 82, + 113, 80, 100, 94, 163, 74, 83, 100, 128, 85, + 114, 80, 133, 132, 150, 90, 89, 146, 87, 88, + 89, 137, 91, 159, 93, 92, 95, 163, 164, 98, + 96, 132, 97, 97, 103, 104, 105, 97, 155, 74, + 109, 110, 1, 146, 158, 80, 115, 116, 160, 167, + 149, 153, 87, 88, 89, 124, 91, 164, 93, -1, + 95, -1, -1, 98, -1, -1, -1, -1, 103, 104, + 105, 74, -1, -1, 109, 110, -1, 80, -1, 149, + 115, 116, 1, -1, 87, 88, 89, 149, 91, 124, + 93, 159, 95, 149, 149, 98, 153, -1, 159, 102, + 103, 104, 105, 74, 154, -1, 109, 110, 159, 80, 81, 159, 115, 116, 159, 159, 87, 88, 89, 159, - 91, 124, 93, 160, 95, 84, 160, 98, 160, 160, - 160, 164, 103, 104, 105, 161, 161, 161, 109, 110, - 161, 100, 101, 102, 115, 116, 161, 106, 161, 161, - 70, 71, 161, 124, 161, 161, 161, 161, 117, 118, - 161, 161, 82, 122, 161, 84, 86, 161, 127, 128, + 91, 124, 93, 159, 95, 84, 159, 98, 159, 159, + 159, 159, 103, 104, 105, 159, 159, 159, 109, 110, + 159, 100, 101, 102, 115, 116, 159, 106, 159, 161, + 70, 71, 160, 124, 160, 160, 160, 164, 117, 118, + 160, 162, 82, 122, 161, 84, 86, 161, 127, 128, 129, 130, 131, 161, 161, 161, 161, 161, 161, 161, 161, 100, 101, 102, 161, 161, 161, 106, 161, 161, 164, 161, 161, 161, 161, 161, 161, 161, 117, 118, 159, 161, 122, 122, 163, 164, 161, 161, 127, 128, - 129, 130, 131, 162, 162, 162, 162, 137, 70, 139, - 140, 141, 142, 143, 144, 162, 162, 162, 162, 162, - 82, 151, 152, 162, 86, 162, 74, 162, 162, 162, + 129, 130, 131, 161, 161, 161, 161, 137, 70, 139, + 140, 141, 142, 143, 144, 161, 161, 161, 161, 161, + 82, 151, 152, 161, 86, 161, 74, 161, 161, 164, 159, 161, 80, 164, 163, 164, 166, 167, 162, 87, 88, 89, 162, 91, 162, 93, 162, 95, 162, 162, 98, 162, 162, 162, 162, 103, 104, 105, 162, 162, 122, 109, 110, 162, 162, 162, 162, 115, 116, 162, 162, 162, 162, 162, 162, 137, 124, 139, 140, 141, 142, 143, 144, 162, 162, 162, 162, 162, 162, 151, - 152, 162, 162, 162, 166, 163, 163, 163, 163, 161, - 163, 165, 163, 163, 166, 167, 163, 163, 163, 163, - 163, -1, 164, 164, 164, 164, -1, 164, 164, 164, + 152, 162, 162, 162, 162, 162, 162, 162, 162, 161, + 163, 162, 162, 162, 166, 167, 162, 162, 162, 162, + 162, -1, 163, 163, 163, -1, 163, 163, 163, 163, + 163, 163, 163, 163, 163, -1, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, -1, 165, -1, - -1, 167 + 164, 164, 164, 164, 164, 164, 164, 164, -1, 165, + 165, -1, 166 ); protected $actionBase = array( - 0, -2, 152, 549, 764, 941, 981, 587, 384, -12, - 856, 617, 634, 634, 671, 634, 473, 626, 305, 305, - -57, 305, 305, 305, 493, 493, 493, 658, 658, 658, - 658, 749, 749, 897, 897, 929, 865, 831, 1062, 1062, + 0, -2, 152, 549, 764, 941, 981, 634, 552, 497, + -12, 887, 617, 697, 697, 708, 697, 473, 671, 821, + -57, 305, 305, 821, 305, 656, 656, 656, 658, 658, + 658, 658, 749, 749, 897, 897, 929, 865, 831, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, @@ -660,66 +662,67 @@ class Php8 extends \PhpParser\ParserAbstract 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, - 1062, 1062, 33, -16, 83, 686, 1022, 1036, 1032, 1039, - 1020, 1019, 1031, 1033, 1040, 1078, 1079, 794, 1080, 1081, - 1077, 1082, 1034, 870, 1021, 1035, 289, 289, 289, 289, + 1062, 1062, 1062, 1062, 33, -16, 83, 626, 1045, 1055, + 1049, 1056, 1043, 1042, 1046, 1050, 1057, 1089, 1090, 814, + 1091, 1092, 1088, 1093, 1051, 900, 1044, 1054, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 363, 224, 474, 10, 10, 10, 10, 10, + 289, 289, 289, 289, 289, 570, 224, 474, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 3, 3, 3, 666, 666, - 357, 172, 980, 166, 1048, 1048, 1048, 1048, 1048, 1048, - 1048, 1048, 1048, 665, 47, 136, 136, 7, 7, 7, - 7, 7, 369, -20, -20, -20, -20, 501, 448, 50, - 643, 497, 350, -54, 566, 334, 243, 338, 338, 468, - 468, -85, -85, 468, 468, 468, 161, 161, 393, 393, - 393, 393, 318, 441, 397, 151, 765, 206, 206, 206, - 206, 765, 765, 765, 765, 761, 1038, 765, 765, 765, - 635, 722, 722, 726, 595, 595, 722, 450, 802, 624, - 450, 624, 21, 139, 364, 599, 268, 443, 364, 362, - 656, 653, 185, 758, 616, 758, 1018, 424, 783, 467, - 763, 713, 860, 1057, 1041, 815, 1075, 816, 1076, 568, - 605, 712, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1017, 1017, 1084, 428, 1018, 157, 1084, 1084, 1084, - 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, - 619, 157, 544, 639, 157, 810, 428, 33, 772, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 770, - 200, 33, -16, 31, 31, 142, 37, 31, 31, 31, - 31, 33, 33, 33, 616, 798, 753, 622, 759, 117, - 798, 798, 798, 409, 58, 425, 59, 760, 796, 89, - 799, 799, 787, 891, 891, 799, 784, 799, 787, 899, - 799, 799, 891, 891, 774, 171, 505, 378, 492, 529, - 891, 312, 799, 799, 799, 799, 766, 545, 799, 279, - 177, 799, 799, 766, 756, 789, 125, 771, 891, 891, - 891, 766, 485, 771, 771, 771, 819, 820, 767, 785, - 375, 340, 583, 159, 788, 785, 785, 799, 502, 767, - 785, 767, 785, 755, 785, 785, 785, 767, 785, 784, - 383, 785, 717, 565, 145, 785, 6, 900, 903, 609, - 906, 895, 912, 945, 913, 914, 1044, 888, 919, 896, - 915, 946, 894, 893, 793, 614, 637, 776, 768, 887, - 782, 782, 782, 879, 782, 782, 782, 782, 782, 782, - 782, 782, 614, 777, 817, 773, 801, 925, 654, 691, - 999, 757, 926, 1046, 1083, 924, 1001, 916, 751, 695, - 966, 927, 867, 1042, 928, 930, 967, 1002, 824, 1006, - 979, 797, 1058, 1059, 863, 932, 1045, 782, 900, 914, - 711, 896, 915, 894, 893, 752, 748, 746, 747, 744, - 735, 727, 729, 780, 1007, 876, 874, 866, 931, 885, - 614, 868, 954, 775, 971, 973, 1043, 803, 795, 869, - 1060, 933, 934, 935, 1047, 1011, 1049, 814, 963, 951, - 975, 811, 1061, 976, 977, 986, 990, 1050, 1063, 1053, - 875, 1054, 828, 807, 952, 778, 1064, 580, 806, 808, - 813, 940, 623, 923, 1055, 1065, 1066, 992, 994, 996, - 1067, 1068, 917, 832, 964, 805, 965, 953, 834, 835, - 628, 812, 1012, 800, 804, 809, 646, 649, 1069, 1070, - 1071, 918, 790, 786, 837, 838, 1013, 720, 1014, 1072, - 660, 839, 718, 1073, 1000, 721, 725, 792, 1056, 781, - 769, 779, 936, 791, 845, 1074, 846, 849, 852, 997, - 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 10, 10, 10, 10, 10, 10, 10, 3, 3, + 3, 666, 666, 357, 172, 980, 166, 1048, 1048, 1048, + 1048, 1048, 1048, 1048, 1048, 1048, 665, 47, 136, 136, + 7, 7, 7, 7, 7, 369, -20, -20, -20, -20, + 501, 448, 50, 605, 538, 350, -54, 597, 334, 243, + 663, 663, 478, 478, -85, -85, 478, 478, 478, 161, + 161, 393, 393, 393, 393, 318, 441, 358, 151, 784, + 206, 206, 206, 206, 784, 784, 784, 784, 797, 1096, + 784, 784, 784, 595, 734, 734, 741, 618, 618, 734, + 395, 824, 649, 395, 649, 21, 139, 436, 589, 268, + 386, 436, 362, 650, 498, 185, 783, 635, 783, 1041, + 332, 813, 376, 791, 739, 889, 1071, 1058, 802, 1086, + 807, 1087, 458, 406, 726, 1040, 1040, 1040, 1040, 1040, + 1040, 1040, 1040, 1040, 1040, 1040, 782, 547, 1041, 157, + 782, 782, 782, 547, 547, 547, 547, 547, 547, 547, + 547, 547, 547, 682, 157, 598, 647, 157, 828, 547, + 33, 830, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 794, 200, 33, -16, 31, 31, 142, 37, + 31, 31, 31, 31, 33, 33, 33, 33, 635, 792, + 798, 653, 843, 117, 792, 792, 792, 408, 58, 466, + 59, 811, 815, 89, 805, 805, 817, 916, 916, 805, + 806, 805, 817, 924, 805, 805, 916, 916, 786, 171, + 486, 375, 432, 492, 916, 312, 805, 805, 805, 805, + 799, 502, 805, 279, 177, 805, 805, 799, 781, 804, + 125, 779, 916, 916, 916, 799, 383, 779, 779, 779, + 849, 852, 787, 800, 364, 340, 550, 159, 846, 800, + 800, 805, 457, 787, 800, 787, 800, 850, 800, 800, + 800, 787, 800, 806, 378, 800, 702, 548, 145, 800, + 6, 925, 927, 611, 928, 919, 930, 976, 931, 932, + 1061, 915, 940, 923, 933, 977, 918, 917, 812, 640, + 681, 838, 801, 914, 818, 818, 818, 912, 818, 818, + 818, 818, 818, 818, 818, 818, 640, 788, 845, 780, + 827, 952, 684, 694, 1020, 771, 893, 1094, 1095, 946, + 1022, 934, 832, 700, 999, 953, 793, 1059, 954, 955, + 1000, 1031, 855, 1032, 926, 819, 975, 979, 892, 965, + 1063, 818, 925, 932, 632, 923, 933, 918, 917, 790, + 789, 767, 785, 752, 747, 744, 746, 795, 1033, 906, + 888, 894, 964, 913, 640, 895, 992, 1047, 1001, 1002, + 1060, 836, 823, 896, 1072, 966, 967, 968, 1064, 1034, + 1065, 839, 994, 899, 1006, 840, 1073, 1007, 1011, 1012, + 1013, 1066, 1074, 1067, 903, 1068, 856, 825, 986, 834, + 1075, 577, 822, 826, 842, 974, 591, 945, 1069, 1076, + 1077, 1014, 1017, 1018, 1078, 1079, 935, 860, 996, 809, + 997, 990, 864, 867, 601, 841, 1035, 816, 820, 837, + 613, 616, 1080, 1081, 1082, 936, 808, 803, 869, 870, + 1036, 829, 1039, 1083, 623, 871, 717, 1084, 1021, 721, + 738, 587, 628, 603, 753, 833, 1070, 844, 796, 835, + 972, 738, 810, 872, 1085, 876, 877, 878, 1019, 881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 456, 456, 456, 456, 456, 456, 305, 305, 305, - 305, 456, 456, 456, 456, 456, 456, 456, 0, 0, - 305, 0, 0, 0, 456, 456, 456, 456, 456, 456, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 456, 456, 456, 456, 456, 456, 305, 305, 305, 305, + 305, 456, 456, 456, 456, 456, 456, 456, 305, 305, + 0, 0, 305, 0, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, @@ -733,183 +736,192 @@ class Php8 extends \PhpParser\ParserAbstract 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 289, 289, 289, 289, 289, 289, 289, 289, + 456, 456, 456, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 0, 0, 0, 0, + 289, 289, 289, 289, 289, 289, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 289, 289, 289, 289, 289, 289, 289, 289, + 0, 0, 0, 0, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 289, 289, 494, 494, - 289, 289, 494, 289, 494, 494, 494, 494, 494, 494, - 494, 494, 494, 0, 289, 289, 289, 289, 289, 289, - 289, 289, 774, 161, 161, 161, 161, 494, 494, 494, - 494, 494, 235, 235, 161, 494, 774, 494, 494, 494, - 494, 494, 494, 494, 494, 494, 0, 0, 494, 494, - 494, 494, 0, 0, 157, 624, 494, 784, 784, 784, - 784, 494, 494, 494, 494, 624, 624, 494, 494, 494, - 0, 0, 0, 0, 161, 161, 0, 157, 624, 0, - 157, 0, 784, 784, 494, 0, 774, 202, 494, 0, - 0, 0, 0, 157, 784, 157, 428, 799, 624, 799, - 428, 428, 31, 33, 202, 618, 618, 618, 618, 0, - 0, 616, 774, 774, 774, 774, 774, 774, 774, 774, - 774, 774, 774, 784, 0, 774, 0, 784, 784, 784, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 784, 0, 0, 891, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 899, - 0, 0, 0, 0, 0, 0, 784, 0, 0, 0, - 0, 0, 0, 0, 0, 782, 803, 0, 803, 0, - 782, 782, 782, 0, 0, 0, 0, 812, 720 + 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, + 494, 494, 289, 289, 494, 289, 494, 494, 494, 494, + 494, 494, 494, 494, 494, 0, 289, 289, 289, 289, + 289, 289, 289, 289, 786, 161, 161, 161, 161, 494, + 494, 494, 494, 494, 235, 235, 161, 494, 786, 494, + 494, 494, 494, 494, 494, 494, 494, 494, 0, 0, + 494, 494, 494, 494, 0, 0, 157, 649, 494, 806, + 806, 806, 806, 494, 494, 494, 494, 649, 649, 494, + 494, 494, 0, 0, 0, 0, 161, 161, 0, 157, + 649, 0, 157, 0, 806, 806, 494, 0, 786, 202, + 494, 0, 0, 0, 0, 157, 806, 157, 547, 805, + 649, 805, 547, 547, 31, 33, 202, 625, 625, 625, + 625, 0, 0, 635, 786, 786, 786, 786, 786, 786, + 786, 786, 786, 786, 786, 806, 0, 786, 0, 806, + 806, 806, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 806, 0, 0, + 916, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 924, 0, 0, 0, 0, 0, 0, 806, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 818, 836, + 0, 836, 0, 818, 818, 818, 0, 0, 0, 0, + 841, 829 ); protected $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, 100,32767,32767,32767,32767, 596, 596, + 596, 596,32767,32767, 253, 102,32767,32767, 469, 386, + 386, 386,32767,32767, 540, 540, 540, 540, 540, 540, + 32767,32767,32767,32767,32767,32767, 469,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767, 100, - 32767,32767,32767,32767,32767,32767,32767, 594, 594, 594, - 594,32767,32767, 252, 102,32767,32767, 467, 384, 384, - 384,32767,32767, 538, 538, 538, 538, 538, 538,32767, - 32767,32767,32767,32767,32767, 467,32767,32767,32767,32767, + 32767,32767,32767, 36, 7, 8, 10, 11, 49, 17, + 323,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, 589,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 473, 452, + 453, 455, 456, 385, 541, 595, 326, 592, 384, 145, + 338, 328, 241, 329, 257, 474, 258, 475, 478, 479, + 214, 286, 381, 149, 150, 416, 470, 418, 468, 472, + 417, 391, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 389, 390, 471, 449, 448, + 447,32767,32767, 414, 415,32767, 419,32767,32767,32767, + 32767,32767,32767,32767, 102,32767, 388, 422, 420, 421, + 438, 439, 436, 437, 440,32767, 441, 442, 443, 444, + 32767, 315,32767,32767,32767, 365, 363, 423, 315, 111, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 429, + 430,32767,32767,32767,32767, 534, 446,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 102,32767, 100, 536, 411, 413, 503, 424, 425, 392, + 32767, 510,32767, 102, 512,32767,32767,32767,32767,32767, + 32767,32767, 535,32767, 542, 542,32767, 496, 100, 194, + 32767,32767,32767, 194, 194,32767,32767,32767,32767,32767, + 32767,32767,32767, 603, 496, 110, 110, 110, 110, 110, + 110, 110, 110, 110, 110, 110,32767, 194, 110,32767, + 32767,32767, 100, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 189,32767, 267, 269, 102, 557, 194, + 32767, 515,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767, 508,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 496, 434, + 138,32767, 138, 542, 426, 427, 428, 498, 542, 542, + 542, 311, 288,32767,32767,32767,32767, 513, 513, 100, + 100, 100, 100, 508,32767,32767,32767,32767, 111, 99, + 99, 99, 99, 99, 103, 101,32767,32767,32767,32767, + 222, 99,32767, 101, 101,32767,32767, 222, 224, 211, + 101, 226,32767, 561, 562, 222, 101, 226, 226, 226, + 246, 246, 485, 317, 101, 99, 101, 101, 196, 317, + 317,32767, 101, 485, 317, 485, 317, 198, 317, 317, + 317, 485, 317,32767, 101, 317, 213, 99, 99, 317, + 32767,32767,32767, 498,32767,32767,32767,32767,32767,32767, + 32767, 221,32767,32767,32767,32767,32767,32767,32767,32767, + 529,32767, 546, 559, 432, 433, 435, 544, 457, 458, + 459, 460, 461, 462, 463, 465, 591,32767, 502,32767, + 32767,32767,32767, 337,32767, 601,32767, 601,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 602,32767, 542,32767,32767,32767, + 32767, 431, 9, 74, 491, 42, 43, 51, 57, 519, + 520, 521, 522, 516, 517, 523, 518,32767,32767, 524, + 567,32767,32767, 543, 594,32767,32767,32767,32767,32767, + 32767, 138,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767, 529,32767, 136,32767,32767,32767,32767, + 32767,32767,32767,32767, 525,32767,32767,32767, 542,32767, + 32767,32767,32767, 313, 310,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767, 542,32767,32767,32767,32767,32767, 290,32767, 307, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 100,32767, - 32767,32767, 36, 7, 8, 10, 11, 49, 17, 322, - 32767,32767,32767,32767, 102,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 285,32767,32767, 380, + 498, 293, 295, 296,32767,32767,32767,32767, 359,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 587,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 471, 450, 451, 453, - 454, 383, 539, 593, 325, 590, 382, 145, 337, 327, - 240, 328, 256, 472, 257, 473, 476, 477, 213, 285, - 379, 149, 414, 468, 416, 466, 470, 415, 389, 395, - 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 387, 388, 469, 447, 446, 445,32767,32767, - 412, 413,32767, 417,32767,32767,32767,32767,32767,32767, - 32767, 102,32767, 386, 420, 418, 419, 436, 437, 434, - 435, 438,32767, 439, 440, 441, 442,32767, 314,32767, - 32767,32767, 363, 361, 421, 314, 111,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 427, 428,32767,32767, - 32767,32767, 532, 444,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 102,32767, 100, - 534, 409, 411, 501, 422, 423, 390,32767, 508,32767, - 102, 510,32767,32767,32767,32767,32767,32767,32767, 533, - 32767, 540, 540,32767, 494, 100, 193,32767,32767,32767, - 193, 193,32767,32767,32767,32767,32767,32767,32767,32767, - 601, 494, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110,32767, 193, 110,32767,32767,32767, 100, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 188,32767, 266, 268, 102, 555, 193,32767, 513,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 506, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 494, 432, 138,32767, 138, 540, - 424, 425, 426, 496, 540, 540, 540, 310, 287,32767, - 32767,32767,32767, 511, 511, 100, 100, 100, 100, 506, - 32767,32767,32767,32767, 111, 99, 99, 99, 99, 99, - 103, 101,32767,32767,32767,32767, 221, 99,32767, 101, - 101,32767,32767, 221, 223, 210, 101, 225,32767, 559, - 560, 221, 101, 225, 225, 225, 245, 245, 483, 316, - 101, 99, 101, 101, 195, 316, 316,32767, 101, 483, - 316, 483, 316, 197, 316, 316, 316, 483, 316,32767, - 101, 316, 212, 99, 99, 316,32767,32767,32767, 496, - 32767,32767,32767,32767,32767,32767,32767, 220,32767,32767, - 32767,32767,32767,32767,32767,32767, 527,32767, 544, 557, - 430, 431, 433, 542, 455, 456, 457, 458, 459, 460, - 461, 463, 589,32767, 500,32767,32767,32767,32767, 336, - 32767, 599,32767, 599,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 600,32767, 540,32767,32767,32767,32767, 429, 9, 74, - 489, 42, 43, 51, 57, 517, 518, 519, 520, 514, - 515, 521, 516,32767,32767, 522, 565,32767,32767, 541, - 592,32767,32767,32767,32767,32767,32767, 138,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 527, - 32767, 136,32767,32767,32767,32767,32767,32767,32767,32767, - 523,32767,32767,32767, 540,32767,32767,32767,32767, 312, - 309,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 540,32767,32767, - 32767,32767,32767, 289,32767, 306,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 284,32767,32767, 378,32767,32767,32767,32767, - 357,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 151, 151, 3, 3, 339, 151, 151, 151, 339, - 339, 151, 339, 339, 339, 151, 151, 151, 151, 151, - 151, 278, 183, 260, 263, 245, 245, 151, 349, 151 + 152, 152, 3, 3, 340, 152, 152, 152, 340, 340, + 152, 340, 340, 340, 152, 152, 152, 152, 152, 152, + 279, 184, 261, 264, 246, 246, 152, 351, 152 ); protected $goto = array( - 194, 194, 689, 1054, 425, 657, 617, 654, 316, 697, - 419, 311, 312, 331, 572, 424, 332, 426, 634, 650, - 651, 843, 668, 669, 670, 820, 165, 165, 165, 165, - 218, 195, 191, 191, 175, 177, 213, 191, 191, 191, - 191, 191, 192, 192, 192, 192, 192, 192, 186, 187, - 188, 189, 190, 215, 213, 216, 530, 531, 415, 532, - 534, 535, 536, 537, 538, 539, 540, 541, 1124, 166, - 167, 168, 193, 169, 170, 171, 164, 172, 173, 174, - 176, 212, 214, 217, 235, 240, 241, 243, 254, 255, - 256, 257, 258, 259, 260, 261, 263, 264, 265, 266, - 274, 286, 287, 314, 315, 420, 421, 422, 577, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 178, 234, 179, 196, 197, 198, - 236, 186, 187, 188, 189, 190, 215, 1124, 199, 180, - 181, 182, 200, 196, 183, 237, 201, 199, 163, 202, - 203, 184, 204, 205, 206, 185, 207, 208, 209, 210, - 211, 846, 391, 394, 556, 597, 601, 346, 276, 276, - 276, 276, 844, 596, 619, 619, 859, 964, 1257, 824, - 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1275, - 1275, 871, 877, 1275, 858, 1275, 1275, 1275, 1275, 1275, - 1275, 1275, 1275, 1275, 903, 851, 904, 899, 894, 895, - 908, 852, 896, 849, 897, 898, 850, 818, 824, 902, - 824, 1095, 1096, 872, 860, 1059, 1063, 350, 569, 1075, - 1071, 1072, 473, 344, 967, 1273, 1273, 350, 350, 1273, - 475, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, - 350, 350, 418, 350, 607, 1342, 389, 839, 957, 460, - 460, 1225, 1023, 1225, 1023, 1225, 549, 1315, 460, 1023, - 350, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, - 1104, 876, 1023, 1023, 1023, 1023, 1307, 1307, 1307, 1307, - 1225, 5, 427, 6, 985, 1225, 1225, 1225, 1225, 427, - 567, 1225, 1225, 1225, 656, 1030, 1030, 839, 1121, 555, - 547, 1173, 661, 1041, 1037, 1038, 432, 1286, 915, 470, - 1300, 1301, 916, 533, 533, 452, 931, 533, 931, 533, - 533, 533, 533, 533, 533, 533, 533, 533, 682, 337, - 547, 555, 564, 565, 339, 575, 598, 612, 613, 544, - 494, 544, 495, 544, 678, 22, 562, 333, 501, 662, - 724, 633, 635, 1029, 1028, 655, 249, 249, 549, 679, - 683, 999, 687, 695, 995, 956, 405, 696, 450, 349, - 349, 349, 349, 958, 958, 958, 958, 321, 306, 450, - 952, 959, 247, 247, 247, 247, 242, 250, 1326, 1326, - 864, 842, 542, 542, 542, 542, 947, 600, 988, 962, - 962, 960, 962, 723, 1326, 347, 348, 1032, 1033, 548, - 559, 546, 997, 992, 548, 839, 559, 444, 836, 392, - 456, 1218, 444, 1297, 444, 1297, 398, 1297, 627, 629, - 631, 463, 576, 464, 465, 1302, 1303, 869, 573, 610, - 1333, 1334, 605, 620, 623, 624, 625, 626, 647, 648, - 649, 699, 861, 1309, 1309, 1309, 1309, 611, 1216, 1060, - 403, 404, 1007, 471, 1064, 666, 867, 667, 727, 407, - 408, 409, 873, 680, 595, 1088, 410, 700, 1293, 969, - 342, 1106, 428, 0, 1220, 686, 686, 0, 502, 692, - 1086, 677, 941, 0, 0, 1018, 1034, 1035, 1204, 933, - 0, 0, 1205, 1208, 934, 1209, 0, 444, 444, 444, - 444, 444, 444, 444, 444, 444, 444, 444, 0, 1062, - 444, 920, 1111, 1295, 1295, 1062, 0, 0, 615, 0, - 0, 0, 0, 0, 1004, 1325, 1325, 0, 1221, 1222, - 0, 0, 863, 0, 660, 983, 834, 0, 0, 0, - 857, 1325, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1215, 0, 1223, 1283, 1284, 0, 1328, 0, + 196, 196, 1033, 1064, 697, 429, 661, 621, 658, 319, + 706, 423, 314, 315, 334, 576, 428, 335, 430, 638, + 654, 655, 852, 672, 673, 674, 853, 167, 167, 167, + 167, 221, 197, 193, 193, 177, 179, 216, 193, 193, + 193, 193, 193, 194, 194, 194, 194, 194, 194, 188, + 189, 190, 191, 192, 218, 216, 219, 534, 535, 419, + 536, 538, 539, 540, 541, 542, 543, 544, 545, 1135, + 168, 169, 170, 195, 171, 172, 173, 166, 174, 175, + 176, 178, 215, 217, 220, 238, 243, 244, 246, 257, + 258, 259, 260, 261, 262, 263, 264, 266, 267, 268, + 269, 277, 289, 290, 317, 318, 424, 425, 426, 581, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 180, 237, 181, 198, 199, + 200, 239, 188, 189, 190, 191, 192, 218, 1135, 201, + 182, 183, 184, 202, 198, 185, 240, 203, 201, 165, + 204, 205, 186, 206, 207, 208, 187, 209, 210, 211, + 212, 213, 214, 855, 394, 397, 560, 601, 605, 349, + 279, 279, 279, 279, 623, 623, 600, 913, 1268, 914, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1286, + 1286, 974, 422, 1286, 611, 1286, 1286, 1286, 1286, 1286, + 1286, 1286, 1286, 1286, 827, 559, 551, 860, 417, 909, + 904, 905, 918, 861, 906, 858, 907, 908, 859, 464, + 464, 912, 352, 352, 352, 352, 1039, 1038, 464, 1336, + 1336, 1086, 1081, 1082, 1083, 340, 551, 559, 568, 569, + 342, 579, 602, 616, 617, 1336, 1284, 1284, 1106, 1107, + 1284, 22, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, + 1284, 5, 1339, 6, 848, 1236, 1033, 1236, 1033, 1236, + 886, 833, 573, 1033, 347, 1033, 1033, 1033, 1033, 1033, + 1033, 1033, 1033, 1033, 1326, 353, 1033, 1033, 1033, 1033, + 1318, 1318, 1318, 1318, 1236, 353, 353, 1042, 1043, 1236, + 1236, 1236, 1236, 324, 309, 1236, 1236, 1236, 353, 353, + 833, 353, 833, 1353, 848, 694, 995, 477, 829, 548, + 868, 548, 925, 548, 553, 479, 926, 694, 353, 392, + 941, 694, 941, 537, 537, 880, 571, 537, 867, 537, + 537, 537, 537, 537, 537, 537, 537, 537, 454, 1337, + 1337, 1313, 1314, 968, 968, 968, 968, 252, 252, 454, + 962, 969, 498, 566, 499, 1337, 660, 733, 637, 639, + 505, 1132, 659, 577, 614, 1297, 683, 687, 1009, 695, + 704, 1005, 851, 1057, 250, 250, 250, 250, 245, 253, + 998, 972, 972, 970, 972, 732, 686, 474, 1311, 1312, + 436, 406, 407, 550, 1007, 1002, 670, 1184, 671, 456, + 410, 411, 412, 682, 684, 336, 666, 413, 966, 408, + 705, 345, 350, 351, 552, 563, 873, 553, 957, 552, + 845, 563, 448, 848, 395, 460, 870, 448, 1308, 448, + 1308, 401, 1308, 631, 633, 635, 467, 580, 468, 469, + 615, 1227, 878, 1017, 1070, 1344, 1345, 609, 624, 627, + 628, 629, 630, 651, 652, 653, 708, 736, 1320, 1320, + 1320, 1320, 475, 930, 1122, 882, 979, 1074, 0, 0, + 619, 876, 1117, 0, 275, 0, 1014, 0, 0, 549, + 1229, 549, 0, 1304, 872, 0, 664, 993, 881, 869, + 1069, 1073, 866, 546, 546, 546, 546, 1231, 604, 977, + 1036, 1036, 681, 951, 1226, 0, 1028, 1044, 1045, 0, + 0, 0, 448, 448, 448, 448, 448, 448, 448, 448, + 448, 448, 448, 967, 1072, 448, 0, 431, 1306, 1306, + 1072, 1215, 943, 0, 431, 1216, 1219, 944, 1220, 0, + 1040, 1040, 0, 0, 0, 1115, 885, 665, 1051, 1047, + 1048, 0, 1232, 1233, 599, 1099, 0, 709, 0, 0, + 843, 0, 0, 0, 0, 0, 0, 506, 700, 0, + 1097, 0, 0, 0, 0, 0, 0, 0, 1234, 1294, + 1295, 0, 0, 0, 0, 0, 0, 255, 255, 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, 0, 0, 0, 0, 0, - 0, 0, 0, 1002, 1002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 272, 0, - 0, 0, 0, 545, 0, 545 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1012, 1012 ); protected $gotoCheck = array( - 42, 42, 72, 126, 65, 65, 55, 55, 65, 9, - 65, 65, 65, 65, 65, 65, 65, 65, 65, 85, - 85, 26, 85, 85, 85, 7, 42, 42, 42, 42, + 42, 42, 72, 126, 72, 65, 65, 55, 55, 65, + 9, 65, 65, 65, 65, 65, 65, 65, 65, 65, + 85, 85, 26, 85, 85, 85, 27, 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, @@ -923,99 +935,106 @@ 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, 15, 58, 58, 58, 58, 58, 96, 23, 23, - 23, 23, 27, 129, 107, 107, 35, 49, 107, 12, + 42, 42, 42, 15, 58, 58, 58, 58, 58, 96, + 23, 23, 23, 23, 107, 107, 129, 64, 107, 64, 107, 107, 107, 107, 107, 107, 107, 107, 107, 168, - 168, 35, 45, 168, 35, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 64, 15, 64, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 6, 12, 15, - 12, 143, 143, 16, 16, 16, 16, 14, 170, 15, - 15, 15, 83, 177, 16, 169, 169, 14, 14, 169, - 83, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 14, 14, 13, 14, 13, 14, 61, 22, 16, 148, - 148, 72, 72, 72, 72, 72, 14, 179, 148, 72, - 14, 72, 72, 72, 72, 72, 72, 72, 72, 72, - 16, 16, 72, 72, 72, 72, 9, 9, 9, 9, - 72, 46, 116, 46, 102, 72, 72, 72, 72, 116, - 103, 72, 72, 72, 63, 116, 116, 22, 149, 75, - 75, 150, 116, 116, 116, 116, 112, 14, 72, 174, - 174, 174, 72, 171, 171, 82, 9, 171, 9, 171, - 171, 171, 171, 171, 171, 171, 171, 171, 14, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 19, - 154, 19, 154, 19, 115, 75, 48, 29, 154, 119, - 48, 48, 48, 117, 117, 48, 5, 5, 14, 48, - 48, 48, 48, 48, 48, 92, 92, 92, 19, 24, - 24, 24, 24, 19, 19, 19, 19, 167, 167, 19, - 19, 19, 5, 5, 5, 5, 5, 5, 181, 181, - 39, 25, 106, 106, 106, 106, 91, 106, 25, 25, - 25, 25, 25, 25, 181, 96, 96, 118, 118, 9, - 9, 25, 25, 25, 9, 22, 9, 23, 18, 9, - 9, 14, 23, 129, 23, 129, 28, 129, 84, 84, - 84, 9, 9, 9, 9, 176, 176, 9, 2, 2, - 9, 9, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 37, 129, 129, 129, 129, 79, 159, 128, - 81, 81, 109, 156, 131, 81, 9, 81, 98, 81, - 81, 81, 41, 81, 8, 8, 81, 8, 129, 95, - 81, 146, 88, -1, 20, 8, 8, -1, 8, 8, - 8, 88, 88, -1, -1, 88, 88, 88, 78, 78, - -1, -1, 78, 78, 78, 78, -1, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, -1, 129, - 23, 17, 17, 129, 129, 129, -1, -1, 17, -1, - -1, -1, -1, -1, 17, 180, 180, -1, 20, 20, - -1, -1, 17, -1, 17, 17, 20, -1, -1, -1, - 17, 180, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 17, -1, 20, 20, 20, -1, 180, -1, + 168, 49, 13, 168, 13, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 6, 75, 75, 15, 43, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 148, + 148, 15, 24, 24, 24, 24, 117, 117, 148, 180, + 180, 15, 15, 15, 15, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 180, 169, 169, 143, 143, + 169, 75, 169, 169, 169, 169, 169, 169, 169, 169, + 169, 46, 180, 46, 22, 72, 72, 72, 72, 72, + 45, 12, 170, 72, 177, 72, 72, 72, 72, 72, + 72, 72, 72, 72, 179, 14, 72, 72, 72, 72, + 9, 9, 9, 9, 72, 14, 14, 118, 118, 72, + 72, 72, 72, 167, 167, 72, 72, 72, 14, 14, + 12, 14, 12, 14, 22, 7, 102, 83, 7, 19, + 35, 19, 72, 19, 14, 83, 72, 7, 14, 61, + 9, 7, 9, 171, 171, 35, 103, 171, 35, 171, + 171, 171, 171, 171, 171, 171, 171, 171, 19, 181, + 181, 176, 176, 19, 19, 19, 19, 5, 5, 19, + 19, 19, 154, 48, 154, 181, 63, 48, 48, 48, + 154, 149, 48, 2, 2, 14, 48, 48, 48, 48, + 48, 48, 25, 113, 5, 5, 5, 5, 5, 5, + 25, 25, 25, 25, 25, 25, 14, 174, 174, 174, + 112, 81, 81, 25, 25, 25, 81, 150, 81, 82, + 81, 81, 81, 115, 81, 29, 119, 81, 92, 92, + 92, 81, 96, 96, 9, 9, 39, 14, 91, 9, + 18, 9, 23, 22, 9, 9, 37, 23, 129, 23, + 129, 28, 129, 84, 84, 84, 9, 9, 9, 9, + 79, 159, 9, 109, 128, 9, 9, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 98, 129, 129, + 129, 129, 156, 17, 17, 41, 95, 131, -1, -1, + 17, 9, 146, -1, 24, -1, 17, -1, -1, 24, + 14, 24, -1, 129, 17, -1, 17, 17, 16, 16, + 16, 16, 17, 106, 106, 106, 106, 20, 106, 16, + 88, 88, 88, 88, 17, -1, 88, 88, 88, -1, + -1, -1, 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 16, 129, 23, -1, 116, 129, 129, + 129, 78, 78, -1, 116, 78, 78, 78, 78, -1, + 116, 116, -1, -1, -1, 16, 16, 116, 116, 116, + 116, -1, 20, 20, 8, 8, -1, 8, -1, -1, + 20, -1, -1, -1, -1, -1, -1, 8, 8, -1, + 8, -1, -1, -1, -1, -1, -1, -1, 20, 20, + 20, -1, -1, -1, -1, -1, -1, 5, 5, -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, -1, -1, -1, -1, -1, - -1, -1, -1, 106, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 24, -1, - -1, -1, -1, 24, -1, 24 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 106, 106 ); protected $gotoBase = array( - 0, 0, -255, 0, 0, 365, 197, 16, 477, -11, - 0, 0, -115, -81, -68, -182, -223, 72, 121, 82, - 106, 0, -19, 165, 376, 397, 17, 168, 103, 63, - 0, 0, 0, 0, 0, -190, 0, 127, 0, 80, - 0, 47, -1, 0, 0, 173, -436, 0, -346, 160, - 0, 0, 0, 0, 0, -33, 0, 0, 118, 0, - 0, 215, 0, 65, 191, -234, 0, 0, 0, 0, - 0, 0, -6, 0, 0, -31, 0, 0, 105, 128, - 99, -15, 49, -231, -35, -690, 0, 0, 222, 0, - 0, 81, 73, 0, 0, 52, -310, 0, 76, 0, - 0, 0, 260, 258, 0, 0, 375, -64, 0, 107, - 0, 0, 41, 0, 0, 75, 24, 86, 136, 71, - 0, 0, 0, 0, 0, 0, 1, 0, 100, 166, - 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -51, 0, 0, 53, 0, 226, 66, - 40, 0, 0, 0, -139, 0, 39, 0, 0, 104, - 0, 0, 0, 0, 0, 0, 0, 69, -49, -3, - 200, 85, 0, 0, 21, 0, 78, 204, 0, 237, - 240, 93, 0, 0 + 0, 0, -339, 0, 0, 356, 184, 308, 556, -10, + 0, 0, -26, -144, -13, -183, 48, 10, 120, 49, + 116, 0, -15, 167, 219, 378, 18, 22, 105, 118, + 0, 0, 0, 0, 0, -49, 0, 98, 0, 103, + 0, 36, -1, 189, 0, 247, -475, 0, -348, 173, + 0, 0, 0, 0, 0, -33, 0, 0, 119, 0, + 0, 287, 0, 124, 163, -236, 0, 0, 0, 0, + 0, 0, -5, 0, 0, -138, 0, 0, 135, 108, + 101, -88, 130, -150, -34, -698, 0, 0, 230, 0, + 0, 100, 113, 0, 0, 35, -312, 0, 62, 0, + 0, 0, 281, 293, 0, 0, 475, -67, 0, 85, + 0, 0, 122, 110, 0, 131, 266, -54, 13, 125, + 0, 0, 0, 0, 0, 0, 1, 0, 82, 168, + 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -27, 0, 0, 40, 0, 185, 126, + 133, 0, 0, 0, -131, 0, 34, 0, 0, 84, + 0, 0, 0, 0, 0, 0, 0, -18, -52, 5, + 243, 92, 0, 0, 96, 0, -19, 244, 0, 253, + -79, 41, 0, 0 ); protected $gotoDefault = array( - -32768, 506, 731, 4, 732, 924, 807, 816, 593, 524, - 698, 343, 621, 416, 1291, 901, 1110, 574, 835, 1234, - 1242, 451, 838, 326, 721, 883, 884, 885, 395, 381, - 387, 393, 645, 622, 488, 870, 447, 862, 480, 865, - 446, 874, 162, 413, 504, 878, 3, 880, 552, 911, - 382, 888, 383, 673, 890, 558, 892, 893, 390, 396, - 397, 1115, 566, 618, 905, 253, 560, 906, 380, 907, - 914, 385, 388, 684, 459, 499, 493, 406, 1090, 561, - 604, 642, 441, 467, 616, 628, 614, 474, 1026, 411, - 325, 946, 954, 481, 457, 968, 345, 976, 729, 1123, - 636, 483, 984, 637, 991, 994, 525, 526, 472, 1006, - 268, 1009, 484, 1047, 663, 1020, 1021, 664, 638, 1043, - 639, 665, 640, 1045, 466, 594, 1053, 448, 1061, 1279, - 449, 1065, 262, 1068, 275, 412, 429, 1073, 1074, 8, - 1080, 690, 691, 10, 273, 503, 1105, 685, 445, 1122, - 433, 1192, 1194, 554, 485, 1212, 1211, 676, 500, 1217, - 442, 1282, 443, 527, 468, 313, 528, 305, 329, 310, - 543, 292, 330, 529, 469, 1288, 1296, 327, 30, 1316, - 1327, 338, 571, 609 + -32768, 510, 740, 4, 741, 934, 816, 825, 597, 528, + 707, 346, 625, 420, 1302, 911, 1121, 578, 844, 1245, + 1253, 455, 847, 329, 730, 893, 894, 895, 398, 384, + 390, 396, 649, 626, 492, 879, 451, 871, 484, 874, + 450, 883, 164, 416, 508, 887, 3, 890, 556, 921, + 385, 898, 386, 677, 900, 562, 902, 903, 393, 399, + 400, 1126, 570, 622, 915, 256, 564, 916, 383, 917, + 924, 388, 391, 688, 463, 503, 497, 409, 1101, 565, + 608, 646, 445, 471, 620, 632, 618, 478, 432, 414, + 328, 956, 964, 485, 461, 978, 348, 986, 738, 1134, + 640, 487, 994, 641, 1001, 1004, 529, 530, 476, 1016, + 271, 1019, 488, 19, 667, 1030, 1031, 668, 642, 1053, + 643, 669, 644, 1055, 470, 598, 1063, 452, 1071, 1290, + 453, 1075, 265, 1078, 278, 415, 433, 1084, 1085, 9, + 1091, 698, 699, 11, 276, 507, 1116, 689, 449, 1133, + 437, 1203, 1205, 558, 489, 1223, 1222, 680, 504, 1228, + 446, 1293, 447, 531, 472, 316, 532, 308, 332, 313, + 547, 295, 333, 533, 473, 1299, 1307, 330, 31, 1327, + 1338, 341, 575, 613 ); protected $ruleToNonTerminal = array( @@ -1034,30 +1053,30 @@ class Php8 extends \PhpParser\ParserAbstract 4, 4, 4, 29, 29, 30, 30, 32, 34, 34, 28, 36, 36, 33, 38, 38, 35, 35, 37, 37, 39, 39, 31, 40, 40, 41, 43, 44, 44, 45, - 46, 46, 48, 47, 47, 47, 47, 49, 49, 49, + 45, 46, 46, 48, 47, 47, 47, 47, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - 49, 25, 25, 68, 68, 71, 71, 70, 69, 69, - 62, 74, 74, 75, 75, 76, 76, 77, 77, 78, - 78, 79, 79, 26, 26, 27, 27, 27, 27, 27, - 87, 87, 89, 89, 82, 82, 90, 90, 91, 91, - 91, 83, 83, 86, 86, 84, 84, 92, 93, 93, - 56, 56, 64, 64, 67, 67, 67, 66, 94, 94, - 95, 57, 57, 57, 57, 96, 96, 97, 97, 98, - 98, 99, 100, 100, 101, 101, 102, 102, 54, 54, - 50, 50, 104, 52, 52, 105, 51, 51, 53, 53, - 63, 63, 63, 63, 80, 80, 108, 108, 110, 110, - 111, 111, 111, 111, 109, 109, 109, 113, 113, 113, - 113, 88, 88, 116, 116, 116, 117, 117, 114, 114, - 118, 118, 120, 120, 121, 121, 115, 122, 122, 119, - 123, 123, 123, 123, 112, 112, 81, 81, 81, 20, - 20, 20, 125, 124, 124, 126, 126, 126, 126, 59, - 127, 127, 128, 60, 130, 130, 131, 131, 132, 132, - 85, 133, 133, 133, 133, 133, 133, 138, 138, 139, - 139, 140, 140, 140, 140, 140, 141, 142, 142, 137, - 137, 134, 134, 136, 136, 144, 144, 143, 143, 143, - 143, 143, 143, 143, 135, 145, 145, 147, 146, 146, - 61, 103, 148, 148, 55, 55, 42, 42, 42, 42, + 49, 49, 25, 25, 68, 68, 71, 71, 70, 69, + 69, 62, 74, 74, 75, 75, 76, 76, 77, 77, + 78, 78, 79, 79, 26, 26, 27, 27, 27, 27, + 27, 87, 87, 89, 89, 82, 82, 90, 90, 91, + 91, 91, 83, 83, 86, 86, 84, 84, 92, 93, + 93, 56, 56, 64, 64, 67, 67, 67, 66, 94, + 94, 95, 57, 57, 57, 57, 96, 96, 97, 97, + 98, 98, 99, 100, 100, 101, 101, 102, 102, 54, + 54, 50, 50, 104, 52, 52, 105, 51, 51, 53, + 53, 63, 63, 63, 63, 80, 80, 108, 108, 110, + 110, 111, 111, 111, 111, 109, 109, 109, 113, 113, + 113, 113, 88, 88, 116, 116, 116, 117, 117, 114, + 114, 118, 118, 120, 120, 121, 121, 115, 122, 122, + 119, 123, 123, 123, 123, 112, 112, 81, 81, 81, + 20, 20, 20, 125, 124, 124, 126, 126, 126, 126, + 59, 127, 127, 128, 60, 130, 130, 131, 131, 132, + 132, 85, 133, 133, 133, 133, 133, 133, 133, 138, + 138, 139, 139, 140, 140, 140, 140, 140, 141, 142, + 142, 137, 137, 134, 134, 136, 136, 144, 144, 143, + 143, 143, 143, 143, 143, 143, 135, 145, 145, 147, + 146, 146, 61, 103, 148, 148, 55, 55, 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, @@ -1067,20 +1086,20 @@ 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, - 155, 149, 149, 154, 154, 157, 158, 158, 159, 160, - 161, 161, 161, 161, 19, 19, 72, 72, 72, 72, - 150, 150, 150, 150, 163, 163, 151, 151, 153, 153, - 153, 156, 156, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 169, 169, 169, 107, 171, 171, 171, 171, - 152, 152, 152, 152, 152, 152, 152, 152, 58, 58, - 166, 166, 166, 166, 172, 172, 162, 162, 162, 173, - 173, 173, 173, 173, 173, 73, 73, 65, 65, 65, - 65, 129, 129, 129, 129, 176, 175, 165, 165, 165, - 165, 165, 165, 165, 164, 164, 164, 174, 174, 174, - 174, 106, 170, 178, 178, 177, 177, 179, 179, 179, - 179, 179, 179, 179, 179, 167, 167, 167, 167, 181, - 182, 180, 180, 180, 180, 180, 180, 180, 180, 183, - 183, 183, 183 + 42, 42, 155, 149, 149, 154, 154, 157, 158, 158, + 159, 160, 161, 161, 161, 161, 19, 19, 72, 72, + 72, 72, 150, 150, 150, 150, 163, 163, 151, 151, + 153, 153, 153, 156, 156, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 169, 169, 169, 107, 171, 171, + 171, 171, 152, 152, 152, 152, 152, 152, 152, 152, + 58, 58, 166, 166, 166, 166, 172, 172, 162, 162, + 162, 173, 173, 173, 173, 173, 173, 73, 73, 65, + 65, 65, 65, 129, 129, 129, 129, 176, 175, 165, + 165, 165, 165, 165, 165, 165, 164, 164, 164, 174, + 174, 174, 174, 106, 170, 178, 178, 177, 177, 179, + 179, 179, 179, 179, 179, 179, 179, 167, 167, 167, + 167, 181, 182, 180, 180, 180, 180, 180, 180, 180, + 180, 183, 183, 183, 183 ); protected $ruleToLength = array( @@ -1099,53 +1118,53 @@ class Php8 extends \PhpParser\ParserAbstract 4, 2, 3, 1, 1, 7, 6, 2, 3, 1, 2, 3, 1, 2, 3, 1, 1, 3, 1, 3, 1, 2, 2, 3, 1, 3, 2, 3, 1, 3, - 2, 0, 1, 1, 1, 1, 1, 3, 7, 10, - 5, 7, 9, 5, 3, 3, 3, 3, 3, 3, - 1, 2, 5, 7, 9, 6, 5, 6, 3, 2, - 1, 1, 1, 0, 2, 1, 3, 8, 0, 4, - 2, 1, 3, 0, 1, 0, 1, 0, 1, 3, - 1, 1, 1, 8, 9, 7, 8, 7, 6, 8, - 0, 2, 0, 2, 1, 2, 1, 2, 1, 1, - 1, 0, 2, 0, 2, 0, 2, 2, 1, 3, - 1, 4, 1, 4, 1, 1, 4, 2, 1, 3, - 3, 3, 4, 4, 5, 0, 2, 4, 3, 1, - 1, 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, 6, 8, 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, 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, - 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, 2, 0, 1, 1, 1, 1, 1, 3, 7, + 10, 5, 7, 9, 5, 3, 3, 3, 3, 3, + 3, 1, 2, 5, 7, 9, 6, 5, 6, 3, + 2, 1, 1, 1, 0, 2, 1, 3, 8, 0, + 4, 2, 1, 3, 0, 1, 0, 1, 0, 1, + 3, 1, 1, 1, 8, 9, 7, 8, 7, 6, + 8, 0, 2, 0, 2, 1, 2, 1, 2, 1, + 1, 1, 0, 2, 0, 2, 0, 2, 2, 1, + 3, 1, 4, 1, 4, 1, 1, 4, 2, 1, + 3, 3, 3, 4, 4, 5, 0, 2, 4, 3, + 1, 1, 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, 6, 8, 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, 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, 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, 0, 4, 2, 1, 3, 2, 1, - 2, 2, 2, 4, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 1, 1, 1, 0, 3, 0, 1, - 1, 0, 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, 3, 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 + 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, 0, 4, 2, 1, 3, + 2, 1, 2, 2, 2, 4, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 1, 1, 1, 0, 3, + 0, 1, 1, 0, 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, 3, + 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 { @@ -1605,20 +1624,20 @@ class Php8 extends \PhpParser\ParserAbstract $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 149 => function ($stackPos) { - $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\Const_(new Node\Identifier($this->semStack[$stackPos-(3-1)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributeStack[$stackPos-(3-1)]), $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 150 => function ($stackPos) { - if (is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }; + $this->semValue = new Node\Const_(new Node\Identifier($this->semStack[$stackPos-(3-1)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributeStack[$stackPos-(3-1)]), $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 151 => function ($stackPos) { - $this->semValue = array(); + if (is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }; }, 152 => function ($stackPos) { - $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; }; - if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array(); }, 153 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; }; + if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 154 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -1627,9 +1646,12 @@ class Php8 extends \PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 156 => function ($stackPos) { - throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 157 => function ($stackPos) { + throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 158 => function ($stackPos) { if ($this->semStack[$stackPos-(3-2)]) { $this->semValue = $this->semStack[$stackPos-(3-2)]; $attrs = $this->startAttributeStack[$stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments'])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); }; @@ -1639,46 +1661,46 @@ class Php8 extends \PhpParser\ParserAbstract } }, - 158 => function ($stackPos) { + 159 => function ($stackPos) { $this->semValue = new Stmt\If_($this->semStack[$stackPos-(7-3)], ['stmts' => is_array($this->semStack[$stackPos-(7-5)]) ? $this->semStack[$stackPos-(7-5)] : array($this->semStack[$stackPos-(7-5)]), 'elseifs' => $this->semStack[$stackPos-(7-6)], 'else' => $this->semStack[$stackPos-(7-7)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); }, - 159 => function ($stackPos) { + 160 => function ($stackPos) { $this->semValue = new Stmt\If_($this->semStack[$stackPos-(10-3)], ['stmts' => $this->semStack[$stackPos-(10-6)], 'elseifs' => $this->semStack[$stackPos-(10-7)], 'else' => $this->semStack[$stackPos-(10-8)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); }, - 160 => function ($stackPos) { + 161 => function ($stackPos) { $this->semValue = new Stmt\While_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 161 => function ($stackPos) { + 162 => function ($stackPos) { $this->semValue = new Stmt\Do_($this->semStack[$stackPos-(7-5)], is_array($this->semStack[$stackPos-(7-2)]) ? $this->semStack[$stackPos-(7-2)] : array($this->semStack[$stackPos-(7-2)]), $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); }, - 162 => function ($stackPos) { + 163 => function ($stackPos) { $this->semValue = new Stmt\For_(['init' => $this->semStack[$stackPos-(9-3)], 'cond' => $this->semStack[$stackPos-(9-5)], 'loop' => $this->semStack[$stackPos-(9-7)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, - 163 => function ($stackPos) { + 164 => function ($stackPos) { $this->semValue = new Stmt\Switch_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 164 => function ($stackPos) { + 165 => function ($stackPos) { $this->semValue = new Stmt\Break_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 165 => function ($stackPos) { + 166 => function ($stackPos) { $this->semValue = new Stmt\Continue_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 166 => function ($stackPos) { + 167 => function ($stackPos) { $this->semValue = new Stmt\Return_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 167 => function ($stackPos) { + 168 => function ($stackPos) { $this->semValue = new Stmt\Global_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 168 => function ($stackPos) { + 169 => function ($stackPos) { $this->semValue = new Stmt\Static_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 169 => function ($stackPos) { + 170 => function ($stackPos) { $this->semValue = new Stmt\Echo_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 170 => function ($stackPos) { + 171 => function ($stackPos) { $this->semValue = new Stmt\InlineHTML($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 171 => function ($stackPos) { + 172 => function ($stackPos) { $e = $this->semStack[$stackPos-(2-1)]; if ($e instanceof Expr\Throw_) { @@ -1690,1145 +1712,1143 @@ class Php8 extends \PhpParser\ParserAbstract } }, - 172 => function ($stackPos) { + 173 => function ($stackPos) { $this->semValue = new Stmt\Unset_($this->semStack[$stackPos-(5-3)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 173 => function ($stackPos) { + 174 => function ($stackPos) { $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$stackPos-(7-5)][1], 'stmts' => $this->semStack[$stackPos-(7-7)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); }, - 174 => function ($stackPos) { + 175 => function ($stackPos) { $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(9-3)], $this->semStack[$stackPos-(9-7)][0], ['keyVar' => $this->semStack[$stackPos-(9-5)], 'byRef' => $this->semStack[$stackPos-(9-7)][1], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, - 175 => function ($stackPos) { + 176 => function ($stackPos) { $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(6-3)], new Expr\Error($this->startAttributeStack[$stackPos-(6-4)] + $this->endAttributeStack[$stackPos-(6-4)]), ['stmts' => $this->semStack[$stackPos-(6-6)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, - 176 => function ($stackPos) { + 177 => function ($stackPos) { $this->semValue = new Stmt\Declare_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 177 => function ($stackPos) { + 178 => function ($stackPos) { $this->semValue = new Stmt\TryCatch($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue); }, - 178 => function ($stackPos) { + 179 => function ($stackPos) { $this->semValue = new Stmt\Goto_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 179 => function ($stackPos) { + 180 => function ($stackPos) { $this->semValue = new Stmt\Label($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 180 => function ($stackPos) { + 181 => function ($stackPos) { $this->semValue = array(); /* means: no statement */ }, - 181 => function ($stackPos) { + 182 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 182 => function ($stackPos) { + 183 => function ($stackPos) { $startAttributes = $this->startAttributeStack[$stackPos-(1-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; }; if ($this->semValue === null) $this->semValue = array(); /* means: no statement */ }, - 183 => function ($stackPos) { + 184 => function ($stackPos) { $this->semValue = array(); }, - 184 => function ($stackPos) { + 185 => function ($stackPos) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 185 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, 186 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 187 => function ($stackPos) { - $this->semValue = new Stmt\Catch_($this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); - }, - 188 => function ($stackPos) { - $this->semValue = null; - }, - 189 => function ($stackPos) { - $this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 190 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 191 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 192 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, + 188 => function ($stackPos) { + $this->semValue = new Stmt\Catch_($this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + }, + 189 => function ($stackPos) { + $this->semValue = null; + }, + 190 => function ($stackPos) { + $this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 191 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 192 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, 193 => function ($stackPos) { - $this->semValue = false; + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 194 => function ($stackPos) { - $this->semValue = true; + $this->semValue = false; }, 195 => function ($stackPos) { - $this->semValue = false; + $this->semValue = true; }, 196 => function ($stackPos) { - $this->semValue = true; - }, - 197 => function ($stackPos) { $this->semValue = false; }, - 198 => function ($stackPos) { + 197 => function ($stackPos) { $this->semValue = true; }, + 198 => function ($stackPos) { + $this->semValue = false; + }, 199 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = true; }, 200 => function ($stackPos) { - $this->semValue = []; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 201 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = []; }, 202 => function ($stackPos) { - $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 203 => function ($stackPos) { - $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(8-3)], ['byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-5)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 204 => function ($stackPos) { - $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(9-4)], ['byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(8-3)], ['byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-5)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); }, 205 => function ($stackPos) { + $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(9-4)], ['byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + }, + 206 => function ($stackPos) { $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(7-2)], ['type' => $this->semStack[$stackPos-(7-1)], 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); $this->checkClass($this->semValue, $stackPos-(7-2)); }, - 206 => function ($stackPos) { + 207 => function ($stackPos) { $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(8-3)], ['type' => $this->semStack[$stackPos-(8-2)], 'extends' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); $this->checkClass($this->semValue, $stackPos-(8-3)); }, - 207 => function ($stackPos) { + 208 => function ($stackPos) { $this->semValue = new Stmt\Interface_($this->semStack[$stackPos-(7-3)], ['extends' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)], 'attrGroups' => $this->semStack[$stackPos-(7-1)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); $this->checkInterface($this->semValue, $stackPos-(7-3)); }, - 208 => function ($stackPos) { + 209 => function ($stackPos) { $this->semValue = new Stmt\Trait_($this->semStack[$stackPos-(6-3)], ['stmts' => $this->semStack[$stackPos-(6-5)], 'attrGroups' => $this->semStack[$stackPos-(6-1)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, - 209 => function ($stackPos) { + 210 => function ($stackPos) { $this->semValue = new Stmt\Enum_($this->semStack[$stackPos-(8-3)], ['scalarType' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); $this->checkEnum($this->semValue, $stackPos-(8-3)); }, - 210 => function ($stackPos) { - $this->semValue = null; - }, 211 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + $this->semValue = null; }, 212 => function ($stackPos) { - $this->semValue = null; + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, 213 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + $this->semValue = null; }, 214 => function ($stackPos) { - $this->semValue = 0; + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, 215 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = 0; }, 216 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 217 => function ($stackPos) { - $this->checkClassModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 218 => function ($stackPos) { - $this->semValue = Modifiers::ABSTRACT; + $this->checkClassModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; }, 219 => function ($stackPos) { - $this->semValue = Modifiers::FINAL; + $this->semValue = Modifiers::ABSTRACT; }, 220 => function ($stackPos) { - $this->semValue = Modifiers::READONLY; + $this->semValue = Modifiers::FINAL; }, 221 => function ($stackPos) { - $this->semValue = null; + $this->semValue = Modifiers::READONLY; }, 222 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 223 => function ($stackPos) { - $this->semValue = array(); - }, - 224 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 225 => function ($stackPos) { - $this->semValue = array(); - }, - 226 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 227 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 228 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 229 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 230 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 231 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 232 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 233 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 234 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 235 => function ($stackPos) { $this->semValue = null; }, - 236 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + 223 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, - 237 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 238 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 239 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 240 => function ($stackPos) { - $this->semValue = new Node\DeclareItem($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 241 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 242 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; - }, - 243 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 244 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(5-3)]; - }, - 245 => function ($stackPos) { + 224 => function ($stackPos) { $this->semValue = array(); }, + 225 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; + }, + 226 => function ($stackPos) { + $this->semValue = array(); + }, + 227 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; + }, + 228 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 229 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 230 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 231 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 232 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 233 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 234 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 235 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 236 => function ($stackPos) { + $this->semValue = null; + }, + 237 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 238 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 239 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 240 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 241 => function ($stackPos) { + $this->semValue = new Node\DeclareItem($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 242 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 243 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-3)]; + }, + 244 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 245 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(5-3)]; + }, 246 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = array(); }, 247 => function ($stackPos) { - $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 248 => function ($stackPos) { - $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 249 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; + $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 250 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos]; }, 251 => function ($stackPos) { - $this->semValue = new Expr\Match_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-6)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos]; }, 252 => function ($stackPos) { - $this->semValue = []; + $this->semValue = new Expr\Match_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-6)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); }, 253 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = []; }, 254 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 255 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 256 => function ($stackPos) { - $this->semValue = new Node\MatchArm($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 257 => function ($stackPos) { - $this->semValue = new Node\MatchArm(null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 258 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); - }, - 259 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 260 => function ($stackPos) { - $this->semValue = array(); - }, - 261 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 262 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(5-3)], is_array($this->semStack[$stackPos-(5-5)]) ? $this->semStack[$stackPos-(5-5)] : array($this->semStack[$stackPos-(5-5)]), $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 263 => function ($stackPos) { - $this->semValue = array(); - }, - 264 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 265 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->fixupAlternativeElse($this->semValue); - }, - 266 => function ($stackPos) { - $this->semValue = null; - }, - 267 => function ($stackPos) { - $this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 268 => function ($stackPos) { - $this->semValue = null; - }, - 269 => function ($stackPos) { - $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->fixupAlternativeElse($this->semValue); - }, - 270 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); - }, - 271 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-2)], true); - }, - 272 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); - }, - 273 => function ($stackPos) { - $this->semValue = array($this->fixupArrayDestructuring($this->semStack[$stackPos-(1-1)]), false); - }, - 274 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 275 => function ($stackPos) { - $this->semValue = array(); - }, - 276 => function ($stackPos) { + 255 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, - 277 => function ($stackPos) { + 256 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, + 257 => function ($stackPos) { + $this->semValue = new Node\MatchArm($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 258 => function ($stackPos) { + $this->semValue = new Node\MatchArm(null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 259 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 260 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 261 => function ($stackPos) { + $this->semValue = array(); + }, + 262 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 263 => function ($stackPos) { + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(5-3)], is_array($this->semStack[$stackPos-(5-5)]) ? $this->semStack[$stackPos-(5-5)] : array($this->semStack[$stackPos-(5-5)]), $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 264 => function ($stackPos) { + $this->semValue = array(); + }, + 265 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 266 => function ($stackPos) { + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->fixupAlternativeElse($this->semValue); + }, + 267 => function ($stackPos) { + $this->semValue = null; + }, + 268 => function ($stackPos) { + $this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 269 => function ($stackPos) { + $this->semValue = null; + }, + 270 => function ($stackPos) { + $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->fixupAlternativeElse($this->semValue); + }, + 271 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + }, + 272 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(2-2)], true); + }, + 273 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + }, + 274 => function ($stackPos) { + $this->semValue = array($this->fixupArrayDestructuring($this->semStack[$stackPos-(1-1)]), false); + }, + 275 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 276 => function ($stackPos) { + $this->semValue = array(); + }, + 277 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, 278 => function ($stackPos) { - $this->semValue = 0; + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 279 => function ($stackPos) { - $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + $this->semValue = 0; }, 280 => function ($stackPos) { - $this->semValue = Modifiers::PUBLIC; + $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; }, 281 => function ($stackPos) { - $this->semValue = Modifiers::PROTECTED; + $this->semValue = Modifiers::PUBLIC; }, 282 => function ($stackPos) { - $this->semValue = Modifiers::PRIVATE; + $this->semValue = Modifiers::PROTECTED; }, 283 => function ($stackPos) { - $this->semValue = Modifiers::READONLY; + $this->semValue = Modifiers::PRIVATE; }, 284 => function ($stackPos) { + $this->semValue = Modifiers::READONLY; + }, + 285 => function ($stackPos) { $this->semValue = new Node\Param($this->semStack[$stackPos-(6-6)], null, $this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes, $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-1)]); $this->checkParam($this->semValue); }, - 285 => function ($stackPos) { + 286 => function ($stackPos) { $this->semValue = new Node\Param($this->semStack[$stackPos-(8-6)], $this->semStack[$stackPos-(8-8)], $this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-5)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes, $this->semStack[$stackPos-(8-2)], $this->semStack[$stackPos-(8-1)]); $this->checkParam($this->semValue); }, - 286 => function ($stackPos) { + 287 => function ($stackPos) { $this->semValue = new Node\Param(new Expr\Error($this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes), null, $this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes, $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-1)]); }, - 287 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, 288 => function ($stackPos) { - $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 289 => function ($stackPos) { - $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 290 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 291 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 292 => function ($stackPos) { - $this->semValue = new Node\Name('static', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 293 => function ($stackPos) { - $this->semValue = $this->handleBuiltinTypes($this->semStack[$stackPos-(1-1)]); + $this->semValue = new Node\Name('static', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 294 => function ($stackPos) { - $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->handleBuiltinTypes($this->semStack[$stackPos-(1-1)]); }, 295 => function ($stackPos) { - $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 296 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 297 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 298 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); - }, - 299 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 300 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 301 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(3-2)]; }, - 302 => function ($stackPos) { + 299 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); }, + 300 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 301 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 302 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, 303 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); }, 304 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 305 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 306 => function ($stackPos) { - $this->semValue = new Node\IntersectionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 307 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); }, - 308 => function ($stackPos) { + 306 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, - 309 => function ($stackPos) { + 307 => function ($stackPos) { $this->semValue = new Node\IntersectionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, + 308 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + }, + 309 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, 310 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\IntersectionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 311 => function ($stackPos) { - $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 312 => function ($stackPos) { - $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 313 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 314 => function ($stackPos) { - $this->semValue = null; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 315 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = null; }, 316 => function ($stackPos) { - $this->semValue = null; - }, - 317 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 318 => function ($stackPos) { - $this->semValue = null; - }, - 319 => function ($stackPos) { - $this->semValue = array(); - }, - 320 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 321 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-2)]); - }, - 322 => function ($stackPos) { - $this->semValue = new Node\VariadicPlaceholder($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 323 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 324 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 325 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 326 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 327 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 328 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(3-3)], false, false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->semStack[$stackPos-(3-1)]); - }, - 329 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 330 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 331 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 332 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 333 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + 317 => function ($stackPos) { + $this->semValue = null; }, - 334 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + 318 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, - 335 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + 319 => function ($stackPos) { + $this->semValue = null; }, - 336 => function ($stackPos) { - $this->semValue = new Node\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 337 => function ($stackPos) { - $this->semValue = new Node\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 338 => function ($stackPos) { - if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } - }, - 339 => function ($stackPos) { + 320 => function ($stackPos) { $this->semValue = array(); }, + 321 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 322 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(3-2)]); + }, + 323 => function ($stackPos) { + $this->semValue = new Node\VariadicPlaceholder($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 324 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 325 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 326 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 327 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 328 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 329 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(3-3)], false, false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->semStack[$stackPos-(3-1)]); + }, + 330 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 331 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 332 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 333 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 334 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 335 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 336 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 337 => function ($stackPos) { + $this->semValue = new Node\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 338 => function ($stackPos) { + $this->semValue = new Node\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 339 => function ($stackPos) { + if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } + }, 340 => function ($stackPos) { + $this->semValue = array(); + }, + 341 => function ($stackPos) { $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; }; if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 341 => function ($stackPos) { + 342 => function ($stackPos) { $this->semValue = new Stmt\Property($this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes, $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-1)]); $this->checkProperty($this->semValue, $stackPos-(5-2)); }, - 342 => function ($stackPos) { + 343 => function ($stackPos) { $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(5-4)], $this->semStack[$stackPos-(5-2)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes, $this->semStack[$stackPos-(5-1)]); $this->checkClassConst($this->semValue, $stackPos-(5-2)); }, - 343 => function ($stackPos) { + 344 => function ($stackPos) { + $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-2)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes, $this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-4)]); + $this->checkClassConst($this->semValue, $stackPos-(6-2)); + }, + 345 => function ($stackPos) { $this->semValue = new Stmt\ClassMethod($this->semStack[$stackPos-(10-5)], ['type' => $this->semStack[$stackPos-(10-2)], 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-7)], 'returnType' => $this->semStack[$stackPos-(10-9)], 'stmts' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); $this->checkClassMethod($this->semValue, $stackPos-(10-2)); }, - 344 => function ($stackPos) { + 346 => function ($stackPos) { $this->semValue = new Stmt\TraitUse($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 345 => function ($stackPos) { + 347 => function ($stackPos) { $this->semValue = new Stmt\EnumCase($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->semStack[$stackPos-(5-1)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 346 => function ($stackPos) { - $this->semValue = null; /* will be skipped */ - }, - 347 => function ($stackPos) { - $this->semValue = array(); - }, 348 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = null; /* will be skipped */ }, 349 => function ($stackPos) { $this->semValue = array(); }, 350 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 351 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 352 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 353 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 354 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 355 => function ($stackPos) { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 356 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); - }, - 357 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 358 => function ($stackPos) { - $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); - }, - 359 => function ($stackPos) { - $this->semValue = null; - }, - 360 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 361 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 362 => function ($stackPos) { - $this->semValue = 0; - }, - 363 => function ($stackPos) { - $this->semValue = 0; - }, - 364 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 365 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 366 => function ($stackPos) { - $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; - }, - 367 => function ($stackPos) { - $this->semValue = Modifiers::PUBLIC; - }, - 368 => function ($stackPos) { - $this->semValue = Modifiers::PROTECTED; - }, - 369 => function ($stackPos) { - $this->semValue = Modifiers::PRIVATE; - }, - 370 => function ($stackPos) { - $this->semValue = Modifiers::STATIC; - }, - 371 => function ($stackPos) { - $this->semValue = Modifiers::ABSTRACT; - }, - 372 => function ($stackPos) { - $this->semValue = Modifiers::FINAL; - }, - 373 => function ($stackPos) { - $this->semValue = Modifiers::READONLY; - }, - 374 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 375 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 376 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 377 => function ($stackPos) { - $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 378 => function ($stackPos) { - $this->semValue = new Node\PropertyItem($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 379 => function ($stackPos) { - $this->semValue = new Node\PropertyItem($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 380 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 381 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 382 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 383 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 384 => function ($stackPos) { $this->semValue = array(); }, - 385 => function ($stackPos) { + 352 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 353 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 354 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 355 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 356 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 357 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 358 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + }, + 359 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 360 => function ($stackPos) { + $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); + }, + 361 => function ($stackPos) { + $this->semValue = null; + }, + 362 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 363 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 364 => function ($stackPos) { + $this->semValue = 0; + }, + 365 => function ($stackPos) { + $this->semValue = 0; + }, + 366 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 367 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 368 => function ($stackPos) { + $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + }, + 369 => function ($stackPos) { + $this->semValue = Modifiers::PUBLIC; + }, + 370 => function ($stackPos) { + $this->semValue = Modifiers::PROTECTED; + }, + 371 => function ($stackPos) { + $this->semValue = Modifiers::PRIVATE; + }, + 372 => function ($stackPos) { + $this->semValue = Modifiers::STATIC; + }, + 373 => function ($stackPos) { + $this->semValue = Modifiers::ABSTRACT; + }, + 374 => function ($stackPos) { + $this->semValue = Modifiers::FINAL; + }, + 375 => function ($stackPos) { + $this->semValue = Modifiers::READONLY; + }, + 376 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 377 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 378 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 379 => function ($stackPos) { + $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 380 => function ($stackPos) { + $this->semValue = new Node\PropertyItem($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 381 => function ($stackPos) { + $this->semValue = new Node\PropertyItem($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 382 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 383 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 384 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 385 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, 386 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array(); }, 387 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 388 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->fixupArrayDestructuring($this->semStack[$stackPos-(3-1)]), $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 389 => function ($stackPos) { $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 390 => function ($stackPos) { - $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Assign($this->fixupArrayDestructuring($this->semStack[$stackPos-(3-1)]), $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 391 => function ($stackPos) { + $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 392 => function ($stackPos) { + $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 393 => function ($stackPos) { $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); if (!$this->phpVersion->allowsAssignNewByReference()) { $this->emitError(new Error('Cannot assign new by reference', $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes)); } - }, - 392 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 393 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 394 => function ($stackPos) { - $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 395 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 396 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 397 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 398 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 399 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 400 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 401 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 402 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 403 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 404 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 405 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 406 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 407 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 408 => function ($stackPos) { - $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 409 => function ($stackPos) { - $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 410 => function ($stackPos) { - $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 411 => function ($stackPos) { - $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 412 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 413 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 414 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 415 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 416 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 417 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 418 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 419 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 420 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 421 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 422 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 423 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 424 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 425 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 426 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 427 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 428 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 429 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 430 => function ($stackPos) { - $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 431 => function ($stackPos) { - $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 432 => function ($stackPos) { - $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 433 => function ($stackPos) { - $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 434 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 435 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 436 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 437 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 438 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 439 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 440 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 441 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 442 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 443 => function ($stackPos) { - $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 444 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 445 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 446 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 447 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, 448 => function ($stackPos) { - $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 449 => function ($stackPos) { - $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 450 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 451 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 452 => function ($stackPos) { - $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 453 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 454 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 455 => function ($stackPos) { - $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 456 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 457 => function ($stackPos) { + $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 458 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = $this->getFloatCastKind($this->semStack[$stackPos-(2-1)]); $this->semValue = new Expr\Cast\Double($this->semStack[$stackPos-(2-2)], $attrs); }, - 457 => function ($stackPos) { + 459 => function ($stackPos) { $this->semValue = new Expr\Cast\String_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 458 => function ($stackPos) { + 460 => function ($stackPos) { $this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 459 => function ($stackPos) { + 461 => function ($stackPos) { $this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 460 => function ($stackPos) { + 462 => function ($stackPos) { $this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 461 => function ($stackPos) { + 463 => function ($stackPos) { $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 462 => function ($stackPos) { + 464 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strtolower($this->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; $this->semValue = new Expr\Exit_($this->semStack[$stackPos-(2-2)], $attrs); }, - 463 => function ($stackPos) { + 465 => function ($stackPos) { $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 464 => function ($stackPos) { + 466 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 465 => function ($stackPos) { + 467 => function ($stackPos) { $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 466 => function ($stackPos) { + 468 => function ($stackPos) { $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 467 => function ($stackPos) { + 469 => function ($stackPos) { $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 468 => function ($stackPos) { + 470 => function ($stackPos) { $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 469 => function ($stackPos) { + 471 => function ($stackPos) { $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, - 470 => function ($stackPos) { + 472 => function ($stackPos) { $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 471 => function ($stackPos) { + 473 => function ($stackPos) { $this->semValue = new Expr\Throw_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 472 => function ($stackPos) { + 474 => function ($stackPos) { $this->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'returnType' => $this->semStack[$stackPos-(8-6)], 'expr' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); }, - 473 => function ($stackPos) { + 475 => function ($stackPos) { $this->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'returnType' => $this->semStack[$stackPos-(9-7)], 'expr' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, - 474 => function ($stackPos) { + 476 => function ($stackPos) { $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'uses' => $this->semStack[$stackPos-(8-6)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); }, - 475 => function ($stackPos) { + 477 => function ($stackPos) { $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'uses' => $this->semStack[$stackPos-(9-7)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, - 476 => function ($stackPos) { + 478 => function ($stackPos) { $this->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'returnType' => $this->semStack[$stackPos-(9-7)], 'expr' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, - 477 => function ($stackPos) { + 479 => function ($stackPos) { $this->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-6)], 'returnType' => $this->semStack[$stackPos-(10-8)], 'expr' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); }, - 478 => function ($stackPos) { + 480 => function ($stackPos) { $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'uses' => $this->semStack[$stackPos-(9-7)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, - 479 => function ($stackPos) { + 481 => function ($stackPos) { $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-6)], 'uses' => $this->semStack[$stackPos-(10-8)], 'returnType' => $this->semStack[$stackPos-(10-9)], 'stmts' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); }, - 480 => function ($stackPos) { + 482 => function ($stackPos) { $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes), $this->semStack[$stackPos-(8-3)]); $this->checkClass($this->semValue[0], -1); }, - 481 => function ($stackPos) { + 483 => function ($stackPos) { $this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 482 => function ($stackPos) { + 484 => function ($stackPos) { list($class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 483 => function ($stackPos) { + 485 => function ($stackPos) { $this->semValue = array(); }, - 484 => function ($stackPos) { + 486 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(4-3)]; }, - 485 => function ($stackPos) { + 487 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 486 => function ($stackPos) { + 488 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, - 487 => function ($stackPos) { + 489 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, - 488 => function ($stackPos) { + 490 => function ($stackPos) { $this->semValue = new Node\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 489 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 490 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, 491 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 492 => function ($stackPos) { $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 493 => function ($stackPos) { - $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 494 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 495 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 496 => function ($stackPos) { $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 497 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 498 => function ($stackPos) { - $this->semValue = new Name\FullyQualified(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 499 => function ($stackPos) { - $this->semValue = new Name\Relative(substr($this->semStack[$stackPos-(1-1)], 10), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 500 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Name\FullyQualified(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 501 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Name\Relative(substr($this->semStack[$stackPos-(1-1)], 10), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 502 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 503 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 504 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 505 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 506 => function ($stackPos) { - $this->semValue = null; - }, - 507 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(3-2)]; }, - 508 => function ($stackPos) { - $this->semValue = array(); + 505 => function ($stackPos) { + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; }, - 509 => function ($stackPos) { - $this->semValue = array(new Node\InterpolatedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); - }, - 510 => function ($stackPos) { - foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 511 => function ($stackPos) { - $this->semValue = array(); - }, - 512 => function ($stackPos) { + 506 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 507 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 508 => function ($stackPos) { + $this->semValue = null; + }, + 509 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 510 => function ($stackPos) { + $this->semValue = array(); + }, + 511 => function ($stackPos) { + $this->semValue = array(new Node\InterpolatedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); + }, + 512 => function ($stackPos) { + foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, 513 => function ($stackPos) { - $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array(); }, 514 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 515 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 516 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 517 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 518 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 519 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 520 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 521 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 522 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 523 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 524 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], new Expr\Error($this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 525 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 526 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], new Expr\Error($this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->errorState = 2; + }, + 527 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT; $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $attrs); }, - 526 => function ($stackPos) { + 528 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG; $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $attrs); $this->createdArrays->attach($this->semValue); }, - 527 => function ($stackPos) { + 529 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; $this->createdArrays->attach($this->semValue); }, - 528 => function ($stackPos) { + 530 => function ($stackPos) { $this->semValue = Scalar\String_::fromString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 529 => function ($stackPos) { + 531 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\InterpolatedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\InterpolatedString($this->semStack[$stackPos-(3-2)], $attrs); }, - 530 => function ($stackPos) { + 532 => function ($stackPos) { $this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes, $this->phpVersion->allowsInvalidOctals()); }, - 531 => function ($stackPos) { - $this->semValue = Scalar\Float_::fromString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 532 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, 533 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = Scalar\Float_::fromString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 534 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 535 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 536 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], true); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 537 => function ($stackPos) { $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); }, 538 => function ($stackPos) { - $this->semValue = null; + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], true); }, 539 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); }, 540 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = null; }, 541 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 542 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 543 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 544 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -2840,205 +2860,211 @@ class Php8 extends \PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 547 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 548 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 549 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 550 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 551 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 552 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 553 => function ($stackPos) { - $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 554 => function ($stackPos) { - $this->semValue = new Expr\NullsafeMethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 555 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 556 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\NullsafeMethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 557 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = null; }, 558 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 559 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 560 => function ($stackPos) { - $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 561 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 562 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 563 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 564 => function ($stackPos) { - $this->semValue = new Expr\Variable(new Expr\Error($this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); $this->errorState = 2; - }, - 565 => function ($stackPos) { - $var = $this->semStack[$stackPos-(1-1)]->name; $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; - }, - 566 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 567 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 568 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 569 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 570 => function ($stackPos) { $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 571 => function ($stackPos) { + 562 => function ($stackPos) { $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 572 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 573 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 574 => function ($stackPos) { + 563 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 564 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 565 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 566 => function ($stackPos) { + $this->semValue = new Expr\Variable(new Expr\Error($this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); $this->errorState = 2; + }, + 567 => function ($stackPos) { + $var = $this->semStack[$stackPos-(1-1)]->name; $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; + }, + 568 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 569 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 570 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 571 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 572 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 573 => function ($stackPos) { + $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 574 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, 575 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 576 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 577 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 578 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 579 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 580 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 581 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 582 => function ($stackPos) { + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + }, + 583 => function ($stackPos) { $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->semValue->setAttribute('kind', Expr\List_::KIND_LIST); $this->postprocessList($this->semValue); }, - 582 => function ($stackPos) { + 584 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end]->value instanceof Expr\Error) array_pop($this->semValue); }, - 583 => function ($stackPos) { + 585 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos]; }, - 584 => function ($stackPos) { + 586 => function ($stackPos) { /* do nothing -- prevent default action of $$=$this->semStack[$1]. See $551. */ }, - 585 => function ($stackPos) { + 587 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, - 586 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 587 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, 588 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 589 => function ($stackPos) { $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 590 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 591 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 592 => function ($stackPos) { $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 593 => function ($stackPos) { - $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(2-2)], null, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, true); + $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 594 => function ($stackPos) { + $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 595 => function ($stackPos) { + $this->semValue = new Node\ArrayItem($this->semStack[$stackPos-(2-2)], null, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, true); + }, + 596 => function ($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 = $this->createEmptyElemAttributes($this->lookaheadStartAttributes); $this->semValue = new Node\ArrayItem(new Expr\Error($attrs), null, false, $attrs); }, - 595 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 596 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, 597 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 598 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 599 => function ($stackPos) { - $this->semValue = new Node\InterpolatedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 600 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); }, 601 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\InterpolatedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 602 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 603 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 604 => function ($stackPos) { - $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 605 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 606 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 607 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 608 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 609 => function ($stackPos) { - $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, 610 => function ($stackPos) { - $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 611 => function ($stackPos) { - $this->semValue = $this->parseNumString('-' . $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 612 => function ($stackPos) { + $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 613 => function ($stackPos) { + $this->semValue = $this->parseNumString('-' . $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 614 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, ]; diff --git a/lib/PhpParser/PrettyPrinter/Standard.php b/lib/PhpParser/PrettyPrinter/Standard.php index d5964943..230d6a7d 100644 --- a/lib/PhpParser/PrettyPrinter/Standard.php +++ b/lib/PhpParser/PrettyPrinter/Standard.php @@ -842,7 +842,9 @@ class Standard extends PrettyPrinterAbstract { protected function pStmt_ClassConst(Stmt\ClassConst $node): string { return $this->pAttrGroups($node->attrGroups) . $this->pModifiers($node->flags) - . 'const ' . $this->pCommaSeparated($node->consts) . ';'; + . 'const ' + . (null !== $node->type ? $this->p($node->type) . ' ' : '') + . $this->pCommaSeparated($node->consts) . ';'; } protected function pStmt_Function(Stmt\Function_ $node): string { diff --git a/lib/PhpParser/PrettyPrinterAbstract.php b/lib/PhpParser/PrettyPrinterAbstract.php index eda5f304..a02dc399 100644 --- a/lib/PhpParser/PrettyPrinterAbstract.php +++ b/lib/PhpParser/PrettyPrinterAbstract.php @@ -1391,6 +1391,7 @@ abstract class PrettyPrinterAbstract implements PrettyPrinter { 'Param->default' => $stripEquals, 'Stmt_Break->num' => $stripBoth, 'Stmt_Catch->var' => $stripLeft, + 'Stmt_ClassConst->type' => $stripRight, 'Stmt_ClassMethod->returnType' => $stripColon, 'Stmt_Class->extends' => ['left' => \T_EXTENDS], 'Stmt_Enum->scalarType' => $stripColon, @@ -1434,6 +1435,7 @@ abstract class PrettyPrinterAbstract implements PrettyPrinter { 'Stmt_Break->num' => [\T_BREAK, false, ' ', null], 'Stmt_Catch->var' => [null, false, ' ', null], 'Stmt_ClassMethod->returnType' => [')', false, ': ', null], + 'Stmt_ClassConst->type' => [\T_CONST, false, ' ', null], 'Stmt_Class->extends' => [null, false, ' extends ', null], 'Stmt_Enum->scalarType' => [null, false, ' : ', null], 'Stmt_EnumCase->expr' => [null, false, ' = ', null], diff --git a/test/PhpParser/Builder/ClassConstTest.php b/test/PhpParser/Builder/ClassConstTest.php index 715a5bb6..4a71e0fd 100644 --- a/test/PhpParser/Builder/ClassConstTest.php +++ b/test/PhpParser/Builder/ClassConstTest.php @@ -142,6 +142,18 @@ class ClassConstTest extends \PHPUnit\Framework\TestCase { ); } + public function testType() { + $node = $this->createClassConstBuilder('TYPE', 1) + ->setType('int') + ->getNode(); + $this->assertEquals( + new Stmt\ClassConst( + [new Const_('TYPE', new Int_(1))], + 0, [], [], new Identifier('int')), + $node + ); + } + /** * @dataProvider provideTestDefaultValues */ diff --git a/test/code/formatPreservation/insertionOfNullable.test b/test/code/formatPreservation/insertionOfNullable.test index 9822eede..9278d3ec 100644 --- a/test/code/formatPreservation/insertionOfNullable.test +++ b/test/code/formatPreservation/insertionOfNullable.test @@ -49,6 +49,10 @@ X private $x ; + + const + X + = 1; } foreach ( @@ -86,6 +90,7 @@ $stmts[9]->expr = new Expr\Variable('x'); $stmts[10]->extends = new Node\Name\FullyQualified('Bar'); $stmts[10]->stmts[0]->returnType = new Node\Name('Y'); $stmts[10]->stmts[1]->props[0]->default = new Scalar\DNumber(42.0); +$stmts[10]->stmts[2]->type = new Node\Identifier('int'); $stmts[11]->keyVar = new Expr\Variable('z'); $stmts[12]->vars[0]->default = new Scalar\String_('abc'); $stmts[13]->finally = new Stmt\Finally_([]); @@ -140,6 +145,10 @@ X extends \Bar private $x = 42.0 ; + + const int + X + = 1; } foreach ( diff --git a/test/code/formatPreservation/removalViaNull.test b/test/code/formatPreservation/removalViaNull.test index 4cc43b2a..a3679289 100644 --- a/test/code/formatPreservation/removalViaNull.test +++ b/test/code/formatPreservation/removalViaNull.test @@ -35,6 +35,11 @@ Bar y ; } + + const + int + X + = 1; } $foo [ $bar ]; @@ -97,6 +102,7 @@ $stmts[2]->extends = null; $stmts[2]->stmts[0]->returnType = null; $stmts[2]->stmts[1]->props[0]->default = null; $stmts[2]->stmts[2]->adaptations[0]->newName = null; +$stmts[2]->stmts[3]->type = null; $stmts[3]->expr->dim = null; $stmts[4]->expr->expr = null; $stmts[5]->expr->if = null; @@ -141,6 +147,10 @@ Foo public ; } + + const + X + = 1; } $foo []; diff --git a/test/code/parser/errorHandling/recovery.test b/test/code/parser/errorHandling/recovery.test index e26bdd12..651c09e5 100644 --- a/test/code/parser/errorHandling/recovery.test +++ b/test/code/parser/errorHandling/recovery.test @@ -739,6 +739,7 @@ array( attrGroups: array( ) flags: 0 + type: null consts: array( 0: Const( name: Identifier( @@ -1495,6 +1496,7 @@ array( attrGroups: array( ) flags: 0 + type: null consts: array( 0: Const( name: Identifier( diff --git a/test/code/parser/semiReserved.test b/test/code/parser/semiReserved.test index 1d3594a4..1b174615 100644 --- a/test/code/parser/semiReserved.test +++ b/test/code/parser/semiReserved.test @@ -152,6 +152,7 @@ array( attrGroups: array( ) flags: 0 + type: null consts: array( 0: Const( name: Identifier( @@ -175,6 +176,7 @@ array( attrGroups: array( ) flags: 0 + type: null consts: array( 0: Const( name: Identifier( diff --git a/test/code/parser/stmt/class/anonymous.test b/test/code/parser/stmt/class/anonymous.test index 89fe3f36..4f653294 100644 --- a/test/code/parser/stmt/class/anonymous.test +++ b/test/code/parser/stmt/class/anonymous.test @@ -205,6 +205,7 @@ array( attrGroups: array( ) flags: 0 + type: null consts: array( 0: Const( name: Identifier( diff --git a/test/code/parser/stmt/class/constModifierErrors.test b/test/code/parser/stmt/class/constModifierErrors.test index 178f4a76..5cde50d4 100644 --- a/test/code/parser/stmt/class/constModifierErrors.test +++ b/test/code/parser/stmt/class/constModifierErrors.test @@ -22,6 +22,7 @@ array( attrGroups: array( ) flags: STATIC (8) + type: null consts: array( 0: Const( name: Identifier( @@ -59,6 +60,7 @@ array( attrGroups: array( ) flags: ABSTRACT (16) + type: null consts: array( 0: Const( name: Identifier( @@ -96,6 +98,7 @@ array( attrGroups: array( ) flags: READONLY (64) + type: null consts: array( 0: Const( name: Identifier( @@ -133,6 +136,7 @@ array( attrGroups: array( ) flags: PUBLIC (1) + type: null consts: array( 0: Const( name: Identifier( diff --git a/test/code/parser/stmt/class/constModifiers.test b/test/code/parser/stmt/class/constModifiers.test index 90e43be4..1a448b9c 100644 --- a/test/code/parser/stmt/class/constModifiers.test +++ b/test/code/parser/stmt/class/constModifiers.test @@ -26,6 +26,7 @@ array( attrGroups: array( ) flags: 0 + type: null consts: array( 0: Const( name: Identifier( @@ -41,6 +42,7 @@ array( attrGroups: array( ) flags: PUBLIC (1) + type: null consts: array( 0: Const( name: Identifier( @@ -56,6 +58,7 @@ array( attrGroups: array( ) flags: PROTECTED (2) + type: null consts: array( 0: Const( name: Identifier( @@ -71,6 +74,7 @@ array( attrGroups: array( ) flags: PRIVATE (4) + type: null consts: array( 0: Const( name: Identifier( @@ -86,6 +90,7 @@ array( attrGroups: array( ) flags: FINAL (32) + type: null consts: array( 0: Const( name: Identifier( diff --git a/test/code/parser/stmt/class/simple.test b/test/code/parser/stmt/class/simple.test index fde02c33..a4c0e61d 100644 --- a/test/code/parser/stmt/class/simple.test +++ b/test/code/parser/stmt/class/simple.test @@ -46,6 +46,7 @@ array( attrGroups: array( ) flags: 0 + type: null consts: array( 0: Const( name: Identifier( diff --git a/test/code/parser/stmt/class/typedConstants.test b/test/code/parser/stmt/class/typedConstants.test new file mode 100644 index 00000000..1b0e250d --- /dev/null +++ b/test/code/parser/stmt/class/typedConstants.test @@ -0,0 +1,124 @@ +Typed constants +----- +