diff --git a/php5/php5.go b/php5/php5.go index 12c1746..d500eb4 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -345,7 +345,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:3507 +//line php5/php5.y:3740 //line yacctab:1 var yyExca = [...]int{ @@ -659,23 +659,23 @@ var yyAct = [...]int{ 529, 529, 529, 529, 529, 529, 517, 920, 529, 597, 906, 599, 598, 934, 447, 1001, 885, 38, 996, 258, 519, 877, 444, 958, 283, 810, 701, 702, 933, 907, - 899, 682, 871, 125, 258, 529, 758, 757, 517, 282, + 899, 1, 871, 125, 258, 529, 758, 757, 517, 282, 519, 720, 230, 519, 649, 647, 519, 644, 570, 960, 570, 968, 38, 600, 38, 704, 701, 702, 512, 231, 479, 231, 38, 393, 38, 38, 323, 202, 519, 201, - 526, 198, 258, 570, 968, 135, 980, 255, 1, 827, - 936, 38, 284, 259, 260, 38, 38, 519, 1006, 570, - 912, 341, 914, 745, 570, 993, 751, 861, 259, 260, - 443, 995, 922, 991, 924, 925, 606, 587, 588, 231, - 38, 570, 1009, 529, 589, 917, 1010, 254, 917, 529, - 529, 837, 570, 1013, 992, 962, 954, 941, 38, 956, - 961, 945, 959, 900, 946, 481, 259, 260, 401, 893, - 836, 833, 230, 573, 230, 564, 651, 529, 943, 659, - 653, 652, 38, 1003, 977, 1002, 722, 839, 38, 392, - 970, 387, 163, 840, 339, 695, 838, 536, 926, 289, - 458, 160, 156, 990, 671, 672, 669, 670, 673, 675, + 827, 198, 258, 570, 968, 135, 980, 255, 936, 1006, + 341, 38, 284, 259, 260, 38, 38, 519, 745, 570, + 912, 751, 914, 861, 570, 993, 443, 606, 259, 260, + 587, 995, 922, 991, 924, 925, 588, 589, 682, 231, + 38, 570, 1009, 529, 254, 917, 1010, 837, 917, 529, + 529, 992, 570, 1013, 962, 961, 954, 941, 38, 956, + 900, 945, 959, 481, 946, 401, 259, 260, 893, 836, + 833, 573, 230, 564, 230, 1003, 651, 529, 943, 659, + 653, 652, 38, 1002, 977, 722, 392, 839, 38, 387, + 970, 163, 339, 840, 695, 536, 838, 926, 289, 458, + 160, 156, 317, 990, 671, 672, 669, 670, 673, 675, 674, 676, 661, 662, 663, 654, 656, 657, 655, 988, - 317, 313, 230, 126, 605, 529, 517, 994, 967, 966, + 313, 126, 230, 526, 605, 529, 517, 994, 967, 966, 965, 964, 835, 834, 832, 517, 399, 39, 566, 14, 13, 820, 517, 517, 517, 517, 517, 845, 846, 847, 844, 843, 842, 717, 1012, 942, 191, 333, 799, 692, @@ -1528,40 +1528,40 @@ var yyPgo = [...]int{ 68, 50, 48, 1120, 1119, 1118, 1117, 1115, 34, 13, 1113, 1101, 2, 1100, 1099, 1098, 19, 1097, 1096, 1094, 1093, 1092, 52, 3, 1091, 1090, 1089, 1088, 1087, 6, - 1084, 58, 0, 1083, 1081, 1080, 105, 1062, 1061, 604, - 1060, 1059, 62, 11, 1058, 8, 1057, 1055, 1054, 12, - 38, 1052, 1051, 1049, 1046, 1045, 1043, 14, 1035, 23, - 1033, 1031, 1030, 1029, 1028, 30, 1025, 1023, 1020, 1015, - 1014, 1011, 1007, 1004, 998, 27, 997, 15, 16, 996, - 37, 990, 987, 986, 983, 41, 7, 20, 18, 22, - 981, 978, 970, 5, 969, 968, 21, 630, 25, 960, - 921, 24, + 1084, 630, 1083, 58, 0, 1081, 1080, 1062, 105, 1061, + 1060, 604, 1059, 1058, 62, 11, 1057, 8, 1055, 1054, + 1052, 12, 38, 1051, 1049, 1046, 1045, 1043, 1035, 14, + 1033, 23, 1031, 1030, 1029, 1028, 1025, 30, 1023, 1020, + 1015, 1014, 1011, 1007, 1004, 25, 998, 997, 996, 27, + 990, 15, 16, 987, 37, 986, 983, 981, 978, 41, + 7, 20, 18, 22, 970, 969, 968, 5, 960, 921, + 21, 24, } var yyR1 = [...]int{ - 0, 145, 81, 81, 82, 82, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 83, 83, 4, - 4, 4, 4, 84, 84, 5, 5, 5, 5, 85, - 85, 6, 6, 6, 6, 53, 53, 86, 86, 24, + 0, 149, 83, 83, 84, 84, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 85, 85, 4, + 4, 4, 4, 86, 86, 5, 5, 5, 5, 87, + 87, 6, 6, 6, 6, 53, 53, 88, 88, 24, 24, 24, 24, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 104, 104, 61, 61, 105, 105, 106, - 106, 62, 102, 102, 58, 51, 52, 143, 143, 144, - 144, 63, 64, 64, 67, 67, 67, 67, 68, 68, - 2, 114, 114, 110, 110, 115, 115, 137, 137, 136, - 136, 136, 57, 57, 59, 59, 60, 60, 103, 103, - 140, 140, 140, 140, 100, 100, 100, 146, 146, 56, - 56, 96, 96, 97, 97, 54, 54, 55, 55, 107, - 107, 108, 108, 66, 66, 65, 65, 65, 65, 139, - 139, 139, 116, 116, 72, 72, 72, 72, 87, 87, - 27, 27, 27, 88, 88, 88, 88, 109, 109, 69, - 69, 69, 69, 71, 117, 117, 142, 142, 118, 118, - 119, 119, 73, 73, 74, 120, 120, 77, 77, 76, - 75, 75, 78, 78, 141, 141, 111, 111, 112, 112, - 121, 121, 79, 79, 79, 79, 79, 79, 113, 113, - 113, 113, 70, 70, 101, 101, 99, 99, 98, 98, - 125, 125, 123, 123, 124, 124, 124, 126, 126, 42, + 26, 26, 26, 106, 106, 61, 61, 107, 107, 108, + 108, 62, 104, 104, 58, 51, 52, 147, 147, 148, + 148, 63, 64, 64, 67, 67, 67, 67, 68, 68, + 2, 116, 116, 112, 112, 117, 117, 141, 141, 140, + 140, 140, 57, 57, 59, 59, 60, 60, 105, 105, + 144, 144, 144, 144, 102, 102, 102, 150, 150, 56, + 56, 98, 98, 99, 99, 54, 54, 55, 55, 109, + 109, 110, 110, 66, 66, 65, 65, 65, 65, 143, + 143, 143, 118, 118, 72, 72, 72, 72, 89, 89, + 27, 27, 27, 90, 90, 90, 90, 111, 111, 69, + 69, 69, 69, 71, 119, 119, 146, 146, 120, 120, + 121, 121, 73, 73, 74, 122, 122, 77, 77, 76, + 75, 75, 78, 78, 145, 145, 113, 113, 114, 114, + 123, 123, 79, 79, 79, 79, 79, 79, 115, 115, + 115, 115, 70, 70, 103, 103, 101, 101, 100, 100, + 129, 129, 127, 127, 128, 128, 128, 130, 130, 42, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -1570,27 +1570,27 @@ var yyR1 = [...]int{ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 50, 50, 50, 50, 47, 47, - 47, 47, 46, 46, 1, 95, 95, 94, 94, 94, - 94, 23, 23, 23, 23, 23, 23, 23, 23, 11, + 47, 47, 46, 46, 1, 97, 97, 96, 96, 96, + 96, 23, 23, 23, 23, 23, 23, 23, 23, 11, 11, 11, 11, 45, 45, 45, 43, 43, 41, 41, - 133, 133, 132, 49, 49, 49, 122, 122, 122, 138, - 138, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 8, 28, 147, 147, 147, 147, 147, - 147, 147, 147, 147, 147, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 35, 35, - 35, 35, 29, 29, 29, 29, 29, 29, 29, 148, - 148, 151, 151, 150, 150, 150, 150, 14, 14, 48, - 48, 16, 17, 18, 19, 19, 134, 134, 127, 129, - 129, 80, 128, 128, 128, 40, 40, 44, 44, 12, + 137, 137, 136, 49, 49, 49, 124, 124, 124, 142, + 142, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 8, 28, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 35, 35, + 35, 35, 29, 29, 29, 29, 29, 29, 29, 125, + 125, 151, 151, 126, 126, 126, 126, 14, 14, 48, + 48, 16, 17, 18, 19, 19, 138, 138, 131, 133, + 133, 80, 132, 132, 132, 40, 40, 44, 44, 12, 22, 22, 20, 20, 20, 21, 21, 21, 10, 10, - 10, 9, 9, 13, 13, 130, 130, 131, 131, 131, - 39, 39, 135, 135, 93, 93, 38, 38, 38, 92, - 92, 91, 91, 91, 91, 91, 91, 91, 91, 89, - 89, 89, 89, 33, 33, 33, 33, 33, 33, 34, + 10, 9, 9, 13, 13, 134, 134, 135, 135, 135, + 39, 39, 139, 139, 95, 95, 38, 38, 38, 94, + 94, 93, 93, 93, 93, 93, 93, 93, 93, 91, + 91, 91, 91, 33, 33, 33, 33, 33, 33, 34, 34, 34, 37, 37, 37, 37, 37, 37, 37, 37, - 90, 90, 36, 36, 30, 30, 31, 32, + 92, 92, 36, 36, 30, 30, 31, 32, } var yyR2 = [...]int{ @@ -1649,7 +1649,7 @@ var yyR2 = [...]int{ } var yyChk = [...]int{ - -1000, -145, -81, -3, -25, -51, -52, 51, 79, 44, + -1000, -149, -83, -3, -25, -51, -52, 51, 79, 44, -53, -26, 10, -63, -64, 38, 119, 7, 21, 20, 23, 30, 34, 35, 39, -50, 46, 98, 19, 14, -14, 48, 25, 27, 121, 40, 43, 36, -1, -67, @@ -1659,98 +1659,98 @@ var yyChk = [...]int{ 113, 6, 133, -29, -47, -46, 118, 96, -20, 91, 49, 50, 4, 5, 84, 85, 86, 11, -35, -32, -7, 117, 74, 62, 18, 60, 125, -21, -22, -23, - -30, -82, 82, -11, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -10, -135, -44, -12, -40, -9, 134, - 12, 123, -82, 119, 82, 10, -83, 37, 38, -4, - -82, 82, 121, 135, 122, 10, -86, -48, 123, -48, + -30, -84, 82, -11, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -10, -139, -44, -12, -40, -9, 134, + 12, 123, -84, 119, 82, 10, -85, 37, 38, -4, + -84, 82, 121, 135, 122, 10, -88, -48, 123, -48, -25, -1, 79, 123, -48, 121, -14, 97, 98, 121, - -14, 121, -15, -19, -14, 121, -87, -27, 12, 134, - -88, -1, 12, -101, -14, 121, 149, 150, 87, 89, + -14, 121, -15, -19, -14, 121, -89, -27, 12, 134, + -90, -1, 12, -103, -14, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, 123, 119, -14, 10, -143, + 160, 90, 127, 123, 123, 123, 119, -14, 10, -147, 128, 10, 10, -15, -19, -14, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -14, 104, 105, -18, -19, -82, 79, 82, + 147, 123, -14, 104, 105, -18, -19, -84, 79, 82, -11, -12, 98, -18, -14, -14, -14, -14, -42, -14, -50, -14, -14, -14, -14, -14, -14, -14, -49, 123, - -48, -14, 125, 125, -122, 17, -89, -33, 12, 76, - 77, -14, 57, -43, -11, -41, -82, 79, 82, -21, - -10, -135, -12, 123, 123, -14, -14, 123, -14, -14, - 125, -89, 17, 17, 75, -89, 125, 123, -92, -91, - -14, 128, 125, 125, 82, -139, 123, -82, 78, 125, - 119, -10, 134, 78, -139, 119, 124, 121, 119, -81, - -82, 121, 135, -84, -5, -82, 82, -85, -6, -82, - 82, 29, -82, 10, 136, -24, 120, -25, -51, -52, - 51, -25, 122, -56, -25, 122, 21, -143, -99, -98, - -14, -140, 119, 122, 121, 121, 121, 121, 121, 135, - -16, 119, -19, 121, 135, -143, 136, 121, 135, -14, + -48, -14, 125, 125, -124, 17, -91, -33, 12, 76, + 77, -14, 57, -43, -11, -41, -84, 79, 82, -21, + -10, -139, -12, 123, 123, -14, -14, 123, -14, -14, + 125, -91, 17, 17, 75, -91, 125, 123, -94, -93, + -14, 128, 125, 125, 82, -143, 123, -84, 78, 125, + 119, -10, 134, 78, -143, 119, 124, 121, 119, -83, + -84, 121, 135, -86, -5, -84, 82, -87, -6, -84, + 82, 29, -84, 10, 136, -24, 120, -25, -51, -52, + 51, -25, 122, -56, -25, 122, 21, -147, -101, -100, + -14, -144, 119, 122, 121, 121, 121, 121, 121, 135, + -16, 119, -19, 121, 135, -147, 136, 121, 135, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -43, -14, 122, -102, -58, -19, - -19, -15, -103, 10, -86, 121, 121, 10, 123, -68, - 55, -114, 55, 58, -14, 128, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -93, -38, - -19, 59, 82, -82, 78, 78, 124, 124, 124, 124, + -14, -14, -14, -14, -43, -14, 122, -104, -58, -19, + -19, -15, -105, 10, -88, 121, 121, 10, 123, -68, + 55, -116, 55, 58, -14, 128, -14, -14, -14, -14, + -14, -14, -14, -14, -14, -14, -14, -14, -95, -38, + -19, 59, 82, -84, 78, 78, 124, 124, 124, 124, -13, -14, -13, 118, -33, -33, 17, 125, 57, -14, - 11, -19, -130, -131, -40, -39, -10, -135, 10, 119, - -138, -139, 78, 82, -82, 57, -10, 78, -90, -36, + 11, -19, -134, -135, -40, -39, -10, -139, 10, 119, + -142, -143, 78, 82, -84, 57, -10, 78, -92, -36, -19, -15, -19, -15, -14, -13, 117, 75, 75, -13, - -92, 126, -151, 135, 58, -17, -19, -13, -13, 10, - 124, -116, -50, -72, -15, -19, 128, 83, -139, -39, + -94, 126, -151, 135, 58, -17, -19, -13, -13, 10, + 124, -118, -50, -72, -15, -19, 128, 83, -143, -39, -40, 10, 52, -13, -14, -39, -40, 10, -14, 121, - -81, 120, -139, -4, 121, 135, 29, -82, 121, 135, - 29, -82, 10, 29, 136, -28, -147, -7, -31, -82, - 79, 82, 60, 125, -8, 62, -149, 18, 74, -11, - 131, 132, 130, 129, 123, 123, -96, -86, -86, -48, - 121, 135, -100, 121, -100, 121, -27, -14, 12, 123, + -83, 120, -143, -4, 121, 135, 29, -84, 121, 135, + 29, -84, 10, 29, 136, -28, -81, -7, -31, -84, + 79, 82, 60, 125, -8, 62, -82, 18, 74, -11, + 131, 132, 130, 129, 123, 123, -98, -88, -88, -48, + 121, 135, -102, 121, -102, 121, -27, -14, 12, 123, -28, -14, 122, -14, 124, 135, 29, 29, 124, 135, - 136, 120, 123, -107, -108, -66, -65, 60, 61, -45, - -82, 79, 82, -110, 56, -45, 119, -115, -45, -15, - -19, -19, 91, 124, 135, 123, -82, -126, -124, -123, - -125, 125, -127, 57, 126, 126, -34, 10, 13, 12, - 10, 120, 125, 120, -128, -80, -129, -139, 125, 119, - -10, -14, -40, -82, -130, -40, 124, 135, 124, 124, + 136, 120, 123, -109, -110, -66, -65, 60, 61, -45, + -84, 79, 82, -112, 56, -45, 119, -117, -45, -15, + -19, -19, 91, 124, 135, 123, -84, -130, -128, -127, + -129, 125, -131, 57, 126, 126, -34, 10, 13, 12, + 10, 120, 125, 120, -132, -80, -133, -143, 125, 119, + -10, -14, -40, -84, -134, -40, 124, 135, 124, 124, 124, 126, 126, 124, -14, 128, -14, 128, 126, 126, - 124, 135, 124, -17, -14, -139, -139, 126, 120, -139, - -139, 120, 120, -5, 10, 29, -6, 10, 29, 10, + 124, 135, 124, -17, -14, -143, -143, 126, 120, -143, + -143, 120, 120, -5, 10, 29, -6, 10, 29, 10, -28, 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, - 156, 153, 154, 157, 159, 158, 160, 127, 82, -82, - 123, -148, -150, -147, 17, 78, -147, -147, -147, -147, - -147, 124, -54, 93, 94, -97, 22, 121, -99, -14, - 120, 32, 33, -100, 31, -100, 120, 136, -107, -14, - 121, -58, -136, -19, 128, 59, -136, -60, -25, 122, - 10, -28, -104, 41, -107, 124, 135, -143, 82, -82, - 119, -115, -109, 135, -43, 136, -38, -93, 125, -125, - -127, -13, -130, 126, -14, -134, 125, 125, -13, -14, - 120, -133, -36, 58, -17, -17, -72, 10, 10, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, -147, -147, 122, -147, -82, -148, 126, + 156, 153, 154, 157, 159, 158, 160, 127, 82, -84, + 123, -125, -126, -81, 17, 78, -81, -81, -81, -81, + -81, 124, -54, 93, 94, -99, 22, 121, -101, -14, + 120, 32, 33, -102, 31, -102, 120, 136, -109, -14, + 121, -58, -140, -19, 128, 59, -140, -60, -25, 122, + 10, -28, -106, 41, -109, 124, 135, -147, 82, -84, + 119, -117, -111, 135, -43, 136, -38, -95, 125, -129, + -131, -13, -134, 126, -14, -138, 125, 125, -13, -14, + 120, -137, -36, 58, -17, -17, -72, 10, 10, -81, + -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, + -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, + -81, -81, -81, -81, -81, 122, -81, -84, -125, 126, -151, 135, 58, 10, 52, 124, 121, -48, -25, -55, - 93, 94, 121, 121, -14, -146, 122, 121, 120, 121, - 31, -28, 124, -137, 58, -19, 123, -137, -86, 136, - -61, 42, 123, 124, -95, 44, -66, -144, 83, -82, - -109, 120, -69, -111, -70, -71, -112, -121, 47, 38, - 44, -79, 103, 102, 101, 98, 99, 100, -45, -138, - -14, 124, -13, 126, -128, 126, -127, -13, -13, 126, - 120, -132, 57, -14, 128, 126, -147, 122, 124, -147, - -147, -25, 95, -48, 122, -99, -146, -86, 121, -95, - 124, -136, -93, 124, 28, -28, 119, -45, 119, 119, - 123, 12, 120, -113, 12, 121, 135, -1, -79, 10, - -117, -45, 126, 120, 126, 126, -130, -17, -147, 58, - 121, 122, -86, 124, -86, 119, -59, -25, 122, 124, - -59, 121, -86, 12, -86, -86, -94, 12, 128, 136, - 121, 135, 136, 10, -143, 136, -142, 135, 121, 119, - -147, -86, -57, -25, 122, -86, -86, 120, 124, 120, + 93, 94, 121, 121, -14, -150, 122, 121, 120, 121, + 31, -28, 124, -141, 58, -19, 123, -141, -88, 136, + -61, 42, 123, 124, -97, 44, -66, -148, 83, -84, + -111, 120, -69, -113, -70, -71, -114, -123, 47, 38, + 44, -79, 103, 102, 101, 98, 99, 100, -45, -142, + -14, 124, -13, 126, -132, 126, -131, -13, -13, 126, + 120, -136, 57, -14, 128, 126, -81, 122, 124, -81, + -81, -25, 95, -48, 122, -101, -150, -88, 121, -97, + 124, -140, -95, 124, 28, -28, 119, -45, 119, 119, + 123, 12, 120, -115, 12, 121, 135, -1, -79, 10, + -119, -45, 126, 120, 126, 126, -134, -17, -81, 58, + 121, 122, -88, 124, -88, 119, -59, -25, 122, 124, + -59, 121, -88, 12, -88, -88, -96, 12, 128, 136, + 121, 135, 136, 10, -147, 136, -146, 135, 121, 119, + -81, -88, -57, -25, 122, -88, -88, 120, 124, 120, 120, 124, 135, 12, -28, 12, -28, 136, 10, -28, - -45, -118, -119, -73, -74, -75, -76, -77, -45, 10, - -86, 120, 26, 119, 12, 128, 136, -28, 123, 120, - -73, 121, 121, 45, 29, 78, 24, 121, -86, 12, - -28, -107, -120, -45, -78, -79, 10, 121, 120, 124, - 135, 10, -105, -106, -62, 41, -141, 121, 119, -45, - -62, 123, -86, -45, 120, 12, 124, 119, -86, 120, + -45, -120, -121, -73, -74, -75, -76, -77, -45, 10, + -88, 120, 26, 119, 12, 128, 136, -28, 123, 120, + -73, 121, 121, 45, 29, 78, 24, 121, -88, 12, + -28, -109, -122, -45, -78, -79, 10, 121, 120, 124, + 135, 10, -107, -108, -62, 41, -145, 121, 119, -45, + -62, 123, -88, -45, 120, 12, 124, 119, -88, 120, } var yyDef = [...]int{ @@ -2233,25 +2233,25 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:235 + //line php5/php5.y:236 { rootnode = stmt.NewStmtList(yyDollar[1].list) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:241 + //line php5/php5.y:242 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:242 + //line php5/php5.y:243 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:247 + //line php5/php5.y:248 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2260,7 +2260,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:254 + //line php5/php5.y:255 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2269,25 +2269,25 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:264 + //line php5/php5.y:265 { yyVAL.node = yyDollar[1].node } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:266 + //line php5/php5.y:267 { yyVAL.node = yyDollar[1].node } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:268 + //line php5/php5.y:269 { yyVAL.node = yyDollar[1].node } case 9: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:270 + //line php5/php5.y:271 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2295,7 +2295,7 @@ yydefault: } case 10: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:276 + //line php5/php5.y:277 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2307,7 +2307,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:286 + //line php5/php5.y:287 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2319,7 +2319,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:296 + //line php5/php5.y:297 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2327,7 +2327,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:302 + //line php5/php5.y:303 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2335,7 +2335,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:308 + //line php5/php5.y:309 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2347,7 +2347,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:318 + //line php5/php5.y:319 { useType := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2359,25 +2359,25 @@ yydefault: } case 16: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:328 + //line php5/php5.y:329 { yyVAL.node = yyDollar[1].node } case 17: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:333 + //line php5/php5.y:334 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:335 + //line php5/php5.y:336 { yyVAL.list = []node.Node{yyDollar[1].node} } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:340 + //line php5/php5.y:341 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2389,7 +2389,7 @@ yydefault: } case 20: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:350 + //line php5/php5.y:351 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2404,7 +2404,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:363 + //line php5/php5.y:364 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2416,7 +2416,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:373 + //line php5/php5.y:374 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2431,19 +2431,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:389 + //line php5/php5.y:390 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:391 + //line php5/php5.y:392 { yyVAL.list = []node.Node{yyDollar[1].node} } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:396 + //line php5/php5.y:397 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2455,7 +2455,7 @@ yydefault: } case 26: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:406 + //line php5/php5.y:407 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2470,7 +2470,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:419 + //line php5/php5.y:420 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2482,7 +2482,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:429 + //line php5/php5.y:430 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2497,19 +2497,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:445 + //line php5/php5.y:446 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:447 + //line php5/php5.y:448 { yyVAL.list = []node.Node{yyDollar[1].node} } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:452 + //line php5/php5.y:453 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2521,7 +2521,7 @@ yydefault: } case 32: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:462 + //line php5/php5.y:463 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2536,7 +2536,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:475 + //line php5/php5.y:476 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2548,7 +2548,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:485 + //line php5/php5.y:486 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2563,7 +2563,7 @@ yydefault: } case 35: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:501 + //line php5/php5.y:502 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2581,7 +2581,7 @@ yydefault: } case 36: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:517 + //line php5/php5.y:518 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2599,37 +2599,37 @@ yydefault: } case 37: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:536 + //line php5/php5.y:537 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 38: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:538 + //line php5/php5.y:539 { yyVAL.list = []node.Node{} } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:544 + //line php5/php5.y:545 { yyVAL.node = yyDollar[1].node } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:546 + //line php5/php5.y:547 { yyVAL.node = yyDollar[1].node } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:548 + //line php5/php5.y:549 { yyVAL.node = yyDollar[1].node } case 42: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:550 + //line php5/php5.y:551 { yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2637,13 +2637,13 @@ yydefault: } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:560 + //line php5/php5.y:561 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:562 + //line php5/php5.y:563 { label := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2655,7 +2655,7 @@ yydefault: } case 45: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:575 + //line php5/php5.y:576 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2663,7 +2663,7 @@ yydefault: } case 46: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:581 + //line php5/php5.y:582 { yyVAL.node = stmt.NewIf(yyDollar[2].node, yyDollar[3].node, yyDollar[4].list, yyDollar[5].node) @@ -2679,7 +2679,7 @@ yydefault: } case 47: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:595 + //line php5/php5.y:596 { stmts := stmt.NewStmtList(yyDollar[4].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[4].list)) @@ -2690,7 +2690,7 @@ yydefault: } case 48: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:604 + //line php5/php5.y:605 { yyVAL.node = stmt.NewWhile(yyDollar[1].token, yyDollar[2].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) @@ -2698,7 +2698,7 @@ yydefault: } case 49: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:610 + //line php5/php5.y:611 { yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -2706,7 +2706,7 @@ yydefault: } case 50: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:616 + //line php5/php5.y:617 { yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) @@ -2714,7 +2714,7 @@ yydefault: } case 51: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:622 + //line php5/php5.y:623 { yyVAL.node = stmt.NewSwitch(yyDollar[1].token, yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) @@ -2722,7 +2722,7 @@ yydefault: } case 52: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:628 + //line php5/php5.y:629 { yyVAL.node = stmt.NewBreak(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2730,7 +2730,7 @@ yydefault: } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:634 + //line php5/php5.y:635 { yyVAL.node = stmt.NewBreak(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2738,7 +2738,7 @@ yydefault: } case 54: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:640 + //line php5/php5.y:641 { yyVAL.node = stmt.NewContinue(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2746,7 +2746,7 @@ yydefault: } case 55: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:646 + //line php5/php5.y:647 { yyVAL.node = stmt.NewContinue(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2754,7 +2754,7 @@ yydefault: } case 56: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:652 + //line php5/php5.y:653 { yyVAL.node = stmt.NewReturn(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2762,7 +2762,7 @@ yydefault: } case 57: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:658 + //line php5/php5.y:659 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2770,7 +2770,7 @@ yydefault: } case 58: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:664 + //line php5/php5.y:665 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2778,13 +2778,13 @@ yydefault: } case 59: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:670 + //line php5/php5.y:671 { yyVAL.node = yyDollar[1].node } case 60: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:672 + //line php5/php5.y:673 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2792,7 +2792,7 @@ yydefault: } case 61: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:678 + //line php5/php5.y:679 { yyVAL.node = stmt.NewStatic(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2800,7 +2800,7 @@ yydefault: } case 62: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:684 + //line php5/php5.y:685 { yyVAL.node = stmt.NewEcho(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2808,7 +2808,7 @@ yydefault: } case 63: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:690 + //line php5/php5.y:691 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2816,13 +2816,13 @@ yydefault: } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:696 + //line php5/php5.y:697 { yyVAL.node = yyDollar[1].node } case 65: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:698 + //line php5/php5.y:699 { yyVAL.node = stmt.NewUnset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -2830,7 +2830,7 @@ yydefault: } case 66: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:704 + //line php5/php5.y:705 { if yyDollar[6].foreachVariable.node == nil { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].node, yyDollar[5].foreachVariable.byRef) @@ -2842,7 +2842,7 @@ yydefault: } case 67: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:714 + //line php5/php5.y:715 { if yyDollar[6].foreachVariable.node == nil { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].node, yyDollar[5].foreachVariable.byRef) @@ -2854,7 +2854,7 @@ yydefault: } case 68: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:724 + //line php5/php5.y:725 { yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -2862,7 +2862,7 @@ yydefault: } case 69: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:730 + //line php5/php5.y:731 { yyVAL.node = stmt.NewNop() positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2870,7 +2870,7 @@ yydefault: } case 70: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:736 + //line php5/php5.y:737 { yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) @@ -2884,7 +2884,7 @@ yydefault: } case 71: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:748 + //line php5/php5.y:749 { yyVAL.node = stmt.NewThrow(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2892,7 +2892,7 @@ yydefault: } case 72: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:754 + //line php5/php5.y:755 { label := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2904,13 +2904,13 @@ yydefault: } case 73: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:767 + //line php5/php5.y:768 { yyVAL.list = []node.Node{} } case 74: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:769 + //line php5/php5.y:770 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -2928,13 +2928,13 @@ yydefault: } case 75: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:787 + //line php5/php5.y:788 { yyVAL.node = nil } case 76: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:789 + //line php5/php5.y:790 { yyVAL.node = stmt.NewFinally(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2942,31 +2942,31 @@ yydefault: } case 77: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:798 + //line php5/php5.y:799 { yyVAL.list = yyDollar[1].list } case 78: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:800 + //line php5/php5.y:801 { yyVAL.list = []node.Node{} } case 79: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:805 + //line php5/php5.y:806 { yyVAL.list = []node.Node{yyDollar[1].node} } case 80: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:807 + //line php5/php5.y:808 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 81: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:812 + //line php5/php5.y:813 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -2982,61 +2982,61 @@ yydefault: } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:829 + //line php5/php5.y:830 { yyVAL.list = []node.Node{yyDollar[1].node} } case 83: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:831 + //line php5/php5.y:832 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 84: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:836 + //line php5/php5.y:837 { yyVAL.node = yyDollar[1].node } case 85: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:841 + //line php5/php5.y:842 { yyVAL.node = yyDollar[1].node } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:846 + //line php5/php5.y:847 { yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:851 + //line php5/php5.y:852 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 88: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:853 + //line php5/php5.y:854 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 89: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:858 + //line php5/php5.y:859 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 90: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:860 + //line php5/php5.y:861 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 91: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:865 + //line php5/php5.y:866 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3048,7 +3048,7 @@ yydefault: } case 92: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:878 + //line php5/php5.y:879 { switch n := yyDollar[1].node.(type) { case *stmt.Class: @@ -3071,7 +3071,7 @@ yydefault: } case 93: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:899 + //line php5/php5.y:900 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3083,7 +3083,7 @@ yydefault: } case 94: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:913 + //line php5/php5.y:914 { yyVAL.node = stmt.NewClass(nil, nil, nil, nil, nil, nil, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3091,7 +3091,7 @@ yydefault: } case 95: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:919 + //line php5/php5.y:920 { classModifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(classModifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3103,7 +3103,7 @@ yydefault: } case 96: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:929 + //line php5/php5.y:930 { yyVAL.node = stmt.NewTrait(nil, nil, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3111,7 +3111,7 @@ yydefault: } case 97: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:935 + //line php5/php5.y:936 { classModifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(classModifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3123,85 +3123,85 @@ yydefault: } case 98: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:948 + //line php5/php5.y:949 { yyVAL.node = nil } case 99: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:950 + //line php5/php5.y:951 { yyVAL.node = yyDollar[2].node } case 100: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:955 + //line php5/php5.y:956 { yyVAL.token = yyDollar[1].token } case 101: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:960 + //line php5/php5.y:961 { yyVAL.list = nil } case 102: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:962 + //line php5/php5.y:963 { yyVAL.list = yyDollar[2].list } case 103: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:967 + //line php5/php5.y:968 { yyVAL.list = nil } case 104: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:969 + //line php5/php5.y:970 { yyVAL.list = yyDollar[2].list } case 105: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:974 + //line php5/php5.y:975 { yyVAL.list = []node.Node{yyDollar[1].node} } case 106: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:976 + //line php5/php5.y:977 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 107: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:981 + //line php5/php5.y:982 { yyVAL.foreachVariable = foreachVariable{nil, false} } case 108: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:983 + //line php5/php5.y:984 { yyVAL.foreachVariable = yyDollar[2].foreachVariable } case 109: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:988 + //line php5/php5.y:989 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 110: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:990 + //line php5/php5.y:991 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 111: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:992 + //line php5/php5.y:993 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3210,13 +3210,13 @@ yydefault: } case 112: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1002 + //line php5/php5.y:1003 { yyVAL.node = yyDollar[1].node } case 113: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1004 + //line php5/php5.y:1005 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3224,13 +3224,13 @@ yydefault: } case 114: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1014 + //line php5/php5.y:1015 { yyVAL.node = yyDollar[1].node } case 115: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1016 + //line php5/php5.y:1017 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3238,13 +3238,13 @@ yydefault: } case 116: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1026 + //line php5/php5.y:1027 { yyVAL.node = yyDollar[1].node } case 117: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1028 + //line php5/php5.y:1029 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3252,7 +3252,7 @@ yydefault: } case 118: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1038 + //line php5/php5.y:1039 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3266,7 +3266,7 @@ yydefault: } case 119: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1050 + //line php5/php5.y:1051 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3280,37 +3280,37 @@ yydefault: } case 120: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1066 + //line php5/php5.y:1067 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 121: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1068 + //line php5/php5.y:1069 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} } case 122: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1070 + //line php5/php5.y:1071 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 123: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1072 + //line php5/php5.y:1073 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} } case 124: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1078 + //line php5/php5.y:1079 { yyVAL.list = []node.Node{} } case 125: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1080 + //line php5/php5.y:1081 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) @@ -3319,7 +3319,7 @@ yydefault: } case 126: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1087 + //line php5/php5.y:1088 { _default := stmt.NewDefault(yyDollar[4].list) positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) @@ -3328,26 +3328,26 @@ yydefault: } case 129: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1104 + //line php5/php5.y:1105 { yyVAL.node = yyDollar[1].node } case 130: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1106 + //line php5/php5.y:1107 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 131: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1116 + //line php5/php5.y:1117 { yyVAL.list = []node.Node{} } case 132: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1118 + //line php5/php5.y:1119 { _elseIf := stmt.NewElseIf(yyDollar[3].node, yyDollar[4].node) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node)) @@ -3357,13 +3357,13 @@ yydefault: } case 133: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1130 + //line php5/php5.y:1131 { yyVAL.list = []node.Node{} } case 134: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1132 + //line php5/php5.y:1133 { stmts := stmt.NewStmtList(yyDollar[5].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[5].list)) @@ -3376,13 +3376,13 @@ yydefault: } case 135: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1147 + //line php5/php5.y:1148 { yyVAL.node = nil } case 136: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1149 + //line php5/php5.y:1150 { yyVAL.node = stmt.NewElse(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3390,13 +3390,13 @@ yydefault: } case 137: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1159 + //line php5/php5.y:1160 { yyVAL.node = nil } case 138: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1161 + //line php5/php5.y:1162 { stmts := stmt.NewStmtList(yyDollar[3].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[3].list)) @@ -3407,31 +3407,31 @@ yydefault: } case 139: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1174 + //line php5/php5.y:1175 { yyVAL.list = yyDollar[1].list } case 140: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1176 + //line php5/php5.y:1177 { yyVAL.list = nil } case 141: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1181 + //line php5/php5.y:1182 { yyVAL.list = []node.Node{yyDollar[1].node} } case 142: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1183 + //line php5/php5.y:1184 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 143: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1188 + //line php5/php5.y:1189 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3459,7 +3459,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1214 + //line php5/php5.y:1215 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3487,13 +3487,13 @@ yydefault: } case 145: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1244 + //line php5/php5.y:1245 { yyVAL.node = nil } case 146: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1246 + //line php5/php5.y:1247 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3501,7 +3501,7 @@ yydefault: } case 147: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1252 + //line php5/php5.y:1253 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3509,25 +3509,25 @@ yydefault: } case 148: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1258 + //line php5/php5.y:1259 { yyVAL.node = yyDollar[1].node } case 149: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1264 + //line php5/php5.y:1265 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1266 + //line php5/php5.y:1267 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 151: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1268 + //line php5/php5.y:1269 { arg := node.NewArgument(yyDollar[2].node, false, false) positions.AddPosition(arg, positionBuilder.NewNodePosition(yyDollar[2].node)) @@ -3537,19 +3537,19 @@ yydefault: } case 152: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1280 + //line php5/php5.y:1281 { yyVAL.list = []node.Node{yyDollar[1].node} } case 153: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1282 + //line php5/php5.y:1283 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 154: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1287 + //line php5/php5.y:1288 { yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -3557,7 +3557,7 @@ yydefault: } case 155: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1293 + //line php5/php5.y:1294 { yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -3565,7 +3565,7 @@ yydefault: } case 156: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1299 + //line php5/php5.y:1300 { yyVAL.node = node.NewArgument(yyDollar[2].node, false, true) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[2].node)) @@ -3573,7 +3573,7 @@ yydefault: } case 157: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1305 + //line php5/php5.y:1306 { yyVAL.node = node.NewArgument(yyDollar[2].node, true, false) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3581,19 +3581,19 @@ yydefault: } case 158: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1314 + //line php5/php5.y:1315 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 159: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1316 + //line php5/php5.y:1317 { yyVAL.list = []node.Node{yyDollar[1].node} } case 160: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1322 + //line php5/php5.y:1323 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3605,7 +3605,7 @@ yydefault: } case 161: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1332 + //line php5/php5.y:1333 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3613,7 +3613,7 @@ yydefault: } case 162: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1338 + //line php5/php5.y:1339 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3621,7 +3621,7 @@ yydefault: } case 163: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1348 + //line php5/php5.y:1349 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3640,7 +3640,7 @@ yydefault: } case 164: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1365 + //line php5/php5.y:1366 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3659,7 +3659,7 @@ yydefault: } case 165: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1382 + //line php5/php5.y:1383 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3678,7 +3678,7 @@ yydefault: } case 166: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1399 + //line php5/php5.y:1400 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3697,19 +3697,19 @@ yydefault: } case 167: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1421 + //line php5/php5.y:1422 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 168: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1423 + //line php5/php5.y:1424 { yyVAL.list = []node.Node{} } case 169: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1429 + //line php5/php5.y:1430 { yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) @@ -3717,19 +3717,19 @@ yydefault: } case 170: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1435 + //line php5/php5.y:1436 { yyVAL.node = yyDollar[1].node } case 171: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1437 + //line php5/php5.y:1438 { yyVAL.node = yyDollar[1].node } case 172: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:1439 + //line php5/php5.y:1440 { name := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3741,7 +3741,7 @@ yydefault: } case 173: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1452 + //line php5/php5.y:1453 { yyVAL.node = stmt.NewTraitUse(yyDollar[2].list, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) @@ -3749,67 +3749,67 @@ yydefault: } case 174: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1461 + //line php5/php5.y:1462 { yyVAL.list = []node.Node{yyDollar[1].node} } case 175: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1463 + //line php5/php5.y:1464 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 176: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1468 + //line php5/php5.y:1469 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 177: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1470 + //line php5/php5.y:1471 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 178: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1475 + //line php5/php5.y:1476 { yyVAL.list = nil } case 179: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1477 + //line php5/php5.y:1478 { yyVAL.list = yyDollar[1].list } case 180: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1482 + //line php5/php5.y:1483 { yyVAL.list = []node.Node{yyDollar[1].node} } case 181: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1484 + //line php5/php5.y:1485 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 182: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1489 + //line php5/php5.y:1490 { yyVAL.node = yyDollar[1].node } case 183: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1491 + //line php5/php5.y:1492 { yyVAL.node = yyDollar[1].node } case 184: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1496 + //line php5/php5.y:1497 { name := name.NewName(yyDollar[3].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[3].list)) @@ -3821,19 +3821,19 @@ yydefault: } case 185: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1509 + //line php5/php5.y:1510 { yyVAL.list = []node.Node{yyDollar[1].node} } case 186: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1511 + //line php5/php5.y:1512 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1516 + //line php5/php5.y:1517 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3845,13 +3845,13 @@ yydefault: } case 188: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1526 + //line php5/php5.y:1527 { yyVAL.node = yyDollar[1].node } case 189: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1531 + //line php5/php5.y:1532 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3863,7 +3863,7 @@ yydefault: } case 190: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1544 + //line php5/php5.y:1545 { alias := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3875,7 +3875,7 @@ yydefault: } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1554 + //line php5/php5.y:1555 { yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -3883,37 +3883,37 @@ yydefault: } case 192: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1563 + //line php5/php5.y:1564 { yyVAL.node = nil } case 193: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1565 + //line php5/php5.y:1566 { yyVAL.node = yyDollar[1].node } case 194: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1570 + //line php5/php5.y:1571 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 195: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1572 + //line php5/php5.y:1573 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 196: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1577 + //line php5/php5.y:1578 { yyVAL.list = yyDollar[1].list } case 197: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1579 + //line php5/php5.y:1580 { modifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(modifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3923,31 +3923,31 @@ yydefault: } case 198: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1590 + //line php5/php5.y:1591 { yyVAL.list = nil } case 199: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1592 + //line php5/php5.y:1593 { yyVAL.list = yyDollar[1].list } case 200: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1597 + //line php5/php5.y:1598 { yyVAL.list = []node.Node{yyDollar[1].node} } case 201: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1599 + //line php5/php5.y:1600 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 202: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1604 + //line php5/php5.y:1605 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3955,7 +3955,7 @@ yydefault: } case 203: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1610 + //line php5/php5.y:1611 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3963,7 +3963,7 @@ yydefault: } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1616 + //line php5/php5.y:1617 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3971,7 +3971,7 @@ yydefault: } case 205: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1622 + //line php5/php5.y:1623 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3979,7 +3979,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1628 + //line php5/php5.y:1629 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3987,7 +3987,7 @@ yydefault: } case 207: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1634 + //line php5/php5.y:1635 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3995,7 +3995,7 @@ yydefault: } case 208: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1643 + //line php5/php5.y:1644 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4013,7 +4013,7 @@ yydefault: } case 209: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1659 + //line php5/php5.y:1660 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4031,7 +4031,7 @@ yydefault: } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1675 + //line php5/php5.y:1676 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4049,7 +4049,7 @@ yydefault: } case 211: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1691 + //line php5/php5.y:1692 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4067,7 +4067,7 @@ yydefault: } case 212: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1710 + //line php5/php5.y:1711 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4084,7 +4084,7 @@ yydefault: } case 213: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1725 + //line php5/php5.y:1726 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4100,55 +4100,55 @@ yydefault: } case 214: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1742 + //line php5/php5.y:1743 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 215: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1744 + //line php5/php5.y:1745 { yyVAL.list = []node.Node{yyDollar[1].node} } case 216: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1750 + //line php5/php5.y:1751 { yyVAL.list = nil } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1752 + //line php5/php5.y:1753 { yyVAL.list = yyDollar[1].list } case 218: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1757 + //line php5/php5.y:1758 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 219: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1759 + //line php5/php5.y:1760 { yyVAL.list = []node.Node{yyDollar[1].node} } case 220: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1764 + //line php5/php5.y:1765 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 221: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1766 + //line php5/php5.y:1767 { yyVAL.list = yyDollar[1].list } case 222: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1771 + //line php5/php5.y:1772 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -4157,7 +4157,7 @@ yydefault: } case 223: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1778 + //line php5/php5.y:1779 { fetch := expr.NewArrayDimFetch(nil, yyDollar[2].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[2].node)) @@ -4166,37 +4166,37 @@ yydefault: } case 224: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1788 + //line php5/php5.y:1789 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 225: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1790 + //line php5/php5.y:1791 { yyVAL.list = yyDollar[1].list } case 226: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1792 + //line php5/php5.y:1793 { yyVAL.list = yyDollar[1].list } case 227: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1797 + //line php5/php5.y:1798 { yyVAL.list = nil } case 228: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1799 + //line php5/php5.y:1800 { yyVAL.list = yyDollar[1].list } case 229: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1804 + //line php5/php5.y:1805 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -4210,7 +4210,7 @@ yydefault: } case 230: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1819 + //line php5/php5.y:1820 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4222,7 +4222,7 @@ yydefault: } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1829 + //line php5/php5.y:1830 { yyVAL.node = assign_op.NewAssign(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4230,7 +4230,7 @@ yydefault: } case 232: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1835 + //line php5/php5.y:1836 { yyVAL.node = assign_op.NewAssignRef(yyDollar[1].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -4238,7 +4238,7 @@ yydefault: } case 233: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1841 + //line php5/php5.y:1842 { _new := expr.NewNew(yyDollar[5].node, nil) positions.AddPosition(_new, positionBuilder.NewTokenNodePosition(yyDollar[4].token, yyDollar[5].node)) @@ -4255,7 +4255,7 @@ yydefault: } case 234: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1856 + //line php5/php5.y:1857 { yyVAL.node = expr.NewClone(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4263,7 +4263,7 @@ yydefault: } case 235: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1862 + //line php5/php5.y:1863 { yyVAL.node = assign_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4271,7 +4271,7 @@ yydefault: } case 236: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1868 + //line php5/php5.y:1869 { yyVAL.node = assign_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4279,7 +4279,7 @@ yydefault: } case 237: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1874 + //line php5/php5.y:1875 { yyVAL.node = assign_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4287,7 +4287,7 @@ yydefault: } case 238: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1880 + //line php5/php5.y:1881 { yyVAL.node = assign_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4295,7 +4295,7 @@ yydefault: } case 239: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1886 + //line php5/php5.y:1887 { yyVAL.node = assign_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4303,7 +4303,7 @@ yydefault: } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1892 + //line php5/php5.y:1893 { yyVAL.node = assign_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4311,7 +4311,7 @@ yydefault: } case 241: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1898 + //line php5/php5.y:1899 { yyVAL.node = assign_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4319,7 +4319,7 @@ yydefault: } case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1904 + //line php5/php5.y:1905 { yyVAL.node = assign_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4327,7 +4327,7 @@ yydefault: } case 243: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1910 + //line php5/php5.y:1911 { yyVAL.node = assign_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4335,7 +4335,7 @@ yydefault: } case 244: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1916 + //line php5/php5.y:1917 { yyVAL.node = assign_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4343,7 +4343,7 @@ yydefault: } case 245: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1922 + //line php5/php5.y:1923 { yyVAL.node = assign_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4351,7 +4351,7 @@ yydefault: } case 246: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1928 + //line php5/php5.y:1929 { yyVAL.node = assign_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4359,7 +4359,7 @@ yydefault: } case 247: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1934 + //line php5/php5.y:1935 { yyVAL.node = expr.NewPostInc(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -4367,7 +4367,7 @@ yydefault: } case 248: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1940 + //line php5/php5.y:1941 { yyVAL.node = expr.NewPreInc(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4375,7 +4375,7 @@ yydefault: } case 249: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1946 + //line php5/php5.y:1947 { yyVAL.node = expr.NewPostDec(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -4383,7 +4383,7 @@ yydefault: } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1952 + //line php5/php5.y:1953 { yyVAL.node = expr.NewPreDec(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4391,7 +4391,7 @@ yydefault: } case 251: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1958 + //line php5/php5.y:1959 { yyVAL.node = binary_op.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4399,7 +4399,7 @@ yydefault: } case 252: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1964 + //line php5/php5.y:1965 { yyVAL.node = binary_op.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4407,7 +4407,7 @@ yydefault: } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1970 + //line php5/php5.y:1971 { yyVAL.node = binary_op.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4415,7 +4415,7 @@ yydefault: } case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1976 + //line php5/php5.y:1977 { yyVAL.node = binary_op.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4423,7 +4423,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1982 + //line php5/php5.y:1983 { yyVAL.node = binary_op.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4431,7 +4431,7 @@ yydefault: } case 256: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1988 + //line php5/php5.y:1989 { yyVAL.node = binary_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4439,7 +4439,7 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1994 + //line php5/php5.y:1995 { yyVAL.node = binary_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4447,7 +4447,7 @@ yydefault: } case 258: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2000 + //line php5/php5.y:2001 { yyVAL.node = binary_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4455,7 +4455,7 @@ yydefault: } case 259: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2006 + //line php5/php5.y:2007 { yyVAL.node = binary_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4463,7 +4463,7 @@ yydefault: } case 260: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2012 + //line php5/php5.y:2013 { yyVAL.node = binary_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4471,7 +4471,7 @@ yydefault: } case 261: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2018 + //line php5/php5.y:2019 { yyVAL.node = binary_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4479,7 +4479,7 @@ yydefault: } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2024 + //line php5/php5.y:2025 { yyVAL.node = binary_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4487,7 +4487,7 @@ yydefault: } case 263: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2030 + //line php5/php5.y:2031 { yyVAL.node = binary_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4495,7 +4495,7 @@ yydefault: } case 264: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2036 + //line php5/php5.y:2037 { yyVAL.node = binary_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4503,7 +4503,7 @@ yydefault: } case 265: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2042 + //line php5/php5.y:2043 { yyVAL.node = binary_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4511,7 +4511,7 @@ yydefault: } case 266: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2048 + //line php5/php5.y:2049 { yyVAL.node = binary_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4519,7 +4519,7 @@ yydefault: } case 267: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2054 + //line php5/php5.y:2055 { yyVAL.node = binary_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4527,7 +4527,7 @@ yydefault: } case 268: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2060 + //line php5/php5.y:2061 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4535,7 +4535,7 @@ yydefault: } case 269: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2066 + //line php5/php5.y:2067 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4543,7 +4543,7 @@ yydefault: } case 270: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2072 + //line php5/php5.y:2073 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4551,7 +4551,7 @@ yydefault: } case 271: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2078 + //line php5/php5.y:2079 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4559,7 +4559,7 @@ yydefault: } case 272: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2084 + //line php5/php5.y:2085 { yyVAL.node = binary_op.NewIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4567,7 +4567,7 @@ yydefault: } case 273: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2090 + //line php5/php5.y:2091 { yyVAL.node = binary_op.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4575,7 +4575,7 @@ yydefault: } case 274: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2096 + //line php5/php5.y:2097 { yyVAL.node = binary_op.NewEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4583,7 +4583,7 @@ yydefault: } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2102 + //line php5/php5.y:2103 { yyVAL.node = binary_op.NewNotEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4591,7 +4591,7 @@ yydefault: } case 276: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2108 + //line php5/php5.y:2109 { yyVAL.node = binary_op.NewSmaller(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4599,7 +4599,7 @@ yydefault: } case 277: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2114 + //line php5/php5.y:2115 { yyVAL.node = binary_op.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4607,7 +4607,7 @@ yydefault: } case 278: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2120 + //line php5/php5.y:2121 { yyVAL.node = binary_op.NewGreater(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4615,7 +4615,7 @@ yydefault: } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2126 + //line php5/php5.y:2127 { yyVAL.node = binary_op.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4623,7 +4623,7 @@ yydefault: } case 280: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2132 + //line php5/php5.y:2133 { yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4631,19 +4631,19 @@ yydefault: } case 281: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2138 + //line php5/php5.y:2139 { yyVAL.node = yyDollar[1].node } case 282: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2140 + //line php5/php5.y:2141 { yyVAL.node = yyDollar[1].node } case 283: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2142 + //line php5/php5.y:2143 { yyVAL.node = yyDollar[2].node @@ -4671,7 +4671,7 @@ yydefault: } case 284: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2168 + //line php5/php5.y:2169 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) @@ -4679,7 +4679,7 @@ yydefault: } case 285: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2174 + //line php5/php5.y:2175 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -4687,13 +4687,13 @@ yydefault: } case 286: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2180 + //line php5/php5.y:2181 { yyVAL.node = yyDollar[1].node } case 287: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2182 + //line php5/php5.y:2183 { yyVAL.node = cast.NewCastInt(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4701,7 +4701,7 @@ yydefault: } case 288: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2188 + //line php5/php5.y:2189 { yyVAL.node = cast.NewCastDouble(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4709,7 +4709,7 @@ yydefault: } case 289: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2194 + //line php5/php5.y:2195 { yyVAL.node = cast.NewCastString(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4717,7 +4717,7 @@ yydefault: } case 290: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2200 + //line php5/php5.y:2201 { yyVAL.node = cast.NewCastArray(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4725,7 +4725,7 @@ yydefault: } case 291: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2206 + //line php5/php5.y:2207 { yyVAL.node = cast.NewCastObject(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4733,7 +4733,7 @@ yydefault: } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2212 + //line php5/php5.y:2213 { yyVAL.node = cast.NewCastBool(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4741,7 +4741,7 @@ yydefault: } case 293: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2218 + //line php5/php5.y:2219 { yyVAL.node = cast.NewCastUnset(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4749,7 +4749,7 @@ yydefault: } case 294: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2224 + //line php5/php5.y:2225 { yyVAL.node = expr.NewExit(yyDollar[2].node, strings.EqualFold(yyDollar[1].token.Value, "die")) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4757,7 +4757,7 @@ yydefault: } case 295: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2230 + //line php5/php5.y:2231 { yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4765,25 +4765,25 @@ yydefault: } case 296: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2236 + //line php5/php5.y:2237 { yyVAL.node = yyDollar[1].node } case 297: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2238 + //line php5/php5.y:2239 { yyVAL.node = yyDollar[1].node } case 298: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2240 + //line php5/php5.y:2241 { yyVAL.node = yyDollar[1].node } case 299: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2242 + //line php5/php5.y:2243 { yyVAL.node = expr.NewShellExec(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4791,7 +4791,7 @@ yydefault: } case 300: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2248 + //line php5/php5.y:2249 { yyVAL.node = expr.NewPrint(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4799,7 +4799,7 @@ yydefault: } case 301: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2254 + //line php5/php5.y:2255 { yyVAL.node = expr.NewYield(nil, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4807,7 +4807,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:2260 + //line php5/php5.y:2261 { yyVAL.node = expr.NewClosure(yyDollar[4].list, yyDollar[6].list, nil, yyDollar[8].list, false, yyDollar[2].boolWithToken.value, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[9].token)) @@ -4816,7 +4816,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:2267 + //line php5/php5.y:2268 { yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, nil, yyDollar[9].list, true, yyDollar[3].boolWithToken.value, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[10].token)) @@ -4825,7 +4825,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2277 + //line php5/php5.y:2278 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4833,7 +4833,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2283 + //line php5/php5.y:2284 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4841,7 +4841,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2289 + //line php5/php5.y:2290 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) @@ -4849,7 +4849,7 @@ yydefault: } case 307: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2295 + //line php5/php5.y:2296 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) @@ -4857,7 +4857,7 @@ yydefault: } case 308: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2304 + //line php5/php5.y:2305 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4865,7 +4865,7 @@ yydefault: } case 309: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2310 + //line php5/php5.y:2311 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4873,7 +4873,7 @@ yydefault: } case 310: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2316 + //line php5/php5.y:2317 { str := scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(str, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4885,7 +4885,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2326 + //line php5/php5.y:2327 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4893,7 +4893,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2335 + //line php5/php5.y:2336 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4901,7 +4901,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2341 + //line php5/php5.y:2342 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4909,25 +4909,25 @@ yydefault: } case 314: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2350 + //line php5/php5.y:2351 { yyVAL.token = yyDollar[1].token } case 315: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2355 + //line php5/php5.y:2356 { yyVAL.list = []node.Node{} } case 316: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2357 + //line php5/php5.y:2358 { yyVAL.list = yyDollar[3].list } case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2362 + //line php5/php5.y:2363 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4945,7 +4945,7 @@ yydefault: } case 318: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2378 + //line php5/php5.y:2379 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -4963,7 +4963,7 @@ yydefault: } case 319: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2394 + //line php5/php5.y:2395 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4981,7 +4981,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2410 + //line php5/php5.y:2411 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4999,7 +4999,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2429 + //line php5/php5.y:2430 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5011,7 +5011,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2439 + //line php5/php5.y:2440 { funcName := name.NewRelative(yyDollar[3].list) positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5023,7 +5023,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2449 + //line php5/php5.y:2450 { funcName := name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5035,7 +5035,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2459 + //line php5/php5.y:2460 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -5043,7 +5043,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2465 + //line php5/php5.y:2466 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -5051,7 +5051,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2471 + //line php5/php5.y:2472 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -5059,7 +5059,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2477 + //line php5/php5.y:2478 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -5067,7 +5067,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2483 + //line php5/php5.y:2484 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) @@ -5075,7 +5075,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2492 + //line php5/php5.y:2493 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5083,7 +5083,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2498 + //line php5/php5.y:2499 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5091,7 +5091,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2504 + //line php5/php5.y:2505 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5099,7 +5099,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2510 + //line php5/php5.y:2511 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5107,7 +5107,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2519 + //line php5/php5.y:2520 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5115,7 +5115,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2525 + //line php5/php5.y:2526 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5123,7 +5123,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2531 + //line php5/php5.y:2532 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5131,19 +5131,19 @@ yydefault: } case 336: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2540 + //line php5/php5.y:2541 { yyVAL.node = yyDollar[1].node } case 337: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2542 + //line php5/php5.y:2543 { yyVAL.node = yyDollar[1].node } case 338: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2547 + //line php5/php5.y:2548 { yyVAL.node = yyDollar[1].node @@ -5193,79 +5193,79 @@ yydefault: } case 339: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2595 + //line php5/php5.y:2596 { yyVAL.node = yyDollar[1].node } case 340: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2601 + //line php5/php5.y:2602 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 341: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2603 + //line php5/php5.y:2604 { yyVAL.list = []node.Node{} } case 342: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2609 + //line php5/php5.y:2610 { yyVAL.list = yyDollar[2].list } case 343: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2614 + //line php5/php5.y:2615 { yyVAL.node = nil } case 344: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2616 + //line php5/php5.y:2617 { yyVAL.node = nil } case 345: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2618 + //line php5/php5.y:2619 { yyVAL.node = yyDollar[1].node } case 346: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2623 + //line php5/php5.y:2624 { yyVAL.list = []node.Node{} } case 347: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2625 + //line php5/php5.y:2626 { yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value)} } case 348: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2627 + //line php5/php5.y:2628 { yyVAL.list = yyDollar[1].list } case 349: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2632 + //line php5/php5.y:2633 { yyVAL.nodesWithEndToken = nil } case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2634 + //line php5/php5.y:2635 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } case 351: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2639 + //line php5/php5.y:2640 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5273,7 +5273,7 @@ yydefault: } case 352: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2645 + //line php5/php5.y:2646 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5281,7 +5281,7 @@ yydefault: } case 353: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2651 + //line php5/php5.y:2652 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5289,7 +5289,7 @@ yydefault: } case 354: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2657 + //line php5/php5.y:2658 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5297,7 +5297,7 @@ yydefault: } case 355: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2663 + //line php5/php5.y:2664 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5305,7 +5305,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2669 + //line php5/php5.y:2670 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5313,7 +5313,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2675 + //line php5/php5.y:2676 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5321,7 +5321,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2681 + //line php5/php5.y:2682 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5329,7 +5329,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2687 + //line php5/php5.y:2688 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5337,7 +5337,7 @@ yydefault: } case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2693 + //line php5/php5.y:2694 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5345,7 +5345,7 @@ yydefault: } case 361: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2699 + //line php5/php5.y:2700 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ @@ -5353,7 +5353,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2704 + //line php5/php5.y:2705 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -5361,7 +5361,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2713 + //line php5/php5.y:2714 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5373,233 +5373,353 @@ yydefault: } case 364: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2725 + //line php5/php5.y:2727 { + yyVAL.node = yyDollar[1].node } case 365: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2729 + //line php5/php5.y:2732 { + yyVAL.node = yyDollar[1].node } case 366: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2730 + //line php5/php5.y:2734 { + yyVAL.node = yyDollar[1].node } case 367: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2731 + //line php5/php5.y:2736 { + yyVAL.node = name.NewName(yyDollar[1].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } case 368: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2732 + //line php5/php5.y:2742 { + yyVAL.node = name.NewRelative(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 369: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2733 + //line php5/php5.y:2748 { + yyVAL.node = name.NewFullyQualified(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 370: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2734 + //line php5/php5.y:2754 { + yyVAL.node = expr.NewArray(yyDollar[3].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 371: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2735 + //line php5/php5.y:2760 { + yyVAL.node = expr.NewShortArray(yyDollar[2].list) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 372: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2736 + //line php5/php5.y:2766 { + yyVAL.node = yyDollar[1].node } case 373: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2737 + //line php5/php5.y:2768 { + yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 374: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2738 + //line php5/php5.y:2774 { + yyVAL.node = yyDollar[1].node } case 375: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2742 + //line php5/php5.y:2779 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 376: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2743 + //line php5/php5.y:2785 { + yyVAL.node = binary_op.NewPlus(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 377: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2744 + //line php5/php5.y:2791 { + yyVAL.node = binary_op.NewMinus(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 378: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2745 + //line php5/php5.y:2797 { + yyVAL.node = binary_op.NewMul(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 379: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2746 + //line php5/php5.y:2803 { + yyVAL.node = binary_op.NewPow(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 380: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2747 + //line php5/php5.y:2809 { + yyVAL.node = binary_op.NewDiv(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 381: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2748 + //line php5/php5.y:2815 { + yyVAL.node = binary_op.NewMod(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 382: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2749 + //line php5/php5.y:2821 { + yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 383: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2750 + //line php5/php5.y:2827 { + yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 384: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2751 + //line php5/php5.y:2833 { + yyVAL.node = binary_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 385: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2752 + //line php5/php5.y:2839 { + yyVAL.node = binary_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 386: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2753 + //line php5/php5.y:2845 { + yyVAL.node = binary_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 387: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2754 + //line php5/php5.y:2851 { + yyVAL.node = binary_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 388: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2755 + //line php5/php5.y:2857 { + yyVAL.node = binary_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 389: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2756 + //line php5/php5.y:2863 { + yyVAL.node = binary_op.NewConcat(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 390: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2757 + //line php5/php5.y:2869 { + yyVAL.node = binary_op.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 391: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2758 + //line php5/php5.y:2875 { + yyVAL.node = binary_op.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 392: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2759 + //line php5/php5.y:2881 { + yyVAL.node = binary_op.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 393: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2760 + //line php5/php5.y:2887 { + yyVAL.node = binary_op.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 394: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2761 + //line php5/php5.y:2893 { + yyVAL.node = binary_op.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 395: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2762 + //line php5/php5.y:2899 { + yyVAL.node = binary_op.NewIdentical(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 396: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2763 + //line php5/php5.y:2905 { + yyVAL.node = binary_op.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 397: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2764 + //line php5/php5.y:2911 { + yyVAL.node = binary_op.NewEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 398: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2765 + //line php5/php5.y:2917 { + yyVAL.node = binary_op.NewNotEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 399: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2766 + //line php5/php5.y:2923 { + yyVAL.node = binary_op.NewSmaller(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 400: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2767 + //line php5/php5.y:2929 { + yyVAL.node = binary_op.NewGreater(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 401: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2768 + //line php5/php5.y:2935 { + yyVAL.node = binary_op.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 402: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2769 + //line php5/php5.y:2941 { + yyVAL.node = binary_op.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 403: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2770 + //line php5/php5.y:2947 { + yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 404: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2771 + //line php5/php5.y:2953 { + yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 405: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2772 + //line php5/php5.y:2959 { + yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 406: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2773 + //line php5/php5.y:2965 { + yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) + comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 407: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2774 + //line php5/php5.y:2971 { + yyVAL.node = yyDollar[2].node } case 408: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2779 + //line php5/php5.y:2976 { yyVAL.node = yyDollar[1].node } case 409: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2781 + //line php5/php5.y:2978 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5607,7 +5727,7 @@ yydefault: } case 410: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2787 + //line php5/php5.y:2984 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5615,7 +5735,7 @@ yydefault: } case 411: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2793 + //line php5/php5.y:2990 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5623,7 +5743,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2802 + //line php5/php5.y:2999 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5635,25 +5755,25 @@ yydefault: } case 413: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2812 + //line php5/php5.y:3009 { yyVAL.node = yyDollar[1].node } case 414: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2814 + //line php5/php5.y:3011 { yyVAL.node = yyDollar[1].node } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2816 + //line php5/php5.y:3013 { yyVAL.node = yyDollar[1].node } case 416: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2818 + //line php5/php5.y:3015 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5661,7 +5781,7 @@ yydefault: } case 417: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2824 + //line php5/php5.y:3021 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5669,7 +5789,7 @@ yydefault: } case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2830 + //line php5/php5.y:3027 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5677,79 +5797,101 @@ yydefault: } case 419: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2838 + //line php5/php5.y:3036 { + yyVAL.list = nil } case 420: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2839 + //line php5/php5.y:3038 { + yyVAL.list = yyDollar[1].list } case 423: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2848 + //line php5/php5.y:3048 { + arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) + comments.AddComments(arrayItem, comments[yyDollar[3].node]) + + yyVAL.list = append(yyDollar[1].list, arrayItem) } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2849 + //line php5/php5.y:3056 { + arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) + comments.AddComments(arrayItem, comments[yyDollar[3].node]) + + yyVAL.list = append(yyDollar[1].list, arrayItem) } case 425: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2850 + //line php5/php5.y:3064 { + arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) + comments.AddComments(arrayItem, comments[yyDollar[1].node]) + + yyVAL.list = []node.Node{arrayItem} } case 426: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2851 + //line php5/php5.y:3072 { + arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) + comments.AddComments(arrayItem, comments[yyDollar[1].node]) + + yyVAL.list = []node.Node{arrayItem} } case 427: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2856 + //line php5/php5.y:3083 { yyVAL.node = yyDollar[1].node } case 428: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2858 + //line php5/php5.y:3085 { yyVAL.node = yyDollar[1].node } case 429: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2863 + //line php5/php5.y:3090 { yyVAL.node = yyDollar[2].node } case 430: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2865 + //line php5/php5.y:3092 { yyVAL.node = yyDollar[2].node } case 431: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2871 + //line php5/php5.y:3098 { yyVAL.node = yyDollar[1].node } case 432: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2879 + //line php5/php5.y:3104 { yyVAL.node = yyDollar[1].node } case 433: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2886 + //line php5/php5.y:3109 { yyVAL.node = yyDollar[1].node } case 434: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2893 + //line php5/php5.y:3114 { yyVAL.node = yyDollar[1].node @@ -5804,25 +5946,25 @@ yydefault: } case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2946 + //line php5/php5.y:3167 { yyVAL.node = yyDollar[1].node } case 436: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2951 + //line php5/php5.y:3172 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 437: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2953 + //line php5/php5.y:3174 { yyVAL.list = []node.Node{} } case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2959 + //line php5/php5.y:3180 { if yyDollar[3].list != nil { yyDollar[3].list[0].(*expr.MethodCall).Method = yyDollar[2].list[len(yyDollar[2].list)-1].(*expr.PropertyFetch).Property @@ -5833,7 +5975,7 @@ yydefault: } case 439: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2971 + //line php5/php5.y:3192 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5842,7 +5984,7 @@ yydefault: } case 440: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2978 + //line php5/php5.y:3199 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5851,38 +5993,38 @@ yydefault: } case 441: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2988 + //line php5/php5.y:3209 { yyVAL.node = expr.NewMethodCall(nil, nil, yyDollar[1].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].nodesWithEndToken.nodes, yyDollar[1].nodesWithEndToken.endToken)) } case 442: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2996 + //line php5/php5.y:3217 { yyVAL.list = []node.Node{yyDollar[1].node} } case 443: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2998 + //line php5/php5.y:3219 { yyVAL.list = yyDollar[1].list } case 444: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3000 + //line php5/php5.y:3221 { yyVAL.list = nil } case 445: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3005 + //line php5/php5.y:3226 { yyVAL.node = yyDollar[1].node } case 446: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3007 + //line php5/php5.y:3228 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5894,7 +6036,7 @@ yydefault: } case 447: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3020 + //line php5/php5.y:3241 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5902,7 +6044,7 @@ yydefault: } case 448: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3026 + //line php5/php5.y:3247 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5910,47 +6052,53 @@ yydefault: } case 449: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3036 + //line php5/php5.y:3257 { yyVAL.node = yyDollar[1].node } case 450: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3041 + //line php5/php5.y:3262 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 451: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3043 + //line php5/php5.y:3268 { + yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) + positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) + comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 452: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3047 + //line php5/php5.y:3276 { yyVAL.node = yyDollar[1].node } case 453: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3048 + //line php5/php5.y:3277 { yyVAL.node = yyDollar[1].node } case 454: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3049 + //line php5/php5.y:3278 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3055 + //line php5/php5.y:3284 { yyVAL.node = yyDollar[1].node } case 456: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3057 + //line php5/php5.y:3286 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -5962,13 +6110,13 @@ yydefault: } case 457: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3067 + //line php5/php5.y:3296 { yyVAL.node = yyDollar[1].node } case 458: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3072 + //line php5/php5.y:3301 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5976,7 +6124,7 @@ yydefault: } case 459: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3078 + //line php5/php5.y:3307 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5984,13 +6132,13 @@ yydefault: } case 460: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3084 + //line php5/php5.y:3313 { yyVAL.node = yyDollar[1].node } case 461: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3090 + //line php5/php5.y:3319 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6002,7 +6150,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3100 + //line php5/php5.y:3329 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6010,25 +6158,25 @@ yydefault: } case 463: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3108 + //line php5/php5.y:3338 { yyVAL.node = nil } case 464: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3109 + //line php5/php5.y:3340 { yyVAL.node = yyDollar[1].node } case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3115 + //line php5/php5.y:3346 { yyVAL.list = yyDollar[1].list } case 466: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3117 + //line php5/php5.y:3348 { fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -6037,7 +6185,7 @@ yydefault: } case 467: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3127 + //line php5/php5.y:3358 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -6046,7 +6194,7 @@ yydefault: } case 468: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3134 + //line php5/php5.y:3365 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -6055,7 +6203,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3141 + //line php5/php5.y:3372 { fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -6064,7 +6212,7 @@ yydefault: } case 470: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3151 + //line php5/php5.y:3382 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6072,13 +6220,13 @@ yydefault: } case 471: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3157 + //line php5/php5.y:3388 { yyVAL.node = yyDollar[2].node } case 472: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3162 + //line php5/php5.y:3393 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6088,7 +6236,7 @@ yydefault: } case 473: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3170 + //line php5/php5.y:3401 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -6102,25 +6250,25 @@ yydefault: } case 474: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3185 + //line php5/php5.y:3416 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 475: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3187 + //line php5/php5.y:3418 { yyVAL.list = []node.Node{yyDollar[1].node} } case 476: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3193 + //line php5/php5.y:3424 { yyVAL.node = yyDollar[1].node } case 477: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3195 + //line php5/php5.y:3426 { yyVAL.node = expr.NewList(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6128,25 +6276,25 @@ yydefault: } case 478: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3201 + //line php5/php5.y:3432 { yyVAL.node = nil } case 479: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3207 + //line php5/php5.y:3438 { yyVAL.list = nil } case 480: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3209 + //line php5/php5.y:3440 { yyVAL.list = yyDollar[1].list } case 481: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:3214 + //line php5/php5.y:3445 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -6156,7 +6304,7 @@ yydefault: } case 482: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3222 + //line php5/php5.y:3453 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -6166,7 +6314,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3230 + //line php5/php5.y:3461 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -6176,7 +6324,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3238 + //line php5/php5.y:3469 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -6186,7 +6334,7 @@ yydefault: } case 485: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:3246 + //line php5/php5.y:3477 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -6196,7 +6344,7 @@ yydefault: } case 486: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3254 + //line php5/php5.y:3485 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -6206,7 +6354,7 @@ yydefault: } case 487: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3262 + //line php5/php5.y:3493 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -6216,7 +6364,7 @@ yydefault: } case 488: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3270 + //line php5/php5.y:3501 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6226,13 +6374,13 @@ yydefault: } case 489: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3281 + //line php5/php5.y:3512 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 490: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3283 + //line php5/php5.y:3514 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -6241,13 +6389,13 @@ yydefault: } case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3290 + //line php5/php5.y:3521 { yyVAL.list = []node.Node{yyDollar[1].node} } case 492: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3292 + //line php5/php5.y:3523 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6256,7 +6404,7 @@ yydefault: } case 493: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3302 + //line php5/php5.y:3533 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6268,7 +6416,7 @@ yydefault: } case 494: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3312 + //line php5/php5.y:3543 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6283,7 +6431,7 @@ yydefault: } case 495: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3325 + //line php5/php5.y:3556 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6301,7 +6449,7 @@ yydefault: } case 496: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3341 + //line php5/php5.y:3572 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -6309,7 +6457,7 @@ yydefault: } case 497: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:3347 + //line php5/php5.y:3578 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -6324,13 +6472,13 @@ yydefault: } case 498: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3361 + //line php5/php5.y:3592 { yyVAL.node = yyDollar[2].node } case 499: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3366 + //line php5/php5.y:3597 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6338,7 +6486,7 @@ yydefault: } case 500: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3372 + //line php5/php5.y:3603 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -6352,7 +6500,7 @@ yydefault: } case 501: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3384 + //line php5/php5.y:3615 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6364,7 +6512,7 @@ yydefault: } case 502: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3397 + //line php5/php5.y:3628 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6372,7 +6520,7 @@ yydefault: } case 503: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3403 + //line php5/php5.y:3634 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6380,7 +6528,7 @@ yydefault: } case 504: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3409 + //line php5/php5.y:3640 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6388,7 +6536,7 @@ yydefault: } case 505: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3415 + //line php5/php5.y:3646 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6396,7 +6544,7 @@ yydefault: } case 506: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3421 + //line php5/php5.y:3652 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6404,7 +6552,7 @@ yydefault: } case 507: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3427 + //line php5/php5.y:3658 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6412,7 +6560,7 @@ yydefault: } case 508: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3433 + //line php5/php5.y:3664 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6420,7 +6568,7 @@ yydefault: } case 509: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3439 + //line php5/php5.y:3670 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6428,31 +6576,31 @@ yydefault: } case 510: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3448 + //line php5/php5.y:3679 { yyVAL.list = []node.Node{yyDollar[1].node} } case 511: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3450 + //line php5/php5.y:3681 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 512: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3454 + //line php5/php5.y:3686 { yyVAL.node = yyDollar[1].node } case 513: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3455 + //line php5/php5.y:3688 { yyVAL.node = yyDollar[1].node } case 514: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3460 + //line php5/php5.y:3693 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6464,7 +6612,7 @@ yydefault: } case 515: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3470 + //line php5/php5.y:3703 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6476,7 +6624,7 @@ yydefault: } case 516: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3483 + //line php5/php5.y:3716 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6488,7 +6636,7 @@ yydefault: } case 517: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3496 + //line php5/php5.y:3729 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index 54867c8..746a2fa 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -209,6 +209,7 @@ import ( %type optional_class_type parameter class_entry_type extends_from class_statement class_constant_declaration %type trait_use_statement function_call_parameter trait_adaptation_statement trait_precedence trait_alias %type trait_method_reference_fully_qualified trait_method_reference trait_modifiers member_modifier method +%type static_scalar_value static_operation %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations %type inner_statement_list global_var_list static_var_list encaps_list isset_variables non_empty_array_pair_list @@ -217,7 +218,7 @@ import ( %type non_empty_additional_catches parameter_list non_empty_parameter_list class_statement_list implements_list %type class_statement_list variable_modifiers method_modifiers class_variable_declaration interface_extends_list %type interface_list non_empty_function_call_parameter_list trait_list trait_adaptation_list non_empty_trait_adaptation_list -%type trait_reference_list non_empty_member_modifiers backticks_expr +%type trait_reference_list non_empty_member_modifiers backticks_expr static_array_pair_list non_empty_static_array_pair_list %type chaining_dereference chaining_instance_call chaining_method_or_property instance_call variable_property %type method_or_not array_method_dereference object_property object_dim_list dynamic_class_name_variable_property @@ -2722,57 +2723,253 @@ static_class_constant: } ; -static_scalar: /* compile-time evaluated scalars */ - static_scalar_value { } +static_scalar: + static_scalar_value + { $$ = $1 } ; static_scalar_value: - common_scalar { } - | static_class_name_scalar { } - | namespace_name { } - | T_NAMESPACE T_NS_SEPARATOR namespace_name { } - | T_NS_SEPARATOR namespace_name { } - | T_ARRAY '(' static_array_pair_list ')' { } - | '[' static_array_pair_list ']' { } - | static_class_constant { } - | T_CLASS_C { } - | static_operation { } + common_scalar + { $$ = $1 } + | static_class_name_scalar + { $$ = $1 } + | namespace_name + { + $$ = name.NewName($1) + positions.AddPosition($$, positionBuilder.NewNodeListPosition($1)) + comments.AddComments($$, ListGetFirstNodeComments($1)) + } + | T_NAMESPACE T_NS_SEPARATOR namespace_name + { + $$ = name.NewRelative($3) + positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | T_NS_SEPARATOR namespace_name + { + $$ = name.NewFullyQualified($2) + positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | T_ARRAY '(' static_array_pair_list ')' + { + $$ = expr.NewArray($3) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) + comments.AddComments($$, $1.Comments()) + } + | '[' static_array_pair_list ']' + { + $$ = expr.NewShortArray($2) + positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) + comments.AddComments($$, $1.Comments()) + } + | static_class_constant + { $$ = $1 } + | T_CLASS_C + { + $$ = scalar.NewMagicConstant($1.Value) + positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) + comments.AddComments($$, $1.Comments()) + } + | static_operation + { $$ = $1 } ; static_operation: - static_scalar_value '[' static_scalar_value ']' { } - | static_scalar_value '+' static_scalar_value { } - | static_scalar_value '-' static_scalar_value { } - | static_scalar_value '*' static_scalar_value { } - | static_scalar_value T_POW static_scalar_value { } - | static_scalar_value '/' static_scalar_value { } - | static_scalar_value '%' static_scalar_value { } - | '!' static_scalar_value { } - | '~' static_scalar_value { } - | static_scalar_value '|' static_scalar_value { } - | static_scalar_value '&' static_scalar_value { } - | static_scalar_value '^' static_scalar_value { } - | static_scalar_value T_SL static_scalar_value { } - | static_scalar_value T_SR static_scalar_value { } - | static_scalar_value '.' static_scalar_value { } - | static_scalar_value T_LOGICAL_XOR static_scalar_value { } - | static_scalar_value T_LOGICAL_AND static_scalar_value { } - | static_scalar_value T_LOGICAL_OR static_scalar_value { } - | static_scalar_value T_BOOLEAN_AND static_scalar_value { } - | static_scalar_value T_BOOLEAN_OR static_scalar_value { } - | static_scalar_value T_IS_IDENTICAL static_scalar_value { } - | static_scalar_value T_IS_NOT_IDENTICAL static_scalar_value { } - | static_scalar_value T_IS_EQUAL static_scalar_value { } - | static_scalar_value T_IS_NOT_EQUAL static_scalar_value { } - | static_scalar_value '<' static_scalar_value { } - | static_scalar_value '>' static_scalar_value { } - | static_scalar_value T_IS_SMALLER_OR_EQUAL static_scalar_value { } - | static_scalar_value T_IS_GREATER_OR_EQUAL static_scalar_value { } - | static_scalar_value '?' ':' static_scalar_value { } - | static_scalar_value '?' static_scalar_value ':' static_scalar_value { } - | '+' static_scalar_value { } - | '-' static_scalar_value { } - | '(' static_scalar_value ')' { } + static_scalar_value '[' static_scalar_value ']' + { + $$ = expr.NewArrayDimFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '+' static_scalar_value + { + $$ = binary_op.NewPlus($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '-' static_scalar_value + { + $$ = binary_op.NewMinus($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '*' static_scalar_value + { + $$ = binary_op.NewMul($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_POW static_scalar_value + { + $$ = binary_op.NewPow($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '/' static_scalar_value + { + $$ = binary_op.NewDiv($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '%' static_scalar_value + { + $$ = binary_op.NewMod($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | '!' static_scalar_value + { + $$ = expr.NewBooleanNot($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '~' static_scalar_value + { + $$ = expr.NewBitwiseNot($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | static_scalar_value '|' static_scalar_value + { + $$ = binary_op.NewBitwiseOr($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '&' static_scalar_value + { + $$ = binary_op.NewBitwiseAnd($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '^' static_scalar_value + { + $$ = binary_op.NewBitwiseXor($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_SL static_scalar_value + { + $$ = binary_op.NewShiftLeft($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_SR static_scalar_value + { + $$ = binary_op.NewShiftRight($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '.' static_scalar_value + { + $$ = binary_op.NewConcat($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_LOGICAL_XOR static_scalar_value + { + $$ = binary_op.NewLogicalXor($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_LOGICAL_AND static_scalar_value + { + $$ = binary_op.NewLogicalAnd($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_LOGICAL_OR static_scalar_value + { + $$ = binary_op.NewLogicalOr($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_BOOLEAN_AND static_scalar_value + { + $$ = binary_op.NewBooleanAnd($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_BOOLEAN_OR static_scalar_value + { + $$ = binary_op.NewBooleanOr($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_IS_IDENTICAL static_scalar_value + { + $$ = binary_op.NewIdentical($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_IS_NOT_IDENTICAL static_scalar_value + { + $$ = binary_op.NewNotIdentical($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_IS_EQUAL static_scalar_value + { + $$ = binary_op.NewEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_IS_NOT_EQUAL static_scalar_value + { + $$ = binary_op.NewNotEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '<' static_scalar_value + { + $$ = binary_op.NewSmaller($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '>' static_scalar_value + { + $$ = binary_op.NewGreater($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_IS_SMALLER_OR_EQUAL static_scalar_value + { + $$ = binary_op.NewSmallerOrEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value T_IS_GREATER_OR_EQUAL static_scalar_value + { + $$ = binary_op.NewGreaterOrEqual($1, $3) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '?' ':' static_scalar_value + { + $$ = expr.NewTernary($1, nil, $4) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } + | static_scalar_value '?' static_scalar_value ':' static_scalar_value + { + $$ = expr.NewTernary($1, $3, $5) + positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $5)) + comments.AddComments($$, comments[$1]) + } + | '+' static_scalar_value + { + $$ = expr.NewUnaryPlus($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '-' static_scalar_value + { + $$ = expr.NewUnaryMinus($2) + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) + comments.AddComments($$, $1.Comments()) + } + | '(' static_scalar_value ')' + { $$ = $2 } ; general_constant: @@ -2836,8 +3033,10 @@ scalar: ; static_array_pair_list: - /* empty */ { } - | non_empty_static_array_pair_list possible_comma { } + /* empty */ + { $$ = nil } + | non_empty_static_array_pair_list possible_comma + { $$ = $1 } ; possible_comma: @@ -2846,10 +3045,38 @@ possible_comma: ; non_empty_static_array_pair_list: - non_empty_static_array_pair_list ',' static_scalar_value T_DOUBLE_ARROW static_scalar_value { } - | non_empty_static_array_pair_list ',' static_scalar_value { } - | static_scalar_value T_DOUBLE_ARROW static_scalar_value { } - | static_scalar_value { } + non_empty_static_array_pair_list ',' static_scalar_value T_DOUBLE_ARROW static_scalar_value + { + arrayItem := expr.NewArrayItem($3, $5, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition($3, $5)) + comments.AddComments(arrayItem, comments[$3]) + + $$ = append($1, arrayItem) + } + | non_empty_static_array_pair_list ',' static_scalar_value + { + arrayItem := expr.NewArrayItem(nil, $3, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodePosition($3)) + comments.AddComments(arrayItem, comments[$3]) + + $$ = append($1, arrayItem) + } + | static_scalar_value T_DOUBLE_ARROW static_scalar_value + { + arrayItem := expr.NewArrayItem($1, $3, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition($1, $3)) + comments.AddComments(arrayItem, comments[$1]) + + $$ = []node.Node{arrayItem} + } + | static_scalar_value + { + arrayItem := expr.NewArrayItem(nil, $1, false) + positions.AddPosition(arrayItem, positionBuilder.NewNodePosition($1)) + comments.AddComments(arrayItem, comments[$1]) + + $$ = []node.Node{arrayItem} + } ; expr: @@ -2869,24 +3096,18 @@ parenthesis_expr: r_variable: variable - { - $$ = $1 - } + { $$ = $1 } ; w_variable: variable - { - $$ = $1 - } + { $$ = $1 } ; rw_variable: variable - { - $$ = $1 - } + { $$ = $1 } ; variable: @@ -3039,9 +3260,17 @@ variable_class_name: array_function_dereference: array_function_dereference '[' dim_offset ']' - { } + { + $$ = expr.NewArrayDimFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } | function_call '[' dim_offset ']' - { } + { + $$ = expr.NewArrayDimFetch($1, $3) + positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) + comments.AddComments($$, comments[$1]) + } ; base_variable_with_function_calls: @@ -3106,8 +3335,10 @@ compound_variable: ; dim_offset: - /* empty */ { $$ = nil } - | expr { $$ = $1 } + /* empty */ + { $$ = nil } + | expr + { $$ = $1 } ; @@ -3452,8 +3683,10 @@ isset_variables: ; isset_variable: - variable { $$ = $1 } - | expr_without_variable { $$ = $1 } + variable + { $$ = $1 } + | expr_without_variable + { $$ = $1 } ; class_constant: