Add support for expressions in empty (PHP 5.5)

Apart from the grammar modifications this also renames the Empty subnode
from var to expr. This breaks BC.
This commit is contained in:
nikic 2012-09-07 23:31:36 +02:00
parent f6c1ab6657
commit af5d288fb3
6 changed files with 344 additions and 292 deletions

View File

@ -1,11 +1,15 @@
Version 0.9.3-dev
-----------------
* [BC] As `list()` in `foreach` is not supported the structure of list assignments changed:
* [BC] As `list()` in `foreach` is now supported the structure of list assignments changed:
1. There is no longer a dedicated `AssignList` node; instead a normal `Assign` node is used with a `List` as `var`.
2. Nested lists are now `List` nodes too, instead of just arrays.
* [BC] As arbitrary expressions are allowed in `empty()` now its subnode was renamed from `var` to `expr`.
* [PHP 5.5] Add support for arbitrary expressions in `empty()`.
* [PHP 5.5] Add support for constant array / string dereferencing.
Examples: `"foo"[2]`, `[1, 2, 3][2]`

View File

@ -566,7 +566,7 @@ expr:
| expr '?' expr ':' expr { $$ = Expr_Ternary[$1, $3, $5]; }
| expr '?' ':' expr { $$ = Expr_Ternary[$1, null, $4]; }
| T_ISSET '(' variables_list ')' { $$ = Expr_Isset[$3]; }
| T_EMPTY '(' variable ')' { $$ = Expr_Empty[$3]; }
| T_EMPTY '(' expr ')' { $$ = Expr_Empty[$3]; }
| T_INCLUDE expr { $$ = Expr_Include[$2, Expr_Include::TYPE_INCLUDE]; }
| T_INCLUDE_ONCE expr { $$ = Expr_Include[$2, Expr_Include::TYPE_INCLUDE_ONCE]; }
| T_EVAL parentheses_expr { $$ = Expr_Eval[$2]; }

View File

@ -1,20 +1,20 @@
<?php
/**
* @property PHPParser_Node_Expr $var Variable
* @property PHPParser_Node_Expr $expr Expression
*/
class PHPParser_Node_Expr_Empty extends PHPParser_Node_Expr
{
/**
* Constructs an empty() node.
*
* @param PHPParser_Node_Expr $var Variable
* @param PHPParser_Node_Expr $expr Expression
* @param array $attributes Additional attributes
*/
public function __construct(PHPParser_Node_Expr $var, array $attributes = array()) {
public function __construct(PHPParser_Node_Expr $expr, array $attributes = array()) {
parent::__construct(
array(
'var' => $var
'expr' => $expr
),
$attributes
);

View File

@ -17,8 +17,8 @@ class PHPParser_Parser
const TOKEN_MAP_SIZE = 386;
const YYLAST = 1008;
const YY2TBLSTATE = 314;
const YYGLAST = 409;
const YY2TBLSTATE = 315;
const YYGLAST = 443;
const YYNLSTATES = 531;
const YYUNEXPECTED = 32767;
const YYDEFAULT = -32766;
@ -356,107 +356,107 @@ class PHPParser_Parser
);
protected static $yyaction = array(
59, 60, 323, 61, 62,-32766,-32766,-32766, 35, 63,
64,-32767,-32767,-32767,-32767, 97, 98, 99, 100, 101,
57, 461,-32766, 296,-32766,-32766, 41, 105, 106, 107,
108, 109, 110, 111, 112, 113, 114, 115, 266, 344,
65, 66, 925, 494, 927, 926, 67, 535, 68, 218,
219, 69, 70, 71, 72, 73, 74, 75, 76, 31,
231, 77, 316, 324, 730, 732, 247, 836, 837, 360,
349, 893, 338, 578, 506, 361, 46, 27, 325, 848,
362, 244, 363, 453, 364, 39, 222, 326,-32766,-32766,
-32766, 36, 37, 365, 331, 285, 38, 366, 327, 422,
78, 122, 121, 277, 278,-32766, 279,-32766, 213, 367,
368, 369, 370, 371, 387, 341, 680, 328, 560, 602,
372, 373, 374, 375, 848, 842, 843, 844, 845, 839,
840, 238, 81, 82, 83, -348, 387, 846, 841, 328,
584, 504, 358, 47, 226, 258, 242, 658, 246, 40,
322, 84, 85, 86, 87, 88, 89, 90, 91, 92,
93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
103, 104, 788, 232, 576,-32766,-32766,-32766, 701, 702,
59, 60, 324, 61, 62,-32766,-32766,-32766, 215, 63,
64,-32767,-32767,-32767,-32767, 98, 99, 100, 101, 102,
57, 915,-32766, 297,-32766,-32766, 41, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 267, 345,
65, 66, 925, 494, 927, 926, 67, 535, 68, 220,
221, 69, 70, 71, 72, 73, 74, 75, 76, 31,
232, 77, 317, 325, 730, 732, 461, 836, 837, 361,
323, 893, 339, 578, 506, 362, 46, 27, 326, 859,
363, 245, 364, 453, 365, 39, 223, 327,-32766,-32766,
-32766, 36, 37, 366, 332, 286, 38, 367, 328, 422,
78, 238, 122, 278, 279,-32766, 359,-32766, 35, 368,
369, 370, 371, 372, 388, 342, 680, 329, 560, 602,
373, 374, 375, 376, 848, 842, 843, 844, 845, 839,
840, 239, 82, 83, 84, -348, 388, 846, 841, 329,
584, 504, 280, 47, 227, 259, 243, 900, 247, 40,
350, 85, 86, 87, 88, 89, 90, 91, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 788, 233, 576,-32766,-32766,-32766, 701, 702,
703, 700, 699, 698, 630, 0,-32766,-32766,-32766, 655,
656, 214,-32766, 34,-32766,-32766,-32766,-32766,-32766,-32767,
-32767,-32767,-32767,-32766, 788, 320, 327, 317, 897, 22,
-117, 256, 127, 276,-32766,-32766,-32766, 367, 368, 666,
693, 185, 893, 220, 225,-32766, 540, 602, 372, 373,
575, 535, 342,-32766, 535,-32766, 893, 374,-32766,-32766,
-32766, 544,-32766, 54,-32766, 320,-32766, 900, 262,-32766,
53, 256, 600,-32766,-32766,-32766, 788,-32766,-32766,-32766,
693, 343,-32766, 535, 348,-32766, 386,-32766, 346, 812,
-32766,-32766,-32766,-32766,-32766, 223,-32766, 675,-32766, 56,
126,-32766, 99, 100, 101,-32766,-32766,-32766, 788, 802,
-32766,-32766, 599, 215,-32766, 922, 258,-32766, 386, 887,
631, 387,-32766,-32766, 328,-32766, 320, 224, 332,-32766,
258, 915, 256, 503, 915, 535, 102, 103, 104,-32766,
232, 693,-32766,-32766,-32766, 118,-32766, 129,-32766, 237,
-32766, 451, 117,-32766,-32766,-32766, 125,-32766,-32766,-32766,
125,-32766,-32766,-32766, 211, 260,-32766, 535, 193,-32766,
386,-32766, 192, 601,-32766,-32766,-32766,-32766,-32766, 187,
-32766, 119,-32766, 788, 597,-32766, 186, -113, 188,-32766,
-32766,-32766, 859, 267,-32766,-32766, 116, 124,-32766,-32766,
-32766,-32766, 386, 528, 685, 858,-32766,-32766, 526,-32766,
327, 317, 355, 468, 509, 788, 507, 276, 351, 28,
588, 367, 368, 516,-32766,-32766,-32766, 130, 286, 232,
540, 602, 372, 373, 477, 478,-32766, 128,-32766,-32766,
519,-32766, 535,-32766,-32766,-32766,-32766, 655, 656,-32766,
-32766,-32766, 262,-32766, 520,-32766, 49,-32766, 542, 51,
-32766, 690, 530, 50,-32766,-32766,-32766, 52,-32766,-32766,
-32766, 541, 511,-32766, 535, 304,-32766, 386,-32766, 679,
525,-32766,-32766,-32766,-32766,-32766, 223,-32766, 58,-32766,
55, 482,-32766, 231, 493, 535,-32766,-32766,-32766, 788,
340,-32766,-32766, 502, 413,-32766, 412, 687,-32766, 386,
851, 549, 551,-32766,-32766, 400,-32766, 337, 339, 536,
-32766, 491, 397, 398, 920, 264, 535, 479, 456, 475,
-32766, 805, 399,-32766,-32766,-32766, -161,-32766, 915,-32766,
265,-32766, 604, 603,-32766,-32766,-32766, 471,-32766,-32766,
-32766, 788,-32766,-32766,-32766, 210, 414,-32766, 535, 228,
-32766, 386,-32766, -158, 444,-32766,-32766,-32766,-32766,-32766,
336,-32766, 473,-32766, 357, 405,-32766, 257, 335, 847,
-32766,-32766,-32766, 788, 191,-32766,-32766, 255, 120,-32766,
254, 786,-32766, 386, 245, 0, 0,-32766,-32766, 259,
-32766, 657, 243, -348,-32766, -349, 374, 42, 0, 480,
656, 222,-32766, 261,-32766,-32766,-32766,-32766,-32766,-32767,
-32767,-32767,-32767,-32766, 788, 321, 328, 318, 347, 802,
-117, 257, 128, 277,-32766,-32766,-32766, 368, 369, 893,
693, 226, 666, 216, 123,-32766, 540, 602, 373, 374,
575, 535, 343,-32766, 535,-32766, 893, 375,-32766,-32766,
-32766, 675,-32766, 56,-32766, 321,-32766, 658, 263,-32766,
54, 257, 600,-32766,-32766,-32766, 788,-32766,-32766,-32766,
693, 34,-32766, 535, 897,-32766, 387,-32766, 349, 812,
-32766,-32766,-32766,-32766,-32766, 224,-32766, 544,-32766, 53,
126,-32766, 100, 101, 102,-32766,-32766,-32766, 788, 22,
-32766,-32766, 601, 259,-32766, 922, 217,-32766, 387, 887,
631, 388,-32766,-32766, 329,-32766, 321, 225, 333,-32766,
259, 915, 257, 503, 248, 535, 103, 104, 105,-32766,
233, 693,-32766,-32766,-32766, 120,-32766, 130,-32766, 344,
-32766, 451, 119,-32766,-32766,-32766, 127,-32766,-32766,-32766,
126,-32766,-32766,-32766, 213, 187,-32766, 535, 190,-32766,
387,-32766, 194, 599,-32766,-32766,-32766,-32766,-32766, 195,
-32766, 118,-32766, 788, 597,-32766, 189, -113, 117,-32766,
-32766,-32766, 848, 268,-32766,-32766, 188, 125,-32766,-32766,
-32766,-32766, 387, 509, 685, 858,-32766,-32766, 516,-32766,
328, 318, 356, 468, 520, 788, 528, 277, 352, 28,
129, 368, 369, 507,-32766,-32766,-32766, 131, 287, 233,
540, 602, 373, 374, 477, 478,-32766, 519,-32766,-32766,
588,-32766, 535,-32766,-32766,-32766,-32766, 655, 656,-32766,
-32766,-32766, 263,-32766, 526,-32766, 55,-32766, 542, 49,
-32766, 679, 525, 58,-32766,-32766,-32766, 50,-32766,-32766,
-32766, 690, 530,-32766, 535, 305,-32766, 387,-32766, 541,
511,-32766,-32766,-32766,-32766,-32766, 224,-32766, 51,-32766,
52, 482,-32766, 232, 805, 535,-32766,-32766,-32766, 788,
341,-32766,-32766, 502, 687,-32766, 491, 851,-32766, 387,
551, 920, 414,-32766,-32766, 338,-32766, 340, 549, 536,
-32766, 398, 399, 401, 413, 265, 535, 400, 471, 493,
-32766, 479, 475,-32766,-32766,-32766, -161,-32766, 266,-32766,
915,-32766, 604, 603,-32766,-32766,-32766, 456,-32766,-32766,
-32766, 788,-32766,-32766,-32766, 415, 444,-32766, 535, 229,
-32766, 387,-32766, -158, 212,-32766,-32766,-32766,-32766,-32766,
337,-32766, 473,-32766, 358, 336,-32766, 258, 406, 847,
-32766,-32766,-32766, 788, 121,-32766,-32766, 256, 193,-32766,
255, 786,-32766, 387, 246, 0, 0,-32766,-32766, 260,
-32766, 657, -348, -349,-32766, 244, 375, 42, 0, 480,
535, 0, 0, 0,-32766, 0, 0,-32766,-32766,-32766,
80,-32766, 462,-32766, 0,-32766, 499, 250,-32766,-32766,
-32766, 249,-32766,-32766,-32766, 788,-32766,-32766,-32766, -290,
-282,-32766, 535, 298,-32766, 386,-32766, -291, 338,-32766,
-32766,-32766,-32766,-32766, 45,-32766, 44,-32766, 571, 512,
-32766, 573, 569, 586,-32766,-32766,-32766, 563, 618,-32766,
-32766, 574, 587,-32766, 565, 579,-32766, 386, 580, 577,
683, 568,-32766, 633,-32766, 624, 625, 614,-32766, 616,
545, 684, 513, 686, 535, 676, 888, 505,-32766, 510,
515,-32766,-32766,-32766, 517,-32766, 522,-32766, 523,-32766,
527, 529,-32766, 570,-32766, 123,-32766,-32766,-32766, 524,
-32766,-32766,-32766, 898, 668,-32766, 535, 827,-32766, 386,
510,-32766, -282,-32766, 0,-32766, -290, -291,-32766, 568,
-32766, 499,-32766,-32766,-32766, 788,-32766,-32766,-32766, 462,
299,-32766, 535, 251,-32766, 387,-32766, 250, 339,-32766,
-32766,-32766,-32766,-32766, 577,-32766, 579,-32766, 684, 686,
-32766, 614, 616, 618,-32766,-32766,-32766, 563, 625,-32766,
-32766, 624, 633,-32766, 580, 565,-32766, 387, 587, 574,
513, 570,-32766, 512,-32766, 45, 44, 569,-32766, 571,
573, 586, 545, 683, 535, 676, 888, 515,-32766, 517,
522,-32766,-32766,-32766, 81,-32766, 124,-32766, 523,-32766,
524, 527,-32766,-32766,-32766, 505,-32766,-32766,-32766, 529,
-32766,-32766,-32766, 898, 668,-32766, 535, 827,-32766, 387,
-32766, 890, 878,-32766,-32766,-32766,-32766,-32766, 892,-32766,
924,-32766, 623, 923,-32766, 189, 190, 622,-32766,-32766,
-32766, 894, 354,-32766,-32766, 921, 854,-32766, 79,-32766,
-32766, 386, 234, 233, 183, 572,-32766, 221,-32766, 235,
217, 216, 836, 837, 212,-32766,-32766, 236, 315, 184,
838, 535, 261, 48, 43,-32766, 33, 32,-32766,-32766,
-32766, 30,-32766, 319,-32766, 795,-32766,-32766,-32766,-32766,
768, 829, 792,-32766,-32766,-32766, 498, 472,-32766,-32766,
436, 356,-32766, 352, 305,-32766, 386, 287, 25, 24,
23, -113, -114,-32766, 791, 767, 659, 445, 441, 0,
842, 843, 844, 845, 839, 840, 307, 872, 855, 919,
826, 889, 846, 841, 327, 317, 873, 877,-32766, 327,
-32766, 276,-32766,-32766, 891, 367, 368,-32766,-32766,-32766,
367, 368, 811, 799, 540, 602, 372, 373, 797, 560,
602, 372, 373, 327,-32766, 798,-32766,-32766,-32766,-32766,
-32766, 796, 0, 0, 367, 368, 262, 327, 0, 0,
0, 327, 543, 560, 602, 372, 373, 514, 367, 368,
0, 0, 367, 368, 327, 0, 0, 560, 602, 372,
373, 560, 602, 372, 373, 367, 368, 0, 0, 0,
327, 561, 0, 0, 560, 602, 372, 373, 0, 0,
0, 367, 368, 327, 0, 691, 0, 327, 501, 591,
560, 602, 372, 373, 367, 368, 0, 0, 367, 368,
0, 327, 790, 560, 602, 372, 373, 560, 602, 372,
373, 0, 367, 368, 492, 0, 0, 0, 593, 0,
486, 560, 602, 372, 373, 327, 0, 0, 0, 327,
0, 789, 0, 0, 0, 598, 367, 368, 0, 0,
367, 368,-32766,-32766,-32766, 560, 602, 372, 373, 560,
602, 372, 373, 0, 327, 0, 0, 0, 0,-32766,
0,-32766,-32766,-32766,-32766, 367, 368, 0, 0, 0,
0, 0, 0, 0, 560, 602, 372, 373
894,-32766, 921, 355,-32766, 191, 192, 623,-32766,-32766,
-32766, 924, 622,-32766,-32766, 923, 791,-32766, 234, 32,
-32766, 387, 33, 320, 185, 572,-32766, 316,-32766, 43,
262, 237, 836, 837, 236,-32766,-32766, 48,-32766, 235,
838, 535, 30, 219, 218,-32766, 214, 186,-32766,-32766,
-32766, 80,-32766, 79,-32766, 768,-32766,-32766,-32766,-32766,
767, 829, 445,-32766,-32766,-32766, -114, 854,-32766,-32766,
659, 795,-32766, 792, 498,-32766, 387, 472, 436, 357,
353, 306, 288,-32766, 25, 24, 23, -113, 441, 0,
842, 843, 844, 845, 839, 840, 308, 872, 855, 919,
826, 889, 846, 841, 328, 318, 873, 877,-32766, 328,
-32766, 277,-32766,-32766, 891, 368, 369,-32766,-32766,-32766,
368, 369, 811, 799, 540, 602, 373, 374, 797, 560,
602, 373, 374, 328,-32766, 798,-32766,-32766,-32766,-32766,
-32766, 796, 0, 0, 368, 369, 263, 328, 0, 0,
0, 328, 543, 560, 602, 373, 374, 790, 368, 369,
0, 0, 368, 369, 328, 0, 0, 560, 602, 373,
374, 560, 602, 373, 374, 368, 369, 0, 0, 0,
328, 591, 0, 0, 560, 602, 373, 374, 0, 0,
0, 368, 369, 328, 0, 514, 0, 328, 501, 561,
560, 602, 373, 374, 368, 369, 0, 0, 368, 369,
0, 328, 598, 560, 602, 373, 374, 560, 602, 373,
374, 0, 368, 369, 492, 0, 0, 0, 593, 0,
486, 560, 602, 373, 374, 328, 0, 0, 0, 328,
0, 789, 0, 0, 0, 691, 368, 369, 0, 0,
368, 369,-32766,-32766,-32766, 560, 602, 373, 374, 560,
602, 373, 374, 0, 328, 0, 0, 0, 0,-32766,
0,-32766,-32766,-32766,-32766, 368, 369, 0, 0, 0,
0, 0, 0, 0, 560, 602, 373, 374
);
protected static $yycheck = array(
@ -564,57 +564,57 @@ class PHPParser_Parser
);
protected static $yybase = array(
0, 728, 294, 110, 757, 733, 2, 863, 859, 821,
817, 804, 788, 835, 775, 771, 888, 888, 888, 888,
888, 368, 377, 408, 357, 408, 370, -2, -2, -2,
435, 192, 192, 635, 192, 244, 519, 551, 603, 383,
351, 160, 276, 467, 467, 467, 467, 690, 690, 467,
467, 467, 467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467, 467, 467,
467, 158, 513, 445, 464, 500, 496, 499, 501, 658,
447, 591, 587, 391, 574, 568, 567, 563, 560, 588,
559, 440, 532, 124, 124, 124, 124, 124, 124, 124,
124, 124, 124, 225, 371, 206, 206, 206, 206, 206,
0, 728, 294, 110, 775, 771, 2, 863, 859, 788,
817, 804, 733, 835, 757, 821, 888, 888, 888, 888,
888, 357, 362, 368, 370, 368, 377, -2, -2, -2,
435, 160, 160, 635, 160, 244, 467, 519, 603, 383,
351, 192, 276, 551, 551, 551, 551, 690, 690, 551,
551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
551, 551, 158, 494, 441, 464, 525, 527, 528, 529,
590, 456, 629, 578, 576, 374, 574, 568, 567, 563,
560, 579, 559, 440, 532, 124, 124, 124, 124, 124,
124, 124, 124, 124, 124, 225, 371, 206, 206, 206,
206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
178, 178, 80, 683, 683, 683, 683, 683, 683, 683,
683, 683, 683, 683, -3, 396, 964, 829, 167, 167,
167, 167, 13, -25, -25, -25, -25, 209, 108, 148,
113, 113, 462, 462, 411, 552, 163, 163, 163, 163,
163, 163, 163, 163, 163, 163, 163, 443, 412, 240,
240, 594, 594, 64, 64, 64, 64, 302, -10, 238,
235, -28, 429, 137, 137, 137, 444, 425, 442, 197,
193, 271, 271, 271, -24, -24, -24, -24, 457, -24,
-24, -24, -69, 182, -50, -50, -29, 184, 418, 583,
437, 578, 317, 490, -41, 309, 417, 146, 454, 417,
332, 326, 314, 483, 89, 146, 158, 299, 218, 517,
413, 528, 448, 99, 88, 32, -23, 189, 226, 63,
456, 661, 659, 101, 151, 463, 1, -55, 189, 221,
533, 135, 143, 518, 242, 333, 621, 432, 626, 415,
432, 434, 333, 618, 618, 618, 618, 333, 404, 626,
626, 333, 411, 626, 186, 404, 333, 450, 404, 459,
618, 497, 530, 432, 439, 446, 626, 626, 626, 415,
333, 618, 449, 214, 626, 618, 449, 333, 434, 185,
374, 375, 619, 593, 628, 431, 534, 406, 405, 606,
605, 602, 424, 426, 609, 622, 414, 509, 427, 363,
382, 378, 386, 474, 409, 460, 454, 487, 360, 461,
470, 461, 712, 486, 482, 452, 400, 510, 353, 346,
536, 414, 636, 648, 423, 428, 598, 644, 461, 706,
494, 94, 355, 597, 420, 461, 604, 461, 634, 537,
461, 629, 433, 576, 414, 360, 360, 360, 660, 699,
694, 693, 685, 678, 677, 672, 407, 671, 512, 647,
322, 614, 483, 465, 421, 516, 338, 670, 461, 461,
541, 457, 461, 521, 492, 654, 523, 641, 436, 441,
669, 425, 419, 645, 461, 458, 668, 338, 394, 403,
656, 524, 543, 613, 545, 339, 590, 617, 556, 335,
579, 362, 505, 653, 652, 655, 506, 547, 430, 438,
401, 612, 527, 640, 455, 469, 453, 451, 548, 416,
651, 525, 531, 529, 0, 0, 0, 0, 0, 0,
206, 206, 178, 178, 80, 683, 683, 683, 683, 683,
683, 683, 683, 683, 683, 683, -3, 396, 964, 829,
167, 167, 167, 167, 13, -25, -25, -25, -25, 148,
108, 209, 113, 113, 462, 462, 411, 543, 163, 163,
163, 163, 163, 163, 163, 163, 163, 163, 443, 412,
240, 240, 613, 613, 64, 64, 64, 64, 302, 238,
-55, 235, -28, 429, 193, 193, 193, 442, 425, 444,
137, 197, 271, 271, 271, -24, -24, -24, -24, 541,
-24, -24, -24, -69, 189, -50, -50, -29, 184, 437,
588, 418, 583, 299, 470, -41, 317, 414, 149, 454,
414, 332, 326, 314, 465, 89, 149, 158, 309, 182,
492, 421, 530, 447, 135, 88, 32, -23, 218, 226,
143, 448, 636, 634, 1, 151, 461, 101, -10, 218,
221, 533, 99, 63, 531, 242, 333, 597, 431, 617,
433, 431, 438, 333, 612, 612, 612, 612, 333, 404,
617, 617, 333, 411, 617, 254, 404, 333, 450, 404,
459, 612, 521, 518, 431, 434, 446, 617, 617, 617,
433, 333, 612, 449, 338, 617, 612, 449, 333, 438,
185, 394, 378, 604, 628, 598, 430, 552, 406, 405,
619, 618, 626, 432, 424, 621, 594, 417, 517, 426,
355, 386, 407, 409, 490, 375, 463, 454, 487, 360,
460, 486, 460, 712, 483, 469, 452, 400, 516, 363,
353, 457, 417, 647, 655, 423, 428, 593, 652, 460,
706, 524, 217, 335, 614, 427, 460, 609, 460, 534,
460, 645, 420, 587, 417, 360, 360, 360, 644, 699,
694, 693, 685, 678, 677, 672, 382, 671, 513, 654,
94, 622, 465, 482, 419, 512, 186, 670, 460, 460,
536, 541, 460, 510, 523, 660, 509, 651, 439, 445,
669, 425, 416, 653, 460, 458, 668, 186, 391, 403,
640, 506, 537, 602, 545, 339, 641, 605, 547, 346,
591, 408, 505, 659, 658, 661, 501, 548, 415, 401,
436, 606, 500, 648, 455, 474, 453, 451, 556, 413,
656, 499, 497, 496, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -2, -2, -2, -2, -2, -2, -2, -2,
@ -630,25 +630,25 @@ class PHPParser_Parser
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, 124, 124, 124, 124, 124, 124, 124, 124,
-2, -2, -2, 124, 124, 124, 124, 124, 124, 124,
124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
124, 124, 124, 124, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 124, 124, 124, 124, 124, 124,
124, 124, 124, 124, 124, 124, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 124, 124, 124, 124,
124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
124, 124, 124, 124, 163, 163, 163, 163, 163, 163,
163, 163, 163, 163, 163, 124, 124, 124, 124, 124,
124, 124, 124, 0, 271, 271, 271, 271, 72, 72,
72, 163, 163, 163, 163, 163, 163, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 72, 72,
271, 271, 163, 163, -24, -24, -24, -24, -24, -50,
-50, -50, -24, -50, 149, 149, 149, -50, -50, -50,
226, 226, 0, 0, 0, 0, 0, 0, 0, 149,
0, 0, 0, 404, 626, 0, 0, 0, 149, 316,
316, 316, 316, 338, 189, 0, 414, 404, 0, 439,
404, 0, 0, 0, 626, 0, 0, 0, 0, 0,
94, 598, 254, 414, 0, 0, 0, 0, 0, 0,
0, 414, 217, 217, 0, 0, 407, 0, 0, 0,
0, 254, 0, 0, 338
124, 124, 124, 124, 124, 124, 163, 163, 163, 163,
163, 163, 163, 163, 163, 163, 163, 124, 124, 124,
124, 124, 124, 124, 124, 0, 271, 271, 271, 271,
72, 72, 72, 163, 163, 163, 163, 163, 163, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 72,
72, 271, 271, 163, 163, -24, -24, -24, -24, -24,
-50, -50, -50, -24, -50, 146, 146, 146, -50, -50,
-50, 226, 226, 0, 0, 0, 0, 0, 0, 0,
146, 0, 0, 0, 404, 617, 0, 0, 0, 146,
316, 316, 316, 316, 186, 218, 0, 417, 404, 0,
434, 404, 0, 0, 0, 617, 0, 0, 0, 0,
0, 217, 593, 322, 417, 0, 0, 0, 0, 0,
0, 0, 417, 214, 214, 0, 0, 382, 0, 0,
0, 0, 322, 0, 0, 186
);
protected static $yydefault = array(
@ -665,35 +665,35 @@ class PHPParser_Parser
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767, 262, 380,32767,32767,32767,32767,32767,
32767,32767,32767,32767, 262, 380,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767, 238, 239, 241, 242, 178, 365, 131,
263, 379, 177, 205, 207, 256, 206, 183, 188, 189,
190, 191, 192, 193, 194, 195, 196, 197, 198, 182,
235, 234, 203, 329, 329, 332,32767,32767,32767,32767,
32767,32767,32767,32767, 204, 208, 210, 209, 225, 226,
223, 224, 181, 227, 228, 229, 230, 163, 163, 163,
32767,32767, 374, 374,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767, 164,32767, 217,
218, 292, 292, 122, 122, 122, 122, 122,32767,32767,
32767,32767, 300,32767,32767,32767,32767,32767, 302,32767,
32767, 212, 213, 211,32767,32767,32767,32767,32767,32767,
32767,32767,32767, 337, 301,32767,32767,32767,32767,32767,
32767,32767,32767, 350, 288,32767,32767,32767, 281,32767,
109, 111, 61, 318,32767,32767,32767,32767, 355,32767,
32767,32767, 17,32767,32767,32767, 387, 350,32767,32767,
19,32767,32767,32767,32767, 233,32767,32767, 354, 348,
32767,32767,32767,32767,32767, 65, 297,32767, 303,32767,
32767,32767, 65,32767,32767,32767,32767, 65,32767, 353,
352, 65,32767, 282, 331,32767, 65, 76,32767, 74,
32767, 95, 95,32767,32767, 78, 326, 343,32767,32767,
65,32767, 270, 331,32767,32767, 270, 65,32767,32767,
4, 307,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767, 283,32767,32767,32767,
253, 254, 339,32767, 340,32767, 281,32767, 221, 200,
32767, 202,32767,32767, 286, 289,32767,32767,32767, 140,
32767, 284,32767, 186,32767,32767,32767,32767, 382,32767,
32767, 180,32767,32767,32767, 136,32767, 63, 348,32767,
32767,32767,32767,32767,32767, 238, 239, 241, 242, 178,
365, 131, 263, 379, 177, 205, 207, 256, 206, 183,
188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
198, 182, 235, 234, 203, 329, 329, 332,32767,32767,
32767,32767,32767,32767,32767,32767, 204, 208, 210, 209,
225, 226, 223, 224, 181, 227, 228, 229, 230, 163,
163, 163,32767,32767, 374, 374,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767, 164,32767,
217, 218, 292, 292, 122, 122, 122, 122, 122,32767,
32767,32767,32767, 300,32767,32767,32767,32767,32767, 302,
32767,32767, 212, 213, 211,32767,32767,32767,32767,32767,
32767,32767,32767,32767, 337, 301,32767,32767,32767,32767,
32767,32767,32767,32767, 350, 288,32767,32767,32767, 281,
32767, 109, 111, 61, 318,32767,32767,32767,32767, 355,
32767,32767,32767, 17,32767,32767,32767, 387, 350,32767,
32767, 19,32767,32767,32767,32767, 233,32767,32767, 354,
348,32767,32767,32767,32767,32767, 65, 297,32767, 303,
32767,32767,32767, 65,32767,32767,32767,32767, 65,32767,
353, 352, 65,32767, 282, 331,32767, 65, 76,32767,
74,32767, 95, 95,32767,32767, 78, 326, 343,32767,
32767, 65,32767, 270, 331,32767,32767, 270, 65,32767,
32767, 4, 307,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767, 283,32767,32767,
32767, 253, 254, 339,32767, 340,32767, 281,32767, 221,
200,32767, 202,32767,32767, 286, 289,32767,32767,32767,
140,32767, 284,32767, 186,32767,32767,32767,32767, 382,
32767,32767, 180,32767,32767,32767, 136,32767, 63,32767,
372,32767,32767, 348, 285, 214, 215, 216,32767,32767,
32767,32767,32767,32767,32767,32767, 349,32767,32767,32767,
116,32767, 318,32767,32767,32767, 77,32767, 184, 132,
@ -709,47 +709,51 @@ class PHPParser_Parser
);
protected static $yygoto = array(
159, 134, 134, 139, 134, 159, 135, 136, 137, 141,
143, 167, 161, 157, 157, 157, 157, 139, 139, 158,
158, 158, 158, 158, 158, 158, 158, 158, 158, 153,
154, 155, 156, 165, 133, 750, 751, 388, 753, 774,
775, 776, 777, 778, 779, 780, 782, 718, 138, 140,
142, 163, 164, 166, 182, 194, 195, 196, 197, 198,
199, 200, 201, 203, 204, 205, 206, 229, 230, 251,
252, 253, 425, 426, 427, 168, 169, 170, 171, 172,
173, 174, 175, 176, 177, 178, 179, 144, 145, 146,
160, 147, 162, 148, 180, 149, 150, 151, 181, 152,
131, 442, 442, 442, 442, 442, 442, 442, 442, 442,
442, 442, 443, 443, 443, 443, 443, 443, 443, 443,
443, 443, 443, 403, 646, 646, 904, 904, 333, 333,
333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
333, 333, 333, 333, 333, 538, 538, 538, 582, 813,
813, 654, 654, 654, 654, 654, 297, 297, 297, 495,
394, 394, 429, 430, 431, 432, 433, 434, 435, 437,
466, 297, 611, 611, 611, 611, 908, 606, 612, 490,
308, 390, 390, 390, 390, 390, 390, 390, 390, 390,
390, 390, 390, 390, 390, 390, 390, 390, 269, 539,
539, 539, 393, 393, 309, 485, 420, 420, 448, 415,
417, 417, 389, 391, 408, 418, 423, 449, 452, 464,
470, 5, 876, 16, 421, 6, 1, 537, 537, 537,
661, 2, 7, 289, 17, 18, 8, 19, 9, 10,
11, 476, 20, 12, 13, 14, 15, 632, 617, 615,
613, 615, 508, 396, 641, 636, 850, 850, 850, 850,
850, 850, 850, 850, 850, 850, 850, 914, 914, 208,
275, 209, 864, 830, 248, 917, 914, 835, 240, 484,
771, 26, 21, 284, 292, 454, 483, 292, 809, 810,
716, 901, 917, 917, 457, 463, 500, 438, 467, 272,
313, 697, 314, 884, 884, 807, 875, 807, 29, 302,
883, 883, 481, 808, 554, 672, 621, 852, 853, 866,
652, 707, 899, 899, 899, 290, 650, 428, 762, 406,
402, 395, 395, 546, 416, 664, 401, 882, 825, 824,
310, 518, 552, 300, 402, 402, 424, 804, 458, 669,
620, 487, 0, 0, 705, 488, 861, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 270, 271,
161, 135, 135, 140, 135, 161, 136, 137, 138, 143,
145, 169, 163, 159, 159, 159, 159, 140, 140, 160,
160, 160, 160, 160, 160, 160, 160, 160, 160, 155,
156, 157, 158, 167, 134, 750, 751, 389, 753, 774,
775, 776, 777, 778, 779, 780, 782, 718, 139, 141,
142, 144, 165, 166, 168, 184, 196, 197, 198, 199,
200, 201, 202, 203, 205, 206, 207, 208, 230, 231,
252, 253, 254, 425, 426, 427, 170, 171, 172, 173,
174, 175, 176, 177, 178, 179, 180, 181, 146, 147,
148, 162, 149, 164, 150, 182, 151, 152, 153, 183,
154, 132, 442, 442, 442, 442, 442, 442, 442, 442,
442, 442, 442, 310, 485, 420, 420, 448, 416, 418,
418, 390, 392, 409, 423, 449, 452, 464, 470, 334,
334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
334, 334, 334, 334, 334, 646, 646, 904, 904, 813,
813, 654, 654, 654, 654, 654, 404, 454, 483, 495,
443, 443, 443, 443, 443, 443, 443, 443, 443, 443,
443, 270, 611, 611, 611, 611, 582, 606, 612, 490,
391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
391, 391, 391, 391, 391, 391, 538, 538, 538, 421,
394, 394, 5, 876, 16, 908, 6, 395, 395, 537,
537, 537, 661, 7, 290, 17, 18, 8, 19, 9,
10, 11, 476, 20, 12, 13, 14, 15, 864, 632,
617, 615, 613, 615, 508, 397, 641, 636, 850, 850,
850, 850, 850, 850, 850, 850, 850, 850, 850, 429,
430, 431, 432, 433, 434, 435, 437, 466, 835, 539,
539, 539, 291, 1, 484, 830, 407, 901, 2, 809,
810, 417, 771, 26, 21, 285, 554, 672, 621, 852,
853, 866, 652, 707, 276, 458, 807, 875, 807, 438,
884, 884, 488, 249, 808, 883, 883, 241, 293, 762,
29, 293, 914, 914, 481, 697, 315, 899, 899, 899,
917, 914, 396, 396, 298, 298, 298, 428, 303, 210,
403, 211, 882, 825, 824, 716, 546, 917, 917, 298,
457, 463, 500, 664, 403, 403, 650, 311, 309, 552,
271, 272, 467, 273, 314, 804, 518, 669, 620, 487,
402, 861, 705, 0, 0, 0, 0, 301, 0, 0,
424, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 407
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 408
);
protected static $yygcheck = array(
@ -763,67 +767,71 @@ class PHPParser_Parser
24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
24, 38, 38, 38, 38, 38, 38, 38, 38, 38,
38, 38, 92, 92, 92, 92, 92, 92, 92, 92,
92, 92, 92, 75, 53, 53, 53, 53, 38, 38,
24, 24, 38, 38, 38, 38, 38, 38, 38, 38,
38, 38, 38, 32, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 32, 32, 32, 32, 32, 38,
38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
38, 38, 38, 38, 38, 6, 6, 6, 31, 38,
38, 38, 38, 38, 38, 38, 96, 96, 96, 38,
92, 92, 84, 84, 84, 84, 84, 84, 84, 84,
84, 96, 38, 38, 38, 38, 111, 38, 38, 38,
96, 89, 89, 89, 89, 89, 89, 89, 89, 89,
89, 89, 89, 89, 89, 89, 89, 89, 48, 7,
7, 7, 89, 89, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
32, 13, 57, 13, 83, 13, 2, 5, 5, 5,
59, 2, 13, 28, 13, 13, 13, 13, 13, 13,
13, 100, 13, 13, 13, 13, 13, 5, 5, 5,
5, 5, 5, 5, 5, 5, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 112, 112, 44,
4, 44, 103, 15, 98, 112, 112, 57, 98, 30,
15, 15, 15, 15, 4, 21, 21, 4, 57, 57,
75, 109, 112, 112, 40, 40, 40, 15, 46, 46,
46, 72, 72, 90, 90, 57, 57, 57, 15, 29,
91, 91, 15, 57, 12, 12, 12, 12, 12, 12,
12, 12, 91, 91, 91, 39, 55, 25, 76, 39,
25, 95, 95, 10, 39, 60, 4, 91, 97, 97,
9, 50, 11, 4, 25, 25, 4, 87, 39, 61,
47, 82, -1, -1, 74, 39, 102, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 48, 48,
38, 38, 38, 38, 38, 53, 53, 53, 53, 38,
38, 38, 38, 38, 38, 38, 75, 21, 21, 38,
92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
92, 48, 38, 38, 38, 38, 31, 38, 38, 38,
89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
89, 89, 89, 89, 89, 89, 6, 6, 6, 83,
89, 89, 13, 57, 13, 111, 13, 92, 92, 5,
5, 5, 59, 13, 28, 13, 13, 13, 13, 13,
13, 13, 100, 13, 13, 13, 13, 13, 103, 5,
5, 5, 5, 5, 5, 5, 5, 5, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99, 99, 84,
84, 84, 84, 84, 84, 84, 84, 84, 57, 7,
7, 7, 39, 2, 30, 15, 39, 109, 2, 57,
57, 39, 15, 15, 15, 15, 12, 12, 12, 12,
12, 12, 12, 12, 4, 39, 57, 57, 57, 15,
90, 90, 39, 98, 57, 91, 91, 98, 4, 76,
15, 4, 112, 112, 15, 72, 72, 91, 91, 91,
112, 112, 95, 95, 96, 96, 96, 25, 29, 44,
25, 44, 91, 97, 97, 75, 10, 112, 112, 96,
40, 40, 40, 60, 25, 25, 55, 9, 96, 11,
48, 48, 46, 46, 46, 87, 50, 61, 47, 82,
4, 102, 74, -1, -1, -1, -1, 4, -1, -1,
4, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 75
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 75
);
protected static $yygbase = array(
0, 0, -280, 0, 8, 226, 144, 198, 0, 20,
54, -1, 128, -284, 0, -43, 0, 0, 0, 0,
0, 241, 0, 0, -30, 297, 0, 0, 187, 92,
68, 123, -6, 0, 0, 0, 0, 0, -82, -2,
60, 0, 0, 0, -246, 0, 43, 1, -144, 0,
55, 0, 0, -86, 0, 89, 0, -41, 0, 195,
50, 5, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 74, 0, -4, 76, 96, 0, 0, 0,
0, 0, -5, 192, 112, 0, 0, 25, 0, -29,
72, 79, -71, 0, 0, 100, -87, 94, 32, 73,
57, 0, 3, 87, 0, 0, 0, 0, 0, 78,
0, 142, 28, 0
0, 0, -243, 0, 21, 208, 195, 258, 0, 16,
46, -5, 88, -303, 0, -52, 0, 0, 0, 0,
0, 113, 0, 0, -30, 287, 0, 0, 168, 99,
51, 151, -99, 0, 0, 0, 0, 0, -83, -66,
95, 0, 0, 0, -196, 0, 86, -2, -172, 0,
59, 0, 0, -67, 0, 98, 0, -61, 0, 177,
47, 2, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 77, 0, -7, 109, 66, 0, 0, 0,
0, 0, -8, 167, 199, 0, 0, 22, 0, -32,
58, 63, -25, 0, 0, 80, 70, 78, 50, 53,
36, 0, -3, 41, 0, 0, 0, 0, 0, 52,
0, 171, 62, 0
);
protected static $yygdefault = array(
-32768, 359, 3, 533, 376, 557, 558, 559, 293, 291,
547, 553, 459, 4, 555, 763, 280, 562, 281, 469,
564, 410, 566, 567, 132, 377, 294, 295, 411, 301,
455, 581, 202, 299, 583, 282, 585, 590, 283, 489,
439, 378, 345, 450, 207, 419, 446, 619, 268, 627,
521, 635, 638, 379, 440, 649, 350, 806, 306, 660,
665, 670, 673, 321, 311, 465, 677, 678, 241, 682,
496, 497, 696, 227, 704, 717, 318, 781, 783, 380,
381, 404, 474, 392, 409, 800, 312, 803, 382, 383,
329, 330, 821, 818, 274, 869, 273, 347, 239, 856,
460, 353, 907, 865, 263, 384, 385, 288, 303, 902,
334, 909, 916, 447
-32768, 360, 3, 533, 377, 557, 558, 559, 294, 292,
547, 553, 459, 4, 555, 763, 281, 562, 282, 469,
564, 411, 566, 567, 133, 378, 295, 296, 412, 302,
455, 581, 204, 300, 583, 283, 585, 590, 284, 489,
439, 379, 346, 450, 209, 419, 446, 619, 269, 627,
521, 635, 638, 380, 440, 649, 351, 806, 307, 660,
665, 670, 673, 322, 312, 465, 677, 678, 242, 682,
496, 497, 696, 228, 704, 717, 319, 781, 783, 381,
382, 405, 474, 393, 410, 800, 313, 803, 383, 384,
330, 331, 821, 818, 275, 869, 274, 348, 240, 856,
460, 354, 907, 865, 264, 385, 386, 289, 304, 902,
335, 909, 916, 447
);
protected static $yylhs = array(

View File

@ -335,7 +335,7 @@ class PHPParser_PrettyPrinter_Zend extends PHPParser_PrettyPrinterAbstract
}
public function pExpr_Empty(PHPParser_Node_Expr_Empty $node) {
return 'empty(' . $this->p($node->var) . ')';
return 'empty(' . $this->p($node->expr) . ')';
}
public function pExpr_Isset(PHPParser_Node_Expr_Isset $node) {

View File

@ -5,6 +5,8 @@ isset($a);
isset($a, $b, $c);
empty($a);
empty(foo());
empty(array(1, 2, 3));
-----
array(
0: Expr_Isset(
@ -28,8 +30,46 @@ array(
)
)
2: Expr_Empty(
var: Expr_Variable(
expr: Expr_Variable(
name: a
)
)
3: Expr_Empty(
expr: Expr_FuncCall(
name: Name(
parts: array(
0: foo
)
)
args: array(
)
)
)
4: Expr_Empty(
expr: Expr_Array(
items: array(
0: Expr_ArrayItem(
key: null
value: Scalar_LNumber(
value: 1
)
byRef: false
)
1: Expr_ArrayItem(
key: null
value: Scalar_LNumber(
value: 2
)
byRef: false
)
2: Expr_ArrayItem(
key: null
value: Scalar_LNumber(
value: 3
)
byRef: false
)
)
)
)
)