diff --git a/CHANGELOG.md b/CHANGELOG.md index 9174f26..827d5e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ Version 0.9.4-dev ----------------- +* [PHP 5.5] Add support for `ClassName::class`. This is parsed as an `Expr_ClassConstFetch` with `'class'` being the + constant name. + * Syntax errors now include information on expected tokens and mimic the format of PHP's own (pre 5.4) error messages. Example: diff --git a/lib/PHPParser/Parser.php b/lib/PHPParser/Parser.php index c15afe8..0fe2f72 100644 --- a/lib/PHPParser/Parser.php +++ b/lib/PHPParser/Parser.php @@ -17,8 +17,8 @@ class PHPParser_Parser const TOKEN_MAP_SIZE = 386; const YYLAST = 1008; - const YY2TBLSTATE = 315; - const YYGLAST = 443; + const YY2TBLSTATE = 316; + const YYGLAST = 444; const YYNLSTATES = 531; const YYUNEXPECTED = 32767; const YYDEFAULT = -32766; @@ -356,107 +356,107 @@ class PHPParser_Parser ); protected static $yyaction = array( - 59, 60, 324, 61, 62,-32766,-32766,-32766, 215, 63, + 59, 60, 325, 61, 62,-32766,-32766,-32766, 324, 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, + 57, 917,-32766, 298,-32766,-32766, 41, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 267, 346, + 65, 66, 927, 249, 929, 928, 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, + 232, 77, 318, 326, 730, 732, 462, 836, 837, 362, + 348, 895, 238, 578, 280, 363, 46, 27, 327, 859, + 364, 246, 365, 454, 366, 39, 223, 328,-32766,-32766, + -32766, 36, 37, 367, 333, 360, 38, 368, 329, 423, + 78, 848, 122, 278, 279,-32766, 286,-32766, 35, 369, + 370, 371, 372, 373, 389, 343, 861, 330, 560, 602, + 374, 375, 376, 377, 848, 842, 843, 844, 845, 839, + 840, 239, 82, 83, 84, -350, 389, 846, 841, 330, + 584, 504, 126, 47, 227, 259, 244, 802, 248, 40, + 351, 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, 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, - 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, - 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 + 656, 216,-32766, 215,-32766,-32766,-32766,-32766,-32766,-32767, + -32767,-32767,-32767,-32766, 788, 322, 329, 319, 899, 544, + -117, 257, 128, 277,-32766,-32766,-32766, 369, 370, 889, + 693, 261, 895, 225, 226,-32766, 540, 602, 374, 375, + 675, 535, 344,-32766, 535,-32766, 895, 376,-32766,-32766, + -32766, 575,-32766, 53,-32766, 322,-32766, 658, 263,-32766, + 187, 257, 600,-32766,-32766,-32766, 788,-32766,-32766,-32766, + 693, 34,-32766, 535, 350,-32766, 388,-32766, 860, 812, + -32766,-32766,-32766,-32766,-32766, 222,-32766, 54,-32766, 56, + 127,-32766, 100, 101, 102,-32766,-32766,-32766, 788, 22, + -32766,-32766, 601, 268,-32766, 924, 259,-32766, 388, 666, + 631, 389,-32766,-32766, 330,-32766, 322, 224, 334,-32766, + 259, 917, 257, 503, 861, 535, 103, 104, 105,-32766, + 233, 693,-32766,-32766,-32766, 118,-32766, 494,-32766, 340, + -32766, 506, 902,-32766,-32766,-32766, 126,-32766,-32766,-32766, + 345,-32766,-32766,-32766, 213, 123,-32766, 535, 130,-32766, + 388,-32766, 452, 599,-32766,-32766,-32766,-32766,-32766, 119, + -32766, 120,-32766, 788, 233,-32766, 189, -113, 190,-32766, + -32766,-32766, 194, 217,-32766,-32766, 195, 125,-32766,-32766, + -32766,-32766, 388, 188, 685, 858,-32766,-32766, 117,-32766, + 329, 319, 353, 28, 509, 788, 597, 277, 357, 468, + 680, 369, 370, 516,-32766,-32766,-32766, 131, 287, 49, + 540, 602, 374, 375, 477, 478,-32766, 520,-32766,-32766, + 528,-32766, 535,-32766,-32766,-32766,-32766, 655, 656,-32766, + -32766,-32766, 263,-32766, 519,-32766, 507,-32766, 542, 129, + -32766, 679, 525, 588,-32766,-32766,-32766, 526,-32766,-32766, + -32766, 690, 530,-32766, 535, 306,-32766, 388,-32766, 541, + 511,-32766,-32766,-32766,-32766,-32766, 224,-32766, 50,-32766, + 58, 482,-32766, 55, 805, 51,-32766,-32766,-32766, 788, + 52,-32766,-32766, 416, 232,-32766, 502, 687,-32766, 388, + 445, 491, 229,-32766,-32766, 551,-32766, 922, 549, 415, + -32766, 339, 341, 535, 536, 399, 535, 400, 402, 414, + -32766, -158, 401,-32766,-32766,-32766, 493,-32766, 479,-32766, + 475,-32766, -161, 604,-32766,-32766,-32766, 265,-32766,-32766, + -32766, 788,-32766,-32766,-32766, 266, 917,-32766, 535, 256, + -32766, 388,-32766, 342, 212,-32766,-32766,-32766,-32766,-32766, + 338,-32766, 471,-32766, 457, 473,-32766, 359, 603, 258, + -32766,-32766,-32766, 788, 255,-32766,-32766, 577, 260,-32766, + 376, 579,-32766, 388, 847, 247, 0,-32766,-32766, -350, + -32766, 657, 0, 337,-32766, 0, 0, -351, 245, 0, + 535, 121, 193, 42,-32766, -282, 791,-32766,-32766,-32766, + 0,-32766, 0,-32766, 0,-32766, 0, 0,-32766, 570, + -32766, -290,-32766,-32766,-32766, 788,-32766,-32766,-32766, -291, + 499,-32766, 535, 300,-32766, 388,-32766, 288, 251,-32766, + -32766,-32766,-32766,-32766, 242,-32766, 407,-32766, 684, 340, + -32766, 686, 614, 616,-32766,-32766,-32766, 618, 563,-32766, + -32766, 625, 624,-32766, 633, 580,-32766, 388, 565, 587, + 574, 572,-32766, 513,-32766, 512, 45, 44,-32766, 569, + 571, 573, 586, 545, 535, 683, 676, 234,-32766, 510, + 515,-32766,-32766,-32766, 517,-32766, 522,-32766, 81,-32766, + 124, 523,-32766,-32766,-32766, 524,-32766,-32766,-32766, 527, + -32766,-32766,-32766, 505, 529,-32766, 535, 890,-32766, 388, + -32766, 900, 668,-32766,-32766,-32766,-32766,-32766, 827,-32766, + 892,-32766, 880, 894,-32766, 191, 192, 896,-32766,-32766, + -32766, 923, 356,-32766,-32766, 623, 926,-32766, 622, 925, + -32766, 388, 32, 33, 185, 568,-32766, 321,-32766, 317, + 43, 262, 836, 837, 237,-32766,-32766, 236, 48,-32766, + 838, 535, 235, 30, 219,-32766, 218, 214,-32766,-32766, + -32766, 186,-32766, 80,-32766, 79,-32766,-32766,-32766,-32766, + 768, 829, 767,-32766,-32766,-32766, 446, -114,-32766,-32766, + 854, 659,-32766, 795, 792,-32766, 388, 498, 472, 437, + 358, 354, 307,-32766, 289, 25, 24, 23, 442, -113, + 842, 843, 844, 845, 839, 840, 309, 786, 0, 480, + 874, 855, 846, 841, 329, 319, 921, 826,-32766, 329, + -32766, 277,-32766,-32766, 891, 369, 370,-32766,-32766,-32766, + 369, 370, 875, 879, 540, 602, 374, 375, 893, 560, + 602, 374, 375, 329,-32766, 811,-32766,-32766,-32766,-32766, + -32766, 799, 797, 798, 369, 370, 263, 329, 796, 0, + 0, 329, 543, 560, 602, 374, 375, 598, 369, 370, + 0, 0, 369, 370, 329, 0, 0, 560, 602, 374, + 375, 560, 602, 374, 375, 369, 370, 0, 0, 0, + 329, 691, 0, 0, 560, 602, 374, 375, 0, 0, + 0, 369, 370, 329, 0, 790, 0, 329, 501, 591, + 560, 602, 374, 375, 369, 370, 0, 0, 369, 370, + 0, 329, 593, 560, 602, 374, 375, 560, 602, 374, + 375, 0, 369, 370, 492, 0, 0, 0, 514, 0, + 486, 560, 602, 374, 375, 329, 0, 0, 0, 329, + 0, 561, 0, 0, 0, 789, 369, 370, 0, 0, + 369, 370,-32766,-32766,-32766, 560, 602, 374, 375, 560, + 602, 374, 375, 0, 329, 0, 0, 0, 0,-32766, + 0,-32766,-32766,-32766,-32766, 369, 370, 0, 0, 0, + 0, 0, 0, 0, 560, 602, 374, 375 ); protected static $yycheck = array( @@ -464,89 +464,89 @@ class PHPParser_Parser 12, 36, 37, 38, 39, 40, 41, 42, 43, 44, 61, 76, 25, 73, 27, 28, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 61, 7, - 42, 43, 71, 71, 73, 74, 48, 71, 50, 51, + 42, 43, 71, 76, 73, 74, 48, 71, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 51, 52, 76, 69, 70, 71, - 7, 73, 141, 75, 143, 77, 78, 79, 80, 134, + 71, 73, 7, 75, 7, 77, 78, 79, 80, 134, 82, 122, 84, 81, 86, 135, 136, 89, 8, 9, 10, 93, 94, 95, 96, 7, 98, 99, 96, 122, - 102, 7, 143, 105, 106, 25, 7, 27, 7, 107, - 108, 113, 114, 115, 138, 26, 144, 141, 116, 117, + 102, 134, 143, 105, 106, 25, 7, 27, 7, 107, + 108, 113, 114, 115, 138, 26, 117, 141, 116, 117, 118, 119, 124, 125, 134, 127, 128, 129, 130, 131, 132, 133, 8, 9, 10, 122, 138, 139, 140, 141, - 142, 143, 7, 145, 31, 147, 148, 146, 150, 25, + 142, 143, 143, 145, 31, 147, 148, 146, 150, 25, 7, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 12, 49, 142, 8, 9, 10, 106, 107, 108, 109, 110, 111, 26, 0, 8, 9, 10, 125, 126, 31, 25, 7, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 25, 12, 97, 96, 97, 71, 146, + 33, 34, 35, 25, 12, 97, 96, 97, 71, 142, 146, 103, 61, 103, 8, 9, 10, 107, 108, 73, 112, 7, 73, 31, 7, 65, 116, 117, 118, 119, 142, 71, 143, 8, 71, 75, 73, 124, 78, 79, 80, 142, 82, 61, 84, 97, 86, 146, 138, 89, - 61, 103, 144, 93, 94, 95, 12, 65, 98, 99, + 7, 103, 144, 93, 94, 95, 12, 65, 98, 99, 112, 7, 102, 71, 71, 105, 106, 75, 71, 106, - 78, 79, 80, 113, 82, 31, 84, 142, 86, 61, + 78, 79, 80, 113, 82, 31, 84, 61, 86, 61, 143, 89, 42, 43, 44, 93, 94, 95, 12, 146, 98, 99, 144, 147, 102, 144, 147, 105, 106, 73, 142, 138, 142, 143, 141, 113, 97, 31, 145, 65, - 147, 76, 103, 71, 76, 71, 45, 46, 47, 75, - 49, 112, 78, 79, 80, 143, 82, 143, 84, 7, - 86, 147, 143, 89, 142, 143, 143, 93, 94, 95, - 143, 65, 98, 99, 123, 7, 102, 71, 13, 105, - 106, 75, 13, 144, 78, 79, 80, 113, 82, 13, - 84, 143, 86, 12, 31, 89, 13, 146, 13, 93, - 94, 95, 134, 147, 98, 99, 13, 26, 102, 8, - 9, 105, 106, 26, 142, 150, 142, 143, 26, 113, - 96, 97, 66, 67, 26, 12, 26, 103, 66, 67, - 26, 107, 108, 26, 8, 9, 10, 91, 92, 49, + 147, 76, 103, 71, 117, 71, 45, 46, 47, 75, + 49, 112, 78, 79, 80, 143, 82, 71, 84, 141, + 86, 143, 146, 89, 142, 143, 143, 93, 94, 95, + 7, 65, 98, 99, 123, 7, 102, 71, 143, 105, + 106, 75, 147, 144, 78, 79, 80, 113, 82, 143, + 84, 143, 86, 12, 49, 89, 13, 146, 13, 93, + 94, 95, 13, 147, 98, 99, 13, 26, 102, 8, + 9, 105, 106, 13, 142, 150, 142, 143, 13, 113, + 96, 97, 66, 67, 26, 12, 31, 103, 66, 67, + 144, 107, 108, 26, 8, 9, 10, 91, 92, 61, 116, 117, 118, 119, 100, 101, 65, 26, 142, 143, 26, 25, 71, 27, 28, 29, 75, 125, 126, 78, - 79, 80, 138, 82, 26, 84, 61, 86, 144, 61, - 89, 142, 143, 61, 93, 94, 95, 61, 65, 98, + 79, 80, 138, 82, 26, 84, 26, 86, 144, 26, + 89, 142, 143, 26, 93, 94, 95, 26, 65, 98, 99, 142, 143, 102, 71, 72, 105, 106, 75, 142, 143, 78, 79, 80, 113, 82, 31, 84, 61, 86, - 61, 68, 89, 62, 73, 71, 93, 94, 95, 12, - 80, 98, 99, 71, 71, 102, 71, 71, 105, 106, - 71, 71, 71, 142, 143, 71, 113, 71, 71, 71, - 65, 71, 71, 71, 71, 76, 71, 73, 90, 73, - 75, 73, 73, 78, 79, 80, 73, 82, 76, 84, - 76, 86, 117, 117, 89, 142, 143, 90, 93, 94, - 95, 12, 65, 98, 99, 88, 88, 102, 71, 88, - 105, 106, 75, 88, 88, 78, 79, 80, 113, 82, - 96, 84, 103, 86, 96, 141, 89, 104, 141, 134, - 93, 94, 95, 12, 123, 98, 99, 121, 123, 102, - 120, 148, 105, 106, 122, -1, -1, 142, 143, 120, - 113, 146, 122, 122, 65, 122, 124, 123, -1, 149, - 71, -1, -1, -1, 75, -1, -1, 78, 79, 80, - 143, 82, 137, 84, -1, 86, 137, 137, 89, 142, + 61, 68, 89, 61, 73, 61, 93, 94, 95, 12, + 61, 98, 99, 88, 62, 102, 71, 71, 105, 106, + 88, 71, 88, 142, 143, 71, 113, 71, 71, 71, + 65, 71, 71, 71, 71, 71, 71, 71, 71, 71, + 75, 88, 73, 78, 79, 80, 73, 82, 73, 84, + 73, 86, 73, 117, 89, 142, 143, 76, 93, 94, + 95, 12, 65, 98, 99, 76, 76, 102, 71, 121, + 105, 106, 75, 80, 88, 78, 79, 80, 113, 82, + 96, 84, 90, 86, 90, 103, 89, 96, 117, 104, + 93, 94, 95, 12, 120, 98, 99, 142, 120, 102, + 124, 142, 105, 106, 134, 122, -1, 142, 143, 122, + 113, 146, -1, 141, 65, -1, -1, 122, 122, -1, + 71, 123, 123, 123, 75, 137, 146, 78, 79, 80, + -1, 82, -1, 84, -1, 86, -1, -1, 89, 142, 143, 137, 93, 94, 95, 12, 65, 98, 99, 137, - 137, 102, 71, 137, 105, 106, 75, 137, 141, 78, - 79, 80, 113, 82, 142, 84, 142, 86, 142, 142, + 137, 102, 71, 137, 105, 106, 75, 137, 137, 78, + 79, 80, 113, 82, 137, 84, 141, 86, 142, 141, 89, 142, 142, 142, 93, 94, 95, 142, 142, 98, 99, 142, 142, 102, 142, 142, 105, 106, 142, 142, 142, 142, 143, 142, 113, 142, 142, 142, 65, 142, - 142, 142, 142, 142, 71, 142, 144, 143, 75, 143, + 142, 142, 142, 142, 71, 142, 142, 145, 75, 143, 143, 78, 79, 80, 143, 82, 143, 84, 143, 86, 143, 143, 89, 142, 143, 143, 93, 94, 95, 143, - 65, 98, 99, 144, 144, 102, 71, 144, 105, 106, + 65, 98, 99, 143, 143, 102, 71, 144, 105, 106, 75, 144, 144, 78, 79, 80, 113, 82, 144, 84, 144, 86, 144, 144, 89, 42, 43, 144, 93, 94, - 95, 144, 144, 98, 99, 144, 146, 102, 145, 145, + 95, 144, 144, 98, 99, 144, 144, 102, 144, 144, 105, 106, 145, 145, 61, 142, 143, 145, 113, 145, 145, 145, 69, 70, 145, 65, 73, 145, 145, 145, 77, 71, 145, 145, 145, 75, 145, 145, 78, 79, - 80, 145, 82, 145, 84, 146, 86, 142, 143, 89, + 80, 145, 82, 145, 84, 145, 86, 142, 143, 89, 146, 146, 146, 93, 94, 95, 146, 146, 98, 99, 146, 146, 102, 146, 146, 105, 106, 146, 146, 146, - 146, 146, 146, 113, 146, 146, 146, 146, 125, -1, - 127, 128, 129, 130, 131, 132, 133, 149, 149, 149, + 146, 146, 146, 113, 146, 146, 146, 146, 125, 146, + 127, 128, 129, 130, 131, 132, 133, 148, -1, 149, 149, 149, 139, 140, 96, 97, 149, 149, 145, 96, 147, 103, 142, 143, 149, 107, 108, 8, 9, 10, 107, 108, 149, 149, 116, 117, 118, 119, 149, 116, 117, 118, 119, 96, 25, 149, 27, 28, 29, 30, - 31, 149, -1, -1, 107, 108, 138, 96, -1, -1, + 31, 149, 149, 149, 107, 108, 138, 96, 149, -1, -1, 96, 144, 116, 117, 118, 119, 144, 107, 108, -1, -1, 107, 108, 96, -1, -1, 116, 117, 118, 119, 116, 117, 118, 119, 107, 108, -1, -1, -1, @@ -564,11 +564,11 @@ class PHPParser_Parser ); protected static $yybase = array( - 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, + 0, 728, 294, 110, 817, 804, 2, 863, 859, 733, + 821, 788, 771, 835, 775, 757, 888, 888, 888, 888, + 888, 368, 377, 391, 394, 391, 410, -2, -2, -2, + 435, 244, 244, 635, 244, 276, 603, 467, 519, 383, + 351, 160, 192, 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, @@ -577,44 +577,44 @@ class PHPParser_Parser 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, + 551, 551, 158, 429, 468, 470, 527, 528, 529, 530, + 450, 456, 634, 587, 583, 413, 579, 578, 576, 574, + 568, 588, 567, 670, 563, 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, 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, + 108, 209, 113, 113, 446, 446, 422, 547, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 449, 415, + 240, 240, 614, 614, 64, 64, 64, 64, 302, -33, + -55, 235, -1, 256, 451, 137, 137, 137, 459, 440, + 460, 193, 271, 271, 271, -24, -24, -24, -24, 545, + -24, -24, -24, 188, 216, -50, -50, -29, 205, 464, + 594, 462, 591, 299, 482, -41, 317, 442, 226, 454, + 442, 326, 332, 314, 458, 89, 226, 158, 197, 309, + 218, 425, 428, 531, 395, 67, 99, 32, -23, 182, + 146, 143, 402, 640, 636, 186, 151, 465, 101, -10, + 182, 221, 534, 88, 1, 533, 242, 365, 598, 436, + 618, 438, 436, 445, 365, 613, 613, 613, 613, 365, + 432, 618, 618, 365, 422, 618, 254, 432, 365, 444, + 432, 448, 613, 523, 521, 436, 439, 418, 618, 618, + 618, 438, 365, 613, 452, 243, 618, 613, 452, 365, + 445, 185, 417, 348, 605, 630, 602, 434, 560, 441, + 406, 621, 619, 628, 437, 430, 622, 597, 495, 518, + 431, 375, 407, 414, 419, 497, 412, 466, 454, 498, + 315, 457, 491, 457, 719, 486, 474, 453, 463, 517, + 370, 353, 536, 495, 648, 656, 669, 433, 532, 653, + 457, 714, 525, 338, 355, 617, 427, 457, 612, 457, + 537, 457, 647, 426, 592, 495, 315, 315, 315, 645, + 713, 712, 706, 699, 694, 693, 685, 409, 678, 516, + 655, 65, 626, 458, 490, 424, 513, 214, 677, 457, + 457, 541, 545, 457, 512, 524, 661, 510, 652, 447, + 469, 672, 440, 654, 457, 461, 671, 214, 408, 403, + 641, 509, 543, 604, 548, 359, 644, 606, 552, 363, + 595, 421, 506, 660, 659, 663, 505, 556, 420, 401, + 443, 609, 501, 651, 423, 483, 455, 404, 561, 416, + 658, 500, 499, 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, @@ -641,23 +641,23 @@ class PHPParser_Parser 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 + -50, -50, -50, 146, -24, -50, 149, 149, 149, -50, + -50, -50, 146, 0, 0, 0, 0, 0, 0, 0, + 149, 0, 0, 0, 432, 618, 0, 0, 0, 149, + 316, 316, 316, 316, 214, 182, 0, 495, 432, 0, + 439, 432, 0, 0, 0, 618, 0, 0, 0, 0, + 0, 0, 338, 532, 333, 495, 0, 0, 0, 0, + 0, 0, 0, 495, 217, 217, 0, 0, 409, 0, + 0, 0, 0, 333, 0, 0, 214 ); protected static $yydefault = array( 3,32767,32767, 1,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767, 106, 98, 112, 97, 108,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 375, 375,32767, 332,32767,32767,32767,32767,32767, - 32767,32767,32767, 179, 179, 179,32767,32767,32767, 364, - 364, 364, 364, 364, 364, 364, 364, 364, 364,32767, + 32767, 377, 377,32767, 334,32767,32767,32767,32767,32767, + 32767,32767,32767, 179, 179, 179,32767,32767,32767, 366, + 366, 366, 366, 366, 366, 366, 366, 366, 366,32767, 32767,32767,32767,32767, 257,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, @@ -665,42 +665,42 @@ 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,32767, 262, 380,32767,32767,32767,32767, + 32767,32767,32767,32767, 262, 382,32767,32767,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, + 367, 131, 263, 381, 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, + 198, 182, 235, 234, 203, 331, 331, 334,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, + 163, 163,32767,32767, 376, 376,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, - 32767,32767, 381,32767,32767,32767,32767,32767,32767, 336, - 32767,32767,32767,32767, 64,32767,32767, 79,32767,32767, - 348,32767,32767,32767,32767, 120,32767,32767,32767, 175, - 32767,32767,32767,32767,32767, 348,32767,32767,32767,32767, + 32767,32767,32767,32767, 300,32767,32767,32767,32767,32767, + 302,32767, 212, 213, 211,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 339, 301,32767,32767,32767,32767, + 32767,32767,32767,32767, 352, 288,32767,32767,32767, 281, + 32767, 109, 111, 61, 318,32767,32767,32767,32767,32767, + 357,32767,32767,32767, 17,32767,32767,32767, 389, 352, + 32767,32767, 19,32767,32767,32767,32767, 233,32767,32767, + 356, 350,32767,32767,32767,32767,32767, 65, 297,32767, + 303,32767,32767,32767, 65,32767,32767,32767,32767, 65, + 32767, 355, 354, 65,32767, 282, 333,32767, 65, 76, + 32767, 74,32767, 95, 95,32767,32767, 78, 329, 345, + 32767,32767, 65,32767, 270, 333,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, 341,32767, 342,32767, 281,32767, + 221, 200,32767, 202,32767,32767, 286, 289,32767,32767, + 32767, 140,32767, 284,32767, 186,32767,32767,32767,32767, + 384,32767,32767, 180,32767,32767,32767, 136,32767, 63, + 32767, 374,32767,32767, 350, 285, 214, 215, 216,32767, + 32767,32767,32767,32767,32767,32767,32767, 351,32767,32767, + 32767, 116,32767, 318,32767,32767,32767, 77,32767, 184, + 132,32767,32767, 383,32767,32767,32767,32767,32767,32767, + 338,32767,32767,32767, 64,32767,32767, 79,32767,32767, + 350,32767,32767,32767,32767, 120,32767,32767,32767, 175, + 32767,32767,32767,32767,32767, 350,32767,32767,32767,32767, 32767,32767,32767,32767, 4,32767, 157,32767,32767,32767, 32767,32767,32767,32767, 25, 25, 3, 25, 103, 25, 143, 3, 95, 95, 58, 143, 25, 143, 25, 25, @@ -712,40 +712,40 @@ class PHPParser_Parser 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, + 156, 157, 158, 167, 134, 750, 751, 390, 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, + 252, 253, 254, 426, 427, 428, 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, + 154, 132, 443, 443, 443, 443, 443, 443, 443, 443, + 443, 443, 443, 311, 485, 421, 421, 449, 417, 419, + 419, 391, 393, 410, 424, 450, 453, 464, 470, 335, + 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, + 335, 335, 335, 335, 335, 646, 646, 906, 906, 813, + 813, 654, 654, 654, 654, 654, 405, 538, 538, 538, + 495, 444, 444, 444, 444, 444, 444, 444, 444, 444, + 444, 444, 611, 611, 611, 611, 270, 606, 612, 490, + 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, + 392, 392, 392, 392, 392, 392, 539, 539, 539, 582, + 395, 395, 5, 878, 16, 210, 6, 211, 396, 396, + 537, 537, 537, 7, 422, 17, 18, 8, 19, 9, + 10, 11, 910, 20, 12, 13, 14, 15, 455, 483, + 632, 617, 615, 613, 615, 508, 398, 641, 636, 850, + 850, 850, 850, 850, 850, 850, 850, 850, 850, 850, + 430, 431, 432, 433, 434, 435, 436, 438, 466, 835, + 458, 463, 500, 467, 273, 315, 830, 1, 697, 316, + 809, 810, 2, 771, 26, 21, 285, 554, 672, 621, + 852, 853, 868, 652, 707, 276, 661, 807, 877, 807, + 439, 291, 250, 885, 885, 808, 241, 886, 886, 294, + 476, 29, 294, 916, 916, 481, 901, 901, 901, 866, + 292, 484, 919, 916, 408, 903, 299, 299, 299, 418, + 884, 304, 397, 397, 429, 716, 762, 404, 919, 919, + 299, 825, 824, 459, 650, 546, 664, 851, 518, 310, + 488, 404, 404, 312, 271, 272, 552, 804, 669, 620, + 863, 487, 403, 0, 705, 0, 0, 0, 0, 302, + 0, 0, 425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -753,7 +753,7 @@ class PHPParser_Parser 0, 0, 0, 0, 0, 0, 0, 0, 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 + 0, 0, 0, 409 ); protected static $yygcheck = array( @@ -772,28 +772,28 @@ class PHPParser_Parser 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, 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, + 38, 38, 38, 38, 38, 38, 75, 6, 6, 6, + 38, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 38, 38, 38, 38, 48, 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, + 89, 89, 89, 89, 89, 89, 7, 7, 7, 31, + 89, 89, 13, 57, 13, 44, 13, 44, 92, 92, + 5, 5, 5, 13, 83, 13, 13, 13, 13, 13, + 13, 13, 112, 13, 13, 13, 13, 13, 21, 21, + 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, + 40, 40, 40, 46, 46, 46, 15, 2, 72, 72, + 57, 57, 2, 15, 15, 15, 15, 12, 12, 12, + 12, 12, 12, 12, 12, 4, 59, 57, 57, 57, + 15, 28, 98, 91, 91, 57, 98, 90, 90, 4, + 101, 15, 4, 113, 113, 15, 91, 91, 91, 104, + 39, 30, 113, 113, 39, 110, 96, 96, 96, 39, + 91, 29, 95, 95, 25, 75, 76, 25, 113, 113, + 96, 97, 97, 39, 55, 10, 60, 100, 50, 96, + 39, 25, 25, 9, 48, 48, 11, 87, 61, 47, + 103, 82, 4, -1, 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, @@ -801,37 +801,37 @@ class PHPParser_Parser -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, 75 ); protected static $yygbase = array( - 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 + 0, 0, -239, 0, 22, 209, 156, 195, 0, 21, + 55, 1, 89, -303, 0, -52, 0, 0, 0, 0, + 0, 184, 0, 0, -30, 294, 0, 0, 245, 102, + 98, 174, -99, 0, 0, 0, 0, 0, -83, -19, + 25, 0, 0, 0, -310, 0, 7, -2, -168, 0, + 51, 0, 0, -67, 0, 96, 0, -61, 0, 251, + 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 40, 0, -6, 109, 93, 0, 0, 0, + 0, 0, -7, 182, 200, 0, 0, 23, 0, -32, + 65, 61, -24, 0, 0, 90, 71, 85, 48, 54, + 49, 114, 0, -5, 122, 0, 0, 0, 0, 0, + 100, 0, 188, 63, 0 ); protected static $yygdefault = array( - -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 + -32768, 361, 3, 533, 378, 557, 558, 559, 295, 293, + 547, 553, 460, 4, 555, 763, 281, 562, 282, 469, + 564, 412, 566, 567, 133, 379, 296, 297, 413, 303, + 456, 581, 204, 301, 583, 283, 585, 590, 284, 489, + 440, 380, 347, 451, 209, 420, 447, 619, 269, 627, + 521, 635, 638, 381, 441, 649, 352, 806, 308, 660, + 665, 670, 673, 323, 313, 465, 677, 678, 243, 682, + 496, 497, 696, 228, 704, 717, 320, 781, 783, 382, + 383, 406, 474, 394, 411, 800, 314, 803, 384, 385, + 331, 332, 821, 818, 275, 871, 274, 349, 240, 856, + 857, 461, 355, 909, 867, 264, 386, 387, 290, 305, + 904, 336, 911, 918, 448 ); protected static $yylhs = array( @@ -868,13 +868,13 @@ class PHPParser_Parser 81, 81, 81, 85, 85, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 12, 12, 12, 12, 12, 12, 78, 78, 78, 78, 100, - 100, 102, 102, 101, 101, 103, 103, 32, 32, 32, - 32, 105, 105, 104, 104, 104, 104, 104, 106, 106, - 91, 91, 95, 95, 90, 90, 107, 107, 107, 107, - 96, 96, 96, 96, 84, 84, 97, 97, 97, 53, - 108, 108, 109, 109, 109, 83, 83, 110, 110, 111, - 111, 111, 111, 98, 98, 98, 98, 112, 112, 112, - 112, 112, 112, 112, 113, 113, 113 + 100, 101, 101, 103, 103, 102, 102, 104, 104, 32, + 32, 32, 32, 106, 106, 105, 105, 105, 105, 105, + 107, 107, 91, 91, 95, 95, 90, 90, 108, 108, + 108, 108, 96, 96, 96, 96, 84, 84, 97, 97, + 97, 53, 109, 109, 110, 110, 110, 83, 83, 111, + 111, 112, 112, 112, 112, 98, 98, 98, 98, 113, + 113, 113, 113, 113, 113, 113, 114, 114, 114 ); protected static $yylen = array( @@ -910,14 +910,14 @@ class PHPParser_Parser 1, 1, 0, 3, 3, 4, 4, 0, 2, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 1, - 3, 2, 2, 4, 3, 1, 3, 3, 3, 0, - 2, 0, 1, 3, 1, 3, 1, 1, 1, 1, - 1, 6, 4, 3, 4, 2, 4, 4, 1, 3, - 1, 2, 1, 1, 4, 1, 3, 6, 4, 4, - 4, 4, 1, 4, 0, 1, 1, 3, 1, 4, - 3, 1, 1, 1, 0, 0, 2, 3, 1, 3, - 1, 4, 2, 2, 2, 1, 2, 1, 4, 3, - 3, 3, 6, 3, 1, 1, 1 + 3, 2, 2, 4, 3, 1, 3, 3, 3, 1, + 1, 0, 2, 0, 1, 3, 1, 3, 1, 1, + 1, 1, 1, 6, 4, 3, 4, 2, 4, 4, + 1, 3, 1, 2, 1, 1, 4, 1, 3, 6, + 4, 4, 4, 4, 1, 4, 0, 1, 1, 3, + 1, 4, 3, 1, 1, 1, 0, 0, 2, 3, + 1, 3, 1, 4, 2, 2, 2, 1, 2, 1, + 4, 3, 3, 3, 6, 3, 1, 1, 1 ); protected $yyval; @@ -2440,43 +2440,43 @@ class PHPParser_Parser } protected function yyn329($attributes) { - $this->yyval = array(); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn330($attributes) { + $this->yyval = 'class'; + } + + protected function yyn331($attributes) { + $this->yyval = array(); + } + + protected function yyn332($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; } - protected function yyn331() { + protected function yyn333() { $this->yyval = $this->yyastk[$this->stackPos]; } - protected function yyn332() { + protected function yyn334() { $this->yyval = $this->yyastk[$this->stackPos]; } - protected function yyn333($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; - } - - protected function yyn334($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); - } - protected function yyn335($attributes) { - $this->yyval = new PHPParser_Node_Expr_ArrayItem($this->yyastk[$this->stackPos-(3-3)], $this->yyastk[$this->stackPos-(3-1)], false, $attributes); + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; } protected function yyn336($attributes) { - $this->yyval = new PHPParser_Node_Expr_ArrayItem($this->yyastk[$this->stackPos-(1-1)], null, false, $attributes); + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); } protected function yyn337($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new PHPParser_Node_Expr_ArrayItem($this->yyastk[$this->stackPos-(3-3)], $this->yyastk[$this->stackPos-(3-1)], false, $attributes); } protected function yyn338($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new PHPParser_Node_Expr_ArrayItem($this->yyastk[$this->stackPos-(1-1)], null, false, $attributes); } protected function yyn339($attributes) { @@ -2488,39 +2488,39 @@ class PHPParser_Parser } protected function yyn341($attributes) { - $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(6-2)], $this->yyastk[$this->stackPos-(6-5)], $attributes); - } - - protected function yyn342($attributes) { - $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn343($attributes) { - $this->yyval = new PHPParser_Node_Expr_PropertyFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn344($attributes) { - $this->yyval = new PHPParser_Node_Expr_MethodCall($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $this->yyastk[$this->stackPos-(4-4)], $attributes); - } - - protected function yyn345($attributes) { - $this->yyval = new PHPParser_Node_Expr_FuncCall($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn346($attributes) { - $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn347($attributes) { - $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn348($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } + protected function yyn342($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn343($attributes) { + $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(6-2)], $this->yyastk[$this->stackPos-(6-5)], $attributes); + } + + protected function yyn344($attributes) { + $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); + } + + protected function yyn345($attributes) { + $this->yyval = new PHPParser_Node_Expr_PropertyFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn346($attributes) { + $this->yyval = new PHPParser_Node_Expr_MethodCall($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $this->yyastk[$this->stackPos-(4-4)], $attributes); + } + + protected function yyn347($attributes) { + $this->yyval = new PHPParser_Node_Expr_FuncCall($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn348($attributes) { + $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); + } + protected function yyn349($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; + $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); } protected function yyn350($attributes) { @@ -2528,7 +2528,7 @@ class PHPParser_Parser } protected function yyn351($attributes) { - $this->yyval = new PHPParser_Node_Expr_Variable($this->yyastk[$this->stackPos-(2-2)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; } protected function yyn352($attributes) { @@ -2536,11 +2536,11 @@ class PHPParser_Parser } protected function yyn353($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new PHPParser_Node_Expr_Variable($this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn354($attributes) { - $this->yyval = new PHPParser_Node_Expr_StaticPropertyFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-4)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn355($attributes) { @@ -2548,19 +2548,19 @@ class PHPParser_Parser } protected function yyn356($attributes) { - $this->yyval = new PHPParser_Node_Expr_StaticPropertyFetch($this->yyastk[$this->stackPos-(3-1)], substr($this->yyastk[$this->stackPos-(3-3)], 1), $attributes); + $this->yyval = new PHPParser_Node_Expr_StaticPropertyFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-4)], $attributes); } protected function yyn357($attributes) { - $this->yyval = new PHPParser_Node_Expr_StaticPropertyFetch($this->yyastk[$this->stackPos-(6-1)], $this->yyastk[$this->stackPos-(6-5)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn358($attributes) { - $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); + $this->yyval = new PHPParser_Node_Expr_StaticPropertyFetch($this->yyastk[$this->stackPos-(3-1)], substr($this->yyastk[$this->stackPos-(3-3)], 1), $attributes); } protected function yyn359($attributes) { - $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); + $this->yyval = new PHPParser_Node_Expr_StaticPropertyFetch($this->yyastk[$this->stackPos-(6-1)], $this->yyastk[$this->stackPos-(6-5)], $attributes); } protected function yyn360($attributes) { @@ -2572,27 +2572,27 @@ class PHPParser_Parser } protected function yyn362($attributes) { - $this->yyval = new PHPParser_Node_Expr_Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); + $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); } protected function yyn363($attributes) { - $this->yyval = new PHPParser_Node_Expr_Variable($this->yyastk[$this->stackPos-(4-3)], $attributes); + $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); } protected function yyn364($attributes) { - $this->yyval = null; + $this->yyval = new PHPParser_Node_Expr_Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); } protected function yyn365($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new PHPParser_Node_Expr_Variable($this->yyastk[$this->stackPos-(4-3)], $attributes); } protected function yyn366($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = null; } protected function yyn367($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn368($attributes) { @@ -2600,114 +2600,122 @@ class PHPParser_Parser } protected function yyn369($attributes) { - $this->yyval = new PHPParser_Node_Expr_List($this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn370($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; - } - - protected function yyn371($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); - } - - protected function yyn372($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn373($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn374($attributes) { - $this->yyval = null; - } - - protected function yyn375($attributes) { - $this->yyval = array(); - } - - protected function yyn376($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; - } - - protected function yyn377($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; - } - - protected function yyn378($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); - } - - protected function yyn379($attributes) { - $this->yyval = new PHPParser_Node_Expr_ArrayItem($this->yyastk[$this->stackPos-(3-3)], $this->yyastk[$this->stackPos-(3-1)], false, $attributes); - } - - protected function yyn380($attributes) { - $this->yyval = new PHPParser_Node_Expr_ArrayItem($this->yyastk[$this->stackPos-(1-1)], null, false, $attributes); - } - - protected function yyn381($attributes) { - $this->yyval = new PHPParser_Node_Expr_ArrayItem($this->yyastk[$this->stackPos-(4-4)], $this->yyastk[$this->stackPos-(4-1)], true, $attributes); - } - - protected function yyn382($attributes) { - $this->yyval = new PHPParser_Node_Expr_ArrayItem($this->yyastk[$this->stackPos-(2-2)], null, true, $attributes); - } - - protected function yyn383($attributes) { - $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; - } - - protected function yyn384($attributes) { - $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; - } - - protected function yyn385($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); - } - - protected function yyn386($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)]); - } - - protected function yyn387($attributes) { - $this->yyval = new PHPParser_Node_Expr_Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); - } - - protected function yyn388($attributes) { - $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch(new PHPParser_Node_Expr_Variable(substr($this->yyastk[$this->stackPos-(4-1)], 1), $attributes), $this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn389($attributes) { - $this->yyval = new PHPParser_Node_Expr_PropertyFetch(new PHPParser_Node_Expr_Variable(substr($this->yyastk[$this->stackPos-(3-1)], 1), $attributes), $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn390($attributes) { - $this->yyval = new PHPParser_Node_Expr_Variable($this->yyastk[$this->stackPos-(3-2)], $attributes); - } - - protected function yyn391($attributes) { - $this->yyval = new PHPParser_Node_Expr_Variable($this->yyastk[$this->stackPos-(3-2)], $attributes); - } - - protected function yyn392($attributes) { - $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch(new PHPParser_Node_Expr_Variable($this->yyastk[$this->stackPos-(6-2)], $attributes), $this->yyastk[$this->stackPos-(6-4)], $attributes); - } - - protected function yyn393($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; } + protected function yyn370($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn371($attributes) { + $this->yyval = new PHPParser_Node_Expr_List($this->yyastk[$this->stackPos-(4-3)], $attributes); + } + + protected function yyn372($attributes) { + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; + } + + protected function yyn373($attributes) { + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + } + + protected function yyn374($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn375($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn376($attributes) { + $this->yyval = null; + } + + protected function yyn377($attributes) { + $this->yyval = array(); + } + + protected function yyn378($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; + } + + protected function yyn379($attributes) { + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; + } + + protected function yyn380($attributes) { + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + } + + protected function yyn381($attributes) { + $this->yyval = new PHPParser_Node_Expr_ArrayItem($this->yyastk[$this->stackPos-(3-3)], $this->yyastk[$this->stackPos-(3-1)], false, $attributes); + } + + protected function yyn382($attributes) { + $this->yyval = new PHPParser_Node_Expr_ArrayItem($this->yyastk[$this->stackPos-(1-1)], null, false, $attributes); + } + + protected function yyn383($attributes) { + $this->yyval = new PHPParser_Node_Expr_ArrayItem($this->yyastk[$this->stackPos-(4-4)], $this->yyastk[$this->stackPos-(4-1)], true, $attributes); + } + + protected function yyn384($attributes) { + $this->yyval = new PHPParser_Node_Expr_ArrayItem($this->yyastk[$this->stackPos-(2-2)], null, true, $attributes); + } + + protected function yyn385($attributes) { + $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; + } + + protected function yyn386($attributes) { + $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; + } + + protected function yyn387($attributes) { + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + } + + protected function yyn388($attributes) { + $this->yyval = array($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)]); + } + + protected function yyn389($attributes) { + $this->yyval = new PHPParser_Node_Expr_Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); + } + + protected function yyn390($attributes) { + $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch(new PHPParser_Node_Expr_Variable(substr($this->yyastk[$this->stackPos-(4-1)], 1), $attributes), $this->yyastk[$this->stackPos-(4-3)], $attributes); + } + + protected function yyn391($attributes) { + $this->yyval = new PHPParser_Node_Expr_PropertyFetch(new PHPParser_Node_Expr_Variable(substr($this->yyastk[$this->stackPos-(3-1)], 1), $attributes), $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn392($attributes) { + $this->yyval = new PHPParser_Node_Expr_Variable($this->yyastk[$this->stackPos-(3-2)], $attributes); + } + + protected function yyn393($attributes) { + $this->yyval = new PHPParser_Node_Expr_Variable($this->yyastk[$this->stackPos-(3-2)], $attributes); + } + protected function yyn394($attributes) { - $this->yyval = new PHPParser_Node_Scalar_String($this->yyastk[$this->stackPos-(1-1)], $attributes); + $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch(new PHPParser_Node_Expr_Variable($this->yyastk[$this->stackPos-(6-2)], $attributes), $this->yyastk[$this->stackPos-(6-4)], $attributes); } protected function yyn395($attributes) { - $this->yyval = new PHPParser_Node_Scalar_String($this->yyastk[$this->stackPos-(1-1)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; } protected function yyn396($attributes) { + $this->yyval = new PHPParser_Node_Scalar_String($this->yyastk[$this->stackPos-(1-1)], $attributes); + } + + protected function yyn397($attributes) { + $this->yyval = new PHPParser_Node_Scalar_String($this->yyastk[$this->stackPos-(1-1)], $attributes); + } + + protected function yyn398($attributes) { $this->yyval = new PHPParser_Node_Expr_Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); } } diff --git a/test/code/parser/expr/fetchAndCall/constFetch.test b/test/code/parser/expr/fetchAndCall/constFetch.test index a637c9c..7686d2d 100644 --- a/test/code/parser/expr/fetchAndCall/constFetch.test +++ b/test/code/parser/expr/fetchAndCall/constFetch.test @@ -4,6 +4,7 @@ Constant fetches A; A::B; +A::class; ----- array( 0: Expr_ConstFetch( @@ -21,4 +22,12 @@ array( ) name: B ) + 2: Expr_ClassConstFetch( + class: Name( + parts: array( + 0: A + ) + ) + name: class + ) ) \ No newline at end of file