diff --git a/grammar/php5.y b/grammar/php5.y index ab8eb5a2..4da2f511 100644 --- a/grammar/php5.y +++ b/grammar/php5.y @@ -201,7 +201,7 @@ catches: catch: T_CATCH '(' name T_VARIABLE ')' '{' inner_statement_list '}' - { $$ = Stmt\Catch_[$3, parseVar($4), $7]; } + { $$ = Stmt\Catch_[array($3), parseVar($4), $7]; } ; optional_finally: diff --git a/grammar/php7.y b/grammar/php7.y index 956f3fc3..798c9c52 100644 --- a/grammar/php7.y +++ b/grammar/php7.y @@ -195,8 +195,13 @@ catches: | catches catch { push($1, $2); } ; +name_union: + name { init($1); } + | name_union '|' name { push($1, $3); } +; + catch: - T_CATCH '(' name T_VARIABLE ')' '{' inner_statement_list '}' + T_CATCH '(' name_union T_VARIABLE ')' '{' inner_statement_list '}' { $$ = Stmt\Catch_[$3, parseVar($4), $7]; } ; diff --git a/lib/PhpParser/Node/Stmt/Catch_.php b/lib/PhpParser/Node/Stmt/Catch_.php index 2656afdd..58337ad9 100644 --- a/lib/PhpParser/Node/Stmt/Catch_.php +++ b/lib/PhpParser/Node/Stmt/Catch_.php @@ -6,8 +6,8 @@ use PhpParser\Node; class Catch_ extends Node\Stmt { - /** @var Node\Name Class of exception */ - public $type; + /** @var Node\Name[] Types of exceptions to catch */ + public $types; /** @var string Variable for exception */ public $var; /** @var Node[] Statements */ @@ -16,19 +16,19 @@ class Catch_ extends Node\Stmt /** * Constructs a catch node. * - * @param Node\Name $type Class of exception - * @param string $var Variable for exception - * @param Node[] $stmts Statements - * @param array $attributes Additional attributes + * @param Node\Name[] $types Types of exceptions to catch + * @param string $var Variable for exception + * @param Node[] $stmts Statements + * @param array $attributes Additional attributes */ - public function __construct(Node\Name $type, $var, array $stmts = array(), array $attributes = array()) { + public function __construct(array $types, $var, array $stmts = array(), array $attributes = array()) { parent::__construct($attributes); - $this->type = $type; + $this->types = $types; $this->var = $var; $this->stmts = $stmts; } public function getSubNodeNames() { - return array('type', 'var', 'stmts'); + return array('types', 'var', 'stmts'); } } diff --git a/lib/PhpParser/NodeVisitor/NameResolver.php b/lib/PhpParser/NodeVisitor/NameResolver.php index b381d9f0..0c96d7c2 100644 --- a/lib/PhpParser/NodeVisitor/NameResolver.php +++ b/lib/PhpParser/NodeVisitor/NameResolver.php @@ -74,7 +74,9 @@ class NameResolver extends NodeVisitorAbstract $node->class = $this->resolveClassName($node->class); } } elseif ($node instanceof Stmt\Catch_) { - $node->type = $this->resolveClassName($node->type); + foreach ($node->types as &$type) { + $type = $this->resolveClassName($type); + } } elseif ($node instanceof Expr\FuncCall) { if ($node->name instanceof Name) { $node->name = $this->resolveOtherName($node->name, Stmt\Use_::TYPE_FUNCTION); diff --git a/lib/PhpParser/Parser/Php5.php b/lib/PhpParser/Parser/Php5.php index ce9a5ae0..3e9b5dcc 100644 --- a/lib/PhpParser/Parser/Php5.php +++ b/lib/PhpParser/Parser/Php5.php @@ -1553,7 +1553,7 @@ class Php5 extends \PhpParser\ParserAbstract } protected function reduceRule160() { - $this->semValue = new Stmt\Catch_($this->semStack[$this->stackPos-(8-3)], substr($this->semStack[$this->stackPos-(8-4)], 1), $this->semStack[$this->stackPos-(8-7)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes); + $this->semValue = new Stmt\Catch_(array($this->semStack[$this->stackPos-(8-3)]), substr($this->semStack[$this->stackPos-(8-4)], 1), $this->semStack[$this->stackPos-(8-7)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes); } protected function reduceRule161() { diff --git a/lib/PhpParser/Parser/Php7.php b/lib/PhpParser/Parser/Php7.php index e28ea045..acc468fa 100644 --- a/lib/PhpParser/Parser/Php7.php +++ b/lib/PhpParser/Parser/Php7.php @@ -18,16 +18,16 @@ use PhpParser\Node\Stmt; class Php7 extends \PhpParser\ParserAbstract { protected $tokenToSymbolMapSize = 392; - protected $actionTableSize = 881; - protected $gotoTableSize = 409; + protected $actionTableSize = 885; + protected $gotoTableSize = 410; protected $invalidSymbol = 157; protected $errorSymbol = 1; protected $defaultAction = -32766; protected $unexpectedTokenRule = 32767; - protected $YY2TBLSTATE = 335; - protected $YYNLSTATES = 563; + protected $YY2TBLSTATE = 337; + protected $YYNLSTATES = 564; protected $symbolToName = array( "EOF", @@ -233,95 +233,95 @@ class Php7 extends \PhpParser\ParserAbstract ); protected $action = array( - 568, 569, 570, 571, 572, 215, 573, 574, 575, 611, - 612, 0, 27, 99, 100, 101, 102, 103, 104, 105, + 569, 570, 571, 572, 573, 215, 574, 575, 576, 612, + 613, 0, 27, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,-32766,-32766,-32766, 95, 96, - 97, 271, 240, -465, -265,-32766,-32766,-32766,-32766,-32766, - -32766, 529, 244, 114, 98,-32766, 342,-32766,-32766,-32766, - -32766,-32766, 576, 868, 870,-32766, 285,-32766,-32766,-32766, - -32766,-32766,-32766, 264,-32766, 24, 577, 578, 579, 580, - 581, 582, 583,-32766, 241, 643, 837, 838, 839, 836, - 835, 834, 584, 585, 586, 587, 588, 589, 590, 591, - 592, 593, 594, 614, 615, 616, 617, 618, 606, 607, - 608, 609, 610, 595, 596, 597, 598, 599, 600, 601, - 637, 638, 639, 640, 641, 642, 602, 603, 604, 605, - 635, 626, 624, 625, 621, 622, 116, 613, 619, 620, - 627, 628, 630, 629, 631, 632, 42, 43, 379, 44, - 45, 623, 634, 633, -212, 46, 47, 376, 48, 224, + 97, 116, 240, -467, -267,-32766,-32766,-32766,-32766,-32766, + -32766, 530, 244, 114, 98,-32766, 24,-32766,-32766,-32766, + -32766,-32766, 577, 871, 873,-32766, 241,-32766,-32766,-32766, + -32766,-32766,-32766, 264,-32766, 272, 578, 579, 580, 581, + 582, 583, 584,-32766, 344, 644, 840, 841, 842, 839, + 838, 837, 585, 586, 587, 588, 589, 590, 591, 592, + 593, 594, 595, 615, 616, 617, 618, 619, 607, 608, + 609, 610, 611, 596, 597, 598, 599, 600, 601, 602, + 638, 639, 640, 641, 642, 643, 603, 604, 605, 606, + 636, 627, 625, 626, 622, 623, 286, 614, 620, 621, + 628, 629, 631, 630, 632, 633, 42, 43, 381, 44, + 45, 624, 635, 634, -214, 46, 47, 362, 48, 224, -32766,-32766,-32766, 227,-32766, 22,-32767,-32767,-32767,-32767, - 90, 91, 92, 93, 94, 645, -217, 998, -421, 518, - -32766, 964,-32766,-32766,-32766,-32766, -422, 1011, -465, 645, - -465, 49, 50, 1042, 21, 1044, 1043, 51, 226, 52, + 90, 91, 92, 93, 94, 646, -219, 1001, -423, 519, + -32766, 967,-32766,-32766,-32766,-32766, -424, 1014, -467, 646, + -467, 49, 50, 1045, 21, 1047, 1046, 51, 226, 52, 220, 221, 53, 54, 55, 56, 57, 58, 59, 60, - 943, 22, 238, 61, 349, -454, 92, 93, 94, 965, - 966, 645, 305, 998, 275, 1034, 28, 964, 397, 267, - 41, 714, 837, 838, 839, 836, 835, 834, 829, -421, - -236, 407, 788, 789, 351, 519, 353, -422, 351, 65, - 217, -464, 815, -421, 273, 407, 406, 396, 351, 122, - -421, -422, -424, 130, 392, 393, 659, 660, -422, 356, - -425, 120, 536, 396, 397, -420, 970, 971, 972, 973, - 967, 968, 243, 25, 223, 456, -159, 407, 974, 969, - 351, 125, 131,-32766, -456, 63, 111, 253, 810, 254, - 273, 380, -122, -122, -122, -4, 714, 381,-32766,-32766, - 337, 703, 40, 244, 33, 17, 382, -122, 383, -122, - 384, -122, 385, -122,-32766, 386, -122, -122, -122, 34, - 35, 387, 350, 224, 36, 388, -420, 367, 62, 795, - 288, 286, 287, 389, 390,-32766,-32766,-32766, 348, 391, - -420, -420, 689, 732, 394, 395,-32766, -420, 713, 38, - -454,-32766,-32766,-32766, 344,-32766, 365,-32766,-32766,-32766, - 998,-32766, -160, 257, 1039, 1014, 380,-32766, 716, 534, - -122,-32766, 381,-32766,-32766, -236, 703, 294, 7, 33, - 17, 382,-32766, 383, 115, 384, -464, 385, -464, 359, - 386,-32766,-32766,-32766, 34, 35, 387, 350, 343, 36, - 388, 360, -420, 62, 252, 714, 286, 287, 389, 390, - 256,-32766, 128, 761, 391, 119, -420, 651, 732, 394, - 395, -159, 434, -420,-32766,-32766, 72, 73, 74, -456, - 121, 113, 124, 540, 551, 120, 998, 273, 269, 118, - 794, 503, 504, 716, 534, -4, 26, 368, 75, 76, + 946, 22, 238, 61, 351, -456, 92, 93, 94, 968, + 969, 646, 306, 1001, 276, 1037, 273, 967, 399, 267, + -238, 715, 840, 841, 842, 839, 838, 837, 832, -423, + -161, 409, 791, 792, 353, 520, 355, -424, 353, 65, + 217, -466, 818, -423, 274, 409, 408, 398, 353, 122, + -423, -424, -426, 28, 394, 395, 660, 661, -424, 124, + -427, 120, 518, 398, 399, -422, 973, 974, 975, 976, + 970, 971, 243, 25, 223, 458, 350, 409, 977, 972, + 353, 125, 130,-32766, -458, 63, 117, 253, 702, 254, + 274, 382, -122, -122, -122, -4, 715, 383,-32766,-32766, + 339, 704, 40, 244, 33, 17, 384, -122, 385, -122, + 386, -122, 387, -122,-32766, 388, -122, -122, -122, 34, + 35, 389, 352, 224, 36, 390, -422, 369, 62, 798, + 7, 287, 288, 391, 392,-32766,-32766,-32766, 41, 393, + -422, -422, 690, 735, 396, 397,-32766, -422, 714, 38, + -456,-32766,-32766,-32766, 346,-32766, 367,-32766,-32766,-32766, + 1001,-32766, -162, 257, 1042, -238, 382,-32766, 717, 535, + -122,-32766, 383,-32766,-32766, -161, 704, 295, 361, 33, + 17, 384,-32766, 385, 115, 386, -466, 387, -466, 289, + 388,-32766,-32766,-32766, 34, 35, 389, 352, 345, 36, + 390, 378, -422, 62, 252, 715, 287, 288, 391, 392, + 256,-32766, 358, 764, 393, 537, -422, 652, 735, 396, + 397, 939, 436, -422,-32766,-32766, 72, 73, 74, -458, + 121, 113, 112, 542, 119, 120, 1001, 274, 270, 111, + 797, 505, 506, 717, 535, -4, 26, 370, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 700, 240, 117, 714, 380,-32766,-32766,-32766, 978, - 112, 381, 242, 936, 98, 703, 492, 18, 33, 17, - 382, 712, 383, 546, 384, 704, 385, 127, 296, 386, - 126, 16, 541, 34, 35, 387, 714, -160, 36, 388, - 659, 660, 62, 273, 225, 286, 287, 374, 6, 811, - -32766,-32766, 216, 391, 725, 488, 489, 652, 537, 222, - 658, 240, 762, 98, 538, 814, 562, 826, 552, 39, - 513, 314, 701, 238, 380, 443, 447, 446, 493, 528, - 381, 433, 748, 534, 703, 428, 354, 33, 17, 382, - 645, 383, 357, 384, 438, 385,-32766, 355, 386, 646, - 672, 514, 34, 35, 387, 714, 380, 36, 388, 1037, - 427, 62, 381, 501, 286, 287, 703, 490, 939, 33, - 17, 382, 391, 383, 517, 384, 432, 385, 268, 497, - 386, 10, 265, 539, 34, 35, 387, 714, 214, 36, - 388, 491, -80, 62, 450, 507, 286, 287, 498, 486, - 733, 716, 534, 734, 391, 270, 0, 396, 266, 561, - 977, 0, 339, 0, 980, 547, 0, 0, 293, 0, - 0, 0, 0, 0, 0, 380, 0, 0, 0, 0, - 0, 381, 0, 716, 534, 703, 0, 440, 33, 17, - 382, 560, 383, 9, 384, 3, 385, -381, 15, 386, - 324, 0, 320, 34, 35, 387, 714, 380, 36, 388, - 356, 338, 62, 381, 319, 286, 287, 703, 308, 31, - 33, 17, 382, 391, 383, 727, 384, 820, 385, 656, - 655, 386, 818, 702, 710, 34, 35, 387, 32, 819, - 36, 388, 822, 694, 62, 744, 746, 286, 287, 692, - 756, 755, 716, 534, 749, 391, 764, 821, 705, 699, - 711, 698, 697, 657, 0, 336, 335, 263, 262, 558, - 557, 555, 553, 550, 549, 545, 380, 544, 542, 535, - 71, 1003, 381, 719, 716, 534, 703, 931, 930, 33, - 17, 382, 728, 383, 721, 384, 827, 385, 653, 731, - 386, 662, 661, 730, 34, 35, 387, 729, 932, 36, - 388, 664, 663, 62, 753, 554, 286, 287,-32766,-32766, - -32766, 690, 1038, 999, 391, 992, 1004, 1009, 1012, 754, - 1040, 654, 1041, 0, 30, -445, 346, 341,-32766, 272, + 97, 814, 240, 131, 715, 382,-32766,-32766,-32766, 981, + 118, 383, 128, 1017, 98, 704, 494, 18, 33, 17, + 384, 552, 385, 547, 386, 705, 387, 127, 297, 388, + 126, 16, 541, 34, 35, 389, 715, -162, 36, 390, + 376, 6, 62, 274, 242, 287, 288, 660, 661, 659, + -32766,-32766, 713, 393, 222, 490, 491, 653, 538, 225, + 701, 728, 765, 216, 539, 817, 563, 829, 553, 39, + 240, 98, 813, 514, 382, 238, 445, 673, 440, 499, + 383, 430, 717, 535, 704, 448, 359, 33, 17, 384, + 435, 385, 315, 386, 357, 387, 488, 449, 388, 646, + 492, 529, 34, 35, 389, 715, 382, 36, 390, 429, + 647, 62, 383, 1040, 287, 288, 704, 942, 503, 33, + 17, 384, 393, 385, 434, 386,-32766, 387, 495, 356, + 388, 515, 265, 540, 34, 35, 389, 715, 500, 36, + 390, -80, 214, 62, 452, 10, 287, 288, 509, 983, + 980, 751, 535, 269, 393, 271, 0, 736, 266, 398, + 737, 0, 0, 0, 321, 548, 0, 294, 0, 0, + 0, 0, 0, 0, 0, 382, 0, 0, 0, 0, + 0, 383, 0, 717, 535, 704, 0, 0, 33, 17, + 384, 9, 385, 730, 386, -383, 387, 3, 0, 388, + 325, 0, 358, 34, 35, 389, 715, 382, 36, 390, + 442, 341, 62, 383, 309, 287, 288, 704, 320, 340, + 33, 17, 384, 393, 385, 32, 386, 561, 387, 562, + 658, 388, 823, 657, 656, 34, 35, 389, 821, 703, + 36, 390, 698, 699, 62, 711, 822, 287, 288, 825, + 824, 747, 717, 535, 749, 393, 693, 759, 758, 752, + 767, 695, 706, 700, 712, 31, 0, 71, 262, 263, + 337, 338, 536, 559, 558, 556, 382, 554, 551, 550, + 546, 545, 383, 543, 717, 535, 704, 734, 830, 33, + 17, 384, 722, 385, 934, 386, 933, 387, 731, 724, + 388, 662, 757, 756, 34, 35, 389, 935, 665, 36, + 390, 664, 732, 62, 555, 691, 287, 288,-32766,-32766, + -32766, 1044, 655, 1041, 393, 1002, 995, 1007, 1012, 1015, + 733, 1043, 654, 663, 0, 37, 30, 29,-32766, 348, -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, - -32767, 237, 236, 716, 534, 235, 924, 234, 219, 218, - 132, 129, 123, -425, -424, -423, 70, 20, 23, 69, - 68, 29, 37, 64, 67, 66, -447, 0, 19, 248, - 908, 295, 465, -215, 482, 907, 470, 527, 911, 11, - 962, 953, 524, -213, 377, 373, 371, 369, 14, 13, - 12, -212, 0, -392, 0, 1036, 990, 991, 961, 0, - 979 + -32767, 343, 268, 717, 535, 237, 927, 236, 235, 234, + 219, 218, 132, 129, 23, 66, 67, 123, 20, -425, + 70, 69, -426, -427, -447, 68, -449, 64, 0, 910, + 472, 911, 914, 528, 484, 467, 296, 248, 19, 15, + 11, -217, 965, 956, 525, -215, 379, 375, 373, 371, + 14, 13, 12, -214, 0, -394, 0, 493, 1006, 1039, + 993, 994, 964, 0, 982 ); protected $actionCheck = array( @@ -346,12 +346,12 @@ class Php7 extends \PhpParser\ParserAbstract 154, 47, 48, 77, 7, 79, 80, 53, 7, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 112, 67, 68, 69, 70, 7, 47, 48, 49, 75, - 76, 77, 79, 79, 67, 82, 13, 83, 130, 109, + 76, 77, 79, 79, 67, 82, 33, 83, 130, 109, 7, 1, 112, 113, 114, 115, 116, 117, 118, 128, 7, 143, 130, 131, 146, 143, 102, 128, 146, 151, 13, 7, 150, 142, 156, 143, 112, 129, 146, 149, - 149, 142, 151, 15, 120, 121, 102, 103, 149, 146, - 151, 147, 149, 129, 130, 67, 132, 133, 134, 135, + 149, 142, 151, 13, 120, 121, 102, 103, 149, 15, + 151, 147, 79, 129, 130, 67, 132, 133, 134, 135, 136, 137, 138, 140, 141, 128, 7, 143, 144, 145, 146, 67, 15, 67, 7, 151, 15, 153, 148, 155, 156, 71, 72, 73, 74, 0, 1, 77, 67, 83, @@ -366,60 +366,60 @@ class Php7 extends \PhpParser\ParserAbstract 85, 86, 151, 88, 149, 90, 152, 92, 154, 7, 95, 8, 9, 10, 99, 100, 101, 102, 103, 104, 105, 7, 128, 108, 109, 1, 111, 112, 113, 114, - 128, 28, 15, 29, 119, 29, 142, 122, 123, 124, + 128, 28, 146, 29, 119, 149, 142, 122, 123, 124, 125, 152, 82, 149, 8, 9, 8, 9, 10, 152, 149, 149, 15, 29, 29, 147, 79, 156, 143, 15, 152, 72, 73, 148, 149, 150, 28, 149, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 148, 54, 15, 1, 71, 8, 9, 10, 139, - 15, 77, 29, 152, 66, 81, 72, 73, 84, 85, + 15, 77, 15, 152, 66, 81, 72, 73, 84, 85, 86, 29, 88, 29, 90, 148, 92, 97, 98, 95, 29, 152, 29, 99, 100, 101, 1, 152, 104, 105, - 102, 103, 108, 156, 35, 111, 112, 102, 103, 148, - 130, 131, 35, 119, 35, 106, 107, 148, 149, 35, - 148, 54, 148, 66, 29, 148, 149, 148, 149, 67, - 74, 78, 148, 68, 71, 86, 77, 77, 87, 89, - 77, 77, 148, 149, 81, 77, 102, 84, 85, 86, - 77, 88, 77, 90, 82, 92, 82, 77, 95, 77, - 77, 91, 99, 100, 101, 1, 71, 104, 105, 77, - 77, 108, 77, 79, 111, 112, 81, 79, 79, 84, - 85, 86, 119, 88, 79, 90, 79, 92, 110, 93, - 95, 94, 126, 29, 99, 100, 101, 1, 94, 104, - 105, 154, 94, 108, 94, 96, 111, 112, 96, 109, - 123, 148, 149, 123, 119, 126, -1, 129, 127, 148, - 139, -1, 146, -1, 139, 29, -1, -1, 142, -1, + 102, 103, 108, 156, 29, 111, 112, 102, 103, 148, + 130, 131, 29, 119, 35, 106, 107, 148, 149, 35, + 148, 35, 148, 35, 29, 148, 149, 148, 149, 67, + 54, 66, 148, 74, 71, 68, 86, 77, 82, 93, + 77, 77, 148, 149, 81, 77, 77, 84, 85, 86, + 77, 88, 78, 90, 77, 92, 109, 77, 95, 77, + 79, 89, 99, 100, 101, 1, 71, 104, 105, 77, + 77, 108, 77, 77, 111, 112, 81, 79, 79, 84, + 85, 86, 119, 88, 79, 90, 82, 92, 87, 102, + 95, 91, 126, 29, 99, 100, 101, 1, 96, 104, + 105, 94, 94, 108, 94, 94, 111, 112, 96, 139, + 139, 148, 149, 110, 119, 126, -1, 123, 127, 129, + 123, -1, -1, -1, 146, 29, -1, 142, -1, -1, -1, -1, -1, -1, -1, 71, -1, -1, -1, -1, - -1, 77, -1, 148, 149, 81, -1, 146, 84, 85, - 86, 148, 88, 142, 90, 142, 92, 142, 152, 95, + -1, 77, -1, 148, 149, 81, -1, -1, 84, 85, + 86, 142, 88, 147, 90, 142, 92, 142, -1, 95, 146, -1, 146, 99, 100, 101, 1, 71, 104, 105, - 146, 146, 108, 77, 146, 111, 112, 81, 146, 148, - 84, 85, 86, 119, 88, 147, 90, 148, 92, 148, + 146, 146, 108, 77, 146, 111, 112, 81, 146, 146, + 84, 85, 86, 119, 88, 148, 90, 148, 92, 148, 148, 95, 148, 148, 148, 99, 100, 101, 148, 148, 104, 105, 148, 148, 108, 148, 148, 111, 112, 148, 148, 148, 148, 149, 148, 119, 148, 148, 148, 148, - 148, 148, 148, 148, -1, 149, 149, 149, 149, 149, + 148, 148, 148, 148, 148, 148, -1, 149, 149, 149, 149, 149, 149, 149, 149, 149, 71, 149, 149, 149, - 149, 154, 77, 150, 148, 149, 81, 150, 150, 84, + 149, 149, 77, 149, 148, 149, 81, 150, 150, 84, 85, 86, 150, 88, 150, 90, 150, 92, 150, 150, 95, 150, 150, 150, 99, 100, 101, 150, 150, 104, 105, 150, 150, 108, 150, 150, 111, 112, 8, 9, 10, 150, 150, 150, 119, 150, 150, 150, 150, 150, - 150, 150, 150, -1, 151, 151, 151, 151, 28, 151, + 150, 150, 150, 150, -1, 151, 151, 151, 28, 151, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 151, 151, 148, 149, 151, 153, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, -1, 152, 152, + 151, 151, 151, 151, 151, 151, 151, 151, -1, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, - 152, 152, -1, 153, -1, 154, 154, 154, 154, -1, - 155 + 152, 152, 152, 152, -1, 153, -1, 154, 154, 154, + 154, 154, 154, -1, 155 ); protected $actionBase = array( - 0, 220, 295, 281, 92, 549, -2, -2, -2, -2, - -36, 574, 473, 606, 473, 505, 404, 675, 675, 675, - 288, 114, 494, 494, 494, 463, 386, 487, 479, 134, + 0, 220, 295, 281, 92, 554, -2, -2, -2, -2, + -36, 574, 404, 606, 404, 505, 473, 675, 675, 675, + 288, 114, 489, 489, 489, 484, 405, 498, 494, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, @@ -430,53 +430,53 @@ class Php7 extends \PhpParser\ParserAbstract 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 384, 347, 203, 556, 697, 706, 700, - 516, 707, 514, 699, 698, 227, 642, 643, 471, 645, - 646, 647, 648, 702, 457, 696, 705, 418, 418, 418, + 134, 134, 134, 384, 347, 240, 567, 705, 700, 703, + 707, 708, 518, 704, 699, 227, 643, 645, 471, 646, + 647, 648, 649, 702, 723, 706, 701, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 146, 30, 416, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 383, 383, 383, 343, 327, 198, 142, 17, 274, 27, 780, 780, 780, 780, 780, - 115, 115, 115, 115, 118, 118, 475, 498, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 88, 619, 623, - 627, 628, 159, 159, 14, 14, 14, 14, 231, -45, - 216, 275, 275, 340, 102, 495, 725, 109, 101, -22, - -22, -22, 154, 482, 133, 133, 100, 100, 274, 274, - 235, 274, 408, 408, 408, 390, 390, 390, 390, 113, - 390, 390, 390, 601, 484, 106, 522, 634, 387, 519, - 649, 282, 26, 234, 535, 486, 357, 454, 357, 419, - 414, 369, 525, 357, 357, 298, 384, 389, 477, 555, - 469, 382, 552, 323, 394, 147, 379, 349, 589, 551, - 704, 269, 703, 213, 214, 477, 477, 477, 177, 588, - 587, 223, -8, 632, 586, 355, 415, 277, 631, 622, - 140, 621, 371, 331, 554, 483, 483, 483, 483, 483, - 483, 489, 483, 478, 686, 686, 470, 508, 489, 691, - 489, 483, 686, 489, 489, 476, 483, 499, 499, 478, - 517, 501, 686, 686, 501, 470, 489, 513, 481, 510, - 548, 453, 453, 510, 489, 453, 508, 453, 11, 692, - 694, 462, 693, 690, 689, 655, 688, 503, 600, 497, - 500, 678, 677, 685, 474, 490, 653, 687, 511, 585, - 485, 271, 465, 523, 472, 684, 454, 534, 467, 467, - 467, 472, 682, 467, 467, 467, 467, 467, 467, 467, - 467, 724, 58, 496, 459, 584, 583, 582, 458, 581, - 542, 520, 424, 593, 491, 511, 511, 641, 720, 673, - 492, 676, 709, 681, 541, 119, 417, 674, 635, 538, - 493, 526, 671, 592, 271, 708, 502, 652, 511, 651, - 467, 654, 695, 722, 723, 683, 597, 715, 67, 524, - 580, 24, 721, 618, 591, 590, 560, 718, 701, 714, - 713, 24, 565, 461, 711, 506, 656, 504, 658, 599, - 397, 650, 680, 578, 717, 716, 719, 576, 573, 598, - 596, 238, 267, 679, 464, 466, 480, 572, 509, 515, - 614, 595, 670, 571, 568, 612, 608, 710, 518, 534, - 521, 488, 507, 460, 594, 607, 712, 405, 567, 579, - 564, 603, 561, 616, 0, 0, 0, 0, 0, 0, + 115, 115, 115, 115, 118, 118, 477, 500, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 607, 650, + 632, 627, 159, 159, 14, 14, 14, 14, 231, -45, + 216, 275, 275, 340, 102, 480, 729, 109, 101, -22, + -22, -22, 154, 466, 133, 133, 100, 100, 274, 274, + 235, 274, 415, 415, 415, 390, 390, 390, 390, 390, + 266, 390, 390, 390, 588, 514, 106, 512, 623, 387, + 522, 622, 282, 26, 234, 543, 535, 357, 497, 357, + 419, 414, 369, 523, 357, 357, 298, 384, 389, 486, + 561, 490, 371, 556, 382, 140, 147, 379, 349, 589, + 555, 698, 223, 697, 331, 214, 486, 486, 486, 177, + 590, 591, 213, -8, 631, 592, 355, 408, 277, 628, + 621, 394, 653, 323, 269, 183, 560, 492, 492, 492, + 492, 492, 492, 496, 492, 474, 687, 687, 478, 491, + 496, 654, 496, 492, 687, 496, 496, 476, 492, 499, + 499, 474, 515, 501, 687, 687, 501, 478, 496, 549, + 551, 457, 516, 485, 485, 457, 496, 485, 491, 485, + 11, 696, 684, 493, 685, 656, 694, 658, 690, 502, + 593, 504, 507, 680, 679, 689, 483, 487, 655, 683, + 534, 552, 479, 424, 417, 525, 472, 688, 497, 526, + 475, 475, 475, 472, 692, 475, 475, 475, 475, 475, + 475, 475, 475, 728, 39, 495, 460, 564, 565, 586, + 271, 585, 538, 520, 465, 598, 481, 534, 534, 635, + 722, 673, 503, 678, 711, 686, 587, 24, 244, 677, + 634, 542, 470, 488, 676, 596, 424, 710, 506, 641, + 534, 642, 475, 693, 695, 726, 727, 691, 724, 717, + 49, 524, 584, 58, 725, 652, 595, 594, 547, 720, + 709, 716, 715, 58, 583, 511, 713, 456, 670, 509, + 671, 604, 467, 651, 682, 582, 719, 718, 721, 581, + 580, 602, 601, 267, 458, 681, 464, 469, 510, 579, + 508, 619, 600, 674, 578, 576, 618, 616, 712, 517, + 526, 519, 513, 521, 482, 599, 614, 714, 462, 573, + 572, 571, 612, 568, 608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 134, 134, -2, -2, -2, 0, - 0, 0, 0, -2, 134, 134, 134, 134, 134, 134, + 0, 0, 0, 0, 0, 134, 134, -2, -2, -2, + 0, 0, 0, 0, -2, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 0, 0, 0, 0, 0, 0, 0, 0, + 134, 134, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -486,35 +486,36 @@ class Php7 extends \PhpParser\ParserAbstract 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 418, 418, 418, 418, + 0, 0, 0, 0, 0, 0, 0, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 418, 418, 418, 418, + 418, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, - 418, 418, 418, -3, 418, 418, -3, 418, 418, 418, - 418, 418, 418, -22, -22, -22, -22, 88, 88, 88, - 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 110, 110, 110, 110, -22, -22, 102, 102, 102, - 102, 88, 110, 88, 102, 102, 133, 0, 133, 133, - 0, 0, 0, 0, 0, 483, 133, 0, 0, 357, - 357, 0, 0, 0, 0, 483, 483, 483, 102, 102, - 102, 102, 483, 102, 102, 102, 357, 133, 0, 400, - 400, 24, 400, 400, 0, 0, 0, 483, 483, 0, - 517, 0, 0, 0, 0, 686, 0, 0, 0, 0, - 0, 467, 119, 676, 0, 49, 0, 0, 0, 0, - 0, 492, 49, 181, 0, 181, 0, 0, 467, 467, - 467, 0, 492, 492, 0, 0, 56, 492, 0, 0, - 0, 56, 39, 0, 39, 0, 0, 24 + 418, 418, 418, 418, -3, 418, 418, -3, 418, 418, + 418, 418, 418, 418, -22, -22, -22, -22, 88, 88, + 88, 88, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 110, 110, 110, 110, -22, -22, 102, 102, + 102, 102, 88, 110, 88, 102, 102, 133, 0, 133, + 133, 0, 0, 0, 0, 0, 492, 133, 0, 0, + 357, 357, 0, 0, 0, 0, 492, 492, 492, 102, + 102, 102, 102, 102, 492, 102, 102, 102, 357, 133, + 0, 400, 400, 58, 400, 400, 0, 0, 0, 492, + 492, 0, 515, 0, 0, 0, 0, 687, 0, 0, + 0, 0, 0, 475, 24, 678, 0, 119, 0, 0, + 0, 0, 0, 503, 119, 181, 0, 181, 0, 0, + 475, 475, 475, 0, 503, 503, 0, 0, 56, 503, + 0, 0, 0, 56, 67, 0, 67, 0, 0, 0, + 58 ); protected $actionDefault = array( 3,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 466, 466, 466,32767,32767,32767,32767, 283, - 458, 283, 283,32767, 418, 418, 418, 418, 418, 418, - 418, 458,32767,32767,32767,32767,32767, 363,32767,32767, + 32767,32767, 468, 468, 468,32767,32767,32767,32767, 285, + 460, 285, 285,32767, 420, 420, 420, 420, 420, 420, + 420, 460,32767,32767,32767,32767,32767, 365,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, @@ -523,94 +524,94 @@ class Php7 extends \PhpParser\ParserAbstract 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 463,32767,32767,32767,32767, + 32767,32767,32767,32767,32767, 465,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 346, 347, 349, - 350, 282, 419, 235, 462, 281, 116, 244, 237, 189, - 280, 221, 119, 311, 364, 313, 362, 366, 312, 288, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 286, 287, 365, 343, 342, 341, 309, 310, - 285, 314, 316, 285, 315, 332, 333, 330, 331, 334, - 335, 336, 337, 338,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 267, 267, - 267, 267, 323, 324, 227, 227, 227, 227,32767, 268, - 32767, 227,32767,32767,32767,32767,32767, 412, 340, 318, - 319, 317,32767, 391,32767, 393,32767,32767, 306, 308, - 386, 289,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 348, 349, 351, + 352, 284, 421, 237, 464, 283, 116, 246, 239, 191, + 282, 223, 119, 313, 366, 315, 364, 368, 314, 290, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 288, 289, 367, 345, 344, 343, 311, 312, + 287, 316, 318, 287, 317, 334, 335, 332, 333, 336, + 337, 338, 339, 340,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 269, 269, + 269, 269, 325, 326, 229, 229, 229, 229,32767, 270, + 32767, 229,32767,32767,32767,32767,32767, 414, 342, 320, + 321, 319,32767, 393,32767, 395,32767,32767, 308, 310, + 388, 291,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 388, 420, 420,32767,32767,32767, 380,32767, 157, - 208, 210, 396,32767,32767,32767,32767,32767, 328,32767, - 32767,32767,32767,32767,32767, 472,32767,32767,32767,32767, - 32767, 420,32767,32767,32767, 320, 321, 322,32767,32767, - 32767, 420, 420,32767,32767, 420,32767, 420,32767,32767, + 32767,32767, 390, 422, 422,32767,32767,32767, 382,32767, + 159, 210, 212, 398,32767,32767,32767,32767,32767, 330, + 32767,32767,32767,32767,32767,32767, 474,32767,32767,32767, + 32767,32767, 422,32767,32767,32767, 322, 323, 324,32767, + 32767,32767, 422, 422,32767,32767, 422,32767, 422,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 161,32767,32767, 394, 394,32767,32767, 161, 389, - 161,32767,32767, 161, 161, 174,32767, 172, 172,32767, - 32767, 176,32767, 434, 176,32767, 161, 194, 194, 372, - 163, 229, 229, 372, 161, 229,32767, 229,32767,32767, - 32767, 82,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 382,32767, - 32767,32767, 400,32767, 413, 432, 380,32767, 326, 327, - 329,32767, 422, 351, 352, 353, 354, 355, 356, 357, - 359,32767, 459, 385,32767,32767,32767,32767,32767,32767, - 84, 108, 243,32767, 471, 84, 383,32767, 471,32767, - 32767,32767,32767,32767,32767, 284,32767,32767,32767, 84, - 32767, 84,32767,32767, 455,32767,32767, 420, 384,32767, - 325, 397, 438,32767,32767, 421,32767,32767, 216, 84, - 32767, 175,32767,32767,32767,32767,32767,32767, 400,32767, - 32767, 177,32767,32767, 420,32767,32767,32767,32767,32767, - 279,32767,32767,32767,32767,32767, 420,32767,32767,32767, - 32767, 220,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 82, 60, - 32767, 261,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 121, 121, 3, 3, 121, 121, + 32767,32767,32767, 163,32767,32767, 396, 396,32767,32767, + 163, 391, 163,32767,32767, 163, 163, 176,32767, 174, + 174,32767,32767, 178,32767, 436, 178,32767, 163, 196, + 196, 374, 165, 231, 231, 374, 163, 231,32767, 231, + 32767,32767,32767, 82,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 384,32767,32767,32767, 402,32767, 415, 434, 382,32767, + 328, 329, 331,32767, 424, 353, 354, 355, 356, 357, + 358, 359, 361,32767, 461, 387,32767,32767,32767,32767, + 32767,32767, 84, 108, 245,32767, 473, 84, 385,32767, + 473,32767,32767,32767,32767,32767,32767, 286,32767,32767, + 32767, 84,32767, 84,32767,32767, 457,32767,32767, 422, + 386,32767, 327, 399, 440,32767,32767, 423,32767,32767, + 218, 84,32767, 177,32767,32767,32767,32767,32767,32767, + 402,32767,32767, 179,32767,32767, 422,32767,32767,32767, + 32767,32767, 281,32767,32767,32767,32767,32767, 422,32767, + 32767,32767,32767, 222,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 82, + 60,32767, 263,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767, 121, 121, 3, 3, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, - 121, 121, 121, 246, 154, 246, 202, 246, 246, 205, - 194, 194, 253 + 121, 121, 121, 121, 248, 154, 248, 204, 248, 248, + 207, 196, 196, 255 ); protected $goto = array( 163, 163, 135, 135, 135, 146, 148, 179, 164, 161, 145, 161, 161, 161, 162, 162, 162, 162, 162, 162, - 162, 145, 157, 158, 159, 160, 176, 174, 177, 408, - 409, 298, 410, 413, 414, 415, 416, 417, 418, 419, - 420, 855, 136, 137, 138, 139, 140, 141, 142, 143, + 162, 145, 157, 158, 159, 160, 176, 174, 177, 410, + 411, 299, 412, 415, 416, 417, 418, 419, 420, 421, + 422, 858, 136, 137, 138, 139, 140, 141, 142, 143, 144, 147, 173, 175, 178, 195, 198, 199, 201, 202, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 232, 233, 249, 250, 251, 315, 316, 317, 460, 180, + 232, 233, 249, 250, 251, 316, 317, 318, 462, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 149, 194, 150, 165, 166, 167, 196, 168, 151, 152, 153, 169, 154, 197, 133, 170, 155, - 171, 172, 156, 520, 200, 649, 430, 462, 476, 494, - 686, 648, 277, 255, 246, 200, 435, 435, 435, 650, - 763, 5, 743, 435, 556, 454, 424, 772, 767, 426, - 429, 442, 463, 464, 466, 680, 454, 448, 451, 435, - 559, 483, 485, 506, 510, 760, 515, 516, 774, 523, - 759, 525, 531, 770, 533, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 411, - 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, - 411, 411, 411, 300, 940, 530, 441, 452, 707, 435, - 435, 449, 469, 435, 435, 673, 435, 500, 747, 370, - 511, 229, 297, 230, 231, 436, 423, 8, 423, 797, - 458, 478, 478, 963, 963, 963, 963, 963, 963, 963, - 963, 963, 963, 963, 963, 459, 473, 673, 673, 461, - 825, 532, 1030, 1030, 512, 823, 1031, 1031, 479, 480, - 526, 455, 1030, 1023, 941, 299, 1031, 481, 278, 334, - 1015, 495, 312, 853, 942, 994, 902, 793, 782, 284, - 669, 1033, 786, 1005, 328, 667, 309, 306, 543, 331, - 933, 801, 938, 364, 804, 677, 475, 375, 666, 666, - 674, 674, 674, 676, 751, 665, 841, 0, 322, 496, - 261, 327, 311, 311, 258, 259, 282, 457, 321, 283, - 325, 484, 0, 0, 279, 280, 0, 0, 0, 777, - 777, 0, 1020, 0, 0, 0, 0, 0, 0, 0, + 171, 172, 156, 521, 200, 651, 432, 464, 650, 687, + 649, 278, 1034, 1034, 681, 200, 437, 437, 437, 766, + 5, 746, 1034, 557, 437, 426, 775, 770, 428, 431, + 444, 465, 466, 468, 483, 279, 531, 336, 450, 453, + 437, 560, 485, 487, 508, 511, 763, 516, 517, 777, + 524, 762, 526, 532, 773, 534, 480, 480, 966, 966, + 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, + 413, 413, 413, 413, 413, 413, 413, 413, 413, 413, + 413, 413, 413, 413, 943, 502, 478, 496, 512, 456, + 298, 437, 437, 451, 471, 437, 437, 708, 437, 229, + 456, 230, 231, 463, 828, 533, 750, 438, 513, 826, + 255, 246, 460, 414, 414, 414, 414, 414, 414, 414, + 414, 414, 414, 414, 414, 414, 414, 674, 301, 1033, + 1033, 443, 454, 481, 482, 527, 461, 475, 425, 1033, + 425, 800, 457, 300, 372, 944, 1026, 1018, 497, 313, + 856, 905, 8, 785, 789, 945, 997, 796, 285, 1036, + 674, 674, 1008, 307, 329, 310, 670, 668, 804, 544, + 332, 936, 941, 366, 807, 678, 477, 377, 754, 844, + 0, 0, 0, 0, 0, 0, 0, 0, 323, 498, + 261, 328, 312, 312, 258, 259, 283, 459, 322, 284, + 326, 486, 280, 281, 0, 0, 0, 0, 0, 0, + 0, 0, 667, 667, 675, 675, 675, 677, 0, 666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 787, 787, 787, 787, 944, 0, 944, - 787, 787, 1002, 787, 1002, 0, 0, 0, 0, 0, - 833, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1013, 1013, 0, 0, 741, 741, 741, 741, 0, 736, - 742, 509, 0, 0, 0, 0, 0, 1000, 0, 0, + 0, 0, 0, 790, 790, 790, 790, 947, 0, 947, + 790, 790, 1005, 790, 1005, 0, 0, 0, 0, 836, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 803, 0, 803, 0, 0, 0, 0, 1006, 1007 + 1016, 1016, 0, 0, 744, 744, 744, 720, 744, 0, + 739, 745, 721, 780, 780, 0, 1023, 0, 1003, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 806, 0, 806, 0, 0, 0, 0, 1009, 1010 ); protected $gotoCheck = array( @@ -625,68 +626,68 @@ class Php7 extends \PhpParser\ParserAbstract 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 51, 45, 11, 8, 79, 35, 35, - 10, 10, 63, 111, 111, 45, 8, 8, 8, 12, - 10, 91, 10, 8, 10, 68, 10, 10, 10, 38, - 38, 38, 38, 38, 38, 25, 68, 28, 8, 8, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 112, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 52, 75, 5, 52, 52, 44, 8, - 8, 8, 8, 8, 8, 19, 8, 55, 29, 52, - 55, 59, 55, 59, 59, 8, 108, 52, 108, 77, - 8, 69, 69, 69, 69, 69, 69, 69, 69, 69, - 69, 69, 69, 69, 69, 2, 2, 19, 19, 7, - 7, 7, 122, 122, 7, 7, 123, 123, 54, 54, - 54, 113, 122, 121, 75, 41, 123, 61, 61, 61, - 119, 43, 42, 94, 75, 75, 95, 73, 71, 14, - 21, 122, 74, 116, 18, 20, 13, 9, 65, 17, - 101, 78, 103, 57, 80, 22, 58, 99, 19, 19, - 19, 19, 19, 19, 62, 19, 93, -1, 45, 45, + 23, 23, 23, 52, 45, 12, 8, 80, 11, 10, + 10, 64, 124, 124, 25, 45, 8, 8, 8, 10, + 92, 10, 124, 10, 8, 10, 10, 10, 38, 38, + 38, 38, 38, 38, 62, 62, 5, 62, 28, 8, + 8, 28, 28, 28, 28, 28, 28, 28, 28, 28, + 28, 28, 28, 28, 28, 28, 70, 70, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, + 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 76, 56, 35, 35, 56, 69, + 56, 8, 8, 8, 8, 8, 8, 44, 8, 60, + 69, 60, 60, 7, 7, 7, 29, 8, 7, 7, + 112, 112, 8, 115, 115, 115, 115, 115, 115, 115, + 115, 115, 115, 115, 115, 115, 115, 19, 53, 123, + 123, 53, 53, 55, 55, 55, 2, 2, 109, 123, + 109, 78, 114, 41, 53, 76, 122, 120, 43, 42, + 95, 96, 53, 72, 75, 76, 76, 74, 14, 123, + 19, 19, 117, 9, 18, 13, 21, 20, 79, 66, + 17, 102, 104, 58, 81, 22, 59, 100, 63, 94, + -1, -1, -1, -1, -1, -1, -1, -1, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, -1, -1, 63, 63, -1, -1, -1, 68, - 68, -1, 68, -1, -1, -1, -1, -1, -1, -1, + 45, 45, 64, 64, -1, -1, -1, -1, -1, -1, + -1, -1, 19, 19, 19, 19, 19, 19, -1, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 51, 51, 51, 51, 51, -1, 51, - 51, 51, 79, 51, 79, -1, -1, -1, -1, -1, - 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 79, 79, -1, -1, 51, 51, 51, 51, -1, 51, - 51, 51, -1, -1, -1, -1, -1, 79, -1, -1, + -1, -1, -1, 52, 52, 52, 52, 52, -1, 52, + 52, 52, 80, 52, 80, -1, -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 79, -1, 79, -1, -1, -1, -1, 79, 79 + 80, 80, -1, -1, 52, 52, 52, 52, 52, -1, + 52, 52, 52, 69, 69, -1, 69, -1, 80, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 80, -1, 80, -1, -1, -1, -1, 80, 80 ); protected $gotoBase = array( - 0, 0, -301, 0, 0, 185, 0, 236, -136, 8, - 119, 113, 127, -8, 17, 0, 0, -57, 11, -47, - -10, 6, -74, -20, 0, 138, 0, 0, -388, 192, - 0, 0, 0, 0, 0, 87, 0, 0, 104, 0, - 0, 222, 43, 46, 184, 84, 0, 0, 0, 0, - 0, 109, -157, 0, 13, -165, 0, -75, -78, -344, - 0, -9, -71, -246, 0, -18, 0, 0, 105, 7, - 0, 27, 0, 25, 28, -98, 0, 198, -7, 114, - -76, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 121, 0, -80, 47, 26, 0, 0, 0, -86, - 0, -65, 0, -66, 0, 0, 0, 0, -22, 0, - 0, -130, -35, 228, -49, 0, 16, 0, 0, 219, - 0, 229, -3, 1, 0 + 0, 0, -291, 0, 0, 136, 0, 210, -136, 3, + 118, 116, 113, -10, 16, 0, 0, -58, 11, -15, + -9, 12, -76, -20, 0, 117, 0, 0, -388, 200, + 0, 0, 0, 0, 0, 165, 0, 0, 103, 0, + 0, 220, 40, 43, 193, 84, 0, 0, 0, 0, + 0, 0, 109, -114, 0, 8, -179, 0, -77, -80, + -347, 0, -122, -79, -249, 0, -18, 0, 0, 169, + -48, 0, 22, 0, 25, 20, -99, 0, 230, -11, + 114, -78, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 120, 0, -89, 44, 21, 0, 0, 0, + -88, 0, -66, 0, -68, 0, 0, 0, 0, 10, + 0, 0, -33, -34, 229, 9, 0, 15, 0, 0, + 216, 0, 232, -6, -123, 0 ); protected $gotoDefault = array( - -32768, 378, 564, 2, 565, 636, 644, 502, 398, 431, - 745, 687, 688, 302, 340, 399, 301, 329, 323, 675, - 668, 670, 678, 134, 332, 681, 1, 683, 437, 715, - 290, 691, 291, 505, 693, 444, 695, 696, 425, 303, - 304, 445, 310, 477, 706, 203, 307, 708, 289, 709, - 718, 292, 508, 487, 467, 499, 400, 361, 474, 228, - 453, 471, 750, 276, 758, 548, 766, 769, 401, 402, - 468, 781, 366, 791, 785, 958, 318, 796, 802, 989, - 805, 808, 347, 330, 326, 812, 813, 4, 817, 521, - 522, 832, 239, 840, 854, 345, 921, 923, 439, 372, - 934, 358, 333, 937, 993, 352, 403, 362, 950, 260, - 281, 245, 404, 421, 247, 405, 363, 996, 313, 1016, - 422, 1024, 1032, 274, 472 + -32768, 380, 565, 2, 566, 637, 645, 504, 400, 433, + 748, 688, 689, 303, 342, 401, 302, 330, 324, 676, + 669, 671, 679, 134, 333, 682, 1, 684, 439, 716, + 291, 692, 292, 507, 694, 446, 696, 697, 427, 304, + 305, 447, 311, 479, 707, 203, 308, 709, 290, 710, + 719, 335, 293, 510, 489, 469, 501, 402, 363, 476, + 228, 455, 473, 753, 277, 761, 549, 769, 772, 403, + 404, 470, 784, 368, 794, 788, 961, 319, 799, 805, + 992, 808, 811, 349, 331, 327, 815, 816, 4, 820, + 522, 523, 835, 239, 843, 857, 347, 924, 926, 441, + 374, 937, 360, 334, 940, 996, 354, 405, 364, 953, + 260, 282, 245, 406, 423, 247, 407, 365, 999, 314, + 1019, 424, 1027, 1035, 275, 474 ); protected $ruleToNonTerminal = array( @@ -705,20 +706,20 @@ class Php7 extends \PhpParser\ParserAbstract 26, 26, 28, 27, 27, 27, 27, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, - 29, 29, 10, 10, 48, 48, 50, 49, 49, 42, - 42, 52, 52, 53, 53, 11, 12, 12, 12, 56, - 56, 56, 57, 57, 60, 60, 58, 58, 61, 61, - 36, 36, 44, 44, 47, 47, 47, 46, 46, 62, - 37, 37, 37, 37, 63, 63, 64, 64, 65, 65, - 34, 34, 30, 30, 66, 32, 32, 67, 31, 31, - 33, 33, 43, 43, 43, 43, 54, 54, 70, 70, - 71, 71, 73, 73, 74, 74, 74, 72, 72, 55, - 55, 75, 75, 76, 76, 77, 77, 77, 39, 39, - 78, 40, 40, 80, 80, 59, 59, 81, 81, 81, - 81, 86, 86, 87, 87, 88, 88, 88, 88, 88, - 89, 90, 90, 85, 85, 82, 82, 84, 84, 92, - 92, 91, 91, 91, 91, 91, 91, 83, 83, 93, - 93, 41, 41, 35, 35, 23, 23, 23, 23, 23, + 29, 29, 10, 10, 48, 48, 51, 51, 50, 49, + 49, 42, 42, 53, 53, 54, 54, 11, 12, 12, + 12, 57, 57, 57, 58, 58, 61, 61, 59, 59, + 62, 62, 36, 36, 44, 44, 47, 47, 47, 46, + 46, 63, 37, 37, 37, 37, 64, 64, 65, 65, + 66, 66, 34, 34, 30, 30, 67, 32, 32, 68, + 31, 31, 33, 33, 43, 43, 43, 43, 55, 55, + 71, 71, 72, 72, 74, 74, 75, 75, 75, 73, + 73, 56, 56, 76, 76, 77, 77, 78, 78, 78, + 39, 39, 79, 40, 40, 81, 81, 60, 60, 82, + 82, 82, 82, 87, 87, 88, 88, 89, 89, 89, + 89, 89, 90, 91, 91, 86, 86, 83, 83, 85, + 85, 93, 93, 92, 92, 92, 92, 92, 92, 84, + 84, 94, 94, 41, 41, 35, 35, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, @@ -726,19 +727,19 @@ class Php7 extends \PhpParser\ParserAbstract 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 100, - 94, 94, 99, 99, 102, 102, 103, 104, 104, 104, - 108, 108, 51, 51, 51, 95, 95, 106, 106, 96, - 96, 98, 98, 98, 101, 101, 112, 112, 69, 114, - 114, 114, 97, 97, 97, 97, 97, 97, 97, 97, - 97, 97, 97, 97, 97, 97, 97, 97, 38, 38, - 110, 110, 110, 105, 105, 105, 115, 115, 115, 115, - 115, 115, 45, 45, 45, 79, 79, 79, 117, 109, - 109, 109, 109, 109, 109, 107, 107, 107, 116, 116, - 116, 68, 118, 118, 119, 119, 119, 119, 119, 113, - 120, 120, 121, 121, 121, 121, 121, 111, 111, 111, - 111, 123, 122, 122, 122, 122, 122, 122, 122, 124, - 124, 124 + 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, + 23, 101, 95, 95, 100, 100, 103, 103, 104, 105, + 105, 105, 109, 109, 52, 52, 52, 96, 96, 107, + 107, 97, 97, 99, 99, 99, 102, 102, 113, 113, + 70, 115, 115, 115, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 38, 38, 111, 111, 111, 106, 106, 106, 116, 116, + 116, 116, 116, 116, 45, 45, 45, 80, 80, 80, + 118, 110, 110, 110, 110, 110, 110, 108, 108, 108, + 117, 117, 117, 69, 119, 119, 120, 120, 120, 120, + 120, 114, 121, 121, 122, 122, 122, 122, 122, 112, + 112, 112, 112, 124, 123, 123, 123, 123, 123, 123, + 123, 125, 125, 125 ); protected $ruleToLength = array( @@ -757,40 +758,40 @@ class Php7 extends \PhpParser\ParserAbstract 2, 0, 1, 1, 1, 1, 1, 3, 7, 10, 5, 7, 9, 5, 3, 3, 3, 3, 3, 3, 1, 2, 5, 7, 9, 5, 6, 3, 3, 2, - 2, 1, 1, 1, 0, 2, 8, 0, 4, 1, - 3, 0, 1, 0, 1, 10, 7, 6, 5, 1, - 2, 2, 0, 2, 0, 2, 0, 2, 1, 3, - 1, 4, 1, 4, 1, 1, 4, 1, 3, 3, - 3, 4, 4, 5, 0, 2, 4, 3, 1, 1, - 1, 4, 0, 2, 5, 0, 2, 6, 0, 2, - 0, 3, 1, 2, 1, 1, 1, 0, 1, 3, - 4, 6, 1, 2, 1, 1, 1, 0, 1, 0, - 2, 2, 3, 1, 3, 1, 2, 2, 3, 1, - 1, 3, 1, 1, 3, 2, 0, 3, 4, 9, - 3, 1, 3, 0, 2, 4, 5, 4, 4, 4, - 3, 1, 1, 1, 3, 1, 1, 0, 1, 1, - 2, 1, 1, 1, 1, 1, 1, 1, 3, 1, - 3, 3, 1, 0, 1, 1, 3, 3, 3, 4, - 4, 1, 2, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 5, 4, 3, 4, 4, 2, 2, 4, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 1, 3, 2, 1, 2, 4, 2, 10, 11, 7, - 3, 2, 0, 4, 1, 3, 2, 2, 2, 4, - 1, 1, 1, 2, 3, 1, 1, 1, 1, 0, - 3, 0, 1, 1, 0, 1, 1, 3, 3, 4, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 2, 3, 3, 0, 1, - 1, 3, 1, 1, 3, 1, 1, 4, 4, 4, - 1, 4, 1, 1, 3, 1, 4, 2, 3, 1, - 4, 4, 3, 3, 3, 1, 3, 1, 1, 3, - 1, 4, 3, 1, 1, 1, 3, 3, 0, 1, - 3, 1, 3, 1, 4, 2, 0, 2, 2, 1, - 2, 1, 1, 4, 3, 3, 3, 6, 3, 1, - 1, 1 + 2, 1, 1, 1, 0, 2, 1, 3, 8, 0, + 4, 1, 3, 0, 1, 0, 1, 10, 7, 6, + 5, 1, 2, 2, 0, 2, 0, 2, 0, 2, + 1, 3, 1, 4, 1, 4, 1, 1, 4, 1, + 3, 3, 3, 4, 4, 5, 0, 2, 4, 3, + 1, 1, 1, 4, 0, 2, 5, 0, 2, 6, + 0, 2, 0, 3, 1, 2, 1, 1, 1, 0, + 1, 3, 4, 6, 1, 2, 1, 1, 1, 0, + 1, 0, 2, 2, 3, 1, 3, 1, 2, 2, + 3, 1, 1, 3, 1, 1, 3, 2, 0, 3, + 4, 9, 3, 1, 3, 0, 2, 4, 5, 4, + 4, 4, 3, 1, 1, 1, 3, 1, 1, 0, + 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, + 3, 1, 3, 3, 1, 0, 1, 1, 3, 3, + 3, 4, 4, 1, 2, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, + 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, + 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 5, 4, 3, 4, 4, 2, 2, + 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 1, 3, 2, 1, 2, 4, 2, 10, + 11, 7, 3, 2, 0, 4, 1, 3, 2, 2, + 2, 4, 1, 1, 1, 2, 3, 1, 1, 1, + 1, 0, 3, 0, 1, 1, 0, 1, 1, 3, + 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 3, 2, 3, 3, + 0, 1, 1, 3, 1, 1, 3, 1, 1, 4, + 4, 4, 1, 4, 1, 1, 3, 1, 4, 2, + 3, 1, 4, 4, 3, 3, 3, 1, 3, 1, + 1, 3, 1, 4, 3, 1, 1, 1, 3, 3, + 0, 1, 3, 1, 3, 1, 4, 2, 0, 2, + 2, 1, 2, 1, 1, 4, 3, 3, 3, 6, + 3, 1, 1, 1 ); protected function reduceRule0() { @@ -1421,31 +1422,31 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule156() { - $this->semValue = new Stmt\Catch_($this->semStack[$this->stackPos-(8-3)], substr($this->semStack[$this->stackPos-(8-4)], 1), $this->semStack[$this->stackPos-(8-7)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes); - } - - protected function reduceRule157() { - $this->semValue = null; - } - - protected function reduceRule158() { - $this->semValue = $this->semStack[$this->stackPos-(4-3)]; - } - - protected function reduceRule159() { $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } - protected function reduceRule160() { + protected function reduceRule157() { $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } + protected function reduceRule158() { + $this->semValue = new Stmt\Catch_($this->semStack[$this->stackPos-(8-3)], substr($this->semStack[$this->stackPos-(8-4)], 1), $this->semStack[$this->stackPos-(8-7)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes); + } + + protected function reduceRule159() { + $this->semValue = null; + } + + protected function reduceRule160() { + $this->semValue = $this->semStack[$this->stackPos-(4-3)]; + } + protected function reduceRule161() { - $this->semValue = false; + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule162() { - $this->semValue = true; + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule163() { @@ -1457,43 +1458,43 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule165() { - $this->semValue = new Stmt\Function_($this->semStack[$this->stackPos-(10-3)], ['byRef' => $this->semStack[$this->stackPos-(10-2)], 'params' => $this->semStack[$this->stackPos-(10-5)], 'returnType' => $this->semStack[$this->stackPos-(10-7)], 'stmts' => $this->semStack[$this->stackPos-(10-9)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes); + $this->semValue = false; } protected function reduceRule166() { - $this->semValue = new Stmt\Class_($this->semStack[$this->stackPos-(7-2)], ['type' => $this->semStack[$this->stackPos-(7-1)], 'extends' => $this->semStack[$this->stackPos-(7-3)], 'implements' => $this->semStack[$this->stackPos-(7-4)], 'stmts' => $this->semStack[$this->stackPos-(7-6)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); + $this->semValue = true; } protected function reduceRule167() { - $this->semValue = new Stmt\Interface_($this->semStack[$this->stackPos-(6-2)], ['extends' => $this->semStack[$this->stackPos-(6-3)], 'stmts' => $this->semStack[$this->stackPos-(6-5)]], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); + $this->semValue = new Stmt\Function_($this->semStack[$this->stackPos-(10-3)], ['byRef' => $this->semStack[$this->stackPos-(10-2)], 'params' => $this->semStack[$this->stackPos-(10-5)], 'returnType' => $this->semStack[$this->stackPos-(10-7)], 'stmts' => $this->semStack[$this->stackPos-(10-9)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes); } protected function reduceRule168() { - $this->semValue = new Stmt\Trait_($this->semStack[$this->stackPos-(5-2)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + $this->semValue = new Stmt\Class_($this->semStack[$this->stackPos-(7-2)], ['type' => $this->semStack[$this->stackPos-(7-1)], 'extends' => $this->semStack[$this->stackPos-(7-3)], 'implements' => $this->semStack[$this->stackPos-(7-4)], 'stmts' => $this->semStack[$this->stackPos-(7-6)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes); } protected function reduceRule169() { - $this->semValue = 0; + $this->semValue = new Stmt\Interface_($this->semStack[$this->stackPos-(6-2)], ['extends' => $this->semStack[$this->stackPos-(6-3)], 'stmts' => $this->semStack[$this->stackPos-(6-5)]], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); } protected function reduceRule170() { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + $this->semValue = new Stmt\Trait_($this->semStack[$this->stackPos-(5-2)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); } protected function reduceRule171() { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; + $this->semValue = 0; } protected function reduceRule172() { - $this->semValue = null; + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; } protected function reduceRule173() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + $this->semValue = Stmt\Class_::MODIFIER_FINAL; } protected function reduceRule174() { - $this->semValue = array(); + $this->semValue = null; } protected function reduceRule175() { @@ -1509,19 +1510,19 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule178() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = array(); } protected function reduceRule179() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; } protected function reduceRule180() { - $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule181() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule182() { @@ -1537,103 +1538,103 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule185() { - $this->semValue = null; + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; } protected function reduceRule186() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule187() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule188() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule189() { - $this->semValue = new Stmt\DeclareDeclare($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule190() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule191() { - $this->semValue = $this->semStack[$this->stackPos-(4-3)]; - } - - protected function reduceRule192() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule193() { - $this->semValue = $this->semStack[$this->stackPos-(5-3)]; - } - - protected function reduceRule194() { - $this->semValue = array(); - } - - protected function reduceRule195() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule196() { - $this->semValue = new Stmt\Case_($this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule197() { - $this->semValue = new Stmt\Case_(null, $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule198() { - $this->semValue = $this->semStack[$this->stackPos]; - } - - protected function reduceRule199() { - $this->semValue = $this->semStack[$this->stackPos]; - } - - protected function reduceRule200() { $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); } - protected function reduceRule201() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule202() { - $this->semValue = array(); - } - - protected function reduceRule203() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule204() { - $this->semValue = new Stmt\ElseIf_($this->semStack[$this->stackPos-(5-3)], is_array($this->semStack[$this->stackPos-(5-5)]) ? $this->semStack[$this->stackPos-(5-5)] : array($this->semStack[$this->stackPos-(5-5)]), $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); - } - - protected function reduceRule205() { - $this->semValue = array(); - } - - protected function reduceRule206() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule207() { - $this->semValue = new Stmt\ElseIf_($this->semStack[$this->stackPos-(6-3)], $this->semStack[$this->stackPos-(6-6)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); - } - - protected function reduceRule208() { + protected function reduceRule187() { $this->semValue = null; } + protected function reduceRule188() { + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + } + + protected function reduceRule189() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule190() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule191() { + $this->semValue = new Stmt\DeclareDeclare($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule192() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule193() { + $this->semValue = $this->semStack[$this->stackPos-(4-3)]; + } + + protected function reduceRule194() { + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + } + + protected function reduceRule195() { + $this->semValue = $this->semStack[$this->stackPos-(5-3)]; + } + + protected function reduceRule196() { + $this->semValue = array(); + } + + protected function reduceRule197() { + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule198() { + $this->semValue = new Stmt\Case_($this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule199() { + $this->semValue = new Stmt\Case_(null, $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule200() { + $this->semValue = $this->semStack[$this->stackPos]; + } + + protected function reduceRule201() { + $this->semValue = $this->semStack[$this->stackPos]; + } + + protected function reduceRule202() { + $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule203() { + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + } + + protected function reduceRule204() { + $this->semValue = array(); + } + + protected function reduceRule205() { + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule206() { + $this->semValue = new Stmt\ElseIf_($this->semStack[$this->stackPos-(5-3)], is_array($this->semStack[$this->stackPos-(5-5)]) ? $this->semStack[$this->stackPos-(5-5)] : array($this->semStack[$this->stackPos-(5-5)]), $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + } + + protected function reduceRule207() { + $this->semValue = array(); + } + + protected function reduceRule208() { + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + protected function reduceRule209() { - $this->semValue = new Stmt\Else_(is_array($this->semStack[$this->stackPos-(2-2)]) ? $this->semStack[$this->stackPos-(2-2)] : array($this->semStack[$this->stackPos-(2-2)]), $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Stmt\ElseIf_($this->semStack[$this->stackPos-(6-3)], $this->semStack[$this->stackPos-(6-6)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); } protected function reduceRule210() { @@ -1641,15 +1642,15 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule211() { - $this->semValue = new Stmt\Else_($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Stmt\Else_(is_array($this->semStack[$this->stackPos-(2-2)]) ? $this->semStack[$this->stackPos-(2-2)] : array($this->semStack[$this->stackPos-(2-2)]), $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule212() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); + $this->semValue = null; } protected function reduceRule213() { - $this->semValue = array($this->semStack[$this->stackPos-(2-2)], true); + $this->semValue = new Stmt\Else_($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule214() { @@ -1657,59 +1658,59 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule215() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); + $this->semValue = array($this->semStack[$this->stackPos-(2-2)], true); } protected function reduceRule216() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); } protected function reduceRule217() { - $this->semValue = array(); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); } protected function reduceRule218() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule219() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = array(); } protected function reduceRule220() { - $this->semValue = new Node\Param(substr($this->semStack[$this->stackPos-(4-4)], 1), null, $this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule221() { - $this->semValue = new Node\Param(substr($this->semStack[$this->stackPos-(6-4)], 1), $this->semStack[$this->stackPos-(6-6)], $this->semStack[$this->stackPos-(6-1)], $this->semStack[$this->stackPos-(6-2)], $this->semStack[$this->stackPos-(6-3)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule222() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Node\Param(substr($this->semStack[$this->stackPos-(4-4)], 1), null, $this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule223() { - $this->semValue = new Node\NullableType($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Param(substr($this->semStack[$this->stackPos-(6-4)], 1), $this->semStack[$this->stackPos-(6-6)], $this->semStack[$this->stackPos-(6-1)], $this->semStack[$this->stackPos-(6-2)], $this->semStack[$this->stackPos-(6-3)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); } protected function reduceRule224() { - $this->semValue = $this->handleBuiltinTypes($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule225() { - $this->semValue = 'array'; + $this->semValue = new Node\NullableType($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule226() { - $this->semValue = 'callable'; + $this->semValue = $this->handleBuiltinTypes($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule227() { - $this->semValue = null; + $this->semValue = 'array'; } protected function reduceRule228() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = 'callable'; } protected function reduceRule229() { @@ -1717,95 +1718,95 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule230() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule231() { - $this->semValue = array(); + $this->semValue = null; } protected function reduceRule232() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; } protected function reduceRule233() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = array(); } protected function reduceRule234() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule235() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(1-1)], false, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule236() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], true, false, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule237() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], false, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(1-1)], false, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule238() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], true, false, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule239() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], false, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule240() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule241() { $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } - protected function reduceRule242() { + protected function reduceRule241() { $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } + protected function reduceRule242() { + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + protected function reduceRule243() { - $this->semValue = new Stmt\StaticVar(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule244() { - $this->semValue = new Stmt\StaticVar(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule245() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = new Stmt\StaticVar(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule246() { - $this->semValue = array(); + $this->semValue = new Stmt\StaticVar(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule247() { - $this->semValue = new Stmt\Property($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } protected function reduceRule248() { - $this->semValue = new Stmt\ClassConst($this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-1)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule249() { - $this->semValue = new Stmt\ClassMethod($this->semStack[$this->stackPos-(9-4)], ['type' => $this->semStack[$this->stackPos-(9-1)], 'byRef' => $this->semStack[$this->stackPos-(9-3)], 'params' => $this->semStack[$this->stackPos-(9-6)], 'returnType' => $this->semStack[$this->stackPos-(9-8)], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes); - } - - protected function reduceRule250() { - $this->semValue = new Stmt\TraitUse($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule251() { $this->semValue = array(); } + protected function reduceRule249() { + $this->semValue = new Stmt\Property($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule250() { + $this->semValue = new Stmt\ClassConst($this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-1)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule251() { + $this->semValue = new Stmt\ClassMethod($this->semStack[$this->stackPos-(9-4)], ['type' => $this->semStack[$this->stackPos-(9-1)], 'byRef' => $this->semStack[$this->stackPos-(9-3)], 'params' => $this->semStack[$this->stackPos-(9-6)], 'returnType' => $this->semStack[$this->stackPos-(9-8)], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes); + } + protected function reduceRule252() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = new Stmt\TraitUse($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule253() { @@ -1813,139 +1814,139 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule254() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule255() { - $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule256() { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(5-1)][0], $this->semStack[$this->stackPos-(5-1)][1], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); - } - - protected function reduceRule257() { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], $this->semStack[$this->stackPos-(4-3)], null, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule258() { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule259() { - $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule260() { - $this->semValue = array($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)]); - } - - protected function reduceRule261() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule262() { - $this->semValue = array(null, $this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule263() { - $this->semValue = null; - } - - protected function reduceRule264() { $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } - protected function reduceRule265() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule266() { - $this->semValue = 0; - } - - protected function reduceRule267() { - $this->semValue = 0; - } - - protected function reduceRule268() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule269() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule270() { - Stmt\Class_::verifyModifier($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); $this->semValue = $this->semStack[$this->stackPos-(2-1)] | $this->semStack[$this->stackPos-(2-2)]; - } - - protected function reduceRule271() { - $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; - } - - protected function reduceRule272() { - $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; - } - - protected function reduceRule273() { - $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; - } - - protected function reduceRule274() { - $this->semValue = Stmt\Class_::MODIFIER_STATIC; - } - - protected function reduceRule275() { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; - } - - protected function reduceRule276() { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; - } - - protected function reduceRule277() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule278() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule279() { - $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule280() { - $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule281() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule282() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule283() { + protected function reduceRule255() { $this->semValue = array(); } - protected function reduceRule284() { + protected function reduceRule256() { + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule257() { + $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule258() { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(5-1)][0], $this->semStack[$this->stackPos-(5-1)][1], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + } + + protected function reduceRule259() { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], $this->semStack[$this->stackPos-(4-3)], null, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule260() { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule261() { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule262() { + $this->semValue = array($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)]); + } + + protected function reduceRule263() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + protected function reduceRule264() { + $this->semValue = array(null, $this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule265() { + $this->semValue = null; + } + + protected function reduceRule266() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule267() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule268() { + $this->semValue = 0; + } + + protected function reduceRule269() { + $this->semValue = 0; + } + + protected function reduceRule270() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule271() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule272() { + Stmt\Class_::verifyModifier($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); $this->semValue = $this->semStack[$this->stackPos-(2-1)] | $this->semStack[$this->stackPos-(2-2)]; + } + + protected function reduceRule273() { + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; + } + + protected function reduceRule274() { + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + } + + protected function reduceRule275() { + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + } + + protected function reduceRule276() { + $this->semValue = Stmt\Class_::MODIFIER_STATIC; + } + + protected function reduceRule277() { + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + } + + protected function reduceRule278() { + $this->semValue = Stmt\Class_::MODIFIER_FINAL; + } + + protected function reduceRule279() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule280() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule281() { + $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule282() { + $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule283() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule284() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + protected function reduceRule285() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = array(); } protected function reduceRule286() { - $this->semValue = new Expr\Assign($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule287() { - $this->semValue = new Expr\Assign($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule288() { @@ -1953,377 +1954,377 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule289() { - $this->semValue = new Expr\AssignRef($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Assign($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule290() { - $this->semValue = new Expr\AssignRef($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Assign($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule291() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Expr\AssignRef($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule292() { - $this->semValue = new Expr\Clone_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignRef($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule293() { - $this->semValue = new Expr\AssignOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule294() { - $this->semValue = new Expr\AssignOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Clone_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule295() { - $this->semValue = new Expr\AssignOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule296() { - $this->semValue = new Expr\AssignOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule297() { - $this->semValue = new Expr\AssignOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule298() { - $this->semValue = new Expr\AssignOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule299() { - $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule300() { - $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule301() { - $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule302() { - $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule303() { - $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule304() { - $this->semValue = new Expr\AssignOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule305() { - $this->semValue = new Expr\PostInc($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule306() { - $this->semValue = new Expr\PreInc($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule307() { - $this->semValue = new Expr\PostDec($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\PostInc($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule308() { - $this->semValue = new Expr\PreDec($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\PreInc($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule309() { - $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PostDec($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule310() { - $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PreDec($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule311() { - $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule312() { - $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule313() { - $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule314() { - $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule315() { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule316() { - $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule317() { - $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule318() { - $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule319() { - $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule320() { - $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule321() { - $this->semValue = new Expr\BinaryOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule322() { - $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule323() { - $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule324() { - $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule325() { - $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule326() { - $this->semValue = new Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule327() { - $this->semValue = new Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule328() { - $this->semValue = new Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule329() { - $this->semValue = new Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule330() { - $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule331() { - $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule332() { - $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule333() { - $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule334() { - $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule335() { - $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule336() { - $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule337() { - $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule338() { - $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule339() { - $this->semValue = new Expr\Instanceof_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule340() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule341() { - $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(5-1)], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + $this->semValue = new Expr\Instanceof_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule342() { - $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(4-1)], null, $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule343() { - $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(5-1)], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); } protected function reduceRule344() { - $this->semValue = new Expr\Isset_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(4-1)], null, $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule345() { - $this->semValue = new Expr\Empty_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule346() { - $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Isset_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule347() { - $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Empty_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule348() { - $this->semValue = new Expr\Eval_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule349() { - $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule350() { - $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Eval_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule351() { - $this->semValue = new Expr\Cast\Int_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule352() { - $this->semValue = new Expr\Cast\Double($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule353() { - $this->semValue = new Expr\Cast\String_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Int_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule354() { - $this->semValue = new Expr\Cast\Array_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Double($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule355() { - $this->semValue = new Expr\Cast\Object_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\String_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule356() { - $this->semValue = new Expr\Cast\Bool_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Array_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule357() { - $this->semValue = new Expr\Cast\Unset_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Cast\Object_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule358() { + $this->semValue = new Expr\Cast\Bool_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule359() { + $this->semValue = new Expr\Cast\Unset_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule360() { $attrs = $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strtolower($this->semStack[$this->stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; $this->semValue = new Expr\Exit_($this->semStack[$this->stackPos-(2-2)], $attrs); } - protected function reduceRule359() { + protected function reduceRule361() { $this->semValue = new Expr\ErrorSuppress($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } - protected function reduceRule360() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule361() { - $this->semValue = new Expr\ShellExec($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - protected function reduceRule362() { - $this->semValue = new Expr\Print_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule363() { - $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\ShellExec($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule364() { - $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(2-2)], null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Print_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule365() { - $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-2)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule366() { - $this->semValue = new Expr\YieldFrom($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(2-2)], null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule367() { - $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$this->stackPos-(10-2)], 'params' => $this->semStack[$this->stackPos-(10-4)], 'uses' => $this->semStack[$this->stackPos-(10-6)], 'returnType' => $this->semStack[$this->stackPos-(10-7)], 'stmts' => $this->semStack[$this->stackPos-(10-9)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes); + $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-2)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule368() { - $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$this->stackPos-(11-3)], 'params' => $this->semStack[$this->stackPos-(11-5)], 'uses' => $this->semStack[$this->stackPos-(11-7)], 'returnType' => $this->semStack[$this->stackPos-(11-8)], 'stmts' => $this->semStack[$this->stackPos-(11-10)]], $this->startAttributeStack[$this->stackPos-(11-1)] + $this->endAttributes); + $this->semValue = new Expr\YieldFrom($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule369() { - $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$this->stackPos-(7-3)], 'implements' => $this->semStack[$this->stackPos-(7-4)], 'stmts' => $this->semStack[$this->stackPos-(7-6)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(7-2)]); + $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$this->stackPos-(10-2)], 'params' => $this->semStack[$this->stackPos-(10-4)], 'uses' => $this->semStack[$this->stackPos-(10-6)], 'returnType' => $this->semStack[$this->stackPos-(10-7)], 'stmts' => $this->semStack[$this->stackPos-(10-9)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes); } protected function reduceRule370() { - $this->semValue = new Expr\New_($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$this->stackPos-(11-3)], 'params' => $this->semStack[$this->stackPos-(11-5)], 'uses' => $this->semStack[$this->stackPos-(11-7)], 'returnType' => $this->semStack[$this->stackPos-(11-8)], 'stmts' => $this->semStack[$this->stackPos-(11-10)]], $this->startAttributeStack[$this->stackPos-(11-1)] + $this->endAttributes); } protected function reduceRule371() { - list($class, $ctorArgs) = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$this->stackPos-(7-3)], 'implements' => $this->semStack[$this->stackPos-(7-4)], 'stmts' => $this->semStack[$this->stackPos-(7-6)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(7-2)]); } protected function reduceRule372() { - $this->semValue = array(); + $this->semValue = new Expr\New_($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule373() { - $this->semValue = $this->semStack[$this->stackPos-(4-3)]; + list($class, $ctorArgs) = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule374() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = array(); } protected function reduceRule375() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = $this->semStack[$this->stackPos-(4-3)]; } protected function reduceRule376() { - $this->semValue = new Expr\ClosureUse(substr($this->semStack[$this->stackPos-(2-2)], 1), $this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule377() { - $this->semValue = new Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; } protected function reduceRule378() { - $this->semValue = new Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\ClosureUse(substr($this->semStack[$this->stackPos-(2-2)], 1), $this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule379() { - $this->semValue = new Expr\StaticCall($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule380() { - $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule381() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Expr\StaticCall($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule382() { @@ -2331,19 +2332,19 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule383() { - $this->semValue = new Name\FullyQualified($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule384() { - $this->semValue = new Name\Relative($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule385() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Name\FullyQualified($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule386() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Name\Relative($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule387() { @@ -2355,142 +2356,142 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule389() { - $this->semValue = null; - } - - protected function reduceRule390() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule391() { - $this->semValue = array(); - } - - protected function reduceRule392() { - $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$this->stackPos-(1-1)], '`'), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes)); - } - - protected function reduceRule393() { - foreach ($this->semStack[$this->stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule394() { - $this->semValue = array(); - } - - protected function reduceRule395() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + protected function reduceRule390() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule391() { + $this->semValue = null; + } + + protected function reduceRule392() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule393() { + $this->semValue = array(); + } + + protected function reduceRule394() { + $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$this->stackPos-(1-1)], '`'), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes)); + } + + protected function reduceRule395() { + foreach ($this->semStack[$this->stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + protected function reduceRule396() { - $this->semValue = new Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array(); } protected function reduceRule397() { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule398() { + $this->semValue = new Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule399() { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule400() { $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT; $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(3-2)], $attrs); } - protected function reduceRule399() { + protected function reduceRule401() { $attrs = $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG; $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(4-3)], $attrs); } - protected function reduceRule400() { + protected function reduceRule402() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } - protected function reduceRule401() { + protected function reduceRule403() { $attrs = $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$this->stackPos-(1-1)][0] === "'" || ($this->semStack[$this->stackPos-(1-1)][1] === "'" && ($this->semStack[$this->stackPos-(1-1)][0] === 'b' || $this->semStack[$this->stackPos-(1-1)][0] === 'B')) ? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED); $this->semValue = new Scalar\String_(Scalar\String_::parse($this->semStack[$this->stackPos-(1-1)]), $attrs); } - protected function reduceRule402() { + protected function reduceRule404() { $this->semValue = Scalar\LNumber::fromString($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule403() { + protected function reduceRule405() { $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule404() { + protected function reduceRule406() { $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule405() { + protected function reduceRule407() { $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule406() { + protected function reduceRule408() { $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule407() { + protected function reduceRule409() { $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule408() { + protected function reduceRule410() { $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule409() { + protected function reduceRule411() { $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule410() { + protected function reduceRule412() { $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule411() { + protected function reduceRule413() { $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule412() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule413() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - protected function reduceRule414() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule415() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule416() { $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$this->stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$this->stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];; $this->semValue = new Scalar\String_(Scalar\String_::parseDocString($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)]), $attrs); } - protected function reduceRule415() { + protected function reduceRule417() { $attrs = $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$this->stackPos-(2-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$this->stackPos-(2-1)], $matches); $attrs['docLabel'] = $matches[1];; $this->semValue = new Scalar\String_('', $attrs); } - protected function reduceRule416() { + protected function reduceRule418() { $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; foreach ($this->semStack[$this->stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$this->stackPos-(3-2)], $attrs); } - protected function reduceRule417() { + protected function reduceRule419() { $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$this->stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$this->stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];; foreach ($this->semStack[$this->stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, null, true); } } $s->value = preg_replace('~(\r\n|\n|\r)\z~', '', $s->value); if ('' === $s->value) array_pop($this->semStack[$this->stackPos-(3-2)]);; $this->semValue = new Scalar\Encapsed($this->semStack[$this->stackPos-(3-2)], $attrs); } - protected function reduceRule418() { + protected function reduceRule420() { $this->semValue = null; } - protected function reduceRule419() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule420() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - protected function reduceRule421() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule422() { @@ -2498,11 +2499,11 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule423() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule424() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule425() { @@ -2510,15 +2511,15 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule426() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule427() { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule428() { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule429() { @@ -2526,11 +2527,11 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule430() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule431() { - $this->semValue = new Expr\MethodCall($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule432() { @@ -2538,198 +2539,206 @@ class Php7 extends \PhpParser\ParserAbstract } protected function reduceRule433() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Expr\MethodCall($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule434() { - $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule435() { - $this->semValue = substr($this->semStack[$this->stackPos-(1-1)], 1); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule436() { - $this->semValue = $this->semStack[$this->stackPos-(4-3)]; - } - - protected function reduceRule437() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule438() { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule439() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule440() { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule441() { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule442() { $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } - protected function reduceRule443() { + protected function reduceRule437() { + $this->semValue = substr($this->semStack[$this->stackPos-(1-1)], 1); + } + + protected function reduceRule438() { + $this->semValue = $this->semStack[$this->stackPos-(4-3)]; + } + + protected function reduceRule439() { + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule440() { $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } + protected function reduceRule441() { + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule442() { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule443() { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + protected function reduceRule444() { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule445() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule446() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule447() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule448() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule449() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule450() { $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } - protected function reduceRule451() { - $this->semValue = new Expr\List_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule452() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule453() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule454() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule455() { + protected function reduceRule450() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } - protected function reduceRule456() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule457() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule458() { - $this->semValue = null; - } - - protected function reduceRule459() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end] === null) unset($this->semValue[$end]); - } - - protected function reduceRule460() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule461() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule462() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule463() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule464() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-1)], true, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule465() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(2-2)], null, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule466() { - $this->semValue = null; - } - - protected function reduceRule467() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule468() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule469() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule470() { - $this->semValue = array($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); - } - - protected function reduceRule471() { - $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule472() { - $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule473() { - $this->semValue = new Expr\ArrayDimFetch(new Expr\Variable(substr($this->semStack[$this->stackPos-(4-1)], 1), $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule474() { - $this->semValue = new Expr\PropertyFetch(new Expr\Variable(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule475() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule476() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule477() { - $this->semValue = new Expr\ArrayDimFetch(new Expr\Variable($this->semStack[$this->stackPos-(6-2)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(6-4)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); - } - - protected function reduceRule478() { + protected function reduceRule451() { $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } + protected function reduceRule452() { + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule453() { + $this->semValue = new Expr\List_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule454() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule455() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule456() { + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule457() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule458() { + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule459() { + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule460() { + $this->semValue = null; + } + + protected function reduceRule461() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end] === null) unset($this->semValue[$end]); + } + + protected function reduceRule462() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule463() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule464() { + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule465() { + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule466() { + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-1)], true, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule467() { + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(2-2)], null, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule468() { + $this->semValue = null; + } + + protected function reduceRule469() { + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule470() { + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule471() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule472() { + $this->semValue = array($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); + } + + protected function reduceRule473() { + $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule474() { + $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule475() { + $this->semValue = new Expr\ArrayDimFetch(new Expr\Variable(substr($this->semStack[$this->stackPos-(4-1)], 1), $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule476() { + $this->semValue = new Expr\PropertyFetch(new Expr\Variable(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule477() { + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule478() { + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + protected function reduceRule479() { - $this->semValue = new Scalar\String_($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch(new Expr\Variable($this->semStack[$this->stackPos-(6-2)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(6-4)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); } protected function reduceRule480() { - $this->semValue = new Scalar\String_($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule481() { + $this->semValue = new Scalar\String_($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule482() { + $this->semValue = new Scalar\String_($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule483() { $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } } diff --git a/lib/PhpParser/PrettyPrinter/Standard.php b/lib/PhpParser/PrettyPrinter/Standard.php index 8c117419..f7885458 100644 --- a/lib/PhpParser/PrettyPrinter/Standard.php +++ b/lib/PhpParser/PrettyPrinter/Standard.php @@ -735,7 +735,7 @@ class Standard extends PrettyPrinterAbstract } public function pStmt_Catch(Stmt\Catch_ $node) { - return ' catch (' . $this->p($node->type) . ' $' . $node->var . ') {' + return ' catch (' . $this->pImplode($node->types, '|') . ' $' . $node->var . ') {' . $this->pStmts($node->stmts) . "\n" . '}'; } diff --git a/test/code/parser/stmt/multiCatch.test b/test/code/parser/stmt/multiCatch.test new file mode 100644 index 00000000..5a9b9d8d --- /dev/null +++ b/test/code/parser/stmt/multiCatch.test @@ -0,0 +1,65 @@ +Try/catch with multiple classes +----- +