diff --git a/internal/php5/php5.go b/internal/php5/php5.go index ece4fad..d65f45d 100644 --- a/internal/php5/php5.go +++ b/internal/php5/php5.go @@ -24,10 +24,7 @@ type yySymType struct { list []ast.Vertex simpleIndirectReference simpleIndirectReference - ClassExtends *ast.StmtClassExtends - ClassImplements *ast.StmtClassImplements - InterfaceExtends *ast.StmtInterfaceExtends - ClosureUse *ast.ExprClosureUse + ClosureUse *ast.ExprClosureUse } const T_INCLUDE = 57346 @@ -347,7 +344,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -// line internal/php5/php5.y:6436 +// line internal/php5/php5.y:6439 type simpleIndirectReference struct { all []*ast.ExprVariable @@ -700,15 +697,15 @@ var yyAct = [...]int{ 830, 521, 748, 754, 864, 445, 572, 971, 609, 589, 959, 983, 590, 962, 39, 470, 260, 261, 39, 39, 521, 259, 572, 591, 685, 994, 283, 572, 996, 285, - 260, 261, 255, 840, 998, 980, 995, 260, 261, 965, - 964, 903, 896, 39, 572, 1012, 531, 839, 836, 1013, - 566, 1006, 531, 531, 993, 572, 1016, 518, 716, 1005, + 260, 261, 255, 840, 998, 980, 965, 260, 261, 964, + 896, 839, 836, 39, 572, 1012, 531, 566, 1006, 1013, + 1005, 725, 531, 531, 993, 572, 1016, 518, 716, 341, 422, 39, 658, 664, 665, 672, 673, 674, 675, 678, - 679, 725, 341, 259, 446, 231, 31, 231, 256, 654, - 531, 698, 296, 656, 655, 39, 260, 261, 449, 538, - 929, 39, 290, 657, 659, 660, 676, 677, 666, 460, - 147, 151, 155, 318, 314, 127, 165, 403, 478, 575, - 401, 335, 945, 1009, 198, 483, 343, 394, 389, 206, + 679, 698, 538, 259, 446, 231, 31, 231, 256, 654, + 531, 929, 296, 656, 655, 39, 260, 261, 449, 290, + 460, 39, 318, 657, 659, 660, 676, 677, 666, 314, + 147, 151, 155, 127, 403, 575, 165, 903, 478, 401, + 335, 945, 995, 1009, 198, 483, 343, 394, 389, 206, 939, 164, 157, 161, 528, 231, 608, 997, 531, 970, 223, 969, 968, 967, 235, 236, 237, 238, 260, 261, 240, 838, 242, 243, 244, 245, 246, 247, 248, 837, @@ -1617,39 +1614,39 @@ var yyPgo = [...]int{ 1118, 2, 1117, 1116, 1113, 16, 1112, 1111, 1109, 1101, 48, 5, 1093, 1092, 1091, 1089, 1087, 6, 1086, 1017, 1084, 1083, 1082, 18, 1042, 1081, 1080, 1078, 1077, 1076, - 1075, 1073, 12, 1072, 1071, 7, 21, 1070, 1069, 1067, - 14, 39, 0, 1065, 1064, 1063, 391, 619, 1059, 1052, - 41, 4, 1050, 1049, 1041, 1032, 30, 52, 1031, 1019, - 1011, 3, 1010, 15, 1008, 1007, 1002, 25, 1001, 1000, + 1075, 1073, 1072, 12, 1071, 1070, 7, 21, 1069, 25, + 1067, 1065, 1064, 14, 39, 0, 1063, 1059, 1052, 391, + 619, 1050, 1049, 41, 4, 1041, 1032, 1031, 1019, 30, + 52, 1011, 1010, 1008, 3, 1007, 15, 1002, 1001, 1000, 999, 996, 993, 992, 17, 984, 983, 972, 23, 969, 19, 9, 968, 37, 965, 964, 963, 962, 182, 13, 960, 923, } var yyR1 = [...]int{ - 0, 151, 101, 101, 102, 102, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 103, 103, - 6, 6, 6, 6, 104, 104, 7, 7, 7, 7, - 105, 105, 8, 8, 8, 8, 55, 55, 106, 106, + 0, 151, 104, 104, 105, 105, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 106, 106, + 6, 6, 6, 6, 107, 107, 7, 7, 7, 7, + 108, 108, 8, 8, 8, 8, 55, 55, 109, 109, 26, 26, 26, 26, 26, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 28, 28, 118, 118, 60, 60, 119, - 119, 120, 120, 61, 87, 87, 58, 53, 54, 149, + 28, 28, 28, 28, 28, 121, 121, 60, 60, 122, + 122, 123, 123, 61, 87, 87, 58, 53, 54, 149, 149, 150, 150, 62, 63, 63, 66, 66, 66, 66, - 97, 97, 2, 99, 99, 98, 98, 127, 127, 96, - 96, 95, 95, 95, 93, 93, 92, 92, 59, 59, - 88, 88, 89, 89, 89, 89, 117, 117, 117, 4, - 4, 94, 94, 113, 113, 114, 114, 56, 56, 57, - 57, 121, 121, 122, 122, 65, 65, 64, 64, 64, + 98, 98, 2, 102, 102, 101, 101, 99, 99, 97, + 97, 96, 96, 96, 94, 94, 93, 93, 59, 59, + 88, 88, 89, 89, 89, 89, 120, 120, 120, 4, + 4, 95, 95, 116, 116, 117, 117, 56, 56, 57, + 57, 124, 124, 125, 125, 65, 65, 64, 64, 64, 64, 84, 84, 84, 90, 90, 70, 70, 70, 70, - 82, 82, 29, 29, 29, 81, 81, 81, 81, 123, - 123, 67, 67, 67, 67, 69, 128, 128, 86, 86, - 129, 129, 130, 130, 71, 71, 72, 131, 131, 75, - 75, 74, 73, 73, 76, 76, 91, 91, 124, 124, - 125, 125, 132, 132, 77, 77, 77, 77, 77, 77, - 126, 126, 126, 126, 68, 68, 85, 85, 116, 116, - 115, 115, 138, 138, 136, 136, 137, 137, 137, 139, + 82, 82, 29, 29, 29, 81, 81, 81, 81, 126, + 126, 67, 67, 67, 67, 69, 100, 100, 86, 86, + 130, 130, 131, 131, 71, 71, 72, 92, 92, 75, + 75, 74, 73, 73, 76, 76, 91, 91, 127, 127, + 128, 128, 132, 132, 77, 77, 77, 77, 77, 77, + 129, 129, 129, 129, 68, 68, 85, 85, 119, 119, + 118, 118, 138, 138, 136, 136, 137, 137, 137, 139, 139, 44, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, @@ -1658,8 +1655,8 @@ var yyR1 = [...]int{ 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 52, 52, 52, 52, - 49, 49, 49, 49, 48, 48, 1, 100, 100, 112, - 112, 112, 112, 25, 25, 25, 25, 25, 25, 25, + 49, 49, 49, 49, 48, 48, 1, 103, 103, 115, + 115, 115, 115, 25, 25, 25, 25, 25, 25, 25, 25, 13, 13, 13, 13, 47, 47, 47, 45, 45, 43, 43, 146, 146, 145, 51, 51, 51, 133, 133, 133, 83, 83, 9, 9, 9, 9, 9, 9, 9, @@ -1674,11 +1671,11 @@ var yyR1 = [...]int{ 140, 142, 142, 78, 141, 141, 141, 42, 42, 46, 46, 14, 24, 24, 22, 22, 22, 23, 23, 23, 12, 12, 12, 11, 11, 15, 15, 143, 143, 144, - 144, 144, 41, 41, 148, 148, 111, 111, 40, 40, - 40, 110, 110, 109, 109, 109, 109, 109, 109, 109, - 109, 107, 107, 107, 107, 35, 35, 35, 35, 35, + 144, 144, 41, 41, 148, 148, 114, 114, 40, 40, + 40, 113, 113, 112, 112, 112, 112, 112, 112, 112, + 112, 110, 110, 110, 110, 35, 35, 35, 35, 35, 35, 35, 36, 36, 36, 39, 39, 39, 39, 39, - 39, 39, 39, 108, 108, 38, 38, 32, 32, 33, + 39, 39, 39, 111, 111, 38, 38, 32, 32, 33, 34, } @@ -1739,7 +1736,7 @@ var yyR2 = [...]int{ } var yyChk = [...]int{ - -1000, -151, -101, -5, 2, -27, -53, -54, 52, 80, + -1000, -151, -104, -5, 2, -27, -53, -54, 52, 80, 45, -55, -28, 10, -62, -63, 39, 144, 7, 21, 20, 23, 30, 34, 35, 40, -52, 47, 99, 19, 14, -16, 49, 25, 27, 146, 41, 44, 36, -1, @@ -1749,10 +1746,10 @@ var yyChk = [...]int{ 113, 114, 6, 158, -31, -49, -48, 143, 97, -22, 92, 50, 51, 4, 5, 85, 86, 87, 11, -37, -34, -9, 142, 75, 63, 18, 61, 150, -23, -24, - -25, -32, -102, 83, -13, 8, 9, 67, 68, 82, + -25, -32, -105, 83, -13, 8, 9, 67, 68, 82, 64, 65, 66, 81, -12, -148, -46, -14, -42, -11, - 159, 12, 148, -102, 144, 83, 10, -103, 37, 39, - -6, -102, 83, 146, 160, 147, 10, -106, -50, 148, + 159, 12, 148, -105, 144, 83, 10, -106, 37, 39, + -6, -105, 83, 146, 160, 147, 10, -109, -50, 148, -50, -27, -1, 80, 148, -50, 146, -16, 98, 99, 146, -16, 146, -17, -21, -16, 146, -82, -29, 12, 159, -81, -1, 12, -85, -16, 146, 131, 132, 88, @@ -1761,87 +1758,87 @@ var yyChk = [...]int{ 168, 141, 91, 152, 148, 148, 148, 144, -16, 10, -149, 153, 10, 10, -17, -21, -16, 53, 53, 162, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 148, -16, 105, 106, -20, -21, -102, 80, + 128, 129, 148, -16, 105, 106, -20, -21, -105, 80, 83, -13, -14, 99, -20, -16, -16, -16, -16, -44, -16, -52, -16, -16, -16, -16, -16, -16, -16, -51, - 148, -50, -16, 150, 150, -133, 17, -107, -35, 12, - 77, 78, -16, 58, -45, -13, -43, -102, 80, 83, + 148, -50, -16, 150, 150, -133, 17, -110, -35, 12, + 77, 78, -16, 58, -45, -13, -43, -105, 80, 83, -23, -12, -148, -14, 148, 148, -16, -16, 148, -16, - -16, 150, -107, 17, 17, 76, -107, 150, 148, -110, - -109, -16, 153, 150, 150, 83, -84, 148, -102, 79, + -16, 150, -110, 17, 17, 76, -110, 150, 148, -113, + -112, -16, 153, 150, 150, 83, -84, 148, -105, 79, 150, 144, -12, 159, 79, -84, 144, 149, 146, 144, - -101, -102, 146, 160, -104, -7, -102, 83, -105, -8, - -102, 83, 29, -102, 10, 162, -26, 145, 2, -27, - -53, -54, 52, -27, 147, -94, -27, 147, 21, -149, - -116, -115, -16, -89, 144, 147, 146, 146, 146, 146, + -104, -105, 146, 160, -107, -7, -105, 83, -108, -8, + -105, 83, 29, -105, 10, 162, -26, 145, 2, -27, + -53, -54, 52, -27, 147, -95, -27, 147, 21, -149, + -119, -118, -16, -89, 144, 147, 146, 146, 146, 146, 146, 160, -18, 144, -21, 146, 160, -149, 162, 146, 160, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -45, -16, 147, -87, - -58, -21, -21, -17, -88, 10, -106, 146, 146, 10, - 148, -97, 56, -99, 56, 59, -16, 153, -16, -16, + -58, -21, -21, -17, -88, 10, -109, 146, 146, 10, + 148, -98, 56, -102, 56, 59, -16, 153, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, - -111, -40, -21, 60, 83, -102, 79, 79, 149, 149, + -114, -40, -21, 60, 83, -105, 79, 79, 149, 149, 149, 149, -15, -16, -15, 143, -35, -35, 17, 150, 58, -16, 11, -21, -143, -144, -42, -41, -12, -148, - 10, 144, -83, -84, 79, 83, -102, 58, -12, 79, - -108, -38, -21, -17, -21, -16, -16, -15, 142, 76, - 76, -15, -110, 151, -3, 160, 59, -19, -21, -15, + 10, 144, -83, -84, 79, 83, -105, 58, -12, 79, + -111, -38, -21, -17, -21, -16, -16, -15, 142, 76, + 76, -15, -113, 151, -3, 160, 59, -19, -21, -15, -15, 10, 149, -90, -52, -70, -17, -21, 153, 84, -84, -41, -42, 10, 53, -15, -16, -41, -42, 10, - -16, 146, -101, 145, -84, -6, 146, 160, 29, -102, - 146, 160, 29, -102, 10, 29, 162, -30, -79, -9, - -33, -102, 80, 83, 61, 150, -10, 63, -80, 18, - 75, -13, 156, 157, 155, 154, 148, 148, -113, -106, - -106, -50, 146, 160, -117, 146, -117, 146, -29, -16, + -16, 146, -104, 145, -84, -6, 146, 160, 29, -105, + 146, 160, 29, -105, 10, 29, 162, -30, -79, -9, + -33, -105, 80, 83, 61, 150, -10, 63, -80, 18, + 75, -13, 156, 157, 155, 154, 148, 148, -116, -109, + -109, -50, 146, 160, -120, 146, -120, 146, -29, -16, 12, 148, -30, -16, 147, -16, 149, 160, 29, 29, - 149, 160, 162, 145, 148, -121, -122, -65, -64, 61, - 62, -47, -102, 80, 83, -98, 57, -47, 144, -127, - -47, -17, -21, -21, 92, 149, 160, 148, -102, -139, + 149, 160, 162, 145, 148, -124, -125, -65, -64, 61, + 62, -47, -105, 80, 83, -101, 57, -47, 144, -99, + -47, -17, -21, -21, 92, 149, 160, 148, -105, -139, -137, -136, -138, 150, -140, 58, 151, 151, -36, 10, 13, 12, 10, 145, 145, 150, 145, -141, -78, -142, - -84, 150, 144, -12, -16, -42, -102, -143, -42, 149, + -84, 150, 144, -12, -16, -42, -105, -143, -42, 149, 160, 149, 149, 149, 151, 151, 149, -16, 153, -16, 153, 151, 151, 149, 160, 149, -19, -16, -84, -84, 151, 145, -84, -84, 145, 145, -7, 10, 29, -8, 10, 29, 10, -30, 150, 155, 154, 164, 133, 165, 166, 161, 153, 163, 134, 135, 169, 89, 90, 88, 132, 131, 136, 137, 138, 139, 167, 168, 140, 141, - 152, 83, -102, 148, -134, -135, -79, 17, 79, -79, - -79, -79, -79, -79, 149, -56, 94, 95, -114, 22, - 146, -116, -16, 145, 32, 33, -117, 31, -117, 145, - 162, -121, -16, 146, -58, -95, -21, 153, 60, -95, - -59, -27, 147, 10, -30, -118, 42, -121, 149, 160, - -149, 83, -102, 144, -127, -123, 160, -45, 162, -40, - -111, 150, -138, -140, -15, -143, 151, -16, -147, 150, + 152, 83, -105, 148, -134, -135, -79, 17, 79, -79, + -79, -79, -79, -79, 149, -56, 94, 95, -117, 22, + 146, -119, -16, 145, 32, 33, -120, 31, -120, 145, + 162, -124, -16, 146, -58, -96, -21, 153, 60, -96, + -59, -27, 147, 10, -30, -121, 42, -124, 149, 160, + -149, 83, -105, 144, -99, -126, 160, -45, 162, -40, + -114, 150, -138, -140, -15, -143, 151, -16, -147, 150, 150, -15, -16, 145, -146, -38, 59, -19, -19, -70, 10, 10, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, 147, -79, - -102, -134, 151, -3, 160, 59, 10, 53, 149, 146, + -105, -134, 151, -3, 160, 59, 10, 53, 149, 146, -50, -27, -57, 94, 95, 146, 146, -16, -4, 147, - 146, 145, 146, 31, -30, 149, -96, 59, -21, 148, - -96, -106, 162, -60, 43, 148, 149, -100, 45, -65, - -150, 84, -102, -123, 145, -67, -124, -68, -69, -125, + 146, 145, 146, 31, -30, 149, -97, 59, -21, 148, + -97, -109, 162, -60, 43, 148, 149, -103, 45, -65, + -150, 84, -105, -126, 145, -67, -127, -68, -69, -128, -132, 48, 39, 45, -77, 104, 103, 102, 99, 100, 101, -47, -83, -16, 149, -15, 151, -141, 151, -140, -15, -15, 151, 145, -145, 58, -16, 153, 151, -79, - 147, 149, -79, -79, -27, 96, -50, 147, -116, -4, - -106, 146, -100, 149, -95, -111, 149, 28, -30, 144, - -47, 144, 144, 148, 12, 145, -126, 12, 146, 160, - -1, -77, 10, -128, -47, 151, 145, 151, 151, -143, - -19, -79, 59, 146, 147, -106, 149, -106, 144, -92, - -27, 147, 149, -92, 146, -106, 12, -106, -106, -112, + 147, 149, -79, -79, -27, 96, -50, 147, -119, -4, + -109, 146, -103, 149, -96, -114, 149, 28, -30, 144, + -47, 144, 144, 148, 12, 145, -129, 12, 146, 160, + -1, -77, 10, -100, -47, 151, 145, 151, 151, -143, + -19, -79, 59, 146, 147, -109, 149, -109, 144, -93, + -27, 147, 149, -93, 146, -109, 12, -109, -109, -115, 12, 153, 162, 146, 160, 162, 10, -149, 162, -86, - 160, 146, 144, -79, -106, -93, -27, 147, -106, -106, + 160, 146, 144, -79, -109, -94, -27, 147, -109, -109, 145, 149, 145, 145, 149, 160, 12, -16, 12, -30, - 162, 10, -30, -47, -129, -130, -71, -72, -73, -74, - -75, -47, 10, -106, 145, 26, 144, 12, 153, 162, + 162, 10, -30, -47, -130, -131, -71, -72, -73, -74, + -75, -47, 10, -109, 145, 26, 144, 12, 153, 162, -30, 148, 145, -71, 146, 146, 46, 29, 79, 24, - 146, -106, 12, -30, -121, -131, -47, -76, -77, 10, - 146, 145, 149, 160, 10, -119, -120, -61, 42, -91, - 146, 144, -47, -61, 148, -106, -47, 145, 12, 149, - 144, -106, 145, + 146, -109, 12, -30, -124, -92, -47, -76, -77, 10, + 146, 145, 149, 160, 10, -122, -123, -61, 42, -91, + 146, 144, -47, -61, 148, -109, -47, 145, 12, 149, + 144, -109, 145, } var yyDef = [...]int{ @@ -2326,7 +2323,7 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:275 +// line internal/php5/php5.y:271 { yylex.(*Parser).rootNode = &ast.Root{ast.Node{}, yyDollar[1].list} yylex.(*Parser).rootNode.GetNode().Position = position.NewNodeListPosition(yyDollar[1].list) @@ -2335,7 +2332,7 @@ yydefault: } case 2: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:285 +// line internal/php5/php5.y:281 { if inlineHtmlNode, ok := yyDollar[2].node.(*ast.StmtInlineHtml); ok && len(yyDollar[1].list) > 0 { prevNode := lastNode(yyDollar[1].list) @@ -2348,13 +2345,13 @@ yydefault: } case 3: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:296 +// line internal/php5/php5.y:292 { yyVAL.list = []ast.Vertex{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:303 +// line internal/php5/php5.y:299 { yyVAL.list = []ast.Vertex{ &ast.NameNamePart{ @@ -2368,7 +2365,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:315 +// line internal/php5/php5.y:311 { yyVAL.list = append(yyDollar[1].list, &ast.NameNamePart{ Node: ast.Node{ @@ -2381,32 +2378,32 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:329 +// line internal/php5/php5.y:325 { // error yyVAL.node = nil } case 7: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:334 +// line internal/php5/php5.y:330 { yyVAL.node = yyDollar[1].node } case 8: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:338 +// line internal/php5/php5.y:334 { yyVAL.node = yyDollar[1].node } case 9: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:342 +// line internal/php5/php5.y:338 { yyVAL.node = yyDollar[1].node } case 10: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:346 +// line internal/php5/php5.y:342 { yyVAL.node = &ast.StmtHaltCompiler{ Node: ast.Node{ @@ -2420,7 +2417,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:358 +// line internal/php5/php5.y:354 { yyVAL.node = &ast.StmtNamespace{ Node: ast.Node{ @@ -2438,7 +2435,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:374 +// line internal/php5/php5.y:370 { yyVAL.node = &ast.StmtNamespace{ Node: ast.Node{ @@ -2458,7 +2455,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:392 +// line internal/php5/php5.y:388 { yyVAL.node = &ast.StmtNamespace{ Node: ast.Node{ @@ -2472,7 +2469,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:404 +// line internal/php5/php5.y:400 { yyVAL.node = &ast.StmtUse{ Node: ast.Node{ @@ -2485,7 +2482,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:415 +// line internal/php5/php5.y:411 { yyVAL.node = &ast.StmtUse{ Node: ast.Node{ @@ -2505,7 +2502,7 @@ yydefault: } case 16: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:433 +// line internal/php5/php5.y:429 { yyVAL.node = &ast.StmtUse{ Node: ast.Node{ @@ -2525,7 +2522,7 @@ yydefault: } case 17: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:451 +// line internal/php5/php5.y:447 { yyDollar[1].node.(*ast.StmtConstList).SemiColonTkn = yyDollar[2].token yyDollar[1].node.(*ast.StmtConstList).Node.Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token) @@ -2533,7 +2530,7 @@ yydefault: } case 18: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:460 +// line internal/php5/php5.y:456 { yyDollar[1].list[len(yyDollar[1].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[2].token @@ -2541,13 +2538,13 @@ yydefault: } case 19: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:466 +// line internal/php5/php5.y:462 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 20: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:473 +// line internal/php5/php5.y:469 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2563,7 +2560,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:487 +// line internal/php5/php5.y:483 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2587,7 +2584,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:509 +// line internal/php5/php5.y:505 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2604,7 +2601,7 @@ yydefault: } case 23: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:524 +// line internal/php5/php5.y:520 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2629,7 +2626,7 @@ yydefault: } case 24: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:550 +// line internal/php5/php5.y:546 { yyDollar[1].list[len(yyDollar[1].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[2].token @@ -2637,13 +2634,13 @@ yydefault: } case 25: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:556 +// line internal/php5/php5.y:552 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 26: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:563 +// line internal/php5/php5.y:559 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2659,7 +2656,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:577 +// line internal/php5/php5.y:573 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2683,7 +2680,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:599 +// line internal/php5/php5.y:595 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2700,7 +2697,7 @@ yydefault: } case 29: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:614 +// line internal/php5/php5.y:610 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2725,7 +2722,7 @@ yydefault: } case 30: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:640 +// line internal/php5/php5.y:636 { yyDollar[1].list[len(yyDollar[1].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[2].token @@ -2733,13 +2730,13 @@ yydefault: } case 31: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:646 +// line internal/php5/php5.y:642 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 32: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:653 +// line internal/php5/php5.y:649 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2755,7 +2752,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:667 +// line internal/php5/php5.y:663 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2779,7 +2776,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:689 +// line internal/php5/php5.y:685 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2796,7 +2793,7 @@ yydefault: } case 35: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:704 +// line internal/php5/php5.y:700 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2821,7 +2818,7 @@ yydefault: } case 36: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:730 +// line internal/php5/php5.y:726 { constList := yyDollar[1].node.(*ast.StmtConstList) constList.Node.Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node) @@ -2847,7 +2844,7 @@ yydefault: } case 37: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:754 +// line internal/php5/php5.y:750 { yyVAL.node = &ast.StmtConstList{ Node: ast.Node{ @@ -2876,7 +2873,7 @@ yydefault: } case 38: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:784 +// line internal/php5/php5.y:780 { if inlineHtmlNode, ok := yyDollar[2].node.(*ast.StmtInlineHtml); ok && len(yyDollar[1].list) > 0 { prevNode := lastNode(yyDollar[1].list) @@ -2889,38 +2886,38 @@ yydefault: } case 39: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:795 +// line internal/php5/php5.y:791 { yyVAL.list = []ast.Vertex{} } case 40: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:803 +// line internal/php5/php5.y:799 { // error yyVAL.node = nil } case 41: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:808 +// line internal/php5/php5.y:804 { yyVAL.node = yyDollar[1].node } case 42: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:812 +// line internal/php5/php5.y:808 { yyVAL.node = yyDollar[1].node } case 43: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:816 +// line internal/php5/php5.y:812 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:820 +// line internal/php5/php5.y:816 { yyVAL.node = &ast.StmtHaltCompiler{ Node: ast.Node{ @@ -2934,13 +2931,13 @@ yydefault: } case 45: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:836 +// line internal/php5/php5.y:832 { yyVAL.node = yyDollar[1].node } case 46: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:840 +// line internal/php5/php5.y:836 { yyVAL.node = &ast.StmtLabel{ Node: ast.Node{ @@ -2958,7 +2955,7 @@ yydefault: } case 47: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:859 +// line internal/php5/php5.y:855 { yyVAL.node = &ast.StmtStmtList{ Node: ast.Node{ @@ -2971,7 +2968,7 @@ yydefault: } case 48: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:870 +// line internal/php5/php5.y:866 { pos := position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) if yyDollar[5].node != nil { @@ -2995,7 +2992,7 @@ yydefault: } case 49: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:892 +// line internal/php5/php5.y:888 { yyVAL.node = &ast.StmtIf{ Node: ast.Node{ @@ -3021,7 +3018,7 @@ yydefault: } case 50: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:916 +// line internal/php5/php5.y:912 { yyDollar[3].node.(*ast.StmtWhile).WhileTkn = yyDollar[1].token yyDollar[3].node.(*ast.StmtWhile).OpenParenthesisTkn = yyDollar[2].node.(*ast.ParserBrackets).OpenBracketTkn @@ -3033,7 +3030,7 @@ yydefault: } case 51: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:926 +// line internal/php5/php5.y:922 { yyVAL.node = &ast.StmtDo{ Node: ast.Node{ @@ -3050,7 +3047,7 @@ yydefault: } case 52: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:941 +// line internal/php5/php5.y:937 { yyDollar[9].node.(*ast.StmtFor).ForTkn = yyDollar[1].token yyDollar[9].node.(*ast.StmtFor).OpenParenthesisTkn = yyDollar[2].token @@ -3066,7 +3063,7 @@ yydefault: } case 53: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:955 +// line internal/php5/php5.y:951 { yyDollar[3].node.(*ast.StmtSwitch).SwitchTkn = yyDollar[1].token yyDollar[3].node.(*ast.StmtSwitch).OpenParenthesisTkn = yyDollar[2].node.(*ast.ParserBrackets).OpenBracketTkn @@ -3078,7 +3075,7 @@ yydefault: } case 54: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:965 +// line internal/php5/php5.y:961 { yyVAL.node = &ast.StmtBreak{ Node: ast.Node{ @@ -3090,7 +3087,7 @@ yydefault: } case 55: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:975 +// line internal/php5/php5.y:971 { yyVAL.node = &ast.StmtBreak{ Node: ast.Node{ @@ -3103,7 +3100,7 @@ yydefault: } case 56: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:986 +// line internal/php5/php5.y:982 { yyVAL.node = &ast.StmtContinue{ Node: ast.Node{ @@ -3115,7 +3112,7 @@ yydefault: } case 57: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:996 +// line internal/php5/php5.y:992 { yyVAL.node = &ast.StmtContinue{ Node: ast.Node{ @@ -3128,7 +3125,7 @@ yydefault: } case 58: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1007 +// line internal/php5/php5.y:1003 { yyVAL.node = &ast.StmtReturn{ Node: ast.Node{ @@ -3140,7 +3137,7 @@ yydefault: } case 59: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1017 +// line internal/php5/php5.y:1013 { yyVAL.node = &ast.StmtReturn{ Node: ast.Node{ @@ -3153,7 +3150,7 @@ yydefault: } case 60: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1028 +// line internal/php5/php5.y:1024 { yyVAL.node = &ast.StmtReturn{ Node: ast.Node{ @@ -3166,7 +3163,7 @@ yydefault: } case 61: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1039 +// line internal/php5/php5.y:1035 { yyVAL.node = &ast.StmtExpression{ast.Node{}, yyDollar[1].node} @@ -3180,7 +3177,7 @@ yydefault: } case 62: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1051 +// line internal/php5/php5.y:1047 { yyDollar[2].node.(*ast.StmtGlobal).GlobalTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtGlobal).SemiColonTkn = yyDollar[3].token @@ -3191,7 +3188,7 @@ yydefault: } case 63: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1060 +// line internal/php5/php5.y:1056 { yyDollar[2].node.(*ast.StmtStatic).StaticTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtStatic).SemiColonTkn = yyDollar[3].token @@ -3202,7 +3199,7 @@ yydefault: } case 64: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1069 +// line internal/php5/php5.y:1065 { yyDollar[2].node.(*ast.StmtEcho).EchoTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtEcho).SemiColonTkn = yyDollar[3].token @@ -3212,7 +3209,7 @@ yydefault: } case 65: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1077 +// line internal/php5/php5.y:1073 { yyVAL.node = &ast.StmtInlineHtml{ Node: ast.Node{ @@ -3224,7 +3221,7 @@ yydefault: } case 66: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1087 +// line internal/php5/php5.y:1083 { yyVAL.node = &ast.StmtExpression{ast.Node{}, yyDollar[1].node} @@ -3238,7 +3235,7 @@ yydefault: } case 67: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1099 +// line internal/php5/php5.y:1095 { yyDollar[3].node.(*ast.StmtUnset).UnsetTkn = yyDollar[1].token yyDollar[3].node.(*ast.StmtUnset).OpenParenthesisTkn = yyDollar[2].token @@ -3250,7 +3247,7 @@ yydefault: } case 68: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:1109 +// line internal/php5/php5.y:1105 { yyDollar[8].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[8].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3270,7 +3267,7 @@ yydefault: } case 69: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:1127 +// line internal/php5/php5.y:1123 { yyDollar[8].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[8].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3290,7 +3287,7 @@ yydefault: } case 70: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1145 +// line internal/php5/php5.y:1141 { yyDollar[5].node.(*ast.StmtDeclare).DeclareTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtDeclare).OpenParenthesisTkn = yyDollar[2].token @@ -3303,7 +3300,7 @@ yydefault: } case 71: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1156 +// line internal/php5/php5.y:1152 { yyVAL.node = &ast.StmtNop{ Node: ast.Node{ @@ -3314,7 +3311,7 @@ yydefault: } case 72: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:1165 +// line internal/php5/php5.y:1161 { yyVAL.node = &ast.StmtTry{ TryTkn: yyDollar[1].token, @@ -3333,7 +3330,7 @@ yydefault: } case 73: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1182 +// line internal/php5/php5.y:1178 { yyVAL.node = &ast.StmtThrow{ Node: ast.Node{ @@ -3346,7 +3343,7 @@ yydefault: } case 74: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1193 +// line internal/php5/php5.y:1189 { yyVAL.node = &ast.StmtGoto{ Node: ast.Node{ @@ -3365,13 +3362,13 @@ yydefault: } case 75: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1213 +// line internal/php5/php5.y:1209 { yyVAL.list = []ast.Vertex{} } case 76: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:1217 +// line internal/php5/php5.y:1213 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -3404,13 +3401,13 @@ yydefault: } case 77: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1251 +// line internal/php5/php5.y:1247 { yyVAL.node = nil } case 78: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1255 +// line internal/php5/php5.y:1251 { yyVAL.node = &ast.StmtFinally{ Node: ast.Node{ @@ -3424,31 +3421,31 @@ yydefault: } case 79: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1270 +// line internal/php5/php5.y:1266 { yyVAL.list = yyDollar[1].list } case 80: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1274 +// line internal/php5/php5.y:1270 { yyVAL.list = []ast.Vertex{} } case 81: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1281 +// line internal/php5/php5.y:1277 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 82: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1285 +// line internal/php5/php5.y:1281 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 83: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:1292 +// line internal/php5/php5.y:1288 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -3480,7 +3477,7 @@ yydefault: } case 84: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1325 +// line internal/php5/php5.y:1321 { yyVAL.node = &ast.StmtUnset{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -3488,7 +3485,7 @@ yydefault: } case 85: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1331 +// line internal/php5/php5.y:1327 { yyDollar[1].node.(*ast.StmtUnset).Vars = append(yyDollar[1].node.(*ast.StmtUnset).Vars, yyDollar[3].node) yyDollar[1].node.(*ast.StmtUnset).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtUnset).SeparatorTkns, yyDollar[2].token) @@ -3497,49 +3494,49 @@ yydefault: } case 86: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1341 +// line internal/php5/php5.y:1337 { yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1348 +// line internal/php5/php5.y:1344 { yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1355 +// line internal/php5/php5.y:1351 { yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1362 +// line internal/php5/php5.y:1358 { yyVAL.token = nil } case 90: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1366 +// line internal/php5/php5.y:1362 { yyVAL.token = yyDollar[1].token } case 91: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1373 +// line internal/php5/php5.y:1369 { yyVAL.token = nil } case 92: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1377 +// line internal/php5/php5.y:1373 { yyVAL.token = yyDollar[1].token } case 93: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:1384 +// line internal/php5/php5.y:1380 { name := &ast.Identifier{ Node: ast.Node{ @@ -3564,7 +3561,7 @@ yydefault: } case 94: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php5/php5.y:1410 +// line internal/php5/php5.y:1406 { switch n := yyDollar[1].node.(type) { case *ast.StmtClass: @@ -3576,8 +3573,8 @@ yydefault: IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, } - n.Extends = yyDollar[3].ClassExtends - n.Implements = yyDollar[4].ClassImplements + n.Extends = yyDollar[3].node + n.Implements = yyDollar[4].node n.OpenCurlyBracket = yyDollar[5].token n.Stmts = yyDollar[6].list n.CloseCurlyBracket = yyDollar[7].token @@ -3590,8 +3587,8 @@ yydefault: IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, } - n.Extends = yyDollar[3].ClassExtends - n.Implements = yyDollar[4].ClassImplements + n.Extends = yyDollar[3].node + n.Implements = yyDollar[4].node n.OpenCurlyBracket = yyDollar[5].token n.Stmts = yyDollar[6].list n.CloseCurlyBracket = yyDollar[7].token @@ -3601,7 +3598,7 @@ yydefault: } case 95: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:1445 +// line internal/php5/php5.y:1441 { name := &ast.Identifier{ Node: ast.Node{ @@ -3610,7 +3607,7 @@ yydefault: IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, } - yyVAL.node = &ast.StmtInterface{ast.Node{}, name, yyDollar[3].InterfaceExtends, yyDollar[5].list} + yyVAL.node = &ast.StmtInterface{ast.Node{}, name, yyDollar[3].node, yyDollar[5].list} // save position yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token) @@ -3622,7 +3619,7 @@ yydefault: } case 96: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1468 +// line internal/php5/php5.y:1464 { yyVAL.node = &ast.StmtClass{ Node: ast.Node{ @@ -3633,7 +3630,7 @@ yydefault: } case 97: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1477 +// line internal/php5/php5.y:1473 { yyVAL.node = &ast.StmtClass{ Node: ast.Node{ @@ -3653,7 +3650,7 @@ yydefault: } case 98: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1495 +// line internal/php5/php5.y:1491 { yyVAL.node = &ast.StmtTrait{ Node: ast.Node{ @@ -3664,7 +3661,7 @@ yydefault: } case 99: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1504 +// line internal/php5/php5.y:1500 { yyVAL.node = &ast.StmtClass{ Node: ast.Node{ @@ -3684,93 +3681,92 @@ yydefault: } case 100: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1525 +// line internal/php5/php5.y:1521 { - yyVAL.ClassExtends = nil + yyVAL.node = nil } case 101: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1529 +// line internal/php5/php5.y:1525 { - yyVAL.ClassExtends = &ast.StmtClassExtends{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.ClassExtends.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.ClassExtends, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.StmtClassExtends{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + ExtendTkn: yyDollar[1].token, + ClassName: yyDollar[2].node, + } } case 102: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1542 +// line internal/php5/php5.y:1538 { yyVAL.token = yyDollar[1].token } case 103: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1549 +// line internal/php5/php5.y:1545 { - yyVAL.InterfaceExtends = nil + yyVAL.node = nil } case 104: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1553 +// line internal/php5/php5.y:1549 { - yyVAL.InterfaceExtends = &ast.StmtInterfaceExtends{ast.Node{}, yyDollar[2].list} - - // save position - yyVAL.InterfaceExtends.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.InterfaceExtends, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.StmtInterfaceExtends{ + Node: ast.Node{ + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + }, + ExtendsTkn: yyDollar[1].token, + InterfaceNames: yyDollar[2].node.(*ast.ParserSeparatedList).Items, + SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, + } } case 105: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1566 +// line internal/php5/php5.y:1563 { - yyVAL.ClassImplements = nil + yyVAL.node = nil } case 106: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1570 +// line internal/php5/php5.y:1567 { - yyVAL.ClassImplements = &ast.StmtClassImplements{ast.Node{}, yyDollar[2].list} - - // save position - yyVAL.ClassImplements.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.ClassImplements, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.StmtClassImplements{ + Node: ast.Node{ + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + }, + ImplementsTkn: yyDollar[1].token, + InterfaceNames: yyDollar[2].node.(*ast.ParserSeparatedList).Items, + SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, + } } case 107: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1583 +// line internal/php5/php5.y:1581 { - yyVAL.list = []ast.Vertex{yyDollar[1].node} + yyVAL.node = &ast.ParserSeparatedList{ + Items: []ast.Vertex{yyDollar[1].node}, + } } case 108: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1587 +// line internal/php5/php5.y:1587 { - switch n := lastNode(yyDollar[1].list).(type) { - case *ast.NameName: - n.ListSeparatorTkn = yyDollar[2].token - case *ast.NameFullyQualified: - n.ListSeparatorTkn = yyDollar[2].token - case *ast.NameRelative: - n.ListSeparatorTkn = yyDollar[2].token - } - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) + yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node) + + yyVAL.node = yyDollar[1].node } case 109: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1599 +// line internal/php5/php5.y:1597 { yyVAL.node = nil } case 110: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1603 +// line internal/php5/php5.y:1601 { yyVAL.node = &ast.StmtForeach{ DoubleArrowTkn: yyDollar[1].token, @@ -3779,13 +3775,13 @@ yydefault: } case 111: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1613 +// line internal/php5/php5.y:1611 { yyVAL.node = yyDollar[1].node } case 112: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1617 +// line internal/php5/php5.y:1615 { yyVAL.node = &ast.ExprReference{ast.Node{}, yyDollar[2].node} @@ -3797,7 +3793,7 @@ yydefault: } case 113: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1627 +// line internal/php5/php5.y:1625 { yyVAL.node = &ast.ExprList{ast.Node{}, yyDollar[3].list} @@ -3811,7 +3807,7 @@ yydefault: } case 114: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1642 +// line internal/php5/php5.y:1640 { yyVAL.node = &ast.StmtFor{ Node: ast.Node{ @@ -3822,7 +3818,7 @@ yydefault: } case 115: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1651 +// line internal/php5/php5.y:1649 { yyVAL.node = &ast.StmtFor{ Node: ast.Node{ @@ -3842,7 +3838,7 @@ yydefault: } case 116: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1672 +// line internal/php5/php5.y:1670 { yyVAL.node = &ast.StmtForeach{ Node: ast.Node{ @@ -3853,7 +3849,7 @@ yydefault: } case 117: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1681 +// line internal/php5/php5.y:1679 { yyVAL.node = &ast.StmtForeach{ Node: ast.Node{ @@ -3873,7 +3869,7 @@ yydefault: } case 118: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1703 +// line internal/php5/php5.y:1701 { yyVAL.node = &ast.StmtDeclare{ Node: ast.Node{ @@ -3884,7 +3880,7 @@ yydefault: } case 119: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1712 +// line internal/php5/php5.y:1710 { yyVAL.node = &ast.StmtDeclare{ Node: ast.Node{ @@ -3904,7 +3900,7 @@ yydefault: } case 120: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1734 +// line internal/php5/php5.y:1732 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -3929,7 +3925,7 @@ yydefault: } case 121: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1757 +// line internal/php5/php5.y:1755 { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ParserSeparatedList).Items = append( @@ -3956,7 +3952,7 @@ yydefault: } case 122: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1786 +// line internal/php5/php5.y:1784 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3969,7 +3965,7 @@ yydefault: } case 123: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1797 +// line internal/php5/php5.y:1795 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3983,7 +3979,7 @@ yydefault: } case 124: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1809 +// line internal/php5/php5.y:1807 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3998,7 +3994,7 @@ yydefault: } case 125: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1822 +// line internal/php5/php5.y:1820 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -4014,13 +4010,13 @@ yydefault: } case 126: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1840 +// line internal/php5/php5.y:1838 { yyVAL.list = nil } case 127: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1844 +// line internal/php5/php5.y:1842 { yyVAL.list = append(yyDollar[1].list, &ast.StmtCase{ Node: ast.Node{ @@ -4034,7 +4030,7 @@ yydefault: } case 128: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1856 +// line internal/php5/php5.y:1854 { yyVAL.list = append(yyDollar[1].list, &ast.StmtDefault{ Node: ast.Node{ @@ -4047,19 +4043,19 @@ yydefault: } case 129: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1871 +// line internal/php5/php5.y:1869 { yyVAL.token = yyDollar[1].token } case 130: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1875 +// line internal/php5/php5.y:1873 { yyVAL.token = yyDollar[1].token } case 131: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1883 +// line internal/php5/php5.y:1881 { yyVAL.node = &ast.StmtWhile{ Node: ast.Node{ @@ -4070,7 +4066,7 @@ yydefault: } case 132: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1892 +// line internal/php5/php5.y:1890 { yyVAL.node = &ast.StmtWhile{ Node: ast.Node{ @@ -4090,13 +4086,13 @@ yydefault: } case 133: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1915 +// line internal/php5/php5.y:1913 { yyVAL.list = nil } case 134: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1919 +// line internal/php5/php5.y:1917 { yyVAL.list = append(yyDollar[1].list, &ast.StmtElseIf{ Node: ast.Node{ @@ -4111,13 +4107,13 @@ yydefault: } case 135: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1936 +// line internal/php5/php5.y:1934 { yyVAL.list = nil } case 136: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1940 +// line internal/php5/php5.y:1938 { yyVAL.list = append(yyDollar[1].list, &ast.StmtElseIf{ Node: ast.Node{ @@ -4139,13 +4135,13 @@ yydefault: } case 137: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1964 +// line internal/php5/php5.y:1962 { yyVAL.node = nil } case 138: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1968 +// line internal/php5/php5.y:1966 { yyVAL.node = &ast.StmtElse{ Node: ast.Node{ @@ -4157,13 +4153,13 @@ yydefault: } case 139: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1982 +// line internal/php5/php5.y:1980 { yyVAL.node = nil } case 140: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1986 +// line internal/php5/php5.y:1984 { yyVAL.node = &ast.StmtElse{ Node: ast.Node{ @@ -4182,25 +4178,25 @@ yydefault: } case 141: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2007 +// line internal/php5/php5.y:2005 { yyVAL.list = yyDollar[1].list } case 142: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2011 +// line internal/php5/php5.y:2009 { yyVAL.list = nil } case 143: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2018 +// line internal/php5/php5.y:2016 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 144: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2022 +// line internal/php5/php5.y:2020 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -4209,7 +4205,7 @@ yydefault: } case 145: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2032 +// line internal/php5/php5.y:2030 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -4263,7 +4259,7 @@ yydefault: } case 146: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:2084 +// line internal/php5/php5.y:2082 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -4320,13 +4316,13 @@ yydefault: } case 147: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2143 +// line internal/php5/php5.y:2141 { yyVAL.node = nil } case 148: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2147 +// line internal/php5/php5.y:2145 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4338,7 +4334,7 @@ yydefault: } case 149: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2157 +// line internal/php5/php5.y:2155 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4350,13 +4346,13 @@ yydefault: } case 150: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2167 +// line internal/php5/php5.y:2165 { yyVAL.node = yyDollar[1].node } case 151: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2175 +// line internal/php5/php5.y:2173 { yyVAL.node = &ast.ArgumentList{ Node: ast.Node{ @@ -4368,7 +4364,7 @@ yydefault: } case 152: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2185 +// line internal/php5/php5.y:2183 { argumentList := yyDollar[2].node.(*ast.ArgumentList) argumentList.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) @@ -4379,7 +4375,7 @@ yydefault: } case 153: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2194 +// line internal/php5/php5.y:2192 { yyVAL.node = &ast.ArgumentList{ Node: ast.Node{ @@ -4399,7 +4395,7 @@ yydefault: } case 154: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2216 +// line internal/php5/php5.y:2214 { yyVAL.node = &ast.ArgumentList{ Arguments: []ast.Vertex{yyDollar[1].node}, @@ -4407,7 +4403,7 @@ yydefault: } case 155: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2222 +// line internal/php5/php5.y:2220 { yyDollar[1].node.(*ast.ArgumentList).SeparatorTkns = append(yyDollar[1].node.(*ast.ArgumentList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ArgumentList).Arguments = append(yyDollar[1].node.(*ast.ArgumentList).Arguments, yyDollar[3].node) @@ -4416,7 +4412,7 @@ yydefault: } case 156: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2232 +// line internal/php5/php5.y:2230 { yyVAL.node = &ast.Argument{ Node: ast.Node{ @@ -4427,7 +4423,7 @@ yydefault: } case 157: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2241 +// line internal/php5/php5.y:2239 { yyVAL.node = &ast.Argument{ Node: ast.Node{ @@ -4438,7 +4434,7 @@ yydefault: } case 158: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2250 +// line internal/php5/php5.y:2248 { yyVAL.node = &ast.Argument{ Node: ast.Node{ @@ -4450,7 +4446,7 @@ yydefault: } case 159: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2260 +// line internal/php5/php5.y:2258 { yyVAL.node = &ast.Argument{ Node: ast.Node{ @@ -4462,7 +4458,7 @@ yydefault: } case 160: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2273 +// line internal/php5/php5.y:2271 { yyDollar[1].node.(*ast.StmtGlobal).Vars = append(yyDollar[1].node.(*ast.StmtGlobal).Vars, yyDollar[3].node) yyDollar[1].node.(*ast.StmtGlobal).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtGlobal).SeparatorTkns, yyDollar[2].token) @@ -4471,7 +4467,7 @@ yydefault: } case 161: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2280 +// line internal/php5/php5.y:2278 { yyVAL.node = &ast.StmtGlobal{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -4479,7 +4475,7 @@ yydefault: } case 162: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2290 +// line internal/php5/php5.y:2288 { name := &ast.Identifier{ Node: ast.Node{ @@ -4498,7 +4494,7 @@ yydefault: } case 163: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2307 +// line internal/php5/php5.y:2305 { yyVAL.node = &ast.ExprVariable{ast.Node{}, yyDollar[2].node} @@ -4510,7 +4506,7 @@ yydefault: } case 164: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2317 +// line internal/php5/php5.y:2315 { yyVAL.node = &ast.ExprVariable{ast.Node{}, yyDollar[3].node} @@ -4524,7 +4520,7 @@ yydefault: } case 165: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2333 +// line internal/php5/php5.y:2331 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -4553,7 +4549,7 @@ yydefault: } case 166: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:2360 +// line internal/php5/php5.y:2358 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -4584,7 +4580,7 @@ yydefault: } case 167: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2389 +// line internal/php5/php5.y:2387 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -4614,7 +4610,7 @@ yydefault: } case 168: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2417 +// line internal/php5/php5.y:2415 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -4646,19 +4642,19 @@ yydefault: } case 169: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2451 +// line internal/php5/php5.y:2449 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 170: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2455 +// line internal/php5/php5.y:2453 { yyVAL.list = []ast.Vertex{} } case 171: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2463 +// line internal/php5/php5.y:2461 { yyVAL.node = &ast.StmtPropertyList{ast.Node{}, yyDollar[1].list, nil, yyDollar[2].list} @@ -4672,7 +4668,7 @@ yydefault: } case 172: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2475 +// line internal/php5/php5.y:2473 { yyDollar[1].node.(*ast.StmtClassConstList).SemiColonTkn = yyDollar[2].token yyDollar[1].node.(*ast.StmtClassConstList).Node.Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token) @@ -4680,13 +4676,13 @@ yydefault: } case 173: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2481 +// line internal/php5/php5.y:2479 { yyVAL.node = yyDollar[1].node } case 174: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:2485 +// line internal/php5/php5.y:2483 { name := &ast.Identifier{ Node: ast.Node{ @@ -4722,39 +4718,38 @@ yydefault: } case 175: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2522 +// line internal/php5/php5.y:2520 { - yyVAL.node = &ast.StmtTraitUse{ast.Node{}, yyDollar[2].list, yyDollar[3].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.StmtTraitUse{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), + }, + UseTkn: yyDollar[1].token, + Traits: yyDollar[2].node.(*ast.ParserSeparatedList).Items, + SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, + Adaptations: yyDollar[3].node, + } } case 176: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2535 +// line internal/php5/php5.y:2535 { - yyVAL.list = []ast.Vertex{yyDollar[1].node} + yyVAL.node = &ast.ParserSeparatedList{ + Items: []ast.Vertex{yyDollar[1].node}, + } } case 177: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2539 +// line internal/php5/php5.y:2541 { - switch n := lastNode(yyDollar[1].list).(type) { - case *ast.NameName: - n.ListSeparatorTkn = yyDollar[2].token - case *ast.NameFullyQualified: - n.ListSeparatorTkn = yyDollar[2].token - case *ast.NameRelative: - n.ListSeparatorTkn = yyDollar[2].token - } - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) + yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node) + + yyVAL.node = yyDollar[1].node } case 178: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2551 +// line internal/php5/php5.y:2551 { yyVAL.node = &ast.StmtNop{ Node: ast.Node{ @@ -4765,7 +4760,7 @@ yydefault: } case 179: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2560 +// line internal/php5/php5.y:2560 { yyVAL.node = &ast.StmtTraitAdaptationList{ast.Node{}, yyDollar[2].list} @@ -4777,31 +4772,31 @@ yydefault: } case 180: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2573 +// line internal/php5/php5.y:2573 { yyVAL.list = nil } case 181: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2577 +// line internal/php5/php5.y:2577 { yyVAL.list = yyDollar[1].list } case 182: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2584 +// line internal/php5/php5.y:2584 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 183: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2588 +// line internal/php5/php5.y:2588 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 184: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2595 +// line internal/php5/php5.y:2595 { yyVAL.node = yyDollar[1].node @@ -4811,7 +4806,7 @@ yydefault: } case 185: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2603 +// line internal/php5/php5.y:2603 { yyVAL.node = yyDollar[1].node @@ -4821,35 +4816,38 @@ yydefault: } case 186: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2614 +// line internal/php5/php5.y:2614 { - yyVAL.node = &ast.StmtTraitUsePrecedence{ast.Node{}, yyDollar[1].node, yyDollar[3].list} - - // save position - yyVAL.node.GetNode().Position = position.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].list) - - // save comments - yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ref, yyDollar[2].token.SkippedTokens) + yyVAL.node = &ast.StmtTraitUsePrecedence{ + Node: ast.Node{ + Position: position.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].node.(*ast.ParserSeparatedList).Items), + }, + Ref: yyDollar[1].node, + InsteadofTkn: yyDollar[2].token, + Insteadof: yyDollar[3].node.(*ast.ParserSeparatedList).Items, + SeparatorTkns: yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns, + } } case 187: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2628 +// line internal/php5/php5.y:2629 { - yyVAL.list = []ast.Vertex{yyDollar[1].node} + yyVAL.node = &ast.ParserSeparatedList{ + Items: []ast.Vertex{yyDollar[1].node}, + } } case 188: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2632 +// line internal/php5/php5.y:2635 { - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) + yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node) - // save comments - yylex.(*Parser).setFreeFloating(lastNode(yyDollar[1].list), token.End, yyDollar[2].token.SkippedTokens) + yyVAL.node = yyDollar[1].node } case 189: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2642 +// line internal/php5/php5.y:2645 { name := &ast.Identifier{ Node: ast.Node{ @@ -4868,13 +4866,13 @@ yydefault: } case 190: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2659 +// line internal/php5/php5.y:2662 { yyVAL.node = yyDollar[1].node } case 191: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2666 +// line internal/php5/php5.y:2669 { target := &ast.Identifier{ Node: ast.Node{ @@ -4894,7 +4892,7 @@ yydefault: } case 192: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2687 +// line internal/php5/php5.y:2690 { alias := &ast.Identifier{ Node: ast.Node{ @@ -4914,7 +4912,7 @@ yydefault: } case 193: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2705 +// line internal/php5/php5.y:2708 { yyVAL.node = &ast.StmtTraitUseAlias{ast.Node{}, yyDollar[1].node, yyDollar[3].node, nil} @@ -4927,19 +4925,19 @@ yydefault: } case 194: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2719 +// line internal/php5/php5.y:2722 { yyVAL.node = nil } case 195: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2723 +// line internal/php5/php5.y:2726 { yyVAL.node = yyDollar[1].node } case 196: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2730 +// line internal/php5/php5.y:2733 { yyVAL.node = &ast.StmtNop{ Node: ast.Node{ @@ -4950,7 +4948,7 @@ yydefault: } case 197: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2739 +// line internal/php5/php5.y:2742 { yyVAL.node = &ast.StmtStmtList{ Node: ast.Node{ @@ -4963,13 +4961,13 @@ yydefault: } case 198: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2753 +// line internal/php5/php5.y:2756 { yyVAL.list = yyDollar[1].list } case 199: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2757 +// line internal/php5/php5.y:2760 { yyVAL.list = []ast.Vertex{ &ast.Identifier{ @@ -4983,31 +4981,31 @@ yydefault: } case 200: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2772 +// line internal/php5/php5.y:2775 { yyVAL.list = nil } case 201: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2776 +// line internal/php5/php5.y:2779 { yyVAL.list = yyDollar[1].list } case 202: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2783 +// line internal/php5/php5.y:2786 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 203: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2787 +// line internal/php5/php5.y:2790 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 204: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2794 +// line internal/php5/php5.y:2797 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5019,7 +5017,7 @@ yydefault: } case 205: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2804 +// line internal/php5/php5.y:2807 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5031,7 +5029,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2814 +// line internal/php5/php5.y:2817 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5043,7 +5041,7 @@ yydefault: } case 207: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2824 +// line internal/php5/php5.y:2827 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5055,7 +5053,7 @@ yydefault: } case 208: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2834 +// line internal/php5/php5.y:2837 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5067,7 +5065,7 @@ yydefault: } case 209: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2844 +// line internal/php5/php5.y:2847 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5079,7 +5077,7 @@ yydefault: } case 210: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2857 +// line internal/php5/php5.y:2860 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -5102,7 +5100,7 @@ yydefault: } case 211: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:2878 +// line internal/php5/php5.y:2881 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -5126,7 +5124,7 @@ yydefault: } case 212: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2900 +// line internal/php5/php5.y:2903 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -5148,7 +5146,7 @@ yydefault: } case 213: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2920 +// line internal/php5/php5.y:2923 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -5171,7 +5169,7 @@ yydefault: } case 214: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:2944 +// line internal/php5/php5.y:2947 { constList := yyDollar[1].node.(*ast.StmtClassConstList) constList.Node.Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node) @@ -5197,7 +5195,7 @@ yydefault: } case 215: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2968 +// line internal/php5/php5.y:2971 { yyVAL.node = &ast.StmtClassConstList{ Node: ast.Node{ @@ -5226,7 +5224,7 @@ yydefault: } case 216: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2998 +// line internal/php5/php5.y:3001 { yyDollar[1].node.(*ast.StmtEcho).Exprs = append(yyDollar[1].node.(*ast.StmtEcho).Exprs, yyDollar[3].node) yyDollar[1].node.(*ast.StmtEcho).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtEcho).SeparatorTkns, yyDollar[2].token) @@ -5235,7 +5233,7 @@ yydefault: } case 217: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3005 +// line internal/php5/php5.y:3008 { yyVAL.node = &ast.StmtEcho{ Exprs: []ast.Vertex{yyDollar[1].node}, @@ -5243,19 +5241,19 @@ yydefault: } case 218: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:3015 +// line internal/php5/php5.y:3018 { yyVAL.list = nil } case 219: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3019 +// line internal/php5/php5.y:3022 { yyVAL.list = yyDollar[1].list } case 220: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3026 +// line internal/php5/php5.y:3029 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -5264,25 +5262,25 @@ yydefault: } case 221: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3033 +// line internal/php5/php5.y:3036 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 222: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3040 +// line internal/php5/php5.y:3043 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 223: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3044 +// line internal/php5/php5.y:3047 { yyVAL.list = yyDollar[1].list } case 224: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3051 +// line internal/php5/php5.y:3054 { fetch := &ast.ExprArrayDimFetch{ast.Node{}, nil, yyDollar[3].node} yyVAL.list = append(yyDollar[1].list, fetch) @@ -5296,7 +5294,7 @@ yydefault: } case 225: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3063 +// line internal/php5/php5.y:3066 { fetch := &ast.ExprArrayDimFetch{ast.Node{}, nil, yyDollar[2].node} yyVAL.list = []ast.Vertex{fetch} @@ -5310,37 +5308,37 @@ yydefault: } case 226: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3078 +// line internal/php5/php5.y:3081 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 227: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3082 +// line internal/php5/php5.y:3085 { yyVAL.list = yyDollar[1].list } case 228: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3086 +// line internal/php5/php5.y:3089 { yyVAL.list = yyDollar[1].list } case 229: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:3093 +// line internal/php5/php5.y:3096 { yyVAL.list = nil } case 230: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3097 +// line internal/php5/php5.y:3100 { yyVAL.list = yyDollar[1].list } case 231: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3104 +// line internal/php5/php5.y:3107 { if yyDollar[3].node != nil { @@ -5356,7 +5354,7 @@ yydefault: } case 232: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:3121 +// line internal/php5/php5.y:3124 { listNode := &ast.ExprList{ast.Node{}, yyDollar[3].list} yyVAL.node = &ast.ExprAssign{ast.Node{}, listNode, yyDollar[6].node} @@ -5373,7 +5371,7 @@ yydefault: } case 233: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3136 +// line internal/php5/php5.y:3139 { yyVAL.node = &ast.ExprAssign{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5386,7 +5384,7 @@ yydefault: } case 234: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3147 +// line internal/php5/php5.y:3150 { yyVAL.node = &ast.ExprAssignReference{ast.Node{}, yyDollar[1].node, yyDollar[4].node} @@ -5400,7 +5398,7 @@ yydefault: } case 235: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:3159 +// line internal/php5/php5.y:3162 { var _new *ast.ExprNew @@ -5427,7 +5425,7 @@ yydefault: } case 236: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3184 +// line internal/php5/php5.y:3187 { yyVAL.node = &ast.ExprClone{ast.Node{}, yyDollar[2].node} @@ -5439,7 +5437,7 @@ yydefault: } case 237: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3194 +// line internal/php5/php5.y:3197 { yyVAL.node = &ast.ExprAssignPlus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5451,7 +5449,7 @@ yydefault: } case 238: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3204 +// line internal/php5/php5.y:3207 { yyVAL.node = &ast.ExprAssignMinus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5464,7 +5462,7 @@ yydefault: } case 239: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3215 +// line internal/php5/php5.y:3218 { yyVAL.node = &ast.ExprAssignMul{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5477,7 +5475,7 @@ yydefault: } case 240: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3226 +// line internal/php5/php5.y:3229 { yyVAL.node = &ast.ExprAssignPow{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5490,7 +5488,7 @@ yydefault: } case 241: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3237 +// line internal/php5/php5.y:3240 { yyVAL.node = &ast.ExprAssignDiv{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5503,7 +5501,7 @@ yydefault: } case 242: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3248 +// line internal/php5/php5.y:3251 { yyVAL.node = &ast.ExprAssignConcat{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5516,7 +5514,7 @@ yydefault: } case 243: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3259 +// line internal/php5/php5.y:3262 { yyVAL.node = &ast.ExprAssignMod{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5529,7 +5527,7 @@ yydefault: } case 244: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3270 +// line internal/php5/php5.y:3273 { yyVAL.node = &ast.ExprAssignBitwiseAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5542,7 +5540,7 @@ yydefault: } case 245: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3281 +// line internal/php5/php5.y:3284 { yyVAL.node = &ast.ExprAssignBitwiseOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5555,7 +5553,7 @@ yydefault: } case 246: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3292 +// line internal/php5/php5.y:3295 { yyVAL.node = &ast.ExprAssignBitwiseXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5568,7 +5566,7 @@ yydefault: } case 247: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3303 +// line internal/php5/php5.y:3306 { yyVAL.node = &ast.ExprAssignShiftLeft{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5581,7 +5579,7 @@ yydefault: } case 248: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3314 +// line internal/php5/php5.y:3317 { yyVAL.node = &ast.ExprAssignShiftRight{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5594,7 +5592,7 @@ yydefault: } case 249: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3325 +// line internal/php5/php5.y:3328 { yyVAL.node = &ast.ExprPostInc{ast.Node{}, yyDollar[1].node} @@ -5607,7 +5605,7 @@ yydefault: } case 250: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3336 +// line internal/php5/php5.y:3339 { yyVAL.node = &ast.ExprPreInc{ast.Node{}, yyDollar[2].node} @@ -5619,7 +5617,7 @@ yydefault: } case 251: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3346 +// line internal/php5/php5.y:3349 { yyVAL.node = &ast.ExprPostDec{ast.Node{}, yyDollar[1].node} @@ -5632,7 +5630,7 @@ yydefault: } case 252: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3357 +// line internal/php5/php5.y:3360 { yyVAL.node = &ast.ExprPreDec{ast.Node{}, yyDollar[2].node} @@ -5644,7 +5642,7 @@ yydefault: } case 253: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3367 +// line internal/php5/php5.y:3370 { yyVAL.node = &ast.ExprBinaryBooleanOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5657,7 +5655,7 @@ yydefault: } case 254: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3378 +// line internal/php5/php5.y:3381 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5670,7 +5668,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3389 +// line internal/php5/php5.y:3392 { yyVAL.node = &ast.ExprBinaryLogicalOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5683,7 +5681,7 @@ yydefault: } case 256: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3400 +// line internal/php5/php5.y:3403 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5696,7 +5694,7 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3411 +// line internal/php5/php5.y:3414 { yyVAL.node = &ast.ExprBinaryLogicalXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5709,7 +5707,7 @@ yydefault: } case 258: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3422 +// line internal/php5/php5.y:3425 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5722,7 +5720,7 @@ yydefault: } case 259: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3433 +// line internal/php5/php5.y:3436 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5735,7 +5733,7 @@ yydefault: } case 260: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3444 +// line internal/php5/php5.y:3447 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5748,7 +5746,7 @@ yydefault: } case 261: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3455 +// line internal/php5/php5.y:3458 { yyVAL.node = &ast.ExprBinaryConcat{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5760,7 +5758,7 @@ yydefault: } case 262: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3465 +// line internal/php5/php5.y:3468 { yyVAL.node = &ast.ExprBinaryPlus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5773,7 +5771,7 @@ yydefault: } case 263: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3476 +// line internal/php5/php5.y:3479 { yyVAL.node = &ast.ExprBinaryMinus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5786,7 +5784,7 @@ yydefault: } case 264: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3487 +// line internal/php5/php5.y:3490 { yyVAL.node = &ast.ExprBinaryMul{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5799,7 +5797,7 @@ yydefault: } case 265: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3498 +// line internal/php5/php5.y:3501 { yyVAL.node = &ast.ExprBinaryPow{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5812,7 +5810,7 @@ yydefault: } case 266: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3509 +// line internal/php5/php5.y:3512 { yyVAL.node = &ast.ExprBinaryDiv{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5825,7 +5823,7 @@ yydefault: } case 267: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3520 +// line internal/php5/php5.y:3523 { yyVAL.node = &ast.ExprBinaryMod{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5838,7 +5836,7 @@ yydefault: } case 268: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3531 +// line internal/php5/php5.y:3534 { yyVAL.node = &ast.ExprBinaryShiftLeft{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5851,7 +5849,7 @@ yydefault: } case 269: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3542 +// line internal/php5/php5.y:3545 { yyVAL.node = &ast.ExprBinaryShiftRight{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5864,7 +5862,7 @@ yydefault: } case 270: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3553 +// line internal/php5/php5.y:3556 { yyVAL.node = &ast.ExprUnaryPlus{ast.Node{}, yyDollar[2].node} @@ -5876,7 +5874,7 @@ yydefault: } case 271: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3563 +// line internal/php5/php5.y:3566 { yyVAL.node = &ast.ExprUnaryMinus{ast.Node{}, yyDollar[2].node} @@ -5888,7 +5886,7 @@ yydefault: } case 272: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3573 +// line internal/php5/php5.y:3576 { yyVAL.node = &ast.ExprBooleanNot{ast.Node{}, yyDollar[2].node} @@ -5900,7 +5898,7 @@ yydefault: } case 273: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3583 +// line internal/php5/php5.y:3586 { yyVAL.node = &ast.ExprBitwiseNot{ast.Node{}, yyDollar[2].node} @@ -5912,7 +5910,7 @@ yydefault: } case 274: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3593 +// line internal/php5/php5.y:3596 { yyVAL.node = &ast.ExprBinaryIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5925,7 +5923,7 @@ yydefault: } case 275: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3604 +// line internal/php5/php5.y:3607 { yyVAL.node = &ast.ExprBinaryNotIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5938,7 +5936,7 @@ yydefault: } case 276: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3615 +// line internal/php5/php5.y:3618 { yyVAL.node = &ast.ExprBinaryEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5951,7 +5949,7 @@ yydefault: } case 277: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3626 +// line internal/php5/php5.y:3629 { yyVAL.node = &ast.ExprBinaryNotEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5965,7 +5963,7 @@ yydefault: } case 278: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3638 +// line internal/php5/php5.y:3641 { yyVAL.node = &ast.ExprBinarySmaller{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5978,7 +5976,7 @@ yydefault: } case 279: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3649 +// line internal/php5/php5.y:3652 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5991,7 +5989,7 @@ yydefault: } case 280: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3660 +// line internal/php5/php5.y:3663 { yyVAL.node = &ast.ExprBinaryGreater{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6004,7 +6002,7 @@ yydefault: } case 281: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3671 +// line internal/php5/php5.y:3674 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6017,7 +6015,7 @@ yydefault: } case 282: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3682 +// line internal/php5/php5.y:3685 { yyVAL.node = &ast.ExprInstanceOf{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6030,19 +6028,19 @@ yydefault: } case 283: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3693 +// line internal/php5/php5.y:3696 { yyVAL.node = yyDollar[1].node } case 284: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3697 +// line internal/php5/php5.y:3700 { yyVAL.node = yyDollar[1].node } case 285: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3701 +// line internal/php5/php5.y:3704 { yyVAL.node = yyDollar[2].node @@ -6074,7 +6072,7 @@ yydefault: } case 286: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:3731 +// line internal/php5/php5.y:3734 { yyVAL.node = &ast.ExprTernary{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[5].node} @@ -6088,7 +6086,7 @@ yydefault: } case 287: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3743 +// line internal/php5/php5.y:3746 { yyVAL.node = &ast.ExprTernary{ast.Node{}, yyDollar[1].node, nil, yyDollar[4].node} @@ -6102,13 +6100,13 @@ yydefault: } case 288: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3755 +// line internal/php5/php5.y:3758 { yyVAL.node = yyDollar[1].node } case 289: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3759 +// line internal/php5/php5.y:3762 { yyVAL.node = &ast.ExprCastInt{ast.Node{}, yyDollar[2].node} @@ -6121,7 +6119,7 @@ yydefault: } case 290: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3770 +// line internal/php5/php5.y:3773 { yyVAL.node = &ast.ExprCastDouble{ast.Node{}, yyDollar[2].node} @@ -6134,7 +6132,7 @@ yydefault: } case 291: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3781 +// line internal/php5/php5.y:3784 { yyVAL.node = &ast.ExprCastString{ast.Node{}, yyDollar[2].node} @@ -6147,7 +6145,7 @@ yydefault: } case 292: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3792 +// line internal/php5/php5.y:3795 { yyVAL.node = &ast.ExprCastArray{ast.Node{}, yyDollar[2].node} @@ -6160,7 +6158,7 @@ yydefault: } case 293: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3803 +// line internal/php5/php5.y:3806 { yyVAL.node = &ast.ExprCastObject{ast.Node{}, yyDollar[2].node} @@ -6173,7 +6171,7 @@ yydefault: } case 294: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3814 +// line internal/php5/php5.y:3817 { yyVAL.node = &ast.ExprCastBool{ast.Node{}, yyDollar[2].node} @@ -6186,7 +6184,7 @@ yydefault: } case 295: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3825 +// line internal/php5/php5.y:3828 { yyVAL.node = &ast.ExprCastUnset{ast.Node{}, yyDollar[2].node} @@ -6199,7 +6197,7 @@ yydefault: } case 296: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3836 +// line internal/php5/php5.y:3839 { yyVAL.node = &ast.ExprExit{ast.Node{}, false, yyDollar[2].node} @@ -6219,7 +6217,7 @@ yydefault: } case 297: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3854 +// line internal/php5/php5.y:3857 { yyVAL.node = &ast.ExprErrorSuppress{ast.Node{}, yyDollar[2].node} @@ -6231,25 +6229,25 @@ yydefault: } case 298: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3864 +// line internal/php5/php5.y:3867 { yyVAL.node = yyDollar[1].node } case 299: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3868 +// line internal/php5/php5.y:3871 { yyVAL.node = yyDollar[1].node } case 300: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3872 +// line internal/php5/php5.y:3875 { yyVAL.node = yyDollar[1].node } case 301: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3876 +// line internal/php5/php5.y:3879 { yyVAL.node = &ast.ExprShellExec{ast.Node{}, yyDollar[2].list} @@ -6261,7 +6259,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3886 +// line internal/php5/php5.y:3889 { yyVAL.node = &ast.ExprPrint{ast.Node{}, yyDollar[2].node} @@ -6273,7 +6271,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3896 +// line internal/php5/php5.y:3899 { yyVAL.node = &ast.ExprYield{ast.Node{}, nil, nil} @@ -6285,7 +6283,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:3906 +// line internal/php5/php5.y:3909 { yyVAL.node = &ast.ExprClosure{ast.Node{}, yyDollar[2].token != nil, false, yyDollar[4].list, yyDollar[6].ClosureUse, nil, yyDollar[8].list} @@ -6312,7 +6310,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-10 : yypt+1] - // line internal/php5/php5.y:3930 +// line internal/php5/php5.y:3933 { yyVAL.node = &ast.ExprClosure{ast.Node{}, yyDollar[3].token != nil, true, yyDollar[5].list, yyDollar[7].ClosureUse, nil, yyDollar[9].list} @@ -6340,7 +6338,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3958 +// line internal/php5/php5.y:3961 { yyVAL.node = &ast.ExprYield{ast.Node{}, nil, yyDollar[2].node} @@ -6352,7 +6350,7 @@ yydefault: } case 307: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3968 +// line internal/php5/php5.y:3971 { yyVAL.node = &ast.ExprYield{ast.Node{}, nil, yyDollar[2].node} @@ -6364,7 +6362,7 @@ yydefault: } case 308: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3978 +// line internal/php5/php5.y:3981 { yyVAL.node = &ast.ExprYield{ast.Node{}, yyDollar[2].node, yyDollar[4].node} @@ -6377,7 +6375,7 @@ yydefault: } case 309: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3989 +// line internal/php5/php5.y:3992 { yyVAL.node = &ast.ExprYield{ast.Node{}, yyDollar[2].node, yyDollar[4].node} @@ -6390,7 +6388,7 @@ yydefault: } case 310: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4003 +// line internal/php5/php5.y:4006 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6403,7 +6401,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4014 +// line internal/php5/php5.y:4017 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6416,7 +6414,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4025 +// line internal/php5/php5.y:4028 { str := &ast.ScalarString{ Node: ast.Node{ @@ -6436,7 +6434,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4043 +// line internal/php5/php5.y:4046 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6449,7 +6447,7 @@ yydefault: } case 314: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4057 +// line internal/php5/php5.y:4060 { yyVAL.node = &ast.ExprArray{ast.Node{}, yyDollar[3].list} @@ -6463,7 +6461,7 @@ yydefault: } case 315: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4069 +// line internal/php5/php5.y:4072 { yyVAL.node = &ast.ExprShortArray{ast.Node{}, yyDollar[2].list} @@ -6476,19 +6474,19 @@ yydefault: } case 316: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4083 +// line internal/php5/php5.y:4086 { yyVAL.token = yyDollar[1].token } case 317: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4090 +// line internal/php5/php5.y:4093 { yyVAL.ClosureUse = nil } case 318: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4094 +// line internal/php5/php5.y:4097 { yyVAL.ClosureUse = &ast.ExprClosureUse{ast.Node{}, yyDollar[3].list} @@ -6502,7 +6500,7 @@ yydefault: } case 319: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4109 +// line internal/php5/php5.y:4112 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -6523,7 +6521,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4128 +// line internal/php5/php5.y:4131 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -6547,7 +6545,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4150 +// line internal/php5/php5.y:4153 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -6567,7 +6565,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4168 +// line internal/php5/php5.y:4171 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -6590,7 +6588,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4192 +// line internal/php5/php5.y:4195 { name := &ast.NameName{ Node: ast.Node{ @@ -6605,7 +6603,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4205 +// line internal/php5/php5.y:4208 { name := &ast.NameRelative{ Node: ast.Node{ @@ -6622,7 +6620,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4220 +// line internal/php5/php5.y:4223 { name := &ast.NameFullyQualified{ Node: ast.Node{ @@ -6638,7 +6636,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4234 +// line internal/php5/php5.y:4237 { yyVAL.node = &ast.ExprStaticCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -6651,7 +6649,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4245 +// line internal/php5/php5.y:4248 { yyVAL.node = &ast.ExprStaticCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -6664,7 +6662,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4256 +// line internal/php5/php5.y:4259 { yyVAL.node = &ast.ExprStaticCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -6677,7 +6675,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4267 +// line internal/php5/php5.y:4270 { yyVAL.node = &ast.ExprStaticCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -6690,7 +6688,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4278 +// line internal/php5/php5.y:4281 { yyVAL.node = &ast.ExprFunctionCall{ast.Node{}, yyDollar[1].node, yyDollar[2].node.(*ast.ArgumentList)} @@ -6702,7 +6700,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4291 +// line internal/php5/php5.y:4294 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -6714,7 +6712,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4301 +// line internal/php5/php5.y:4304 { yyVAL.node = &ast.NameName{ Node: ast.Node{ @@ -6725,7 +6723,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4310 +// line internal/php5/php5.y:4313 { yyVAL.node = &ast.NameRelative{ Node: ast.Node{ @@ -6738,7 +6736,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4321 +// line internal/php5/php5.y:4324 { yyVAL.node = &ast.NameFullyQualified{ Node: ast.Node{ @@ -6750,7 +6748,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4334 +// line internal/php5/php5.y:4337 { yyVAL.node = &ast.NameName{ Node: ast.Node{ @@ -6761,7 +6759,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4343 +// line internal/php5/php5.y:4346 { yyVAL.node = &ast.NameRelative{ Node: ast.Node{ @@ -6774,7 +6772,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4354 +// line internal/php5/php5.y:4357 { yyVAL.node = &ast.NameFullyQualified{ Node: ast.Node{ @@ -6786,19 +6784,19 @@ yydefault: } case 338: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4367 +// line internal/php5/php5.y:4370 { yyVAL.node = yyDollar[1].node } case 339: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4371 +// line internal/php5/php5.y:4374 { yyVAL.node = yyDollar[1].node } case 340: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4378 +// line internal/php5/php5.y:4381 { yyVAL.node = yyDollar[1].node @@ -6839,25 +6837,25 @@ yydefault: } case 341: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4417 +// line internal/php5/php5.y:4420 { yyVAL.node = yyDollar[1].node } case 342: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4425 +// line internal/php5/php5.y:4428 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 343: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4429 +// line internal/php5/php5.y:4432 { yyVAL.list = []ast.Vertex{} } case 344: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4437 +// line internal/php5/php5.y:4440 { yyVAL.list = yyDollar[2].list @@ -6866,13 +6864,13 @@ yydefault: } case 345: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4447 +// line internal/php5/php5.y:4450 { yyVAL.node = nil } case 346: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4451 +// line internal/php5/php5.y:4454 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -6888,19 +6886,19 @@ yydefault: } case 347: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4465 +// line internal/php5/php5.y:4468 { yyVAL.node = yyDollar[1].node } case 348: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4472 +// line internal/php5/php5.y:4475 { yyVAL.list = []ast.Vertex{} } case 349: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4476 +// line internal/php5/php5.y:4479 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ @@ -6914,25 +6912,25 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4488 +// line internal/php5/php5.y:4491 { yyVAL.list = yyDollar[1].list } case 351: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4495 +// line internal/php5/php5.y:4498 { yyVAL.node = nil } case 352: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4499 +// line internal/php5/php5.y:4502 { yyVAL.node = yyDollar[1].node } case 353: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4506 +// line internal/php5/php5.y:4509 { yyVAL.node = &ast.ScalarLnumber{ Node: ast.Node{ @@ -6944,7 +6942,7 @@ yydefault: } case 354: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4516 +// line internal/php5/php5.y:4519 { yyVAL.node = &ast.ScalarDnumber{ Node: ast.Node{ @@ -6956,7 +6954,7 @@ yydefault: } case 355: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4526 +// line internal/php5/php5.y:4529 { yyVAL.node = &ast.ScalarString{ Node: ast.Node{ @@ -6968,7 +6966,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4536 +// line internal/php5/php5.y:4539 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6980,7 +6978,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4546 +// line internal/php5/php5.y:4549 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6992,7 +6990,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4556 +// line internal/php5/php5.y:4559 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7004,7 +7002,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4566 +// line internal/php5/php5.y:4569 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7016,7 +7014,7 @@ yydefault: } case 360: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4576 +// line internal/php5/php5.y:4579 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7028,7 +7026,7 @@ yydefault: } case 361: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4586 +// line internal/php5/php5.y:4589 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7040,7 +7038,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4596 +// line internal/php5/php5.y:4599 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7052,7 +7050,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4606 +// line internal/php5/php5.y:4609 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -7073,7 +7071,7 @@ yydefault: } case 364: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4625 +// line internal/php5/php5.y:4628 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -7085,7 +7083,7 @@ yydefault: } case 365: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4638 +// line internal/php5/php5.y:4641 { target := &ast.Identifier{ Node: ast.Node{ @@ -7105,25 +7103,25 @@ yydefault: } case 366: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4659 +// line internal/php5/php5.y:4662 { yyVAL.node = yyDollar[1].node } case 367: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4666 +// line internal/php5/php5.y:4669 { yyVAL.node = yyDollar[1].node } case 368: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4670 +// line internal/php5/php5.y:4673 { yyVAL.node = yyDollar[1].node } case 369: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4674 +// line internal/php5/php5.y:4677 { name := &ast.NameName{ Node: ast.Node{ @@ -7138,7 +7136,7 @@ yydefault: } case 370: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4687 +// line internal/php5/php5.y:4690 { name := &ast.NameRelative{ Node: ast.Node{ @@ -7155,7 +7153,7 @@ yydefault: } case 371: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4702 +// line internal/php5/php5.y:4705 { name := &ast.NameFullyQualified{ Node: ast.Node{ @@ -7171,7 +7169,7 @@ yydefault: } case 372: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4716 +// line internal/php5/php5.y:4719 { yyVAL.node = &ast.ExprArray{ast.Node{}, yyDollar[3].list} @@ -7185,7 +7183,7 @@ yydefault: } case 373: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4728 +// line internal/php5/php5.y:4731 { yyVAL.node = &ast.ExprShortArray{ast.Node{}, yyDollar[2].list} @@ -7198,13 +7196,13 @@ yydefault: } case 374: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4739 +// line internal/php5/php5.y:4742 { yyVAL.node = yyDollar[1].node } case 375: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4743 +// line internal/php5/php5.y:4746 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7216,13 +7214,13 @@ yydefault: } case 376: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4753 +// line internal/php5/php5.y:4756 { yyVAL.node = yyDollar[1].node } case 377: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4760 +// line internal/php5/php5.y:4763 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7235,7 +7233,7 @@ yydefault: } case 378: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4771 +// line internal/php5/php5.y:4774 { yyVAL.node = &ast.ExprBinaryPlus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7248,7 +7246,7 @@ yydefault: } case 379: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4782 +// line internal/php5/php5.y:4785 { yyVAL.node = &ast.ExprBinaryMinus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7261,7 +7259,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4793 +// line internal/php5/php5.y:4796 { yyVAL.node = &ast.ExprBinaryMul{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7274,7 +7272,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4804 +// line internal/php5/php5.y:4807 { yyVAL.node = &ast.ExprBinaryPow{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7287,7 +7285,7 @@ yydefault: } case 382: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4815 +// line internal/php5/php5.y:4818 { yyVAL.node = &ast.ExprBinaryDiv{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7300,7 +7298,7 @@ yydefault: } case 383: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4826 +// line internal/php5/php5.y:4829 { yyVAL.node = &ast.ExprBinaryMod{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7313,7 +7311,7 @@ yydefault: } case 384: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4837 +// line internal/php5/php5.y:4840 { yyVAL.node = &ast.ExprBooleanNot{ast.Node{}, yyDollar[2].node} @@ -7325,7 +7323,7 @@ yydefault: } case 385: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4847 +// line internal/php5/php5.y:4850 { yyVAL.node = &ast.ExprBitwiseNot{ast.Node{}, yyDollar[2].node} @@ -7337,7 +7335,7 @@ yydefault: } case 386: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4857 +// line internal/php5/php5.y:4860 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7350,7 +7348,7 @@ yydefault: } case 387: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4868 +// line internal/php5/php5.y:4871 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7363,7 +7361,7 @@ yydefault: } case 388: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4879 +// line internal/php5/php5.y:4882 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7376,7 +7374,7 @@ yydefault: } case 389: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4890 +// line internal/php5/php5.y:4893 { yyVAL.node = &ast.ExprBinaryShiftLeft{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7389,7 +7387,7 @@ yydefault: } case 390: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4901 +// line internal/php5/php5.y:4904 { yyVAL.node = &ast.ExprBinaryShiftRight{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7402,7 +7400,7 @@ yydefault: } case 391: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4912 +// line internal/php5/php5.y:4915 { yyVAL.node = &ast.ExprBinaryConcat{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7415,7 +7413,7 @@ yydefault: } case 392: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4923 +// line internal/php5/php5.y:4926 { yyVAL.node = &ast.ExprBinaryLogicalXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7428,7 +7426,7 @@ yydefault: } case 393: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4934 +// line internal/php5/php5.y:4937 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7441,7 +7439,7 @@ yydefault: } case 394: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4945 +// line internal/php5/php5.y:4948 { yyVAL.node = &ast.ExprBinaryLogicalOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7454,7 +7452,7 @@ yydefault: } case 395: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4956 +// line internal/php5/php5.y:4959 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7467,7 +7465,7 @@ yydefault: } case 396: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4967 +// line internal/php5/php5.y:4970 { yyVAL.node = &ast.ExprBinaryBooleanOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7480,7 +7478,7 @@ yydefault: } case 397: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4978 +// line internal/php5/php5.y:4981 { yyVAL.node = &ast.ExprBinaryIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7493,7 +7491,7 @@ yydefault: } case 398: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4989 +// line internal/php5/php5.y:4992 { yyVAL.node = &ast.ExprBinaryNotIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7506,7 +7504,7 @@ yydefault: } case 399: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5000 +// line internal/php5/php5.y:5003 { yyVAL.node = &ast.ExprBinaryEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7519,7 +7517,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5011 +// line internal/php5/php5.y:5014 { yyVAL.node = &ast.ExprBinaryNotEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7533,7 +7531,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5023 +// line internal/php5/php5.y:5026 { yyVAL.node = &ast.ExprBinarySmaller{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7546,7 +7544,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5034 +// line internal/php5/php5.y:5037 { yyVAL.node = &ast.ExprBinaryGreater{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7559,7 +7557,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5045 +// line internal/php5/php5.y:5048 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7572,7 +7570,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5056 +// line internal/php5/php5.y:5059 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7585,7 +7583,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5067 +// line internal/php5/php5.y:5070 { yyVAL.node = &ast.ExprTernary{ast.Node{}, yyDollar[1].node, nil, yyDollar[4].node} @@ -7599,7 +7597,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:5079 +// line internal/php5/php5.y:5082 { yyVAL.node = &ast.ExprTernary{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[5].node} @@ -7613,7 +7611,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5091 +// line internal/php5/php5.y:5094 { yyVAL.node = &ast.ExprUnaryPlus{ast.Node{}, yyDollar[2].node} @@ -7625,7 +7623,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5101 +// line internal/php5/php5.y:5104 { yyVAL.node = &ast.ExprUnaryMinus{ast.Node{}, yyDollar[2].node} @@ -7637,7 +7635,7 @@ yydefault: } case 409: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5111 +// line internal/php5/php5.y:5114 { yyVAL.node = yyDollar[2].node @@ -7647,13 +7645,13 @@ yydefault: } case 410: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5122 +// line internal/php5/php5.y:5125 { yyVAL.node = yyDollar[1].node } case 411: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5126 +// line internal/php5/php5.y:5129 { name := &ast.NameName{ Node: ast.Node{ @@ -7668,7 +7666,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5139 +// line internal/php5/php5.y:5142 { name := &ast.NameRelative{ Node: ast.Node{ @@ -7685,7 +7683,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5154 +// line internal/php5/php5.y:5157 { name := &ast.NameFullyQualified{ Node: ast.Node{ @@ -7701,7 +7699,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5171 +// line internal/php5/php5.y:5174 { name := &ast.Identifier{ Node: ast.Node{ @@ -7720,25 +7718,25 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5188 +// line internal/php5/php5.y:5191 { yyVAL.node = yyDollar[1].node } case 416: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5192 +// line internal/php5/php5.y:5195 { yyVAL.node = yyDollar[1].node } case 417: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5196 +// line internal/php5/php5.y:5199 { yyVAL.node = yyDollar[1].node } case 418: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5200 +// line internal/php5/php5.y:5203 { yyVAL.node = &ast.ScalarEncapsed{ Node: ast.Node{ @@ -7751,7 +7749,7 @@ yydefault: } case 419: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5211 +// line internal/php5/php5.y:5214 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -7764,7 +7762,7 @@ yydefault: } case 420: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5222 +// line internal/php5/php5.y:5225 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7776,13 +7774,13 @@ yydefault: } case 421: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5235 +// line internal/php5/php5.y:5238 { yyVAL.list = nil } case 422: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5239 +// line internal/php5/php5.y:5242 { yyVAL.list = yyDollar[1].list @@ -7793,19 +7791,19 @@ yydefault: } case 423: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5251 +// line internal/php5/php5.y:5254 { yyVAL.token = nil } case 424: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5255 +// line internal/php5/php5.y:5258 { yyVAL.token = yyDollar[1].token } case 425: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:5262 +// line internal/php5/php5.y:5265 { arrayItem := &ast.ExprArrayItem{ast.Node{}, false, yyDollar[3].node, yyDollar[5].node} yyVAL.list = append(yyDollar[1].list, arrayItem) @@ -7820,7 +7818,7 @@ yydefault: } case 426: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5275 +// line internal/php5/php5.y:5278 { arrayItem := &ast.ExprArrayItem{ast.Node{}, false, nil, yyDollar[3].node} yyVAL.list = append(yyDollar[1].list, arrayItem) @@ -7834,7 +7832,7 @@ yydefault: } case 427: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5287 +// line internal/php5/php5.y:5290 { arrayItem := &ast.ExprArrayItem{ast.Node{}, false, yyDollar[1].node, yyDollar[3].node} yyVAL.list = []ast.Vertex{arrayItem} @@ -7848,7 +7846,7 @@ yydefault: } case 428: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5299 +// line internal/php5/php5.y:5302 { arrayItem := &ast.ExprArrayItem{ast.Node{}, false, nil, yyDollar[1].node} yyVAL.list = []ast.Vertex{arrayItem} @@ -7861,19 +7859,19 @@ yydefault: } case 429: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5313 +// line internal/php5/php5.y:5316 { yyVAL.node = yyDollar[1].node } case 430: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5317 +// line internal/php5/php5.y:5320 { yyVAL.node = yyDollar[1].node } case 431: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5324 +// line internal/php5/php5.y:5327 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -7890,7 +7888,7 @@ yydefault: } case 432: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5339 +// line internal/php5/php5.y:5342 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -7907,25 +7905,25 @@ yydefault: } case 433: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5358 +// line internal/php5/php5.y:5361 { yyVAL.node = yyDollar[1].node } case 434: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5366 +// line internal/php5/php5.y:5369 { yyVAL.node = yyDollar[1].node } case 435: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5373 +// line internal/php5/php5.y:5376 { yyVAL.node = yyDollar[1].node } case 436: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:5380 +// line internal/php5/php5.y:5383 { yyVAL.node = yyDollar[1].node @@ -7983,25 +7981,25 @@ yydefault: } case 437: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5436 +// line internal/php5/php5.y:5439 { yyVAL.node = yyDollar[1].node } case 438: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5443 +// line internal/php5/php5.y:5446 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 439: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5447 +// line internal/php5/php5.y:5450 { yyVAL.list = []ast.Vertex{} } case 440: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5455 +// line internal/php5/php5.y:5458 { if yyDollar[3].list != nil { yyDollar[3].list[0].(*ast.ExprMethodCall).Method = yyDollar[2].list[len(yyDollar[2].list)-1].(*ast.ExprPropertyFetch).Property @@ -8015,7 +8013,7 @@ yydefault: } case 441: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5470 +// line internal/php5/php5.y:5473 { fetch := &ast.ExprArrayDimFetch{ast.Node{}, nil, yyDollar[3].node} yyVAL.list = append(yyDollar[1].list, fetch) @@ -8029,7 +8027,7 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5482 +// line internal/php5/php5.y:5485 { fetch := &ast.ExprArrayDimFetch{ast.Node{}, nil, yyDollar[3].node} yyVAL.list = []ast.Vertex{yyDollar[1].node, fetch} @@ -8043,7 +8041,7 @@ yydefault: } case 443: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5497 +// line internal/php5/php5.y:5500 { yyVAL.node = &ast.ExprMethodCall{ast.Node{}, nil, nil, yyDollar[1].node.(*ast.ArgumentList)} @@ -8052,31 +8050,31 @@ yydefault: } case 444: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5507 +// line internal/php5/php5.y:5510 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 445: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5511 +// line internal/php5/php5.y:5514 { yyVAL.list = yyDollar[1].list } case 446: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5515 +// line internal/php5/php5.y:5518 { yyVAL.list = nil } case 447: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5522 +// line internal/php5/php5.y:5525 { yyVAL.node = yyDollar[1].node } case 448: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5526 +// line internal/php5/php5.y:5529 { yyDollar[1].simpleIndirectReference.last.VarName = yyDollar[2].node @@ -8088,7 +8086,7 @@ yydefault: } case 449: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5539 +// line internal/php5/php5.y:5542 { yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8101,7 +8099,7 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5550 +// line internal/php5/php5.y:5553 { yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8114,13 +8112,13 @@ yydefault: } case 451: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5564 +// line internal/php5/php5.y:5567 { yyVAL.node = yyDollar[1].node } case 452: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5571 +// line internal/php5/php5.y:5574 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8133,7 +8131,7 @@ yydefault: } case 453: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5582 +// line internal/php5/php5.y:5585 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8146,31 +8144,31 @@ yydefault: } case 454: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5596 +// line internal/php5/php5.y:5599 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5600 +// line internal/php5/php5.y:5603 { yyVAL.node = yyDollar[1].node } case 456: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5604 +// line internal/php5/php5.y:5607 { yyVAL.node = yyDollar[1].node } case 457: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5612 +// line internal/php5/php5.y:5615 { yyVAL.node = yyDollar[1].node } case 458: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5616 +// line internal/php5/php5.y:5619 { yyDollar[1].simpleIndirectReference.last.VarName = yyDollar[2].node @@ -8182,13 +8180,13 @@ yydefault: } case 459: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5626 +// line internal/php5/php5.y:5629 { yyVAL.node = yyDollar[1].node } case 460: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5633 +// line internal/php5/php5.y:5636 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8201,7 +8199,7 @@ yydefault: } case 461: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5644 +// line internal/php5/php5.y:5647 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8214,13 +8212,13 @@ yydefault: } case 462: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5655 +// line internal/php5/php5.y:5658 { yyVAL.node = yyDollar[1].node } case 463: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5663 +// line internal/php5/php5.y:5666 { name := &ast.Identifier{ Node: ast.Node{ @@ -8239,7 +8237,7 @@ yydefault: } case 464: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5680 +// line internal/php5/php5.y:5683 { yyVAL.node = &ast.ExprVariable{ast.Node{}, yyDollar[3].node} @@ -8253,25 +8251,25 @@ yydefault: } case 465: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5695 +// line internal/php5/php5.y:5698 { yyVAL.node = nil } case 466: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5699 +// line internal/php5/php5.y:5702 { yyVAL.node = yyDollar[1].node } case 467: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5707 +// line internal/php5/php5.y:5710 { yyVAL.list = yyDollar[1].list } case 468: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5711 +// line internal/php5/php5.y:5714 { fetch := &ast.ExprPropertyFetch{ast.Node{}, nil, yyDollar[1].node} yyVAL.list = []ast.Vertex{fetch} @@ -8281,7 +8279,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5722 +// line internal/php5/php5.y:5725 { fetch := &ast.ExprArrayDimFetch{ast.Node{}, nil, yyDollar[3].node} yyVAL.list = append(yyDollar[1].list, fetch) @@ -8295,7 +8293,7 @@ yydefault: } case 470: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5734 +// line internal/php5/php5.y:5737 { fetch := &ast.ExprArrayDimFetch{ast.Node{}, nil, yyDollar[3].node} yyVAL.list = append(yyDollar[1].list, fetch) @@ -8309,7 +8307,7 @@ yydefault: } case 471: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5746 +// line internal/php5/php5.y:5749 { fetch := &ast.ExprPropertyFetch{ast.Node{}, nil, yyDollar[1].node} yyVAL.list = []ast.Vertex{fetch} @@ -8319,7 +8317,7 @@ yydefault: } case 472: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5757 +// line internal/php5/php5.y:5760 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -8331,7 +8329,7 @@ yydefault: } case 473: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5767 +// line internal/php5/php5.y:5770 { yyVAL.node = yyDollar[2].node @@ -8344,7 +8342,7 @@ yydefault: } case 474: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5781 +// line internal/php5/php5.y:5784 { n := &ast.ExprVariable{ast.Node{}, nil} yyVAL.simpleIndirectReference = simpleIndirectReference{[]*ast.ExprVariable{n}, n} @@ -8357,7 +8355,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5792 +// line internal/php5/php5.y:5795 { n := &ast.ExprVariable{ast.Node{}, nil} @@ -8374,7 +8372,7 @@ yydefault: } case 476: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5810 +// line internal/php5/php5.y:5813 { if len(yyDollar[1].list) == 0 { yyDollar[1].list = []ast.Vertex{&ast.ExprArrayItem{ast.Node{}, false, nil, nil}} @@ -8387,7 +8385,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5821 +// line internal/php5/php5.y:5824 { if yyDollar[1].node.(*ast.ExprArrayItem).Key == nil && yyDollar[1].node.(*ast.ExprArrayItem).Val == nil { yyVAL.list = []ast.Vertex{} @@ -8397,7 +8395,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5833 +// line internal/php5/php5.y:5836 { yyVAL.node = &ast.ExprArrayItem{ast.Node{}, false, nil, yyDollar[1].node} @@ -8409,7 +8407,7 @@ yydefault: } case 479: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5843 +// line internal/php5/php5.y:5846 { listNode := &ast.ExprList{ast.Node{}, yyDollar[3].list} yyVAL.node = &ast.ExprArrayItem{ast.Node{}, false, nil, listNode} @@ -8425,19 +8423,19 @@ yydefault: } case 480: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5857 +// line internal/php5/php5.y:5860 { yyVAL.node = &ast.ExprArrayItem{ast.Node{}, false, nil, nil} } case 481: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5865 +// line internal/php5/php5.y:5868 { yyVAL.list = []ast.Vertex{} } case 482: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5869 +// line internal/php5/php5.y:5872 { yyVAL.list = yyDollar[1].list @@ -8452,7 +8450,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:5885 +// line internal/php5/php5.y:5888 { arrayItem := &ast.ExprArrayItem{ast.Node{}, false, yyDollar[3].node, yyDollar[5].node} yyVAL.list = append(yyDollar[1].list, arrayItem) @@ -8467,7 +8465,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5898 +// line internal/php5/php5.y:5901 { arrayItem := &ast.ExprArrayItem{ast.Node{}, false, nil, yyDollar[3].node} yyVAL.list = append(yyDollar[1].list, arrayItem) @@ -8481,7 +8479,7 @@ yydefault: } case 485: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5910 +// line internal/php5/php5.y:5913 { arrayItem := &ast.ExprArrayItem{ast.Node{}, false, yyDollar[1].node, yyDollar[3].node} yyVAL.list = []ast.Vertex{arrayItem} @@ -8495,7 +8493,7 @@ yydefault: } case 486: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5922 +// line internal/php5/php5.y:5925 { arrayItem := &ast.ExprArrayItem{ast.Node{}, false, nil, yyDollar[1].node} yyVAL.list = []ast.Vertex{arrayItem} @@ -8508,7 +8506,7 @@ yydefault: } case 487: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:5933 +// line internal/php5/php5.y:5936 { reference := &ast.ExprReference{ast.Node{}, yyDollar[6].node} arrayItem := &ast.ExprArrayItem{ast.Node{}, false, yyDollar[3].node, reference} @@ -8526,7 +8524,7 @@ yydefault: } case 488: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5949 +// line internal/php5/php5.y:5952 { reference := &ast.ExprReference{ast.Node{}, yyDollar[4].node} arrayItem := &ast.ExprArrayItem{ast.Node{}, false, nil, reference} @@ -8542,7 +8540,7 @@ yydefault: } case 489: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5963 +// line internal/php5/php5.y:5966 { reference := &ast.ExprReference{ast.Node{}, yyDollar[4].node} arrayItem := &ast.ExprArrayItem{ast.Node{}, false, yyDollar[1].node, reference} @@ -8559,7 +8557,7 @@ yydefault: } case 490: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5978 +// line internal/php5/php5.y:5981 { reference := &ast.ExprReference{ast.Node{}, yyDollar[2].node} arrayItem := &ast.ExprArrayItem{ast.Node{}, false, nil, reference} @@ -8574,13 +8572,13 @@ yydefault: } case 491: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5994 +// line internal/php5/php5.y:5997 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 492: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5998 +// line internal/php5/php5.y:6001 { yyVAL.list = append( yyDollar[1].list, @@ -8595,13 +8593,13 @@ yydefault: } case 493: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6011 +// line internal/php5/php5.y:6014 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 494: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6015 +// line internal/php5/php5.y:6018 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ @@ -8616,7 +8614,7 @@ yydefault: } case 495: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6031 +// line internal/php5/php5.y:6034 { name := &ast.Identifier{ Node: ast.Node{ @@ -8635,7 +8633,7 @@ yydefault: } case 496: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6048 +// line internal/php5/php5.y:6051 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -8657,7 +8655,7 @@ yydefault: } case 497: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6068 +// line internal/php5/php5.y:6071 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -8685,7 +8683,7 @@ yydefault: } case 498: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6094 +// line internal/php5/php5.y:6097 { variable := &ast.ExprVariable{ast.Node{}, yyDollar[2].node} @@ -8700,7 +8698,7 @@ yydefault: } case 499: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6107 +// line internal/php5/php5.y:6110 { name := &ast.Identifier{ Node: ast.Node{ @@ -8722,7 +8720,7 @@ yydefault: } case 500: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:6127 +// line internal/php5/php5.y:6130 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -8746,7 +8744,7 @@ yydefault: } case 501: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6149 +// line internal/php5/php5.y:6152 { yyVAL.node = yyDollar[2].node @@ -8756,7 +8754,7 @@ yydefault: } case 502: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6160 +// line internal/php5/php5.y:6163 { yyVAL.node = &ast.ScalarString{ Node: ast.Node{ @@ -8768,7 +8766,7 @@ yydefault: } case 503: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6170 +// line internal/php5/php5.y:6173 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string(yyDollar[1].token.Value)); err == nil { @@ -8797,7 +8795,7 @@ yydefault: } case 504: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6197 +// line internal/php5/php5.y:6200 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -8816,7 +8814,7 @@ yydefault: } case 505: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6217 +// line internal/php5/php5.y:6220 { yyVAL.node = &ast.ExprIsset{ast.Node{}, yyDollar[3].list} @@ -8830,7 +8828,7 @@ yydefault: } case 506: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6229 +// line internal/php5/php5.y:6232 { exprBrackets := &ast.ParserBrackets{ Node: ast.Node{ @@ -8852,7 +8850,7 @@ yydefault: } case 507: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6249 +// line internal/php5/php5.y:6252 { exprBrackets := &ast.ParserBrackets{ Node: ast.Node{ @@ -8874,7 +8872,7 @@ yydefault: } case 508: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6269 +// line internal/php5/php5.y:6272 { yyVAL.node = &ast.ExprInclude{ast.Node{}, yyDollar[2].node} @@ -8886,7 +8884,7 @@ yydefault: } case 509: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6279 +// line internal/php5/php5.y:6282 { yyVAL.node = &ast.ExprIncludeOnce{ast.Node{}, yyDollar[2].node} @@ -8898,7 +8896,7 @@ yydefault: } case 510: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6289 +// line internal/php5/php5.y:6292 { exprBrackets := &ast.ParserBrackets{ Node: ast.Node{ @@ -8920,7 +8918,7 @@ yydefault: } case 511: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6309 +// line internal/php5/php5.y:6312 { yyVAL.node = &ast.ExprRequire{ast.Node{}, yyDollar[2].node} @@ -8932,7 +8930,7 @@ yydefault: } case 512: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6319 +// line internal/php5/php5.y:6322 { yyVAL.node = &ast.ExprRequireOnce{ast.Node{}, yyDollar[2].node} @@ -8944,13 +8942,13 @@ yydefault: } case 513: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6332 +// line internal/php5/php5.y:6335 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 514: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6336 +// line internal/php5/php5.y:6339 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -8959,19 +8957,19 @@ yydefault: } case 515: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6346 +// line internal/php5/php5.y:6349 { yyVAL.node = yyDollar[1].node } case 516: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6350 +// line internal/php5/php5.y:6353 { yyVAL.node = yyDollar[1].node } case 517: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6357 +// line internal/php5/php5.y:6360 { target := &ast.Identifier{ Node: ast.Node{ @@ -8991,7 +8989,7 @@ yydefault: } case 518: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6375 +// line internal/php5/php5.y:6378 { target := &ast.Identifier{ Node: ast.Node{ @@ -9011,7 +9009,7 @@ yydefault: } case 519: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6396 +// line internal/php5/php5.y:6399 { target := &ast.Identifier{ Node: ast.Node{ @@ -9031,7 +9029,7 @@ yydefault: } case 520: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6417 +// line internal/php5/php5.y:6420 { target := &ast.Identifier{ Node: ast.Node{ diff --git a/internal/php5/php5.y b/internal/php5/php5.y index 67d3536..e5d4558 100644 --- a/internal/php5/php5.y +++ b/internal/php5/php5.y @@ -18,9 +18,6 @@ import ( list []ast.Vertex simpleIndirectReference simpleIndirectReference - ClassExtends *ast.StmtClassExtends - ClassImplements *ast.StmtClassImplements - InterfaceExtends *ast.StmtInterfaceExtends ClosureUse *ast.ExprClosureUse } @@ -243,13 +240,12 @@ import ( %type ctor_arguments function_call_parameter_list echo_expr_list %type trait_adaptations unset_variables declare_list %type switch_case_list non_empty_function_call_parameter_list -%type method_body +%type method_body trait_reference_list %type foreach_statement for_statement while_statement %type foreach_variable foreach_optional_arg - -%type extends_from -%type implements_list -%type interface_extends_list +%type extends_from interface_list trait_list +%type implements_list +%type interface_extends_list %type lexical_vars %type top_statement_list namespace_name use_declarations use_function_declarations use_const_declarations @@ -258,8 +254,8 @@ import ( %type for_expr case_list catch_statement additional_catches %type non_empty_additional_catches parameter_list non_empty_parameter_list class_statement_list %type class_statement_list variable_modifiers method_modifiers class_variable_declaration -%type interface_list trait_list trait_adaptation_list non_empty_trait_adaptation_list -%type trait_reference_list non_empty_member_modifiers backticks_expr static_array_pair_list non_empty_static_array_pair_list +%type trait_adaptation_list non_empty_trait_adaptation_list +%type 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 @@ -1527,13 +1523,13 @@ extends_from: } | T_EXTENDS fully_qualified_class_name { - $$ = &ast.StmtClassExtends{ast.Node{}, $2}; - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.StmtClassExtends{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + ExtendTkn: $1, + ClassName: $2, + } } ; @@ -1551,13 +1547,14 @@ interface_extends_list: } | T_EXTENDS interface_list { - $$ = &ast.StmtInterfaceExtends{ast.Node{}, $2}; - - // save position - $$.GetNode().Position = position.NewTokenNodeListPosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.StmtInterfaceExtends{ + Node: ast.Node{ + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + }, + ExtendsTkn: $1, + InterfaceNames: $2.(*ast.ParserSeparatedList).Items, + SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, + }; } ; @@ -1568,29 +1565,30 @@ implements_list: } | T_IMPLEMENTS interface_list { - $$ = &ast.StmtClassImplements{ast.Node{}, $2}; - - // save position - $$.GetNode().Position = position.NewTokenNodeListPosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.StmtClassImplements{ + Node: ast.Node{ + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + }, + ImplementsTkn: $1, + InterfaceNames: $2.(*ast.ParserSeparatedList).Items, + SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, + }; } ; interface_list: fully_qualified_class_name { - $$ = []ast.Vertex{$1} + $$ = &ast.ParserSeparatedList{ + Items: []ast.Vertex{$1}, + } } | interface_list ',' fully_qualified_class_name { - switch n := lastNode($1).(type) { - case *ast.NameName: n.ListSeparatorTkn = $2 - case *ast.NameFullyQualified: n.ListSeparatorTkn = $2 - case *ast.NameRelative: n.ListSeparatorTkn = $2 - } - $$ = append($1, $3) + $1.(*ast.ParserSeparatedList).SeparatorTkns = append($1.(*ast.ParserSeparatedList).SeparatorTkns, $2) + $1.(*ast.ParserSeparatedList).Items = append($1.(*ast.ParserSeparatedList).Items, $3) + + $$ = $1 } ; @@ -2520,29 +2518,31 @@ class_statement: trait_use_statement: T_USE trait_list trait_adaptations { - $$ = &ast.StmtTraitUse{ast.Node{}, $2, $3} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $3) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.StmtTraitUse{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $3), + }, + UseTkn: $1, + Traits: $2.(*ast.ParserSeparatedList).Items, + SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, + Adaptations: $3, + } } ; trait_list: fully_qualified_class_name { - $$ = []ast.Vertex{$1} + $$ = &ast.ParserSeparatedList{ + Items: []ast.Vertex{$1}, + } } | trait_list ',' fully_qualified_class_name { - switch n := lastNode($1).(type) { - case *ast.NameName: n.ListSeparatorTkn = $2 - case *ast.NameFullyQualified: n.ListSeparatorTkn = $2 - case *ast.NameRelative: n.ListSeparatorTkn = $2 - } - $$ = append($1, $3) + $1.(*ast.ParserSeparatedList).SeparatorTkns = append($1.(*ast.ParserSeparatedList).SeparatorTkns, $2) + $1.(*ast.ParserSeparatedList).Items = append($1.(*ast.ParserSeparatedList).Items, $3) + + $$ = $1 } ; @@ -2612,28 +2612,31 @@ trait_adaptation_statement: trait_precedence: trait_method_reference_fully_qualified T_INSTEADOF trait_reference_list { - $$ = &ast.StmtTraitUsePrecedence{ast.Node{}, $1, $3} - - // save position - $$.GetNode().Position = position.NewNodeNodeListPosition($1, $3) - - // save comments - yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Ref, $2.SkippedTokens) + $$ = &ast.StmtTraitUsePrecedence{ + Node: ast.Node{ + Position: position.NewNodeNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), + }, + Ref: $1, + InsteadofTkn: $2, + Insteadof: $3.(*ast.ParserSeparatedList).Items, + SeparatorTkns: $3.(*ast.ParserSeparatedList).SeparatorTkns, + } } ; trait_reference_list: fully_qualified_class_name { - $$ = []ast.Vertex{$1} + $$ = &ast.ParserSeparatedList{ + Items: []ast.Vertex{$1}, + } } | trait_reference_list ',' fully_qualified_class_name { - $$ = append($1, $3) + $1.(*ast.ParserSeparatedList).SeparatorTkns = append($1.(*ast.ParserSeparatedList).SeparatorTkns, $2) + $1.(*ast.ParserSeparatedList).Items = append($1.(*ast.ParserSeparatedList).Items, $3) - // save comments - yylex.(*Parser).setFreeFloating(lastNode($1), token.End, $2.SkippedTokens) + $$ = $1 } ; diff --git a/internal/php7/php7.go b/internal/php7/php7.go index aa80680..0a0e9af 100644 --- a/internal/php7/php7.go +++ b/internal/php7/php7.go @@ -24,10 +24,7 @@ type yySymType struct { tkn *token.Token list []ast.Vertex - ClassExtends *ast.StmtClassExtends - ClassImplements *ast.StmtClassImplements - InterfaceExtends *ast.StmtInterfaceExtends - ClosureUse *ast.ExprClosureUse + ClosureUse *ast.ExprClosureUse } const T_INCLUDE = 57346 @@ -347,7 +344,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -// line internal/php7/php7.y:4994 +// line internal/php7/php7.y:4996 // line yacctab:1 var yyExca = [...]int{ @@ -546,103 +543,103 @@ const yyPrivate = 57344 const yyLast = 7766 var yyAct = [...]int{ - 28, 132, 765, 631, 843, 880, 866, 585, 442, 748, - 842, 109, 785, 820, 191, 839, 635, 682, 113, 634, + 28, 132, 765, 631, 843, 880, 748, 442, 866, 839, + 585, 109, 842, 785, 820, 191, 635, 682, 113, 634, 668, 128, 140, 140, 140, 712, 650, 153, 380, 572, - 117, 123, 633, 649, 224, 188, 327, 580, 540, 529, - 636, 410, 372, 521, 318, 723, 226, 5, 322, 81, - 382, 9, 321, 228, 232, 8, 85, 240, 241, 242, - 243, 244, 152, 134, 245, 246, 247, 248, 249, 250, - 251, 320, 254, 149, 7, 262, 263, 264, 319, 145, - 2, 6, 130, 127, 139, 520, 436, 268, 129, 876, - 277, 278, 873, 280, 281, 850, 691, 597, 273, 258, - 83, 860, 338, 314, 234, 234, 899, 142, 143, 874, - 870, 236, 236, 847, 411, 846, 107, 900, 549, 575, - 684, 287, 339, 875, 871, 771, 716, 336, 334, 684, - 313, 312, 307, 295, 324, 297, 340, 306, 329, 330, - 304, 337, 335, 310, 706, 313, 311, 643, 628, 573, - 326, 307, 564, 290, 292, 181, 341, 342, 343, 344, + 117, 123, 633, 649, 224, 188, 327, 723, 540, 529, + 636, 410, 372, 521, 318, 382, 226, 5, 322, 81, + 152, 9, 321, 228, 232, 8, 85, 240, 241, 242, + 243, 244, 149, 134, 245, 246, 247, 248, 249, 250, + 251, 580, 254, 145, 127, 262, 263, 264, 320, 319, + 436, 7, 6, 130, 139, 520, 258, 129, 268, 876, + 277, 278, 873, 280, 281, 850, 860, 691, 273, 2, + 83, 847, 597, 846, 234, 234, 338, 142, 143, 314, + 899, 236, 236, 411, 874, 107, 870, 684, 575, 684, + 771, 900, 287, 549, 716, 706, 643, 339, 875, 313, + 871, 336, 628, 295, 324, 297, 334, 307, 329, 330, + 304, 340, 573, 310, 107, 337, 311, 564, 416, 107, + 335, 326, 867, 290, 292, 181, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 416, 368, 370, 192, 374, 270, 708, 376, - 44, 791, 222, 273, 119, 107, 107, 167, 700, 300, - 607, 696, 610, 608, 392, 394, 395, 396, 397, 398, - 399, 400, 401, 402, 403, 404, 405, 406, 165, 164, - 407, 140, 409, 181, 228, 384, 867, 107, 166, 168, - 169, 419, 617, 163, 234, 604, 421, 272, 613, 228, - 119, 236, 107, 614, 388, 233, 239, 592, 412, 415, - 861, 265, 932, 921, 140, 895, 430, 828, 414, 181, - 827, 431, 818, 108, 136, 167, 140, 114, 807, 367, - 795, 437, 518, 422, 80, 375, 530, 531, 221, 234, - 532, 835, 270, 237, 220, 525, 236, 738, 728, 537, - 710, 705, 541, 703, 228, 119, 166, 168, 169, 146, - 695, 167, 170, 171, 666, 408, 526, 655, 177, 179, - 136, 234, 645, 114, 605, 559, 596, 793, 236, 296, - 822, 821, 165, 164, 551, 731, 554, 311, 543, 237, - 694, 927, 166, 168, 169, 176, 178, 163, 424, 568, - 677, 153, 108, 108, 609, 5, 638, 639, 429, 9, - 435, 291, 663, 8, 517, 664, 426, 427, 527, 288, - 578, 274, 425, 910, 562, 136, 560, 868, 114, 536, - 571, 524, 7, 420, 108, 373, 389, 523, 294, 6, - 546, 387, 426, 289, 427, 427, 426, 293, 587, 108, - 588, 552, 279, 589, 590, 582, 558, 276, 586, 275, - 253, 223, 219, 569, 186, 185, 184, 138, 577, 137, - 133, 567, 115, 595, 584, 566, 766, 228, 599, 758, - 418, 228, 391, 157, 159, 158, 181, 936, 190, 935, - 909, 851, 579, 780, 781, 616, 894, 637, 857, 299, - 619, 298, 181, 780, 781, 829, 824, 817, 777, 759, - 183, 180, 433, 727, 594, 602, 274, 726, 724, 722, - 719, 563, 548, 598, 545, 390, 155, 156, 167, 170, - 171, 172, 173, 174, 175, 177, 179, 378, 333, 332, - 618, 822, 821, 331, 167, 170, 171, 182, 161, 165, - 164, 301, 816, 119, 813, 808, 160, 413, 162, 166, - 168, 169, 176, 178, 163, 165, 164, 773, 615, 544, - 915, 544, 544, 217, 218, 166, 168, 169, 864, 863, - 163, 544, 809, 798, 140, 623, 204, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 216, 794, - 740, 438, 519, 644, 683, 167, 823, 583, 640, 187, - 198, 199, 181, 257, 122, 77, 779, 193, 627, 769, - 116, 620, 119, 659, 329, 661, 116, 624, 309, 642, - 203, 665, 554, 294, 554, 311, 913, 651, 626, 309, - 309, 148, 678, 745, 522, 267, 747, 259, 654, 681, - 640, 5, 428, 586, 167, 9, 266, 119, 692, 8, - 660, 200, 202, 201, 78, 79, 657, 119, 622, 680, - 146, 309, 119, 638, 639, 698, 667, 679, 7, 849, - 674, 729, 294, 234, 234, 6, 581, 118, 259, 530, - 236, 236, 136, 648, 557, 114, 688, 752, 753, 754, - 751, 750, 749, 714, 541, 653, 647, 383, 309, 640, - 234, 386, 260, 261, 911, 555, 797, 236, 284, 285, - 720, 119, 735, 736, 702, 550, 554, 136, 704, 713, - 114, 554, 554, 228, 717, 651, 303, 733, 709, 715, - 553, 737, 711, 889, 802, 305, 801, 718, 125, 640, - 126, 760, 761, 260, 261, 228, 756, 148, 119, 119, - 107, 755, 308, 135, 106, 46, 112, 732, 739, 912, - 725, 752, 753, 754, 751, 750, 749, 535, 640, 259, - 234, 325, 697, 329, 428, 840, 125, 236, 126, 762, - 757, 764, 228, 554, 124, 554, 713, 901, 651, 767, - 772, 812, 770, 774, 194, 150, 259, 119, 775, 111, - 788, 428, 1, 803, 259, 640, 804, 586, 799, 778, - 806, 611, 652, 800, 373, 669, 790, 38, 136, 259, - 782, 114, 784, 786, 286, 121, 131, 259, 640, 234, - 556, 819, 282, 811, 260, 261, 236, 237, 150, 826, - 554, 693, 544, 814, 810, 381, 832, 621, 833, 834, - 413, 625, 815, 746, 379, 831, 825, 780, 781, 197, - 534, 260, 261, 135, 106, 196, 836, 844, 533, 260, - 261, 743, 856, 259, 783, 780, 781, 848, 256, 195, - 189, 744, 632, 855, 260, 261, 235, 225, 238, 528, - 859, 283, 260, 261, 865, 879, 838, 108, 328, 877, - 890, 891, 886, 841, 676, 255, 892, 893, 796, 885, - 385, 730, 371, 853, 656, 897, 898, 852, 934, 872, - 662, 845, 786, 896, 903, 227, 43, 905, 42, 16, - 539, 15, 830, 151, 886, 908, 904, 902, 260, 261, - 606, 885, 271, 49, 48, 110, 50, 84, 82, 72, - 252, 62, 269, 61, 884, 883, 906, 918, 882, 881, - 742, 147, 144, 45, 734, 673, 315, 928, 926, 922, - 789, 924, 925, 586, 120, 929, 302, 3, 441, 768, - 930, 707, 919, 640, 920, 933, 0, 4, 937, 89, - 90, 70, 47, 94, 95, 36, 0, 107, 0, 27, - 0, 0, 0, 112, 26, 18, 17, 0, 19, 0, - 30, 0, 31, 0, 0, 20, 0, 0, 0, 21, + 365, 366, 192, 368, 370, 312, 374, 270, 306, 376, + 708, 791, 607, 273, 610, 608, 44, 167, 700, 313, + 696, 617, 307, 604, 392, 394, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 300, 592, + 407, 140, 409, 415, 228, 384, 265, 525, 166, 168, + 169, 419, 613, 430, 234, 932, 421, 614, 895, 228, + 828, 236, 80, 827, 388, 861, 818, 412, 526, 807, + 795, 233, 239, 738, 140, 728, 710, 181, 414, 705, + 222, 431, 108, 703, 695, 666, 140, 146, 655, 645, + 367, 437, 518, 422, 375, 605, 530, 531, 596, 234, + 532, 288, 270, 296, 921, 663, 236, 835, 664, 537, + 793, 108, 541, 868, 228, 731, 108, 822, 821, 167, + 170, 171, 694, 677, 119, 408, 177, 179, 291, 578, + 562, 234, 560, 524, 766, 559, 536, 758, 236, 523, + 165, 164, 420, 391, 551, 429, 554, 311, 543, 274, + 166, 168, 169, 176, 178, 163, 609, 389, 424, 568, + 387, 153, 293, 426, 427, 5, 221, 279, 517, 9, + 435, 289, 220, 8, 276, 638, 639, 275, 527, 181, + 253, 223, 219, 186, 185, 184, 138, 137, 294, 426, + 571, 427, 427, 426, 136, 133, 115, 114, 190, 7, + 6, 373, 552, 119, 927, 107, 181, 936, 587, 935, + 588, 569, 910, 589, 590, 582, 909, 558, 586, 546, + 567, 167, 170, 171, 894, 857, 829, 824, 577, 566, + 780, 781, 817, 595, 584, 780, 781, 228, 599, 777, + 759, 228, 165, 164, 274, 727, 418, 579, 167, 299, + 726, 298, 166, 168, 169, 616, 724, 163, 722, 719, + 619, 157, 159, 158, 181, 563, 637, 548, 545, 165, + 164, 390, 378, 136, 594, 602, 114, 333, 433, 166, + 168, 169, 332, 598, 163, 413, 331, 301, 183, 180, + 851, 119, 237, 816, 813, 808, 773, 615, 915, 745, + 618, 864, 747, 544, 155, 156, 167, 170, 171, 172, + 173, 174, 175, 177, 179, 863, 809, 425, 544, 822, + 821, 544, 798, 544, 794, 182, 161, 165, 164, 438, + 519, 740, 683, 119, 160, 107, 162, 166, 168, 169, + 176, 178, 163, 823, 140, 623, 583, 167, 779, 187, + 122, 119, 108, 752, 753, 754, 751, 750, 749, 769, + 257, 198, 199, 644, 116, 119, 259, 181, 640, 193, + 116, 428, 200, 202, 201, 77, 272, 294, 627, 913, + 309, 620, 522, 659, 329, 661, 267, 624, 266, 642, + 849, 665, 554, 626, 554, 311, 729, 651, 146, 889, + 309, 148, 678, 136, 745, 119, 114, 747, 654, 167, + 640, 5, 681, 586, 309, 9, 78, 79, 692, 8, + 660, 136, 237, 581, 114, 118, 657, 309, 622, 680, + 383, 260, 261, 119, 294, 698, 667, 714, 553, 386, + 674, 912, 911, 234, 234, 7, 6, 119, 259, 530, + 236, 236, 653, 428, 648, 647, 688, 555, 752, 753, + 754, 751, 750, 749, 541, 284, 285, 797, 557, 640, + 234, 679, 303, 325, 125, 697, 126, 236, 305, 840, + 720, 550, 108, 309, 638, 639, 554, 46, 704, 713, + 901, 554, 554, 228, 717, 651, 535, 733, 709, 715, + 259, 737, 711, 136, 869, 428, 114, 718, 802, 640, + 801, 760, 761, 260, 261, 228, 756, 148, 702, 119, + 124, 755, 725, 735, 736, 812, 194, 732, 739, 752, + 753, 754, 751, 750, 749, 135, 106, 308, 640, 259, + 234, 652, 259, 329, 286, 150, 125, 236, 126, 762, + 757, 764, 228, 554, 121, 554, 713, 119, 651, 767, + 772, 611, 770, 774, 534, 260, 261, 259, 775, 259, + 788, 150, 282, 804, 256, 640, 803, 586, 799, 778, + 806, 131, 782, 800, 784, 621, 790, 259, 413, 625, + 373, 669, 119, 786, 107, 556, 135, 106, 640, 234, + 112, 819, 544, 811, 260, 261, 236, 260, 261, 826, + 554, 381, 379, 814, 810, 197, 832, 693, 833, 834, + 196, 195, 815, 189, 1, 831, 825, 780, 781, 38, + 746, 283, 260, 261, 260, 261, 836, 743, 844, 783, + 780, 781, 856, 111, 744, 632, 225, 848, 528, 865, + 879, 533, 260, 261, 855, 838, 328, 841, 676, 255, + 796, 859, 136, 385, 371, 114, 656, 852, 934, 877, + 890, 891, 886, 662, 845, 227, 892, 893, 43, 885, + 42, 237, 16, 853, 539, 897, 898, 730, 15, 872, + 830, 151, 786, 896, 903, 606, 271, 905, 49, 217, + 218, 902, 48, 110, 886, 908, 50, 84, 904, 82, + 72, 885, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 213, 214, 215, 216, 252, 906, 62, 269, 918, + 235, 61, 238, 884, 883, 882, 881, 928, 926, 925, + 924, 108, 922, 586, 742, 929, 789, 147, 144, 45, + 930, 734, 919, 640, 920, 933, 203, 4, 937, 89, + 90, 70, 47, 94, 95, 36, 673, 107, 315, 27, + 120, 302, 3, 112, 26, 18, 17, 441, 19, 768, + 30, 707, 31, 0, 0, 20, 0, 0, 0, 21, 22, 35, 37, 106, 13, 23, 33, 0, 0, 34, 12, 0, 24, 0, 29, 87, 88, 10, 39, 40, 41, 0, 0, 0, 0, 51, 111, 0, 103, 99, @@ -656,7 +653,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 0, 0, 105, 73, 14, 646, 32, 0, 60, 0, 52, 0, 0, 0, 57, 56, 58, 59, 71, 108, 4, 0, 89, 90, 70, - 47, 94, 95, 36, 869, 107, 0, 27, 0, 0, + 47, 94, 95, 36, 837, 107, 0, 27, 0, 0, 0, 112, 26, 18, 17, 0, 19, 0, 30, 0, 31, 0, 0, 20, 0, 0, 0, 21, 22, 35, 37, 106, 13, 23, 33, 0, 0, 34, 12, 0, @@ -672,7 +669,7 @@ var yyAct = [...]int{ 0, 0, 0, 0, 0, 105, 73, 14, 547, 32, 0, 60, 0, 52, 0, 0, 0, 57, 56, 58, 59, 71, 108, 4, 0, 89, 90, 70, 47, 94, - 95, 36, 837, 107, 0, 27, 0, 0, 0, 112, + 95, 36, 805, 107, 0, 27, 0, 0, 0, 112, 26, 18, 17, 0, 19, 0, 30, 0, 31, 0, 0, 20, 0, 0, 0, 21, 22, 35, 37, 106, 13, 23, 33, 0, 0, 34, 12, 0, 24, 0, @@ -688,22 +685,22 @@ var yyAct = [...]int{ 0, 0, 0, 105, 73, 14, 0, 32, 0, 60, 0, 52, 0, 0, 0, 57, 56, 58, 59, 71, 108, 317, 0, 89, 90, 70, 47, 94, 95, 36, - 805, 107, 0, 27, 0, 0, 0, 112, 26, 18, + 741, 107, 0, 27, 0, 0, 0, 112, 26, 18, 17, 0, 19, 0, 30, 0, 31, 0, 0, 20, 0, 0, 0, 21, 22, 35, 37, 106, 0, 23, 33, 0, 0, 34, 0, 0, 24, 0, 29, 87, 88, 323, 39, 40, 41, 0, 0, 0, 0, 51, - 111, 0, 103, 99, 100, 101, 96, 97, 745, 0, - 0, 747, 0, 0, 104, 0, 0, 0, 0, 136, + 111, 0, 103, 99, 100, 101, 96, 97, 0, 0, + 0, 0, 0, 0, 104, 0, 0, 0, 0, 136, 102, 98, 114, 0, 91, 92, 93, 0, 0, 0, 0, 86, 53, 0, 0, 0, 74, 75, 25, 78, 79, 0, 0, 0, 54, 55, 76, 63, 64, 65, 66, 67, 68, 69, 0, 0, 0, 0, 0, 0, - 0, 0, 752, 753, 754, 751, 750, 749, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 73, 14, 938, 32, 0, 60, 0, 52, 0, 0, 0, 57, 56, 58, 59, 71, 108, 317, - 0, 89, 90, 70, 47, 94, 95, 36, 741, 107, + 0, 89, 90, 70, 47, 94, 95, 36, 0, 107, 0, 27, 0, 0, 0, 112, 26, 18, 17, 0, 19, 0, 30, 0, 31, 0, 0, 20, 0, 0, 0, 21, 22, 35, 37, 106, 0, 23, 33, 0, @@ -1327,49 +1324,49 @@ var yyAct = [...]int{ var yyPact = [...]int{ -1000, -1000, 1251, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 264, 483, 651, 766, -1000, -1000, -1000, 262, 4342, 261, - 259, 5524, 5524, 5524, 183, 776, 5524, -1000, 6743, 258, - 257, 256, -1000, 405, 5524, 820, 281, 32, 504, 819, - 805, 799, 456, 507, 408, -1000, -1000, 254, -1000, -1000, - 134, 253, 4726, 5524, 688, 688, 5524, 5524, 5524, 5524, + 228, 461, 617, 751, -1000, -1000, -1000, 227, 4342, 219, + 218, 5524, 5524, 5524, 132, 739, 5524, -1000, 6743, 217, + 216, 215, -1000, 385, 5524, 793, 231, 29, 496, 791, + 790, 785, 447, 458, 774, -1000, -1000, 214, -1000, -1000, + 202, 213, 4726, 5524, 762, 762, 5524, 5524, 5524, 5524, 5524, -1000, -1000, 5524, 5524, 5524, 5524, 5524, 5524, 5524, - 252, 5524, -1000, 811, 5524, 5524, 5524, -1000, -1000, -1000, - -1000, 101, -1000, 517, 506, -1000, 184, 251, 249, 5524, - 5524, 244, 5524, 5524, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 765, 757, 32, -1000, 215, 203, - 203, 239, -1000, 490, 737, 170, 737, 295, -1000, -1000, - 345, 602, -9, 619, 737, -1000, -1000, -1000, -1000, -15, - -1000, -59, 3147, 5524, 700, 32, 477, 5524, 5524, 337, - 6802, 666, 333, 332, -18, -1000, -1000, -19, -1000, -1000, - -60, -24, -1000, 6802, -1000, 5524, 5524, 5524, 5524, 5524, + 212, 5524, -1000, 737, 5524, 5524, 5524, -1000, -1000, -1000, + -1000, 76, -1000, 489, 487, -1000, 503, 209, 206, 5524, + 5524, 199, 5524, 5524, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 735, 707, 29, -1000, 137, 160, + 160, 194, -1000, 474, 727, 134, 727, 285, -1000, -1000, + 321, 575, 42, 634, 727, -1000, -1000, -1000, -1000, 39, + -1000, -53, 3147, 5524, 632, 29, 467, 5524, 5524, 320, + 6802, 678, 316, 311, -10, -1000, -1000, -15, -1000, -1000, + -56, -19, -1000, 6802, -1000, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, - 5524, 230, 5410, 5524, 688, 5524, 766, -1000, 6684, 331, - -1000, 794, -1000, 785, -1000, 591, -1000, 595, 233, 4342, - 228, 319, 275, 5296, 5524, 5524, 5524, 5524, 5524, 5524, + 5524, 373, 5410, 5524, 762, 5524, 751, -1000, 6684, 306, + -1000, 782, -1000, 781, -1000, 554, -1000, 563, 192, 4342, + 189, 305, 176, 5296, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, 5524, -1000, -1000, 5524, - 5524, 5524, 104, 4726, 98, 22, -1000, -1000, 6629, 688, - 5524, 225, -1000, -1000, 101, 5524, -1000, -1000, 4726, -1000, - 412, 412, 461, 412, 6561, 412, 412, 412, 412, 412, - 412, 412, -1000, 5524, 412, 219, 616, 707, -1000, 198, - 5182, 688, 7025, 6970, 7025, 5524, 3461, 3461, 203, -1000, - 505, 227, 203, -1000, -1000, 5524, 5524, 6802, 6802, 5524, - 6802, 6802, 742, -1000, 734, 575, 616, 221, 5524, -1000, - -1000, 4840, -1000, 4726, 782, 490, 318, 490, -1000, -1000, - 1093, -1000, 316, -28, 582, 737, -1000, 597, 511, 770, - 551, -1000, -1000, 766, 5524, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 218, 6506, 216, -1000, 315, -8, 6802, - 6451, -1000, -1000, -1000, -1000, 183, -1000, 733, 5524, -1000, - 5524, 7134, 7174, 6857, 7025, 6912, 7214, 7294, 7254, 132, - 132, 132, 461, 412, 461, 461, 64, 64, 168, 168, - 168, 168, 351, 351, 351, 351, 168, -1000, 6396, 5524, - 7080, -11, -1000, -1000, 6341, -30, 2989, -1000, -1000, -1000, - 212, 591, 569, 587, 403, -1000, 587, 5524, -1000, 5524, + 5524, 5524, 103, 4726, 72, -12, -1000, -1000, 6629, 762, + 5524, 174, -1000, -1000, 76, 5524, -1000, -1000, 4726, -1000, + 394, 394, 456, 394, 6561, 394, 394, 394, 394, 394, + 394, 394, -1000, 5524, 394, 354, 710, 616, -1000, 175, + 5182, 762, 7025, 6970, 7025, 5524, 3461, 3461, 160, -1000, + 483, 169, 160, -1000, -1000, 5524, 5524, 6802, 6802, 5524, + 6802, 6802, 755, -1000, 668, 534, 710, 168, 5524, -1000, + -1000, 4840, -1000, 4726, 772, 474, 302, 474, -1000, -1000, + 1093, -1000, 301, -23, 578, 727, -1000, 535, 493, 765, + 565, -1000, -1000, 751, 5524, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 164, 6506, 162, -1000, 299, -13, 6802, + 6451, -1000, -1000, -1000, -1000, 132, -1000, 713, 5524, -1000, + 5524, 7134, 7174, 6857, 7025, 6912, 7214, 7294, 7254, 64, + 64, 64, 456, 394, 456, 456, 295, 295, 166, 166, + 166, 166, 268, 268, 268, 268, 166, -1000, 6396, 5524, + 7080, -18, -1000, -1000, 6341, -31, 2989, -1000, -1000, -1000, + 161, 554, 546, 521, 382, -1000, 521, 5524, -1000, 5524, -1000, -1000, 7025, 5524, 7025, 7025, 7025, 7025, 7025, 7025, - 7025, 7025, 7025, 7025, 7025, 7025, 7025, 6286, 96, 6228, - 203, -1000, 5524, -1000, 167, -65, 4726, 5068, -1000, 6802, - 4726, 6173, 84, -1000, 165, -1000, -1000, -1000, -1000, 190, - 751, 6115, 93, 363, 5524, 81, 203, -1000, -1000, 5524, + 7025, 7025, 7025, 7025, 7025, 7025, 7025, 6286, 68, 6228, + 160, -1000, 5524, -1000, 129, -60, 4726, 5068, -1000, 6802, + 4726, 6173, 52, -1000, 126, -1000, -1000, -1000, -1000, 182, + 731, 6115, 87, 332, 5524, 50, 160, -1000, -1000, 5524, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -1377,65 +1374,65 @@ var yyPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 203, -1000, -1000, - -1000, -1000, 183, 5524, 5524, 104, 183, 591, -12, -1000, - 6802, 6060, 6005, -1000, -1000, -1000, 285, 5947, -1000, -13, - -1000, 6802, 5524, 163, -1000, -1000, 935, -1000, -1000, -1000, - 502, 550, -1000, 737, 539, 689, -1000, 501, -1000, 6802, - 158, 4186, 5524, 5524, 5524, 208, -1000, -1000, 6802, -1000, - 5524, 7080, 155, 688, 7606, 4030, -1000, 192, 285, 569, - -1000, 587, -1000, -1000, 400, -40, -1000, 5892, 5837, 2831, - 7294, 3874, -1000, -1000, -1000, 5779, -66, 5524, -1000, 6802, - 688, 182, 151, -1000, -1000, -1000, 50, -1000, -1000, 709, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 160, -1000, -1000, + -1000, -1000, 132, 5524, 5524, 103, 132, 554, -28, -1000, + 6802, 6060, 6005, -1000, -1000, -1000, 294, 5947, -1000, -34, + -1000, 6802, 5524, 120, -1000, -1000, 935, -1000, -1000, -1000, + 491, 551, -1000, 727, 531, 689, -1000, 488, -1000, 6802, + 119, 4186, 5524, 5524, 5524, 141, -1000, -1000, 6802, -1000, + 5524, 7080, 116, 762, 7606, 4030, -1000, 155, 294, 546, + -1000, 521, -1000, -1000, 368, -41, -1000, 5892, 5837, 2831, + 7294, 3874, -1000, -1000, -1000, 5779, -65, 5524, -1000, 6802, + 762, 154, 115, -1000, -1000, -1000, 49, -1000, -1000, 642, -1000, -1000, -1000, -1000, 5524, -1000, 7025, -1000, -1000, 5721, - -1000, -1000, 47, 5663, -1000, -1000, 569, 144, 5524, -1000, - -1000, 142, -16, -1000, 35, -1000, -1000, 552, -1000, -1000, - -1000, -1000, 141, 4954, 6802, -1000, -1000, 737, 499, -34, - -1000, -1000, 737, 689, -1000, 314, -1000, -1000, -1000, 5608, - 313, 6802, -1000, 312, 311, 7080, 307, -1000, 139, 562, - 688, 177, 4726, -1000, -1000, -1000, 620, 285, 138, -1000, - 396, -40, 1433, -1000, 587, 4342, 272, 303, -1000, -1000, - -1000, 5524, 7025, -1000, 4726, -66, -1000, -1000, 5553, -1000, - -1000, -1000, -1000, -1000, -1000, 269, 285, 475, -1000, -1000, - -1000, -1000, -35, -1000, 737, 362, 689, -1000, -34, -1000, - 2673, 302, 5524, 411, -1000, 793, -1000, -1000, 3562, 7606, - -1000, 4726, 40, 2515, -1000, 169, 395, 121, 611, 379, - -1000, -1000, -1000, 285, 647, 587, 612, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1275, -1000, -1000, -1000, -1000, - 3305, 7025, 119, 350, 378, -1000, 285, -1000, 729, -1000, - 349, 737, -35, -1000, -1000, 347, 301, -1000, 113, -1000, - 5524, 174, 401, 300, 775, -1000, -1000, -1000, 111, -1000, - 108, -1000, 299, 587, -1000, 269, 269, 133, -1000, 1117, - 713, 7446, 32, -31, -1000, -1000, 3305, -66, -1000, -1000, - 560, -1000, -67, -1000, -1000, 286, -1000, -1000, 3718, 335, - -1000, -1000, -1000, -1000, -1000, 292, 2357, 3562, -1000, -1000, - 89, -1000, 2199, 375, 374, 214, 959, -1000, -36, -1000, - -70, -37, -1000, -73, 7446, -1000, -1000, 4625, 538, 5524, - 5524, -1000, -1000, -1000, -1000, -1000, 3305, -1000, 290, -1000, - 106, 587, -1000, -1000, -1000, -43, -1000, -1000, 725, -1000, - -1000, 713, -1000, 5524, -1000, 7446, 5524, -1000, -1000, 4498, - -1000, 284, 217, 608, 680, 497, -1000, 477, -1000, -1000, - 7025, 6802, 2041, 3305, -1000, 366, -1000, 1883, 1725, -1000, - 214, -1000, -1000, 6802, -1000, 6802, 105, -1000, -1000, -1000, - -1000, 587, 7547, 7446, 185, -1000, -1000, -1000, -1000, -1000, - -1000, 285, -40, -1000, -1000, 7446, -1000, -1000, 1567, 103, - -1000, -1000, 269, 283, -1000, -1000, -1000, 1409, -1000, + -1000, -1000, 47, 5663, -1000, -1000, 546, 114, 5524, -1000, + -1000, 110, -35, -1000, 37, -1000, -1000, 603, -1000, -1000, + -1000, -1000, 107, 4954, 6802, -1000, -1000, 727, 473, -36, + -1000, -1000, 727, 689, -1000, 293, -1000, -1000, -1000, 5608, + 292, 6802, -1000, 290, 284, 7080, 279, -1000, 106, 517, + 762, 147, 4726, -1000, -1000, -1000, 661, 294, 104, -1000, + 367, -41, 1275, -1000, 521, 4342, 170, 274, -1000, -1000, + -1000, 5524, 7025, -1000, 4726, -65, -1000, -1000, 5553, -1000, + -1000, -1000, -1000, -1000, -1000, 167, 294, 455, -1000, -1000, + -1000, -1000, -40, -1000, 727, 331, 689, -1000, -36, -1000, + 2673, 273, 5524, 383, -1000, 788, -1000, -1000, 3562, 7606, + -1000, 4726, 40, 2515, -1000, 142, 360, 101, 602, 358, + -1000, -1000, -1000, 294, 651, 521, 610, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1117, -1000, -1000, -1000, -1000, + 3305, 7025, 100, 330, 352, -1000, 294, -1000, 693, -1000, + 329, 727, -40, -1000, -1000, 328, 266, -1000, 97, -1000, + 5524, 151, 378, 261, 775, -1000, -1000, -1000, 94, -1000, + 91, -1000, 260, 521, -1000, 167, 167, 139, -1000, 959, + 647, 7446, 29, -43, -1000, -1000, 3305, -65, -1000, -1000, + 511, -1000, -67, -1000, -1000, 325, -1000, -1000, 3718, 353, + -1000, -1000, -1000, -1000, -1000, 259, 2357, 3562, -1000, -1000, + 84, -1000, 2199, 351, 337, 140, 539, -1000, -30, -1000, + -70, -32, -1000, -73, 7446, -1000, -1000, 4625, 434, 5524, + 5524, -1000, -1000, -1000, -1000, -1000, 3305, -1000, 258, -1000, + 89, 521, -1000, -1000, -1000, -39, -1000, -1000, 658, -1000, + -1000, 647, -1000, 5524, -1000, 7446, 5524, -1000, -1000, 4498, + -1000, 250, 246, 576, 592, 480, -1000, 467, -1000, -1000, + 7025, 6802, 2041, 3305, -1000, 334, -1000, 1883, 1725, -1000, + 140, -1000, -1000, 6802, -1000, 6802, 136, -1000, -1000, -1000, + -1000, 521, 7547, 7446, 238, -1000, -1000, -1000, -1000, -1000, + -1000, 294, -41, -1000, -1000, 7446, -1000, -1000, 1567, 86, + -1000, -1000, 167, 243, -1000, -1000, -1000, 1409, -1000, } var yyPgo = [...]int{ - 0, 931, 929, 14, 8, 928, 4, 29, 13, 927, - 11, 44, 78, 71, 52, 48, 926, 26, 924, 83, - 21, 82, 916, 0, 84, 915, 914, 42, 190, 32, - 19, 38, 913, 912, 79, 911, 73, 910, 5, 909, - 908, 905, 904, 15, 62, 903, 902, 100, 87, 274, - 901, 900, 899, 6, 898, 86, 41, 897, 56, 49, - 896, 895, 894, 893, 892, 99, 890, 883, 882, 881, - 88, 880, 879, 878, 10, 876, 875, 46, 39, 40, - 2, 16, 705, 43, 85, 871, 870, 868, 12, 867, - 864, 555, 862, 50, 37, 860, 858, 9, 762, 20, - 553, 855, 18, 854, 853, 36, 848, 25, 33, 846, - 45, 845, 554, 844, 839, 837, 34, 80, 1, 3, - 832, 17, 831, 821, 803, 7, 767, 752, 28, + 0, 961, 959, 15, 7, 957, 4, 29, 14, 952, + 11, 44, 79, 78, 52, 48, 951, 26, 950, 74, + 21, 83, 948, 0, 84, 946, 931, 42, 196, 32, + 19, 38, 929, 928, 73, 927, 62, 924, 5, 916, + 915, 914, 913, 9, 50, 911, 908, 100, 88, 242, + 907, 905, 890, 8, 889, 80, 41, 887, 56, 49, + 886, 883, 882, 878, 876, 86, 875, 871, 870, 10, + 868, 87, 864, 862, 860, 12, 858, 855, 46, 39, + 40, 2, 16, 667, 43, 85, 854, 853, 848, 13, + 847, 846, 555, 844, 45, 71, 843, 840, 6, 721, + 20, 540, 839, 18, 838, 837, 36, 836, 25, 33, + 835, 37, 830, 530, 829, 828, 826, 34, 99, 1, + 3, 825, 17, 824, 817, 810, 809, 804, 28, } var yyR1 = [...]int{ @@ -1446,29 +1443,29 @@ var yyR1 = [...]int{ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 5, 5, 5, 5, 5, 5, 5, 6, 6, 117, - 117, 102, 102, 10, 10, 10, 9, 9, 9, 9, + 5, 5, 5, 5, 5, 5, 5, 6, 6, 118, + 118, 103, 103, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 98, 98, 16, 16, 18, 18, 7, 7, 108, - 108, 107, 107, 112, 112, 17, 17, 20, 20, 19, - 19, 70, 70, 118, 118, 22, 22, 22, 22, 22, + 9, 99, 99, 16, 16, 18, 18, 7, 7, 109, + 109, 108, 108, 113, 113, 17, 17, 20, 20, 19, + 19, 71, 71, 119, 119, 22, 22, 22, 22, 22, 22, 22, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 103, 103, 68, 68, - 26, 26, 92, 92, 27, 12, 1, 1, 2, 2, - 13, 13, 126, 126, 82, 82, 14, 15, 93, 93, - 95, 95, 94, 94, 99, 99, 99, 99, 89, 89, - 88, 88, 25, 25, 86, 86, 86, 86, 110, 110, - 110, 8, 8, 90, 90, 73, 73, 69, 69, 75, - 75, 72, 72, 119, 119, 120, 120, 29, 29, 30, - 30, 81, 81, 79, 79, 79, 80, 80, 83, 83, - 71, 71, 31, 31, 33, 33, 34, 35, 35, 36, - 36, 121, 121, 37, 37, 37, 37, 125, 125, 85, - 85, 85, 111, 111, 38, 38, 39, 40, 40, 40, - 40, 42, 42, 41, 87, 87, 123, 123, 122, 122, - 124, 124, 97, 97, 97, 97, 97, 97, 109, 109, - 43, 43, 104, 104, 74, 21, 67, 67, 44, 105, - 105, 106, 106, 46, 45, 45, 32, 32, 32, 32, + 11, 11, 11, 11, 11, 11, 104, 104, 68, 68, + 26, 26, 93, 93, 27, 12, 1, 1, 2, 2, + 13, 13, 126, 126, 83, 83, 14, 15, 94, 94, + 96, 96, 95, 95, 100, 100, 100, 100, 90, 90, + 89, 89, 25, 25, 87, 87, 87, 87, 111, 111, + 111, 8, 8, 91, 91, 74, 74, 70, 70, 76, + 76, 73, 73, 120, 120, 121, 121, 29, 29, 30, + 30, 82, 82, 80, 80, 80, 81, 81, 84, 84, + 72, 72, 31, 31, 33, 33, 34, 35, 35, 36, + 36, 122, 122, 37, 37, 37, 37, 69, 69, 86, + 86, 86, 112, 112, 38, 38, 39, 40, 40, 40, + 40, 42, 42, 41, 88, 88, 124, 124, 123, 123, + 125, 125, 98, 98, 98, 98, 98, 98, 110, 110, + 43, 43, 105, 105, 75, 21, 67, 67, 44, 106, + 106, 107, 107, 46, 45, 45, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, @@ -1476,19 +1473,19 @@ var yyR1 = [...]int{ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 91, 91, 128, 3, 3, 96, 96, - 113, 113, 53, 53, 54, 54, 54, 54, 47, 47, - 48, 48, 51, 51, 101, 101, 101, 84, 84, 58, + 32, 32, 32, 92, 92, 128, 3, 3, 97, 97, + 114, 114, 53, 53, 54, 54, 54, 54, 47, 47, + 48, 48, 51, 51, 102, 102, 102, 85, 85, 58, 58, 58, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 59, 59, 59, 23, 23, 24, 24, 57, 60, 60, 60, 61, 61, 61, 62, 62, 62, 62, 62, 62, 28, 28, 28, 49, 49, 49, 63, 63, 64, 64, 64, 64, - 64, 64, 55, 55, 55, 56, 56, 56, 116, 77, - 77, 115, 115, 76, 76, 76, 76, 76, 76, 76, - 100, 100, 100, 100, 65, 65, 65, 65, 65, 65, + 64, 64, 55, 55, 55, 56, 56, 56, 117, 78, + 78, 116, 116, 77, 77, 77, 77, 77, 77, 77, + 101, 101, 101, 101, 65, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 50, 50, 50, 50, 50, - 50, 50, 114, 114, 78, + 50, 50, 115, 115, 79, } var yyR2 = [...]int{ @@ -1545,49 +1542,49 @@ var yyR2 = [...]int{ } var yyChk = [...]int{ - -1000, -127, -117, -9, 2, -11, -12, -13, -14, -15, - 52, 80, 45, 39, 144, -69, -72, 21, 20, 23, + -1000, -127, -118, -9, 2, -11, -12, -13, -14, -15, + 52, 80, 45, 39, 144, -70, -73, 21, 20, 23, 30, 34, 35, 40, 47, 99, 19, 14, -23, 49, 25, 27, 146, 41, 44, 36, 10, 37, -126, 53, - 54, 55, -73, -75, -28, -32, -82, 7, -62, -63, + 54, 55, -74, -76, -28, -32, -83, 7, -62, -63, -60, 60, 150, 93, 105, 106, 155, 154, 156, 157, 148, -45, -50, 108, 109, 110, 111, 112, 113, 114, - 6, 158, -52, 143, 97, 98, 107, -91, 100, 101, + 6, 158, -52, 143, 97, 98, 107, -92, 100, 101, -49, -59, -54, -47, -57, -58, 92, 50, 51, 4, 5, 85, 86, 87, 8, 9, 67, 68, 82, 64, 65, 66, 81, 63, 75, 142, 38, 12, 159, -10, - -61, 61, 18, -102, 83, 148, 83, -102, 144, 10, - -18, -98, -112, -102, 83, 37, 39, -19, -20, -70, - -21, 10, -118, 148, -11, 37, 80, 148, 148, -24, - -23, 99, -24, -24, -33, -34, -49, -35, -91, -36, + -61, 61, 18, -103, 83, 148, 83, -103, 144, 10, + -18, -99, -113, -103, 83, 37, 39, -19, -20, -71, + -21, 10, -119, 148, -11, 37, 80, 148, 148, -24, + -23, 99, -24, -24, -33, -34, -49, -35, -92, -36, 12, -67, -44, -23, 146, 131, 132, 88, 90, 89, 161, 153, 163, 169, 155, 154, 164, 133, 165, 166, 134, 135, 136, 137, 138, 139, 167, 140, 168, 141, 116, 91, 152, 115, 148, 148, 148, 144, -23, 10, - 147, -3, 153, 53, -82, 10, 10, 10, 94, 95, + 147, -3, 153, 53, -83, 10, 10, 10, 94, 95, 94, 96, 95, 162, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 105, 106, 148, - 150, 144, 58, 148, -116, -115, -77, -76, -23, 153, + 150, 144, 58, 148, -117, -116, -78, -77, -23, 153, 84, 60, -23, -28, -59, 148, -58, 99, 150, -28, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, - -23, -23, -51, 148, -23, -101, 17, -100, -65, 12, + -23, -23, -51, 148, -23, -102, 17, -101, -65, 12, 77, 78, -23, -23, -23, 150, 79, 79, -48, -46, -47, -64, 53, -10, -49, 148, 148, -23, -23, 148, - -23, -23, 17, 76, -100, -100, 17, -3, 144, -49, - -83, 148, -83, 148, 83, -102, 149, -102, 146, 144, - -117, 146, -16, -112, -102, 83, 146, 160, 83, 29, - -102, -20, 146, 160, 162, -22, 145, 2, -11, -12, - -13, -14, -15, 52, -23, 21, -3, -105, -106, -23, + -23, -23, 17, 76, -101, -101, 17, -3, 144, -49, + -84, 148, -84, 148, 83, -103, 149, -103, 146, 144, + -118, 146, -16, -113, -103, 83, 146, 160, 83, 29, + -103, -20, 146, 160, 162, -22, 145, 2, -11, -12, + -13, -14, -15, 52, -23, 21, -3, -106, -107, -23, -23, 146, 146, 146, 146, 160, 146, 160, 162, 146, 160, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -48, -23, 147, - -23, -92, -27, -28, -23, -70, -118, 146, 146, 10, - -128, 10, -93, 56, -128, -95, 56, 148, -11, 148, + -23, -93, -27, -28, -23, -71, -119, 146, 146, 10, + -128, 10, -94, 56, -128, -96, 56, 148, -11, 148, 146, 147, -23, 153, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -24, -23, - -56, 10, 144, -49, -116, 151, 160, 59, -28, -23, - 148, -23, -116, 149, -24, 143, -65, -65, 17, 150, + -56, 10, 144, -49, -117, 151, 160, 59, -28, -23, + 148, -23, -117, 149, -24, 143, -65, -65, 17, 150, 58, -23, 11, -28, 59, -24, -55, -6, -49, 144, 10, -5, -4, 99, 100, 101, 102, 103, 104, 4, 5, 85, 86, 87, 88, 89, 90, 91, 92, 93, @@ -1597,48 +1594,48 @@ var yyChk = [...]int{ 39, 40, 97, 98, 60, 30, 31, 32, 33, 34, 61, 62, 56, 57, 80, 54, 55, 53, 63, 64, 66, 65, 67, 68, 82, 81, 38, -55, -6, -49, - -84, -83, 79, 150, 144, 58, 79, -84, -114, -78, - -23, -23, -23, 76, 76, 142, 148, -23, 149, -71, - -31, -23, 84, -116, 10, 146, -117, 145, 146, 146, - 83, -102, -19, 83, -102, 144, 10, 83, -21, -23, + -85, -84, 79, 150, 144, 58, 79, -85, -115, -79, + -23, -23, -23, 76, 76, 142, 148, -23, 149, -72, + -31, -23, 84, -117, 10, 146, -118, 145, 146, 146, + 83, -103, -19, 83, -103, 144, 10, 83, -21, -23, 148, 149, 148, 146, 160, 149, -34, -36, -23, -44, - 147, -23, -7, 160, 29, 149, 145, -128, 148, -93, - -94, 57, -10, 144, -128, -125, -10, -23, -23, -118, - -23, 149, 151, 145, -83, -23, 149, 162, -77, -23, - 153, 60, -116, 149, 151, 149, -66, 10, 13, 154, - 12, 10, 145, 145, 150, 145, -23, 151, -83, -23, - -83, -49, -24, -23, -56, -49, -93, -7, 160, 149, - 149, -119, -120, -29, -30, -81, -79, 152, 61, 62, - -10, 145, -7, 160, -23, 149, 145, 144, 83, -108, - -17, -20, -98, 144, -128, 149, -90, -11, 147, -23, - -105, -23, -86, 144, 147, -23, 149, -27, -99, -28, - 153, 60, 150, -25, -11, 147, -103, 148, -119, -94, - -128, -125, -121, 144, 160, 149, 149, 96, -11, 147, + 147, -23, -7, 160, 29, 149, 145, -128, 148, -94, + -95, 57, -10, 144, -128, -69, -10, -23, -23, -119, + -23, 149, 151, 145, -84, -23, 149, 162, -78, -23, + 153, 60, -117, 149, 151, 149, -66, 10, 13, 154, + 12, 10, 145, 145, 150, 145, -23, 151, -84, -23, + -84, -49, -24, -23, -56, -49, -94, -7, 160, 149, + 149, -120, -121, -29, -30, -82, -80, 152, 61, 62, + -10, 145, -7, 160, -23, 149, 145, 144, 83, -109, + -17, -20, -99, 144, -128, 149, -91, -11, 147, -23, + -106, -23, -87, 144, 147, -23, 149, -27, -100, -28, + 153, 60, 150, -25, -11, 147, -104, 148, -120, -95, + -128, -69, -122, 144, 160, 149, 149, 96, -11, 147, 145, 162, -23, -28, 148, 149, 151, 13, -23, 145, - 151, 145, -94, 149, -78, 149, 160, -1, 153, -79, - 149, -31, -107, -20, 144, -7, 160, -20, -108, 146, - -118, 149, 146, -110, 146, -110, 146, 146, 149, 59, - -28, 148, -116, -118, -26, 42, 43, -119, 149, -128, - 144, 145, -37, -123, -122, 45, -124, 48, -97, 104, - 103, 102, 99, 100, 101, -121, -10, -11, 147, 146, - -118, -23, -116, 151, -128, -80, 147, -29, -2, 84, - -7, 160, -107, 145, -17, -7, 22, 146, -105, 145, - 32, 33, -110, 31, -110, -88, -11, 147, -99, -28, - -116, 151, 28, 148, 144, 149, -96, 45, 144, -121, - -30, 39, 37, -125, -97, 145, -118, 149, 145, 144, - -128, -81, 12, 145, -20, -7, 145, 146, 149, -23, - -8, 147, 146, 145, 146, 31, -118, 149, 149, 146, - -68, -10, -118, -80, -80, 148, -121, 145, -109, -43, - 12, -104, -74, -6, -3, -85, 146, 144, -121, 59, - 162, 145, -89, -11, 147, -8, -118, 146, 26, -88, - 12, 161, 145, 144, 144, -113, -53, 12, 153, 145, - 146, 160, -128, 162, 146, 160, 162, -6, 145, -111, + 151, 145, -95, 149, -79, 149, 160, -1, 153, -80, + 149, -31, -108, -20, 144, -7, 160, -20, -109, 146, + -119, 149, 146, -111, 146, -111, 146, 146, 149, 59, + -28, 148, -117, -119, -26, 42, 43, -120, 149, -128, + 144, 145, -37, -124, -123, 45, -125, 48, -98, 104, + 103, 102, 99, 100, 101, -122, -10, -11, 147, 146, + -119, -23, -117, 151, -128, -81, 147, -29, -2, 84, + -7, 160, -108, 145, -17, -7, 22, 146, -106, 145, + 32, 33, -111, 31, -111, -89, -11, 147, -100, -28, + -117, 151, 28, 148, 144, 149, -97, 45, 144, -122, + -30, 39, 37, -69, -98, 145, -119, 149, 145, 144, + -128, -82, 12, 145, -20, -7, 145, 146, 149, -23, + -8, 147, 146, 145, 146, 31, -119, 149, 149, 146, + -68, -10, -119, -81, -81, 148, -122, 145, -110, -43, + 12, -105, -75, -6, -3, -86, 146, 144, -122, 59, + 162, 145, -90, -11, 147, -8, -119, 146, 26, -89, + 12, 161, 145, 144, 144, -114, -53, 12, 153, 145, + 146, 160, -128, 162, 146, 160, 162, -6, 145, -112, -38, -39, -40, -41, -42, -10, -6, 80, 10, 145, - -23, -23, -118, -118, 146, 149, -10, -118, -118, 149, - 160, 12, -43, -23, -74, -23, -128, 145, -38, 146, + -23, -23, -119, -119, 146, 149, -10, -119, -119, 149, + 160, 12, -43, -23, -75, -23, -128, 145, -38, 146, 146, 46, 29, 79, 24, 144, 145, 145, -53, -128, - -128, 148, -125, 10, -4, -97, -6, 146, -118, -119, - -6, 145, 149, -80, -87, 146, 144, -118, 145, + -128, 148, -69, 10, -4, -98, -6, 146, -119, -120, + -6, 145, 149, -81, -88, 146, 144, -119, 145, } var yyDef = [...]int{ @@ -2114,7 +2111,7 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:294 + // line internal/php7/php7.y:291 { yylex.(*Parser).rootNode = &ast.Root{ast.Node{}, yyDollar[1].list} @@ -2125,469 +2122,469 @@ yydefault: } case 2: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 + // line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 3: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 + // line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 4: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 + // line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 5: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 + // line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 6: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 + // line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 7: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 + // line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 8: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 + // line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 9: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 + // line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 10: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 + // line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 11: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 + // line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 12: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 + // line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 13: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 + // line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 14: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 + // line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 15: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 + // line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 16: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 + // line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 17: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 + // line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 18: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 + // line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 19: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 + // line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 20: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 + // line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 21: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 + // line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 22: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 + // line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 23: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 + // line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 24: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 + // line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 25: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 + // line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 26: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 + // line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 27: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 + // line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 28: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 + // line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 29: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 + // line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 30: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 + // line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 31: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 + // line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 32: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 + // line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 33: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 + // line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 34: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 + // line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 35: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 + // line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 36: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 + // line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 37: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 + // line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 38: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 + // line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 39: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 + // line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 40: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 + // line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 41: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:308 + // line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 42: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 + // line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 43: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 + // line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 44: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 + // line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 45: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 + // line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 46: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 + // line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 47: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 + // line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 48: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 + // line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 49: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 + // line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 50: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 + // line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 51: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 + // line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 52: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:309 + // line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 53: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 + // line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 54: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 + // line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 55: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 + // line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 56: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 + // line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 57: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 + // line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 58: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 + // line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 59: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 + // line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 60: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 + // line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 61: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 + // line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 62: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 + // line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 63: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 + // line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 64: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 + // line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 65: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 + // line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 66: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 + // line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 67: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 + // line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 68: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 + // line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 69: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:311 + // line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 70: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:316 + // line internal/php7/php7.y:313 { yyVAL.token = yyDollar[1].token } case 71: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:319 + // line internal/php7/php7.y:316 { yyVAL.token = yyDollar[1].token } case 72: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:319 + // line internal/php7/php7.y:316 { yyVAL.token = yyDollar[1].token } case 73: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:319 + // line internal/php7/php7.y:316 { yyVAL.token = yyDollar[1].token } case 74: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:319 + // line internal/php7/php7.y:316 { yyVAL.token = yyDollar[1].token } case 75: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:319 + // line internal/php7/php7.y:316 { yyVAL.token = yyDollar[1].token } case 76: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:319 + // line internal/php7/php7.y:316 { yyVAL.token = yyDollar[1].token } case 77: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:324 + // line internal/php7/php7.y:321 { yyVAL.token = yyDollar[1].token } case 78: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:328 + // line internal/php7/php7.y:325 { yyVAL.token = yyDollar[1].token } case 79: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:335 + // line internal/php7/php7.y:332 { if inlineHtmlNode, ok := yyDollar[2].node.(*ast.StmtInlineHtml); ok && len(yyDollar[1].list) > 0 { prevNode := lastNode(yyDollar[1].list) @@ -2600,13 +2597,13 @@ yydefault: } case 80: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:346 + // line internal/php7/php7.y:343 { yyVAL.list = []ast.Vertex{} } case 81: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:353 + // line internal/php7/php7.y:350 { yyVAL.list = []ast.Vertex{ &ast.NameNamePart{ @@ -2620,7 +2617,7 @@ yydefault: } case 82: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:365 + // line internal/php7/php7.y:362 { yyVAL.list = append(yyDollar[1].list, &ast.NameNamePart{ Node: ast.Node{ @@ -2633,7 +2630,7 @@ yydefault: } case 83: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:379 + // line internal/php7/php7.y:376 { yyVAL.node = &ast.NameName{ Node: ast.Node{ @@ -2644,7 +2641,7 @@ yydefault: } case 84: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:388 + // line internal/php7/php7.y:385 { yyVAL.node = &ast.NameRelative{ Node: ast.Node{ @@ -2657,7 +2654,7 @@ yydefault: } case 85: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:399 + // line internal/php7/php7.y:396 { yyVAL.node = &ast.NameFullyQualified{ Node: ast.Node{ @@ -2669,44 +2666,44 @@ yydefault: } case 86: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:412 + // line internal/php7/php7.y:409 { // error yyVAL.node = nil } case 87: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:417 + // line internal/php7/php7.y:414 { yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:421 + // line internal/php7/php7.y:418 { yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:425 + // line internal/php7/php7.y:422 { yyVAL.node = yyDollar[1].node } case 90: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:429 + // line internal/php7/php7.y:426 { yyVAL.node = yyDollar[1].node } case 91: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:433 + // line internal/php7/php7.y:430 { yyVAL.node = yyDollar[1].node } case 92: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:437 + // line internal/php7/php7.y:434 { yyVAL.node = &ast.StmtHaltCompiler{ Node: ast.Node{ @@ -2720,7 +2717,7 @@ yydefault: } case 93: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:449 + // line internal/php7/php7.y:446 { yyVAL.node = &ast.StmtNamespace{ Node: ast.Node{ @@ -2738,7 +2735,7 @@ yydefault: } case 94: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:465 + // line internal/php7/php7.y:462 { yyVAL.node = &ast.StmtNamespace{ Node: ast.Node{ @@ -2758,7 +2755,7 @@ yydefault: } case 95: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:483 + // line internal/php7/php7.y:480 { yyVAL.node = &ast.StmtNamespace{ Node: ast.Node{ @@ -2772,7 +2769,7 @@ yydefault: } case 96: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:495 + // line internal/php7/php7.y:492 { use := yyDollar[2].node.(*ast.StmtGroupUse) @@ -2784,7 +2781,7 @@ yydefault: } case 97: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:505 + // line internal/php7/php7.y:502 { use := yyDollar[3].node.(*ast.StmtGroupUse) @@ -2797,7 +2794,7 @@ yydefault: } case 98: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:516 + // line internal/php7/php7.y:513 { yyVAL.node = &ast.StmtUse{ Node: ast.Node{ @@ -2810,7 +2807,7 @@ yydefault: } case 99: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:527 + // line internal/php7/php7.y:524 { yyVAL.node = &ast.StmtUse{ Node: ast.Node{ @@ -2824,7 +2821,7 @@ yydefault: } case 100: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:539 + // line internal/php7/php7.y:536 { yyVAL.node = &ast.StmtConstList{ Node: ast.Node{ @@ -2838,7 +2835,7 @@ yydefault: } case 101: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:554 + // line internal/php7/php7.y:551 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -2850,7 +2847,7 @@ yydefault: } case 102: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:564 + // line internal/php7/php7.y:561 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -2862,7 +2859,7 @@ yydefault: } case 103: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:577 + // line internal/php7/php7.y:574 { if len(yyDollar[4].list) > 0 { yyDollar[4].list[len(yyDollar[4].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[5].token @@ -2886,7 +2883,7 @@ yydefault: } case 104: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:599 + // line internal/php7/php7.y:596 { yyDollar[5].list[len(yyDollar[5].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[6].token @@ -2909,7 +2906,7 @@ yydefault: } case 105: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:623 + // line internal/php7/php7.y:620 { yyDollar[4].list[len(yyDollar[4].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[5].token @@ -2931,7 +2928,7 @@ yydefault: } case 106: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:643 + // line internal/php7/php7.y:640 { yyDollar[5].list[len(yyDollar[5].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[6].token @@ -2954,19 +2951,19 @@ yydefault: } case 107: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:667 + // line internal/php7/php7.y:664 { yyVAL.token = nil } case 108: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:671 + // line internal/php7/php7.y:668 { yyVAL.token = yyDollar[1].token } case 109: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:678 + // line internal/php7/php7.y:675 { yyDollar[1].list[len(yyDollar[1].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[2].token @@ -2974,13 +2971,13 @@ yydefault: } case 110: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:684 + // line internal/php7/php7.y:681 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 111: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:691 + // line internal/php7/php7.y:688 { yyDollar[1].list[len(yyDollar[1].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[2].token @@ -2988,13 +2985,13 @@ yydefault: } case 112: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:697 + // line internal/php7/php7.y:694 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 113: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:704 + // line internal/php7/php7.y:701 { yyDollar[1].list[len(yyDollar[1].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[2].token @@ -3002,19 +2999,19 @@ yydefault: } case 114: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:710 + // line internal/php7/php7.y:707 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 115: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:717 + // line internal/php7/php7.y:714 { yyVAL.node = yyDollar[1].node } case 116: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:721 + // line internal/php7/php7.y:718 { decl := yyDollar[2].node.(*ast.StmtUseDeclaration) decl.Type = yyDollar[1].node @@ -3024,7 +3021,7 @@ yydefault: } case 117: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:732 + // line internal/php7/php7.y:729 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -3040,7 +3037,7 @@ yydefault: } case 118: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:746 + // line internal/php7/php7.y:743 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -3064,13 +3061,13 @@ yydefault: } case 119: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:771 + // line internal/php7/php7.y:768 { yyVAL.node = yyDollar[1].node } case 120: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:775 + // line internal/php7/php7.y:772 { decl := yyDollar[2].node.(*ast.StmtUseDeclaration) decl.NsSeparatorTkn = yyDollar[1].token @@ -3080,7 +3077,7 @@ yydefault: } case 121: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:786 + // line internal/php7/php7.y:783 { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node) @@ -3089,7 +3086,7 @@ yydefault: } case 122: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:793 + // line internal/php7/php7.y:790 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -3097,7 +3094,7 @@ yydefault: } case 123: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:802 + // line internal/php7/php7.y:799 { if inlineHtmlNode, ok := yyDollar[2].node.(*ast.StmtInlineHtml); ok && len(yyDollar[1].list) > 0 { prevNode := lastNode(yyDollar[1].list) @@ -3110,50 +3107,50 @@ yydefault: } case 124: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:813 + // line internal/php7/php7.y:810 { yyVAL.list = []ast.Vertex{} } case 125: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:820 + // line internal/php7/php7.y:817 { // error yyVAL.node = nil } case 126: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:825 + // line internal/php7/php7.y:822 { yyVAL.node = yyDollar[1].node } case 127: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:829 + // line internal/php7/php7.y:826 { yyVAL.node = yyDollar[1].node } case 128: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:833 + // line internal/php7/php7.y:830 { yyVAL.node = yyDollar[1].node } case 129: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:837 + // line internal/php7/php7.y:834 { yyVAL.node = yyDollar[1].node } case 130: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:841 + // line internal/php7/php7.y:838 { yyVAL.node = yyDollar[1].node } case 131: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:845 + // line internal/php7/php7.y:842 { yyVAL.node = &ast.StmtHaltCompiler{ Node: ast.Node{ @@ -3167,7 +3164,7 @@ yydefault: } case 132: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:859 + // line internal/php7/php7.y:856 { yyVAL.node = &ast.StmtStmtList{ Node: ast.Node{ @@ -3180,19 +3177,19 @@ yydefault: } case 133: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:870 + // line internal/php7/php7.y:867 { yyVAL.node = yyDollar[1].node } case 134: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:874 + // line internal/php7/php7.y:871 { yyVAL.node = yyDollar[1].node } case 135: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:878 + // line internal/php7/php7.y:875 { yyDollar[5].node.(*ast.StmtWhile).WhileTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtWhile).OpenParenthesisTkn = yyDollar[2].token @@ -3204,7 +3201,7 @@ yydefault: } case 136: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:888 + // line internal/php7/php7.y:885 { yyVAL.node = &ast.StmtDo{ Node: ast.Node{ @@ -3221,7 +3218,7 @@ yydefault: } case 137: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:903 + // line internal/php7/php7.y:900 { yyDollar[9].node.(*ast.StmtFor).ForTkn = yyDollar[1].token yyDollar[9].node.(*ast.StmtFor).OpenParenthesisTkn = yyDollar[2].token @@ -3237,7 +3234,7 @@ yydefault: } case 138: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:917 + // line internal/php7/php7.y:914 { yyDollar[5].node.(*ast.StmtSwitch).SwitchTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtSwitch).OpenParenthesisTkn = yyDollar[2].token @@ -3249,7 +3246,7 @@ yydefault: } case 139: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:927 + // line internal/php7/php7.y:924 { yyVAL.node = &ast.StmtBreak{ Node: ast.Node{ @@ -3262,7 +3259,7 @@ yydefault: } case 140: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:938 + // line internal/php7/php7.y:935 { yyVAL.node = &ast.StmtContinue{ Node: ast.Node{ @@ -3275,7 +3272,7 @@ yydefault: } case 141: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:949 + // line internal/php7/php7.y:946 { yyVAL.node = &ast.StmtReturn{ Node: ast.Node{ @@ -3288,7 +3285,7 @@ yydefault: } case 142: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:960 + // line internal/php7/php7.y:957 { yyDollar[2].node.(*ast.StmtGlobal).GlobalTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtGlobal).SemiColonTkn = yyDollar[3].token @@ -3298,7 +3295,7 @@ yydefault: } case 143: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:968 + // line internal/php7/php7.y:965 { yyDollar[2].node.(*ast.StmtStatic).StaticTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtStatic).SemiColonTkn = yyDollar[3].token @@ -3308,7 +3305,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:976 + // line internal/php7/php7.y:973 { yyDollar[2].node.(*ast.StmtEcho).EchoTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtEcho).SemiColonTkn = yyDollar[3].token @@ -3318,7 +3315,7 @@ yydefault: } case 145: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:984 + // line internal/php7/php7.y:981 { yyVAL.node = &ast.StmtInlineHtml{ Node: ast.Node{ @@ -3330,7 +3327,7 @@ yydefault: } case 146: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:994 + // line internal/php7/php7.y:991 { yyVAL.node = &ast.StmtExpression{ast.Node{}, yyDollar[1].node} @@ -3344,7 +3341,7 @@ yydefault: } case 147: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1006 + // line internal/php7/php7.y:1003 { yyDollar[3].node.(*ast.StmtUnset).UnsetTkn = yyDollar[1].token yyDollar[3].node.(*ast.StmtUnset).OpenParenthesisTkn = yyDollar[2].token @@ -3357,7 +3354,7 @@ yydefault: } case 148: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:1017 + // line internal/php7/php7.y:1014 { yyDollar[7].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[7].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3371,7 +3368,7 @@ yydefault: } case 149: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:1029 + // line internal/php7/php7.y:1026 { yyDollar[9].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[9].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3387,7 +3384,7 @@ yydefault: } case 150: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1043 + // line internal/php7/php7.y:1040 { yyDollar[5].node.(*ast.StmtDeclare).DeclareTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtDeclare).OpenParenthesisTkn = yyDollar[2].token @@ -3400,7 +3397,7 @@ yydefault: } case 151: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1054 + // line internal/php7/php7.y:1051 { yyVAL.node = &ast.StmtNop{ Node: ast.Node{ @@ -3411,7 +3408,7 @@ yydefault: } case 152: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1063 + // line internal/php7/php7.y:1060 { yyVAL.node = &ast.StmtTry{ TryTkn: yyDollar[1].token, @@ -3430,7 +3427,7 @@ yydefault: } case 153: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1080 + // line internal/php7/php7.y:1077 { yyVAL.node = &ast.StmtThrow{ Node: ast.Node{ @@ -3443,7 +3440,7 @@ yydefault: } case 154: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1091 + // line internal/php7/php7.y:1088 { yyVAL.node = &ast.StmtGoto{ Node: ast.Node{ @@ -3462,7 +3459,7 @@ yydefault: } case 155: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1108 + // line internal/php7/php7.y:1105 { yyVAL.node = &ast.StmtLabel{ Node: ast.Node{ @@ -3480,13 +3477,13 @@ yydefault: } case 156: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1126 + // line internal/php7/php7.y:1123 { yyVAL.list = []ast.Vertex{} } case 157: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:1130 + // line internal/php7/php7.y:1127 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -3517,7 +3514,7 @@ yydefault: } case 158: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1161 + // line internal/php7/php7.y:1158 { yyVAL.node = &ast.StmtCatch{ Types: []ast.Vertex{yyDollar[1].node}, @@ -3525,7 +3522,7 @@ yydefault: } case 159: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1167 + // line internal/php7/php7.y:1164 { yyDollar[1].node.(*ast.StmtCatch).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtCatch).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.StmtCatch).Types = append(yyDollar[1].node.(*ast.StmtCatch).Types, yyDollar[3].node) @@ -3534,13 +3531,13 @@ yydefault: } case 160: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1177 + // line internal/php7/php7.y:1174 { yyVAL.node = nil } case 161: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1181 + // line internal/php7/php7.y:1178 { yyVAL.node = &ast.StmtFinally{ Node: ast.Node{ @@ -3554,7 +3551,7 @@ yydefault: } case 162: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1196 + // line internal/php7/php7.y:1193 { yyVAL.node = &ast.StmtUnset{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -3562,7 +3559,7 @@ yydefault: } case 163: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1202 + // line internal/php7/php7.y:1199 { yyDollar[1].node.(*ast.StmtUnset).Vars = append(yyDollar[1].node.(*ast.StmtUnset).Vars, yyDollar[3].node) yyDollar[1].node.(*ast.StmtUnset).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtUnset).SeparatorTkns, yyDollar[2].token) @@ -3571,13 +3568,13 @@ yydefault: } case 164: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1212 + // line internal/php7/php7.y:1209 { yyVAL.node = yyDollar[1].node } case 165: yyDollar = yyS[yypt-11 : yypt+1] - // line internal/php7/php7.y:1219 + // line internal/php7/php7.y:1216 { name := &ast.Identifier{ Node: ast.Node{ @@ -3608,31 +3605,31 @@ yydefault: } case 166: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1251 + // line internal/php7/php7.y:1248 { yyVAL.token = nil } case 167: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1255 + // line internal/php7/php7.y:1252 { yyVAL.token = yyDollar[1].token } case 168: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1262 + // line internal/php7/php7.y:1259 { yyVAL.token = nil } case 169: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1266 + // line internal/php7/php7.y:1263 { yyVAL.token = yyDollar[1].token } case 170: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:1273 + // line internal/php7/php7.y:1270 { yyVAL.node = &ast.StmtClass{ Node: ast.Node{ @@ -3647,8 +3644,8 @@ yydefault: IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, - Extends: yyDollar[4].ClassExtends, - Implements: yyDollar[5].ClassImplements, + Extends: yyDollar[4].node, + Implements: yyDollar[5].node, OpenCurlyBracket: yyDollar[7].token, Stmts: yyDollar[8].list, CloseCurlyBracket: yyDollar[9].token, @@ -3656,7 +3653,7 @@ yydefault: } case 171: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php7/php7.y:1295 + // line internal/php7/php7.y:1292 { yyVAL.node = &ast.StmtClass{ Node: ast.Node{ @@ -3670,8 +3667,8 @@ yydefault: IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, - Extends: yyDollar[3].ClassExtends, - Implements: yyDollar[4].ClassImplements, + Extends: yyDollar[3].node, + Implements: yyDollar[4].node, OpenCurlyBracket: yyDollar[6].token, Stmts: yyDollar[7].list, CloseCurlyBracket: yyDollar[8].token, @@ -3679,19 +3676,19 @@ yydefault: } case 172: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1319 + // line internal/php7/php7.y:1316 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 173: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1323 + // line internal/php7/php7.y:1320 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 174: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1330 + // line internal/php7/php7.y:1327 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -3703,7 +3700,7 @@ yydefault: } case 175: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1340 + // line internal/php7/php7.y:1337 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -3715,7 +3712,7 @@ yydefault: } case 176: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1353 + // line internal/php7/php7.y:1350 { yyVAL.node = &ast.StmtTrait{ Node: ast.Node{ @@ -3736,7 +3733,7 @@ yydefault: } case 177: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:1375 + // line internal/php7/php7.y:1372 { name := &ast.Identifier{ Node: ast.Node{ @@ -3745,7 +3742,7 @@ yydefault: IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, } - yyVAL.node = &ast.StmtInterface{ast.Node{}, name, yyDollar[3].InterfaceExtends, yyDollar[6].list} + yyVAL.node = &ast.StmtInterface{ast.Node{}, name, yyDollar[3].node, yyDollar[6].list} // save position yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[7].token) @@ -3757,67 +3754,69 @@ yydefault: } case 178: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1397 + // line internal/php7/php7.y:1394 { - yyVAL.ClassExtends = nil + yyVAL.node = nil } case 179: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1401 + // line internal/php7/php7.y:1398 { - yyVAL.ClassExtends = &ast.StmtClassExtends{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.ClassExtends.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.ClassExtends, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.StmtClassExtends{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + ExtendTkn: yyDollar[1].token, + ClassName: yyDollar[2].node, + } } case 180: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1414 + // line internal/php7/php7.y:1411 { - yyVAL.InterfaceExtends = nil + yyVAL.node = nil } case 181: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1418 + // line internal/php7/php7.y:1415 { - yyVAL.InterfaceExtends = &ast.StmtInterfaceExtends{ast.Node{}, yyDollar[2].list} - - // save position - yyVAL.InterfaceExtends.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.InterfaceExtends, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.StmtInterfaceExtends{ + Node: ast.Node{ + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + }, + ExtendsTkn: yyDollar[1].token, + InterfaceNames: yyDollar[2].node.(*ast.ParserSeparatedList).Items, + SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, + } } case 182: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1431 + // line internal/php7/php7.y:1429 { - yyVAL.ClassImplements = nil + yyVAL.node = nil } case 183: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1435 + // line internal/php7/php7.y:1433 { - yyVAL.ClassImplements = &ast.StmtClassImplements{ast.Node{}, yyDollar[2].list} - - // save position - yyVAL.ClassImplements.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.ClassImplements, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.StmtClassImplements{ + Node: ast.Node{ + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), + }, + ImplementsTkn: yyDollar[1].token, + InterfaceNames: yyDollar[2].node.(*ast.ParserSeparatedList).Items, + SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, + } } case 184: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1448 + // line internal/php7/php7.y:1447 { yyVAL.node = yyDollar[1].node } case 185: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1452 + // line internal/php7/php7.y:1451 { yyVAL.node = &ast.ExprReference{ast.Node{}, yyDollar[2].node} @@ -3829,7 +3828,7 @@ yydefault: } case 186: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1462 + // line internal/php7/php7.y:1461 { yyVAL.node = &ast.ExprList{ast.Node{}, yyDollar[3].list} @@ -3843,7 +3842,7 @@ yydefault: } case 187: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1474 + // line internal/php7/php7.y:1473 { yyVAL.node = &ast.ExprShortList{ast.Node{}, yyDollar[2].list} @@ -3856,7 +3855,7 @@ yydefault: } case 188: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1488 + // line internal/php7/php7.y:1487 { yyVAL.node = &ast.StmtFor{ Node: ast.Node{ @@ -3867,7 +3866,7 @@ yydefault: } case 189: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1497 + // line internal/php7/php7.y:1496 { yyVAL.node = &ast.StmtFor{ Node: ast.Node{ @@ -3887,7 +3886,7 @@ yydefault: } case 190: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1518 + // line internal/php7/php7.y:1517 { yyVAL.node = &ast.StmtForeach{ Node: ast.Node{ @@ -3898,7 +3897,7 @@ yydefault: } case 191: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1527 + // line internal/php7/php7.y:1526 { yyVAL.node = &ast.StmtForeach{ Node: ast.Node{ @@ -3918,7 +3917,7 @@ yydefault: } case 192: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1548 + // line internal/php7/php7.y:1547 { yyVAL.node = &ast.StmtDeclare{ Node: ast.Node{ @@ -3929,7 +3928,7 @@ yydefault: } case 193: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1557 + // line internal/php7/php7.y:1556 { yyVAL.node = &ast.StmtDeclare{ Node: ast.Node{ @@ -3949,7 +3948,7 @@ yydefault: } case 194: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1578 + // line internal/php7/php7.y:1577 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3962,7 +3961,7 @@ yydefault: } case 195: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1589 + // line internal/php7/php7.y:1588 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3976,7 +3975,7 @@ yydefault: } case 196: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1601 + // line internal/php7/php7.y:1600 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3991,7 +3990,7 @@ yydefault: } case 197: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1614 + // line internal/php7/php7.y:1613 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -4007,13 +4006,13 @@ yydefault: } case 198: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1631 + // line internal/php7/php7.y:1630 { yyVAL.list = nil } case 199: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1635 + // line internal/php7/php7.y:1634 { yyVAL.list = append(yyDollar[1].list, &ast.StmtCase{ Node: ast.Node{ @@ -4027,7 +4026,7 @@ yydefault: } case 200: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1647 + // line internal/php7/php7.y:1646 { yyVAL.list = append(yyDollar[1].list, &ast.StmtDefault{ Node: ast.Node{ @@ -4040,19 +4039,19 @@ yydefault: } case 201: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1661 + // line internal/php7/php7.y:1660 { yyVAL.token = yyDollar[1].token } case 202: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1665 + // line internal/php7/php7.y:1664 { yyVAL.token = yyDollar[1].token } case 203: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1672 + // line internal/php7/php7.y:1671 { yyVAL.node = &ast.StmtWhile{ Node: ast.Node{ @@ -4063,7 +4062,7 @@ yydefault: } case 204: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1681 + // line internal/php7/php7.y:1680 { yyVAL.node = &ast.StmtWhile{ Node: ast.Node{ @@ -4083,7 +4082,7 @@ yydefault: } case 205: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1702 + // line internal/php7/php7.y:1701 { yyVAL.node = &ast.StmtIf{ Node: ast.Node{ @@ -4098,7 +4097,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1715 + // line internal/php7/php7.y:1714 { yyDollar[1].node.(*ast.StmtIf).ElseIf = append(yyDollar[1].node.(*ast.StmtIf).ElseIf, &ast.StmtElseIf{ Node: ast.Node{ @@ -4117,13 +4116,13 @@ yydefault: } case 207: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1735 + // line internal/php7/php7.y:1734 { yyVAL.node = yyDollar[1].node } case 208: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1739 + // line internal/php7/php7.y:1738 { yyDollar[1].node.(*ast.StmtIf).Else = &ast.StmtElse{ Node: ast.Node{ @@ -4139,7 +4138,7 @@ yydefault: } case 209: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1756 + // line internal/php7/php7.y:1755 { yyVAL.node = &ast.StmtIf{ Node: ast.Node{ @@ -4161,7 +4160,7 @@ yydefault: } case 210: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:1776 + // line internal/php7/php7.y:1775 { yyDollar[1].node.(*ast.StmtIf).ElseIf = append(yyDollar[1].node.(*ast.StmtIf).ElseIf, &ast.StmtElseIf{ Node: ast.Node{ @@ -4185,7 +4184,7 @@ yydefault: } case 211: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1801 + // line internal/php7/php7.y:1800 { yyDollar[1].node.(*ast.StmtIf).EndIfTkn = yyDollar[2].token yyDollar[1].node.(*ast.StmtIf).SemiColonTkn = yyDollar[3].token @@ -4195,7 +4194,7 @@ yydefault: } case 212: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1809 + // line internal/php7/php7.y:1808 { yyDollar[1].node.(*ast.StmtIf).Else = &ast.StmtElse{ Node: ast.Node{ @@ -4219,25 +4218,25 @@ yydefault: } case 213: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1834 + // line internal/php7/php7.y:1833 { yyVAL.list = yyDollar[1].list } case 214: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1838 + // line internal/php7/php7.y:1837 { yyVAL.list = nil } case 215: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1845 + // line internal/php7/php7.y:1844 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 216: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1849 + // line internal/php7/php7.y:1848 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -4246,7 +4245,7 @@ yydefault: } case 217: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1859 + // line internal/php7/php7.y:1858 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -4300,7 +4299,7 @@ yydefault: } case 218: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1911 + // line internal/php7/php7.y:1910 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -4357,25 +4356,25 @@ yydefault: } case 219: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1969 + // line internal/php7/php7.y:1968 { yyVAL.node = nil } case 220: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1973 + // line internal/php7/php7.y:1972 { yyVAL.node = yyDollar[1].node } case 221: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1980 + // line internal/php7/php7.y:1979 { yyVAL.node = yyDollar[1].node } case 222: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1984 + // line internal/php7/php7.y:1983 { yyVAL.node = &ast.Nullable{ Node: ast.Node{ @@ -4387,7 +4386,7 @@ yydefault: } case 223: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1997 + // line internal/php7/php7.y:1996 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4399,7 +4398,7 @@ yydefault: } case 224: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2007 + // line internal/php7/php7.y:2006 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4411,19 +4410,19 @@ yydefault: } case 225: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2017 + // line internal/php7/php7.y:2016 { yyVAL.node = yyDollar[1].node } case 226: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2024 + // line internal/php7/php7.y:2023 { yyVAL.node = nil } case 227: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2028 + // line internal/php7/php7.y:2027 { yyVAL.node = yyDollar[2].node @@ -4432,7 +4431,7 @@ yydefault: } case 228: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2038 + // line internal/php7/php7.y:2037 { yyVAL.node = &ast.ArgumentList{ Node: ast.Node{ @@ -4444,7 +4443,7 @@ yydefault: } case 229: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2048 + // line internal/php7/php7.y:2047 { argumentList := yyDollar[2].node.(*ast.ArgumentList) argumentList.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) @@ -4456,7 +4455,7 @@ yydefault: } case 230: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2061 + // line internal/php7/php7.y:2060 { yyVAL.node = &ast.ArgumentList{ Arguments: []ast.Vertex{yyDollar[1].node}, @@ -4464,7 +4463,7 @@ yydefault: } case 231: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2067 + // line internal/php7/php7.y:2066 { yyDollar[1].node.(*ast.ArgumentList).SeparatorTkns = append(yyDollar[1].node.(*ast.ArgumentList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ArgumentList).Arguments = append(yyDollar[1].node.(*ast.ArgumentList).Arguments, yyDollar[3].node) @@ -4473,7 +4472,7 @@ yydefault: } case 232: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2077 + // line internal/php7/php7.y:2076 { yyVAL.node = &ast.Argument{ Node: ast.Node{ @@ -4484,7 +4483,7 @@ yydefault: } case 233: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2086 + // line internal/php7/php7.y:2085 { yyVAL.node = &ast.Argument{ Node: ast.Node{ @@ -4496,7 +4495,7 @@ yydefault: } case 234: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2099 + // line internal/php7/php7.y:2098 { yyDollar[1].node.(*ast.StmtGlobal).Vars = append(yyDollar[1].node.(*ast.StmtGlobal).Vars, yyDollar[3].node) yyDollar[1].node.(*ast.StmtGlobal).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtGlobal).SeparatorTkns, yyDollar[2].token) @@ -4505,7 +4504,7 @@ yydefault: } case 235: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2106 + // line internal/php7/php7.y:2105 { yyVAL.node = &ast.StmtGlobal{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -4513,13 +4512,13 @@ yydefault: } case 236: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2115 + // line internal/php7/php7.y:2114 { yyVAL.node = yyDollar[1].node } case 237: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2122 + // line internal/php7/php7.y:2121 { yyDollar[1].node.(*ast.StmtStatic).Vars = append(yyDollar[1].node.(*ast.StmtStatic).Vars, yyDollar[3].node) yyDollar[1].node.(*ast.StmtStatic).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtStatic).SeparatorTkns, yyDollar[2].token) @@ -4528,7 +4527,7 @@ yydefault: } case 238: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2129 + // line internal/php7/php7.y:2128 { yyVAL.node = &ast.StmtStatic{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -4536,7 +4535,7 @@ yydefault: } case 239: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2138 + // line internal/php7/php7.y:2137 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -4562,7 +4561,7 @@ yydefault: } case 240: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2162 + // line internal/php7/php7.y:2161 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -4589,19 +4588,19 @@ yydefault: } case 241: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2190 + // line internal/php7/php7.y:2189 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 242: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2194 + // line internal/php7/php7.y:2193 { yyVAL.list = []ast.Vertex{} } case 243: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2201 + // line internal/php7/php7.y:2200 { yyVAL.node = &ast.StmtPropertyList{ast.Node{}, yyDollar[1].list, yyDollar[2].node, yyDollar[3].list} @@ -4615,7 +4614,7 @@ yydefault: } case 244: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2213 + // line internal/php7/php7.y:2212 { yyVAL.node = &ast.StmtClassConstList{ Node: ast.Node{ @@ -4629,19 +4628,21 @@ yydefault: } case 245: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2225 + // line internal/php7/php7.y:2224 { - yyVAL.node = &ast.StmtTraitUse{ast.Node{}, yyDollar[2].list, yyDollar[3].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.StmtTraitUse{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), + }, + UseTkn: yyDollar[1].token, + Traits: yyDollar[2].node.(*ast.ParserSeparatedList).Items, + SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, + Adaptations: yyDollar[3].node, + } } case 246: yyDollar = yyS[yypt-10 : yypt+1] - // line internal/php7/php7.y:2235 + // line internal/php7/php7.y:2236 { name := &ast.Identifier{ Node: ast.Node{ @@ -4676,27 +4677,24 @@ yydefault: } case 247: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2271 + // line internal/php7/php7.y:2272 { - yyVAL.list = []ast.Vertex{yyDollar[1].node} + yyVAL.node = &ast.ParserSeparatedList{ + Items: []ast.Vertex{yyDollar[1].node}, + } } case 248: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2275 + // line internal/php7/php7.y:2278 { - switch n := lastNode(yyDollar[1].list).(type) { - case *ast.NameName: - n.ListSeparatorTkn = yyDollar[2].token - case *ast.NameFullyQualified: - n.ListSeparatorTkn = yyDollar[2].token - case *ast.NameRelative: - n.ListSeparatorTkn = yyDollar[2].token - } - yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) + yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) + yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node) + + yyVAL.node = yyDollar[1].node } case 249: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2287 + // line internal/php7/php7.y:2288 { yyVAL.node = &ast.StmtNop{ Node: ast.Node{ @@ -4707,7 +4705,7 @@ yydefault: } case 250: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2296 + // line internal/php7/php7.y:2297 { yyVAL.node = &ast.StmtTraitAdaptationList{ast.Node{}, nil} @@ -4719,7 +4717,7 @@ yydefault: } case 251: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2306 + // line internal/php7/php7.y:2307 { yyVAL.node = &ast.StmtTraitAdaptationList{ast.Node{}, yyDollar[2].list} @@ -4731,19 +4729,19 @@ yydefault: } case 252: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2319 + // line internal/php7/php7.y:2320 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 253: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2323 + // line internal/php7/php7.y:2324 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 254: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2330 + // line internal/php7/php7.y:2331 { yyVAL.node = yyDollar[1].node @@ -4753,7 +4751,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2338 + // line internal/php7/php7.y:2339 { yyVAL.node = yyDollar[1].node @@ -4763,20 +4761,21 @@ yydefault: } case 256: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2349 + // line internal/php7/php7.y:2350 { - yyVAL.node = &ast.StmtTraitUsePrecedence{ast.Node{}, yyDollar[1].node, yyDollar[3].list} - - // save position - yyVAL.node.GetNode().Position = position.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].list) - - // save comments - yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Ref, yyDollar[2].token.SkippedTokens) + yyVAL.node = &ast.StmtTraitUsePrecedence{ + Node: ast.Node{ + Position: position.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].node.(*ast.ParserSeparatedList).Items), + }, + Ref: yyDollar[1].node, + InsteadofTkn: yyDollar[2].token, + Insteadof: yyDollar[3].node.(*ast.ParserSeparatedList).Items, + SeparatorTkns: yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns, + } } case 257: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2363 + // line internal/php7/php7.y:2365 { alias := &ast.Identifier{ Node: ast.Node{ @@ -4796,7 +4795,7 @@ yydefault: } case 258: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2381 + // line internal/php7/php7.y:2383 { alias := &ast.Identifier{ Node: ast.Node{ @@ -4816,7 +4815,7 @@ yydefault: } case 259: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2399 + // line internal/php7/php7.y:2401 { alias := &ast.Identifier{ Node: ast.Node{ @@ -4836,7 +4835,7 @@ yydefault: } case 260: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2417 + // line internal/php7/php7.y:2419 { yyVAL.node = &ast.StmtTraitUseAlias{ast.Node{}, yyDollar[1].node, yyDollar[3].node, nil} @@ -4849,7 +4848,7 @@ yydefault: } case 261: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2431 + // line internal/php7/php7.y:2433 { name := &ast.Identifier{ Node: ast.Node{ @@ -4868,13 +4867,13 @@ yydefault: } case 262: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2448 + // line internal/php7/php7.y:2450 { yyVAL.node = yyDollar[1].node } case 263: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2455 + // line internal/php7/php7.y:2457 { target := &ast.Identifier{ Node: ast.Node{ @@ -4894,7 +4893,7 @@ yydefault: } case 264: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2476 + // line internal/php7/php7.y:2478 { yyVAL.node = &ast.StmtNop{ Node: ast.Node{ @@ -4905,7 +4904,7 @@ yydefault: } case 265: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2485 + // line internal/php7/php7.y:2487 { yyVAL.node = &ast.StmtStmtList{ Node: ast.Node{ @@ -4918,13 +4917,13 @@ yydefault: } case 266: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2499 + // line internal/php7/php7.y:2501 { yyVAL.list = yyDollar[1].list } case 267: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2503 + // line internal/php7/php7.y:2505 { yyVAL.list = []ast.Vertex{ &ast.Identifier{ @@ -4938,31 +4937,31 @@ yydefault: } case 268: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2518 + // line internal/php7/php7.y:2520 { yyVAL.list = nil } case 269: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2522 + // line internal/php7/php7.y:2524 { yyVAL.list = yyDollar[1].list } case 270: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2529 + // line internal/php7/php7.y:2531 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 271: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2533 + // line internal/php7/php7.y:2535 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 272: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2540 + // line internal/php7/php7.y:2542 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4974,7 +4973,7 @@ yydefault: } case 273: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2550 + // line internal/php7/php7.y:2552 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4986,7 +4985,7 @@ yydefault: } case 274: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2560 + // line internal/php7/php7.y:2562 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4998,7 +4997,7 @@ yydefault: } case 275: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2570 + // line internal/php7/php7.y:2572 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5010,7 +5009,7 @@ yydefault: } case 276: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2580 + // line internal/php7/php7.y:2582 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5022,7 +5021,7 @@ yydefault: } case 277: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2590 + // line internal/php7/php7.y:2592 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5034,7 +5033,7 @@ yydefault: } case 278: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2603 + // line internal/php7/php7.y:2605 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -5043,13 +5042,13 @@ yydefault: } case 279: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2610 + // line internal/php7/php7.y:2612 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 280: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2617 + // line internal/php7/php7.y:2619 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -5070,7 +5069,7 @@ yydefault: } case 281: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2636 + // line internal/php7/php7.y:2638 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -5092,7 +5091,7 @@ yydefault: } case 282: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2659 + // line internal/php7/php7.y:2661 { lastNode(yyDollar[1].list).(*ast.StmtConstant).CommaTkn = yyDollar[2].token @@ -5100,13 +5099,13 @@ yydefault: } case 283: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2665 + // line internal/php7/php7.y:2667 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 284: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2672 + // line internal/php7/php7.y:2674 { yyVAL.node = &ast.StmtConstant{ Node: ast.Node{ @@ -5127,7 +5126,7 @@ yydefault: } case 285: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2694 + // line internal/php7/php7.y:2696 { yyVAL.node = &ast.StmtConstant{ Node: ast.Node{ @@ -5148,7 +5147,7 @@ yydefault: } case 286: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2716 + // line internal/php7/php7.y:2718 { yyDollar[1].node.(*ast.StmtEcho).Exprs = append(yyDollar[1].node.(*ast.StmtEcho).Exprs, yyDollar[3].node) yyDollar[1].node.(*ast.StmtEcho).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtEcho).SeparatorTkns, yyDollar[2].token) @@ -5157,7 +5156,7 @@ yydefault: } case 287: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2723 + // line internal/php7/php7.y:2725 { yyVAL.node = &ast.StmtEcho{ Exprs: []ast.Vertex{yyDollar[1].node}, @@ -5165,25 +5164,25 @@ yydefault: } case 288: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2732 + // line internal/php7/php7.y:2734 { yyVAL.node = yyDollar[1].node } case 289: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2739 + // line internal/php7/php7.y:2741 { yyVAL.list = nil } case 290: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2743 + // line internal/php7/php7.y:2745 { yyVAL.list = yyDollar[1].list } case 291: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2750 + // line internal/php7/php7.y:2752 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -5192,13 +5191,13 @@ yydefault: } case 292: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2757 + // line internal/php7/php7.y:2759 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 293: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php7/php7.y:2764 + // line internal/php7/php7.y:2766 { yyVAL.node = &ast.StmtClass{ Node: ast.Node{ @@ -5206,8 +5205,8 @@ yydefault: }, ClassTkn: yyDollar[1].token, ArgumentList: yyDollar[2].node, - Extends: yyDollar[3].ClassExtends, - Implements: yyDollar[4].ClassImplements, + Extends: yyDollar[3].node, + Implements: yyDollar[4].node, OpenCurlyBracket: yyDollar[6].token, Stmts: yyDollar[7].list, CloseCurlyBracket: yyDollar[8].token, @@ -5215,7 +5214,7 @@ yydefault: } case 294: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2782 + // line internal/php7/php7.y:2784 { if yyDollar[3].node != nil { yyVAL.node = &ast.ExprNew{ast.Node{}, yyDollar[2].node, yyDollar[3].node.(*ast.ArgumentList)} @@ -5230,7 +5229,7 @@ yydefault: } case 295: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2795 + // line internal/php7/php7.y:2797 { yyVAL.node = &ast.ExprNew{ast.Node{}, yyDollar[2].node, nil} @@ -5242,7 +5241,7 @@ yydefault: } case 296: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:2808 + // line internal/php7/php7.y:2810 { listNode := &ast.ExprList{ast.Node{}, yyDollar[3].list} yyVAL.node = &ast.ExprAssign{ast.Node{}, listNode, yyDollar[6].node} @@ -5259,7 +5258,7 @@ yydefault: } case 297: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:2823 + // line internal/php7/php7.y:2825 { shortList := &ast.ExprShortList{ast.Node{}, yyDollar[2].list} yyVAL.node = &ast.ExprAssign{ast.Node{}, shortList, yyDollar[5].node} @@ -5275,7 +5274,7 @@ yydefault: } case 298: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2837 + // line internal/php7/php7.y:2839 { yyVAL.node = &ast.ExprAssign{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5288,7 +5287,7 @@ yydefault: } case 299: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2848 + // line internal/php7/php7.y:2850 { yyVAL.node = &ast.ExprAssignReference{ast.Node{}, yyDollar[1].node, yyDollar[4].node} @@ -5302,7 +5301,7 @@ yydefault: } case 300: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2860 + // line internal/php7/php7.y:2862 { yyVAL.node = &ast.ExprClone{ast.Node{}, yyDollar[2].node} @@ -5314,7 +5313,7 @@ yydefault: } case 301: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2870 + // line internal/php7/php7.y:2872 { yyVAL.node = &ast.ExprAssignPlus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5327,7 +5326,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2881 + // line internal/php7/php7.y:2883 { yyVAL.node = &ast.ExprAssignMinus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5340,7 +5339,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2892 + // line internal/php7/php7.y:2894 { yyVAL.node = &ast.ExprAssignMul{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5353,7 +5352,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2903 + // line internal/php7/php7.y:2905 { yyVAL.node = &ast.ExprAssignPow{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5366,7 +5365,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2914 + // line internal/php7/php7.y:2916 { yyVAL.node = &ast.ExprAssignDiv{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5379,7 +5378,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2925 + // line internal/php7/php7.y:2927 { yyVAL.node = &ast.ExprAssignConcat{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5392,7 +5391,7 @@ yydefault: } case 307: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2936 + // line internal/php7/php7.y:2938 { yyVAL.node = &ast.ExprAssignMod{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5405,7 +5404,7 @@ yydefault: } case 308: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2947 + // line internal/php7/php7.y:2949 { yyVAL.node = &ast.ExprAssignBitwiseAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5418,7 +5417,7 @@ yydefault: } case 309: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2958 + // line internal/php7/php7.y:2960 { yyVAL.node = &ast.ExprAssignBitwiseOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5431,7 +5430,7 @@ yydefault: } case 310: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2969 + // line internal/php7/php7.y:2971 { yyVAL.node = &ast.ExprAssignBitwiseXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5444,7 +5443,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2980 + // line internal/php7/php7.y:2982 { yyVAL.node = &ast.ExprAssignShiftLeft{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5457,7 +5456,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2991 + // line internal/php7/php7.y:2993 { yyVAL.node = &ast.ExprAssignShiftRight{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5470,7 +5469,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3002 + // line internal/php7/php7.y:3004 { yyVAL.node = &ast.ExprAssignCoalesce{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5483,7 +5482,7 @@ yydefault: } case 314: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3013 + // line internal/php7/php7.y:3015 { yyVAL.node = &ast.ExprPostInc{ast.Node{}, yyDollar[1].node} @@ -5496,7 +5495,7 @@ yydefault: } case 315: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3024 + // line internal/php7/php7.y:3026 { yyVAL.node = &ast.ExprPreInc{ast.Node{}, yyDollar[2].node} @@ -5508,7 +5507,7 @@ yydefault: } case 316: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3034 + // line internal/php7/php7.y:3036 { yyVAL.node = &ast.ExprPostDec{ast.Node{}, yyDollar[1].node} @@ -5521,7 +5520,7 @@ yydefault: } case 317: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3045 + // line internal/php7/php7.y:3047 { yyVAL.node = &ast.ExprPreDec{ast.Node{}, yyDollar[2].node} @@ -5533,7 +5532,7 @@ yydefault: } case 318: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3055 + // line internal/php7/php7.y:3057 { yyVAL.node = &ast.ExprBinaryBooleanOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5546,7 +5545,7 @@ yydefault: } case 319: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3066 + // line internal/php7/php7.y:3068 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5559,7 +5558,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3077 + // line internal/php7/php7.y:3079 { yyVAL.node = &ast.ExprBinaryLogicalOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5572,7 +5571,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3088 + // line internal/php7/php7.y:3090 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5585,7 +5584,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3099 + // line internal/php7/php7.y:3101 { yyVAL.node = &ast.ExprBinaryLogicalXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5598,7 +5597,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3110 + // line internal/php7/php7.y:3112 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5611,7 +5610,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3121 + // line internal/php7/php7.y:3123 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5624,7 +5623,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3132 + // line internal/php7/php7.y:3134 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5637,7 +5636,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3143 + // line internal/php7/php7.y:3145 { yyVAL.node = &ast.ExprBinaryConcat{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5649,7 +5648,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3153 + // line internal/php7/php7.y:3155 { yyVAL.node = &ast.ExprBinaryPlus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5662,7 +5661,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3164 + // line internal/php7/php7.y:3166 { yyVAL.node = &ast.ExprBinaryMinus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5675,7 +5674,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3175 + // line internal/php7/php7.y:3177 { yyVAL.node = &ast.ExprBinaryMul{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5688,7 +5687,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3186 + // line internal/php7/php7.y:3188 { yyVAL.node = &ast.ExprBinaryPow{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5701,7 +5700,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3197 + // line internal/php7/php7.y:3199 { yyVAL.node = &ast.ExprBinaryDiv{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5714,7 +5713,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3208 + // line internal/php7/php7.y:3210 { yyVAL.node = &ast.ExprBinaryMod{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5727,7 +5726,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3219 + // line internal/php7/php7.y:3221 { yyVAL.node = &ast.ExprBinaryShiftLeft{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5740,7 +5739,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3230 + // line internal/php7/php7.y:3232 { yyVAL.node = &ast.ExprBinaryShiftRight{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5753,7 +5752,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3241 + // line internal/php7/php7.y:3243 { yyVAL.node = &ast.ExprUnaryPlus{ast.Node{}, yyDollar[2].node} @@ -5765,7 +5764,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3251 + // line internal/php7/php7.y:3253 { yyVAL.node = &ast.ExprUnaryMinus{ast.Node{}, yyDollar[2].node} @@ -5777,7 +5776,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3261 + // line internal/php7/php7.y:3263 { yyVAL.node = &ast.ExprBooleanNot{ast.Node{}, yyDollar[2].node} @@ -5789,7 +5788,7 @@ yydefault: } case 338: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3271 + // line internal/php7/php7.y:3273 { yyVAL.node = &ast.ExprBitwiseNot{ast.Node{}, yyDollar[2].node} @@ -5801,7 +5800,7 @@ yydefault: } case 339: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3281 + // line internal/php7/php7.y:3283 { yyVAL.node = &ast.ExprBinaryIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5814,7 +5813,7 @@ yydefault: } case 340: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3292 + // line internal/php7/php7.y:3294 { yyVAL.node = &ast.ExprBinaryNotIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5827,7 +5826,7 @@ yydefault: } case 341: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3303 + // line internal/php7/php7.y:3305 { yyVAL.node = &ast.ExprBinaryEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5840,7 +5839,7 @@ yydefault: } case 342: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3314 + // line internal/php7/php7.y:3316 { yyVAL.node = &ast.ExprBinaryNotEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5854,7 +5853,7 @@ yydefault: } case 343: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3326 + // line internal/php7/php7.y:3328 { yyVAL.node = &ast.ExprBinarySmaller{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5867,7 +5866,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3337 + // line internal/php7/php7.y:3339 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5880,7 +5879,7 @@ yydefault: } case 345: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3348 + // line internal/php7/php7.y:3350 { yyVAL.node = &ast.ExprBinaryGreater{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5893,7 +5892,7 @@ yydefault: } case 346: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3359 + // line internal/php7/php7.y:3361 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5906,7 +5905,7 @@ yydefault: } case 347: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3370 + // line internal/php7/php7.y:3372 { yyVAL.node = &ast.ExprBinarySpaceship{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5919,7 +5918,7 @@ yydefault: } case 348: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3381 + // line internal/php7/php7.y:3383 { yyVAL.node = &ast.ExprInstanceOf{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5932,7 +5931,7 @@ yydefault: } case 349: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3392 + // line internal/php7/php7.y:3394 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -5949,13 +5948,13 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3407 + // line internal/php7/php7.y:3409 { yyVAL.node = yyDollar[1].node } case 351: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:3411 + // line internal/php7/php7.y:3413 { yyVAL.node = &ast.ExprTernary{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[5].node} @@ -5969,7 +5968,7 @@ yydefault: } case 352: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3423 + // line internal/php7/php7.y:3425 { yyVAL.node = &ast.ExprTernary{ast.Node{}, yyDollar[1].node, nil, yyDollar[4].node} @@ -5983,7 +5982,7 @@ yydefault: } case 353: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3435 + // line internal/php7/php7.y:3437 { yyVAL.node = &ast.ExprBinaryCoalesce{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5996,13 +5995,13 @@ yydefault: } case 354: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3446 + // line internal/php7/php7.y:3448 { yyVAL.node = yyDollar[1].node } case 355: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3450 + // line internal/php7/php7.y:3452 { yyVAL.node = &ast.ExprCastInt{ast.Node{}, yyDollar[2].node} @@ -6015,7 +6014,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3461 + // line internal/php7/php7.y:3463 { yyVAL.node = &ast.ExprCastDouble{ast.Node{}, yyDollar[2].node} @@ -6028,7 +6027,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3472 + // line internal/php7/php7.y:3474 { yyVAL.node = &ast.ExprCastString{ast.Node{}, yyDollar[2].node} @@ -6041,7 +6040,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3483 + // line internal/php7/php7.y:3485 { yyVAL.node = &ast.ExprCastArray{ast.Node{}, yyDollar[2].node} @@ -6054,7 +6053,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3494 + // line internal/php7/php7.y:3496 { yyVAL.node = &ast.ExprCastObject{ast.Node{}, yyDollar[2].node} @@ -6067,7 +6066,7 @@ yydefault: } case 360: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3505 + // line internal/php7/php7.y:3507 { yyVAL.node = &ast.ExprCastBool{ast.Node{}, yyDollar[2].node} @@ -6080,7 +6079,7 @@ yydefault: } case 361: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3516 + // line internal/php7/php7.y:3518 { yyVAL.node = &ast.ExprCastUnset{ast.Node{}, yyDollar[2].node} @@ -6093,7 +6092,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3527 + // line internal/php7/php7.y:3529 { yyVAL.node = &ast.ExprExit{ast.Node{}, false, yyDollar[2].node} @@ -6113,7 +6112,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3545 + // line internal/php7/php7.y:3547 { yyVAL.node = &ast.ExprErrorSuppress{ast.Node{}, yyDollar[2].node} @@ -6125,13 +6124,13 @@ yydefault: } case 364: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3555 + // line internal/php7/php7.y:3557 { yyVAL.node = yyDollar[1].node } case 365: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3559 + // line internal/php7/php7.y:3561 { yyVAL.node = &ast.ExprShellExec{ast.Node{}, yyDollar[2].list} @@ -6143,7 +6142,7 @@ yydefault: } case 366: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3569 + // line internal/php7/php7.y:3571 { yyVAL.node = &ast.ExprPrint{ast.Node{}, yyDollar[2].node} @@ -6155,7 +6154,7 @@ yydefault: } case 367: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3579 + // line internal/php7/php7.y:3581 { yyVAL.node = &ast.ExprYield{ast.Node{}, nil, nil} @@ -6167,7 +6166,7 @@ yydefault: } case 368: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3589 + // line internal/php7/php7.y:3591 { yyVAL.node = &ast.ExprYield{ast.Node{}, nil, yyDollar[2].node} @@ -6179,7 +6178,7 @@ yydefault: } case 369: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3599 + // line internal/php7/php7.y:3601 { yyVAL.node = &ast.ExprYield{ast.Node{}, yyDollar[2].node, yyDollar[4].node} @@ -6192,7 +6191,7 @@ yydefault: } case 370: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3610 + // line internal/php7/php7.y:3612 { yyVAL.node = &ast.ExprYieldFrom{ast.Node{}, yyDollar[2].node} @@ -6204,13 +6203,13 @@ yydefault: } case 371: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3620 + // line internal/php7/php7.y:3622 { yyVAL.node = yyDollar[1].node } case 372: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3624 + // line internal/php7/php7.y:3626 { yyVAL.node = yyDollar[2].node @@ -6231,7 +6230,7 @@ yydefault: } case 373: yyDollar = yyS[yypt-11 : yypt+1] - // line internal/php7/php7.y:3645 + // line internal/php7/php7.y:3647 { yyVAL.node = &ast.ExprClosure{ast.Node{}, yyDollar[2].token != nil, false, yyDollar[5].list, yyDollar[7].ClosureUse, yyDollar[8].node, yyDollar[10].list} @@ -6262,7 +6261,7 @@ yydefault: } case 374: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:3672 + // line internal/php7/php7.y:3674 { yyVAL.node = &ast.ExprArrowFunction{ast.Node{}, yyDollar[2].token != nil, false, yyDollar[4].list, yyDollar[6].node, yyDollar[9].node} @@ -6288,25 +6287,25 @@ yydefault: } case 376: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3702 + // line internal/php7/php7.y:3704 { yyVAL.token = nil } case 377: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3706 + // line internal/php7/php7.y:3708 { yyVAL.token = yyDollar[1].token } case 378: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3713 + // line internal/php7/php7.y:3715 { yyVAL.ClosureUse = nil } case 379: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3717 + // line internal/php7/php7.y:3719 { yyVAL.ClosureUse = &ast.ExprClosureUse{ast.Node{}, yyDollar[3].list} @@ -6320,7 +6319,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3732 + // line internal/php7/php7.y:3734 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -6329,13 +6328,13 @@ yydefault: } case 381: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3739 + // line internal/php7/php7.y:3741 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 382: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3746 + // line internal/php7/php7.y:3748 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -6354,7 +6353,7 @@ yydefault: } case 383: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3763 + // line internal/php7/php7.y:3765 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -6376,7 +6375,7 @@ yydefault: } case 384: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3786 + // line internal/php7/php7.y:3788 { yyVAL.node = &ast.ExprFunctionCall{ast.Node{}, yyDollar[1].node, yyDollar[2].node.(*ast.ArgumentList)} @@ -6388,7 +6387,7 @@ yydefault: } case 385: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3796 + // line internal/php7/php7.y:3798 { yyVAL.node = &ast.ExprStaticCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -6401,7 +6400,7 @@ yydefault: } case 386: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3807 + // line internal/php7/php7.y:3809 { yyVAL.node = &ast.ExprStaticCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -6414,7 +6413,7 @@ yydefault: } case 387: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3818 + // line internal/php7/php7.y:3820 { yyVAL.node = &ast.ExprFunctionCall{ast.Node{}, yyDollar[1].node, yyDollar[2].node.(*ast.ArgumentList)} @@ -6426,7 +6425,7 @@ yydefault: } case 388: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3831 + // line internal/php7/php7.y:3833 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -6438,31 +6437,31 @@ yydefault: } case 389: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3841 + // line internal/php7/php7.y:3843 { yyVAL.node = yyDollar[1].node } case 390: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3848 + // line internal/php7/php7.y:3850 { yyVAL.node = yyDollar[1].node } case 391: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3852 + // line internal/php7/php7.y:3854 { yyVAL.node = yyDollar[1].node } case 392: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3859 + // line internal/php7/php7.y:3861 { yyVAL.node = nil } case 393: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3863 + // line internal/php7/php7.y:3865 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -6479,13 +6478,13 @@ yydefault: } case 394: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3881 + // line internal/php7/php7.y:3883 { yyVAL.list = []ast.Vertex{} } case 395: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3885 + // line internal/php7/php7.y:3887 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ @@ -6499,25 +6498,25 @@ yydefault: } case 396: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3897 + // line internal/php7/php7.y:3899 { yyVAL.list = yyDollar[1].list } case 397: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3904 + // line internal/php7/php7.y:3906 { yyVAL.node = nil } case 398: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3908 + // line internal/php7/php7.y:3910 { yyVAL.node = yyDollar[1].node } case 399: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3915 + // line internal/php7/php7.y:3917 { yyVAL.node = &ast.ExprArray{ast.Node{}, yyDollar[3].list} @@ -6531,7 +6530,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3927 + // line internal/php7/php7.y:3929 { yyVAL.node = &ast.ExprShortArray{ast.Node{}, yyDollar[2].list} @@ -6544,7 +6543,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3938 + // line internal/php7/php7.y:3940 { yyVAL.node = &ast.ScalarString{ Node: ast.Node{ @@ -6556,7 +6555,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3951 + // line internal/php7/php7.y:3953 { yyVAL.node = &ast.ScalarLnumber{ Node: ast.Node{ @@ -6568,7 +6567,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3961 + // line internal/php7/php7.y:3963 { yyVAL.node = &ast.ScalarDnumber{ Node: ast.Node{ @@ -6580,7 +6579,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3971 + // line internal/php7/php7.y:3973 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6592,7 +6591,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3981 + // line internal/php7/php7.y:3983 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6604,7 +6603,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3991 + // line internal/php7/php7.y:3993 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6616,7 +6615,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4001 + // line internal/php7/php7.y:4003 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6628,7 +6627,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4011 + // line internal/php7/php7.y:4013 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6640,7 +6639,7 @@ yydefault: } case 409: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4021 + // line internal/php7/php7.y:4023 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6652,7 +6651,7 @@ yydefault: } case 410: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4031 + // line internal/php7/php7.y:4033 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6664,7 +6663,7 @@ yydefault: } case 411: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4041 + // line internal/php7/php7.y:4043 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6676,7 +6675,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4051 + // line internal/php7/php7.y:4053 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -6697,7 +6696,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4070 + // line internal/php7/php7.y:4072 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -6709,7 +6708,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4080 + // line internal/php7/php7.y:4082 { yyVAL.node = &ast.ScalarEncapsed{ Node: ast.Node{ @@ -6722,7 +6721,7 @@ yydefault: } case 415: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4091 + // line internal/php7/php7.y:4093 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -6735,19 +6734,19 @@ yydefault: } case 416: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4102 + // line internal/php7/php7.y:4104 { yyVAL.node = yyDollar[1].node } case 417: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4106 + // line internal/php7/php7.y:4108 { yyVAL.node = yyDollar[1].node } case 418: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4113 + // line internal/php7/php7.y:4115 { yyVAL.node = &ast.ExprConstFetch{ast.Node{}, yyDollar[1].node} @@ -6759,7 +6758,7 @@ yydefault: } case 419: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4123 + // line internal/php7/php7.y:4125 { target := &ast.Identifier{ Node: ast.Node{ @@ -6779,7 +6778,7 @@ yydefault: } case 420: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4141 + // line internal/php7/php7.y:4143 { target := &ast.Identifier{ Node: ast.Node{ @@ -6799,43 +6798,43 @@ yydefault: } case 421: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4162 + // line internal/php7/php7.y:4164 { yyVAL.node = yyDollar[1].node } case 422: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4166 + // line internal/php7/php7.y:4168 { yyVAL.node = yyDollar[1].node } case 423: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:4173 + // line internal/php7/php7.y:4175 { yyVAL.node = nil } case 424: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4177 + // line internal/php7/php7.y:4179 { yyVAL.node = yyDollar[1].node } case 425: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4184 + // line internal/php7/php7.y:4186 { yyVAL.node = yyDollar[1].node } case 426: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4191 + // line internal/php7/php7.y:4193 { yyVAL.node = yyDollar[1].node } case 427: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4195 + // line internal/php7/php7.y:4197 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -6852,19 +6851,19 @@ yydefault: } case 428: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4210 + // line internal/php7/php7.y:4212 { yyVAL.node = yyDollar[1].node } case 429: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4217 + // line internal/php7/php7.y:4219 { yyVAL.node = yyDollar[1].node } case 430: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4221 + // line internal/php7/php7.y:4223 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -6881,19 +6880,19 @@ yydefault: } case 431: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4236 + // line internal/php7/php7.y:4238 { yyVAL.node = yyDollar[1].node } case 432: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4243 + // line internal/php7/php7.y:4245 { yyVAL.node = yyDollar[1].node } case 433: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4247 + // line internal/php7/php7.y:4249 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6906,7 +6905,7 @@ yydefault: } case 434: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4258 + // line internal/php7/php7.y:4260 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6919,7 +6918,7 @@ yydefault: } case 435: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4269 + // line internal/php7/php7.y:4271 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6932,7 +6931,7 @@ yydefault: } case 436: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4280 + // line internal/php7/php7.y:4282 { yyVAL.node = &ast.ExprMethodCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -6945,25 +6944,25 @@ yydefault: } case 437: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4291 + // line internal/php7/php7.y:4293 { yyVAL.node = yyDollar[1].node } case 438: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4298 + // line internal/php7/php7.y:4300 { yyVAL.node = yyDollar[1].node } case 439: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4302 + // line internal/php7/php7.y:4304 { yyVAL.node = yyDollar[1].node } case 440: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4306 + // line internal/php7/php7.y:4308 { yyVAL.node = &ast.ExprPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6976,7 +6975,7 @@ yydefault: } case 441: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4320 + // line internal/php7/php7.y:4322 { name := &ast.Identifier{ Node: ast.Node{ @@ -6995,7 +6994,7 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4337 + // line internal/php7/php7.y:4339 { yyVAL.node = &ast.ExprVariable{ast.Node{}, yyDollar[3].node} @@ -7009,7 +7008,7 @@ yydefault: } case 443: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4349 + // line internal/php7/php7.y:4351 { yyVAL.node = &ast.ExprVariable{ast.Node{}, yyDollar[2].node} @@ -7021,7 +7020,7 @@ yydefault: } case 444: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4362 + // line internal/php7/php7.y:4364 { yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7034,7 +7033,7 @@ yydefault: } case 445: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4373 + // line internal/php7/php7.y:4375 { yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7047,13 +7046,13 @@ yydefault: } case 446: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4387 + // line internal/php7/php7.y:4389 { yyVAL.node = yyDollar[1].node } case 447: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4391 + // line internal/php7/php7.y:4393 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7066,7 +7065,7 @@ yydefault: } case 448: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4402 + // line internal/php7/php7.y:4404 { yyVAL.node = &ast.ExprArrayDimFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7079,7 +7078,7 @@ yydefault: } case 449: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4413 + // line internal/php7/php7.y:4415 { yyVAL.node = &ast.ExprPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7092,7 +7091,7 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4424 + // line internal/php7/php7.y:4426 { yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7105,7 +7104,7 @@ yydefault: } case 451: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4435 + // line internal/php7/php7.y:4437 { yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7118,7 +7117,7 @@ yydefault: } case 452: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4449 + // line internal/php7/php7.y:4451 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -7130,7 +7129,7 @@ yydefault: } case 453: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4459 + // line internal/php7/php7.y:4461 { yyVAL.node = yyDollar[2].node @@ -7140,13 +7139,13 @@ yydefault: } case 454: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4467 + // line internal/php7/php7.y:4469 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4474 + // line internal/php7/php7.y:4476 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -7158,7 +7157,7 @@ yydefault: } case 456: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4484 + // line internal/php7/php7.y:4486 { yyVAL.node = yyDollar[2].node @@ -7168,31 +7167,31 @@ yydefault: } case 457: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4492 + // line internal/php7/php7.y:4494 { yyVAL.node = yyDollar[1].node } case 458: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4499 + // line internal/php7/php7.y:4501 { yyVAL.list = yyDollar[1].list } case 459: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:4506 + // line internal/php7/php7.y:4508 { yyVAL.node = &ast.ExprArrayItem{ast.Node{}, false, nil, nil} } case 460: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4510 + // line internal/php7/php7.y:4512 { yyVAL.node = yyDollar[1].node } case 461: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4517 + // line internal/php7/php7.y:4519 { if len(yyDollar[1].list) == 0 { yyDollar[1].list = []ast.Vertex{&ast.ExprArrayItem{ast.Node{}, false, nil, nil}} @@ -7205,7 +7204,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4528 + // line internal/php7/php7.y:4530 { if yyDollar[1].node.(*ast.ExprArrayItem).Key == nil && yyDollar[1].node.(*ast.ExprArrayItem).Val == nil { yyVAL.list = []ast.Vertex{} @@ -7215,7 +7214,7 @@ yydefault: } case 463: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4539 + // line internal/php7/php7.y:4541 { yyVAL.node = &ast.ExprArrayItem{ast.Node{}, false, yyDollar[1].node, yyDollar[3].node} @@ -7228,7 +7227,7 @@ yydefault: } case 464: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4550 + // line internal/php7/php7.y:4552 { yyVAL.node = &ast.ExprArrayItem{ast.Node{}, false, nil, yyDollar[1].node} @@ -7240,7 +7239,7 @@ yydefault: } case 465: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4560 + // line internal/php7/php7.y:4562 { reference := &ast.ExprReference{ast.Node{}, yyDollar[4].node} yyVAL.node = &ast.ExprArrayItem{ast.Node{}, false, yyDollar[1].node, reference} @@ -7256,7 +7255,7 @@ yydefault: } case 466: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4574 + // line internal/php7/php7.y:4576 { reference := &ast.ExprReference{ast.Node{}, yyDollar[2].node} yyVAL.node = &ast.ExprArrayItem{ast.Node{}, false, nil, reference} @@ -7270,7 +7269,7 @@ yydefault: } case 467: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4586 + // line internal/php7/php7.y:4588 { yyVAL.node = &ast.ExprArrayItem{ast.Node{}, true, nil, yyDollar[2].node} @@ -7282,7 +7281,7 @@ yydefault: } case 468: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:4596 + // line internal/php7/php7.y:4598 { // TODO: Cannot use list() as standalone expression listNode := &ast.ExprList{ast.Node{}, yyDollar[5].list} @@ -7301,7 +7300,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4613 + // line internal/php7/php7.y:4615 { // TODO: Cannot use list() as standalone expression listNode := &ast.ExprList{ast.Node{}, yyDollar[3].list} @@ -7318,13 +7317,13 @@ yydefault: } case 470: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4631 + // line internal/php7/php7.y:4633 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 471: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4635 + // line internal/php7/php7.y:4637 { yyVAL.list = append( yyDollar[1].list, @@ -7339,13 +7338,13 @@ yydefault: } case 472: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4648 + // line internal/php7/php7.y:4650 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 473: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4652 + // line internal/php7/php7.y:4654 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ @@ -7360,7 +7359,7 @@ yydefault: } case 474: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4668 + // line internal/php7/php7.y:4670 { name := &ast.Identifier{ Node: ast.Node{ @@ -7379,7 +7378,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4685 + // line internal/php7/php7.y:4687 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -7401,7 +7400,7 @@ yydefault: } case 476: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4705 + // line internal/php7/php7.y:4707 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -7429,7 +7428,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4731 + // line internal/php7/php7.y:4733 { variable := &ast.ExprVariable{ast.Node{}, yyDollar[2].node} @@ -7444,7 +7443,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4744 + // line internal/php7/php7.y:4746 { name := &ast.Identifier{ Node: ast.Node{ @@ -7466,7 +7465,7 @@ yydefault: } case 479: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:4764 + // line internal/php7/php7.y:4766 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -7490,7 +7489,7 @@ yydefault: } case 480: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4786 + // line internal/php7/php7.y:4788 { yyVAL.node = yyDollar[2].node @@ -7500,7 +7499,7 @@ yydefault: } case 481: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4797 + // line internal/php7/php7.y:4799 { yyVAL.node = &ast.ScalarString{ Node: ast.Node{ @@ -7512,7 +7511,7 @@ yydefault: } case 482: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4807 + // line internal/php7/php7.y:4809 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string(yyDollar[1].token.Value)); err == nil { @@ -7535,7 +7534,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4828 + // line internal/php7/php7.y:4830 { _, err := strconv.Atoi(string(yyDollar[2].token.Value)) isInt := err == nil @@ -7563,7 +7562,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4854 + // line internal/php7/php7.y:4856 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -7582,7 +7581,7 @@ yydefault: } case 485: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:4874 + // line internal/php7/php7.y:4876 { yyVAL.node = &ast.ExprIsset{ast.Node{}, yyDollar[3].list} @@ -7600,7 +7599,7 @@ yydefault: } case 486: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4890 + // line internal/php7/php7.y:4892 { exprBrackets := &ast.ParserBrackets{ Node: ast.Node{ @@ -7622,7 +7621,7 @@ yydefault: } case 487: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4910 + // line internal/php7/php7.y:4912 { yyVAL.node = &ast.ExprInclude{ast.Node{}, yyDollar[2].node} @@ -7634,7 +7633,7 @@ yydefault: } case 488: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4920 + // line internal/php7/php7.y:4922 { yyVAL.node = &ast.ExprIncludeOnce{ast.Node{}, yyDollar[2].node} @@ -7646,7 +7645,7 @@ yydefault: } case 489: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4930 + // line internal/php7/php7.y:4932 { exprBrackets := &ast.ParserBrackets{ Node: ast.Node{ @@ -7668,7 +7667,7 @@ yydefault: } case 490: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4950 + // line internal/php7/php7.y:4952 { yyVAL.node = &ast.ExprRequire{ast.Node{}, yyDollar[2].node} @@ -7680,7 +7679,7 @@ yydefault: } case 491: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4960 + // line internal/php7/php7.y:4962 { yyVAL.node = &ast.ExprRequireOnce{ast.Node{}, yyDollar[2].node} @@ -7692,13 +7691,13 @@ yydefault: } case 492: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4973 + // line internal/php7/php7.y:4975 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 493: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4977 + // line internal/php7/php7.y:4979 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -7707,7 +7706,7 @@ yydefault: } case 494: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4987 + // line internal/php7/php7.y:4989 { yyVAL.node = yyDollar[1].node } diff --git a/internal/php7/php7.y b/internal/php7/php7.y index 5577a10..58eed16 100644 --- a/internal/php7/php7.y +++ b/internal/php7/php7.y @@ -18,9 +18,6 @@ import ( tkn *token.Token list []ast.Vertex - ClassExtends *ast.StmtClassExtends - ClassImplements *ast.StmtClassImplements - InterfaceExtends *ast.StmtInterfaceExtends ClosureUse *ast.ExprClosureUse } @@ -249,7 +246,7 @@ import ( %type exit_expr scalar lexical_var function_call member_name property_name %type variable_class_name dereferencable_scalar constant dereferencable %type callable_expr callable_variable static_member new_variable -%type encaps_var encaps_var_offset echo_expr_list catch_name_list +%type encaps_var encaps_var_offset echo_expr_list catch_name_list name_list %type if_stmt const_list non_empty_argument_list %type alt_if_stmt %type if_stmt_without_else @@ -265,9 +262,9 @@ import ( %type foreach_statement for_statement while_statement %type inline_function %type unset_variables -%type extends_from -%type implements_list -%type interface_extends_list +%type extends_from +%type implements_list +%type interface_extends_list %type lexical_vars %type member_modifier @@ -283,7 +280,7 @@ import ( %type array_pair_list top_statement_list %type inner_statement_list parameter_list non_empty_parameter_list class_statement_list %type method_modifiers variable_modifiers -%type non_empty_member_modifiers name_list class_modifiers +%type non_empty_member_modifiers class_modifiers %% @@ -1399,13 +1396,13 @@ extends_from: } | T_EXTENDS name { - $$ = &ast.StmtClassExtends{ast.Node{}, $2}; - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.StmtClassExtends{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + ExtendTkn: $1, + ClassName: $2, + } } ; @@ -1416,13 +1413,14 @@ interface_extends_list: } | T_EXTENDS name_list { - $$ = &ast.StmtInterfaceExtends{ast.Node{}, $2}; - - // save position - $$.GetNode().Position = position.NewTokenNodeListPosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.StmtInterfaceExtends{ + Node: ast.Node{ + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + }, + ExtendsTkn: $1, + InterfaceNames: $2.(*ast.ParserSeparatedList).Items, + SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, + }; } ; @@ -1433,13 +1431,14 @@ implements_list: } | T_IMPLEMENTS name_list { - $$ = &ast.StmtClassImplements{ast.Node{}, $2}; - - // save position - $$.GetNode().Position = position.NewTokenNodeListPosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.StmtClassImplements{ + Node: ast.Node{ + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), + }, + ImplementsTkn: $1, + InterfaceNames: $2.(*ast.ParserSeparatedList).Items, + SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, + }; } ; @@ -2223,13 +2222,15 @@ class_statement: } | T_USE name_list trait_adaptations { - $$ = &ast.StmtTraitUse{ast.Node{}, $2, $3} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $3) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.StmtTraitUse{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $3), + }, + UseTkn: $1, + Traits: $2.(*ast.ParserSeparatedList).Items, + SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, + Adaptations: $3, + } } | method_modifiers T_FUNCTION returns_ref identifier backup_doc_comment '(' parameter_list ')' return_type method_body { @@ -2269,16 +2270,16 @@ class_statement: name_list: name { - $$ = []ast.Vertex{$1} + $$ = &ast.ParserSeparatedList{ + Items: []ast.Vertex{$1}, + } } | name_list ',' name { - switch n := lastNode($1).(type) { - case *ast.NameName: n.ListSeparatorTkn = $2 - case *ast.NameFullyQualified: n.ListSeparatorTkn = $2 - case *ast.NameRelative: n.ListSeparatorTkn = $2 - } - $$ = append($1, $3) + $1.(*ast.ParserSeparatedList).SeparatorTkns = append($1.(*ast.ParserSeparatedList).SeparatorTkns, $2) + $1.(*ast.ParserSeparatedList).Items = append($1.(*ast.ParserSeparatedList).Items, $3) + + $$ = $1 } ; @@ -2347,14 +2348,15 @@ trait_adaptation: trait_precedence: absolute_trait_method_reference T_INSTEADOF name_list { - $$ = &ast.StmtTraitUsePrecedence{ast.Node{}, $1, $3} - - // save position - $$.GetNode().Position = position.NewNodeNodeListPosition($1, $3) - - // save comments - yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Ref, $2.SkippedTokens) + $$ = &ast.StmtTraitUsePrecedence{ + Node: ast.Node{ + Position: position.NewNodeNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), + }, + Ref: $1, + InsteadofTkn: $2, + Insteadof: $3.(*ast.ParserSeparatedList).Items, + SeparatorTkns: $3.(*ast.ParserSeparatedList).SeparatorTkns, + } } ; diff --git a/pkg/ast/node.go b/pkg/ast/node.go index cb820b0..3c64e3d 100644 --- a/pkg/ast/node.go +++ b/pkg/ast/node.go @@ -242,8 +242,8 @@ type StmtClass struct { ClassTkn *token.Token ClassName Vertex ArgumentList Vertex - Extends *StmtClassExtends - Implements *StmtClassImplements + Extends Vertex + Implements Vertex OpenCurlyBracket *token.Token Stmts []Vertex CloseCurlyBracket *token.Token @@ -269,6 +269,7 @@ func (n *StmtClassConstList) Accept(v NodeVisitor) { // StmtClassExtends node type StmtClassExtends struct { Node + ExtendTkn *token.Token ClassName Vertex } @@ -279,7 +280,9 @@ func (n *StmtClassExtends) Accept(v NodeVisitor) { // StmtClassImplements node type StmtClassImplements struct { Node + ImplementsTkn *token.Token InterfaceNames []Vertex + SeparatorTkns []*token.Token } func (n *StmtClassImplements) Accept(v NodeVisitor) { @@ -582,7 +585,7 @@ func (n *StmtInlineHtml) Accept(v NodeVisitor) { type StmtInterface struct { Node InterfaceName Vertex - Extends *StmtInterfaceExtends + Extends Vertex Stmts []Vertex } @@ -593,7 +596,9 @@ func (n *StmtInterface) Accept(v NodeVisitor) { // StmtInterfaceExtends node type StmtInterfaceExtends struct { Node + ExtendsTkn *token.Token InterfaceNames []Vertex + SeparatorTkns []*token.Token } func (n *StmtInterfaceExtends) Accept(v NodeVisitor) { @@ -746,8 +751,8 @@ type StmtTrait struct { Node TraitTkn *token.Token TraitName Vertex - Extends *StmtClassExtends - Implements *StmtClassImplements + Extends Vertex + Implements Vertex OpenCurlyBracket *token.Token Stmts []Vertex CloseCurlyBracket *token.Token @@ -781,8 +786,10 @@ func (n *StmtTraitMethodRef) Accept(v NodeVisitor) { // StmtTraitUse node type StmtTraitUse struct { Node - Traits []Vertex - TraitAdaptationList Vertex + UseTkn *token.Token + Traits []Vertex + SeparatorTkns []*token.Token + Adaptations Vertex } func (n *StmtTraitUse) Accept(v NodeVisitor) { @@ -804,8 +811,10 @@ func (n *StmtTraitUseAlias) Accept(v NodeVisitor) { // StmtTraitUsePrecedence node type StmtTraitUsePrecedence struct { Node - Ref Vertex - Insteadof []Vertex + Ref Vertex + InsteadofTkn *token.Token + Insteadof []Vertex + SeparatorTkns []*token.Token } func (n *StmtTraitUsePrecedence) Accept(v NodeVisitor) { diff --git a/pkg/ast/traverser/dfs.go b/pkg/ast/traverser/dfs.go index b9189a0..8a6cdec 100644 --- a/pkg/ast/traverser/dfs.go +++ b/pkg/ast/traverser/dfs.go @@ -893,10 +893,10 @@ func (t *DFS) Traverse(n ast.Vertex) { } t.visitor.Leave("Traits", false) } - if nn.TraitAdaptationList != nil { - t.visitor.Enter("TraitAdaptationList", true) - t.Traverse(nn.TraitAdaptationList) - t.visitor.Leave("TraitAdaptationList", true) + if nn.Adaptations != nil { + t.visitor.Enter("Adaptations", true) + t.Traverse(nn.Adaptations) + t.visitor.Leave("Adaptations", true) } case *ast.StmtTraitUseAlias: if nn == nil { diff --git a/pkg/ast/visitor/namespace_resolver.go b/pkg/ast/visitor/namespace_resolver.go index 3eac4a1..5bc82ca 100644 --- a/pkg/ast/visitor/namespace_resolver.go +++ b/pkg/ast/visitor/namespace_resolver.go @@ -73,11 +73,11 @@ func (nsr *NamespaceResolver) StmtGroupUse(n *ast.StmtGroupUse) { func (nsr *NamespaceResolver) StmtClass(n *ast.StmtClass) { if n.Extends != nil { - nsr.ResolveName(n.Extends.ClassName, "") + nsr.ResolveName(n.Extends.(*ast.StmtClassExtends).ClassName, "") } if n.Implements != nil { - for _, interfaceName := range n.Implements.InterfaceNames { + for _, interfaceName := range n.Implements.(*ast.StmtClassImplements).InterfaceNames { nsr.ResolveName(interfaceName, "") } } @@ -89,7 +89,7 @@ func (nsr *NamespaceResolver) StmtClass(n *ast.StmtClass) { func (nsr *NamespaceResolver) StmtInterface(n *ast.StmtInterface) { if n.Extends != nil { - for _, interfaceName := range n.Extends.InterfaceNames { + for _, interfaceName := range n.Extends.(*ast.StmtInterfaceExtends).InterfaceNames { nsr.ResolveName(interfaceName, "") } } @@ -184,7 +184,7 @@ func (nsr *NamespaceResolver) StmtTraitUse(n *ast.StmtTraitUse) { nsr.ResolveName(t, "") } - if adaptationList, ok := n.TraitAdaptationList.(*ast.StmtTraitAdaptationList); ok { + if adaptationList, ok := n.Adaptations.(*ast.StmtTraitAdaptationList); ok { for _, a := range adaptationList.Adaptations { switch aa := a.(type) { case *ast.StmtTraitUsePrecedence: diff --git a/pkg/printer/pretty_printer.go b/pkg/printer/pretty_printer.go index 943cc10..65c4cf6 100644 --- a/pkg/printer/pretty_printer.go +++ b/pkg/printer/pretty_printer.go @@ -1482,12 +1482,12 @@ func (p *PrettyPrinter) printStmtClass(n ast.Vertex) { if nn.Extends != nil { io.WriteString(p.w, " extends ") - p.Print(nn.Extends.ClassName) + p.Print(nn.Extends.(*ast.StmtClassExtends).ClassName) } if nn.Implements != nil { io.WriteString(p.w, " implements ") - p.joinPrint(", ", nn.Implements.InterfaceNames) + p.joinPrint(", ", nn.Implements.(*ast.StmtClassImplements).InterfaceNames) } io.WriteString(p.w, "\n") @@ -1888,7 +1888,7 @@ func (p *PrettyPrinter) printStmtInterface(n ast.Vertex) { if nn.Extends != nil { io.WriteString(p.w, " extends ") - p.joinPrint(", ", nn.Extends.InterfaceNames) + p.joinPrint(", ", nn.Extends.(*ast.StmtInterfaceExtends).InterfaceNames) } io.WriteString(p.w, "\n") @@ -2073,7 +2073,7 @@ func (p *PrettyPrinter) printStmtTraitUse(n ast.Vertex) { io.WriteString(p.w, "use ") p.joinPrint(", ", nn.Traits) - if adaptationList, ok := nn.TraitAdaptationList.(*ast.StmtTraitAdaptationList); ok { + if adaptationList, ok := nn.Adaptations.(*ast.StmtTraitAdaptationList); ok { adaptations := adaptationList.Adaptations io.WriteString(p.w, " {\n") p.printNodes(adaptations) diff --git a/pkg/printer/printer.go b/pkg/printer/printer.go index 302773a..5848f39 100644 --- a/pkg/printer/printer.go +++ b/pkg/printer/printer.go @@ -2108,7 +2108,7 @@ func (p *Printer) printStmtClass(n ast.Vertex) { } p.write([]byte("extends")) p.bufStart = " " - p.Print(nn.Extends.ClassName) + p.Print(nn.Extends.(*ast.StmtClassExtends).ClassName) } if nn.Implements != nil { @@ -2118,7 +2118,7 @@ func (p *Printer) printStmtClass(n ast.Vertex) { } p.write([]byte("implements")) p.bufStart = " " - p.joinPrintRefactored(",", nn.Implements.InterfaceNames) + p.joinPrintRefactored(",", nn.Implements.(*ast.StmtClassImplements).InterfaceNames) } @@ -2503,7 +2503,7 @@ func (p *Printer) printStmtInterface(n ast.Vertex) { } p.write([]byte("extends")) p.bufStart = " " - p.joinPrintRefactored(",", nn.Extends.InterfaceNames) + p.joinPrintRefactored(",", nn.Extends.(*ast.StmtInterfaceExtends).InterfaceNames) } p.printFreeFloating(nn, token.Name) @@ -2755,7 +2755,7 @@ func (p *Printer) printStmtTraitUse(n ast.Vertex) { p.bufStart = " " p.joinPrintRefactored(",", nn.Traits) - p.Print(nn.TraitAdaptationList) + p.Print(nn.Adaptations) p.printFreeFloating(nn, token.End) }