diff --git a/node/stmt/n_alt_for.go b/node/stmt/n_alt_for.go new file mode 100644 index 0000000..c218e90 --- /dev/null +++ b/node/stmt/n_alt_for.go @@ -0,0 +1,71 @@ +package stmt + +import ( + "github.com/z7zmey/php-parser/node" + "github.com/z7zmey/php-parser/walker" +) + +// AltFor node +type AltFor struct { + Init []node.Node + Cond []node.Node + Loop []node.Node + Stmt node.Node +} + +// NewAltFor node constuctor +func NewAltFor(Init []node.Node, Cond []node.Node, Loop []node.Node, Stmt node.Node) *AltFor { + return &AltFor{ + Init, + Cond, + Loop, + Stmt, + } +} + +// Attributes returns node attributes as map +func (n *AltFor) Attributes() map[string]interface{} { + return nil +} + +// Walk traverses nodes +// Walk is invoked recursively until v.EnterNode returns true +func (n *AltFor) Walk(v walker.Visitor) { + if v.EnterNode(n) == false { + return + } + + if n.Init != nil { + vv := v.GetChildrenVisitor("Init") + for _, nn := range n.Init { + if nn != nil { + nn.Walk(vv) + } + } + } + + if n.Cond != nil { + vv := v.GetChildrenVisitor("Cond") + for _, nn := range n.Cond { + if nn != nil { + nn.Walk(vv) + } + } + } + + if n.Loop != nil { + vv := v.GetChildrenVisitor("Loop") + for _, nn := range n.Loop { + if nn != nil { + nn.Walk(vv) + } + } + } + + if n.Stmt != nil { + vv := v.GetChildrenVisitor("Stmt") + n.Stmt.Walk(vv) + } + + v.LeaveNode(n) +} diff --git a/node/stmt/t_for_test.go b/node/stmt/t_for_test.go index 40068f4..2e0497e 100644 --- a/node/stmt/t_for_test.go +++ b/node/stmt/t_for_test.go @@ -60,7 +60,7 @@ func TestAltFor(t *testing.T) { expected := &stmt.StmtList{ Stmts: []node.Node{ - &stmt.For{ + &stmt.AltFor{ Cond: []node.Node{ &binary_op.Smaller{ Left: &expr.Variable{VarName: &node.Identifier{Value: "$i"}}, diff --git a/node/stmt/t_visitor_test.go b/node/stmt/t_visitor_test.go index e786223..3723d14 100644 --- a/node/stmt/t_visitor_test.go +++ b/node/stmt/t_visitor_test.go @@ -210,6 +210,16 @@ var nodesToTest = []struct { []string{"Init", "Cond", "Loop", "Stmt"}, map[string]interface{}{}, }, + { + &stmt.AltFor{ + Init: []node.Node{&stmt.Expression{}}, + Cond: []node.Node{&stmt.Expression{}}, + Loop: []node.Node{&stmt.Expression{}}, + Stmt: &stmt.StmtList{}, + }, + []string{"Init", "Cond", "Loop", "Stmt"}, + map[string]interface{}{}, + }, { &stmt.Foreach{ ByRef: true, diff --git a/php5/php5.go b/php5/php5.go index de1ef5f..35156bc 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -344,7 +344,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:3778 +//line php5/php5.y:3781 //line yacctab:1 var yyExca = [...]int{ @@ -662,22 +662,22 @@ var yyAct = [...]int{ 519, 720, 230, 519, 649, 647, 519, 644, 570, 960, 570, 968, 38, 600, 38, 704, 701, 702, 512, 231, 479, 231, 38, 393, 38, 38, 323, 202, 519, 201, - 333, 198, 258, 570, 968, 135, 980, 255, 827, 936, - 1006, 38, 284, 259, 260, 38, 38, 519, 341, 570, - 912, 745, 914, 751, 570, 993, 861, 443, 259, 260, - 606, 995, 922, 991, 924, 925, 587, 588, 589, 231, - 38, 570, 1009, 529, 682, 917, 1010, 254, 917, 529, - 529, 837, 570, 1013, 992, 962, 954, 941, 38, 956, - 961, 945, 959, 900, 946, 481, 259, 260, 401, 893, - 836, 833, 230, 573, 230, 564, 651, 529, 943, 659, - 653, 652, 38, 1003, 977, 1002, 722, 839, 38, 392, - 970, 387, 163, 840, 339, 695, 838, 536, 926, 289, - 458, 160, 156, 990, 671, 672, 669, 670, 673, 675, + 942, 198, 258, 570, 968, 135, 980, 255, 333, 827, + 936, 38, 284, 259, 260, 38, 38, 519, 1006, 570, + 912, 341, 914, 745, 570, 993, 751, 861, 259, 260, + 443, 995, 922, 991, 924, 925, 606, 587, 588, 231, + 38, 570, 1009, 529, 589, 917, 1010, 682, 917, 529, + 529, 254, 570, 1013, 837, 992, 954, 941, 38, 956, + 962, 945, 959, 961, 946, 900, 259, 260, 481, 401, + 893, 836, 230, 833, 230, 573, 651, 529, 943, 659, + 653, 652, 38, 564, 977, 1003, 1002, 839, 38, 722, + 970, 392, 387, 840, 163, 339, 838, 695, 536, 926, + 289, 458, 160, 990, 671, 672, 669, 670, 673, 675, 674, 676, 661, 662, 663, 654, 656, 657, 655, 988, - 317, 313, 230, 126, 526, 529, 517, 605, 994, 967, - 966, 965, 964, 835, 834, 517, 832, 399, 39, 566, - 14, 13, 517, 517, 517, 517, 517, 845, 846, 847, - 844, 843, 842, 820, 1012, 717, 191, 942, 799, 692, + 156, 317, 230, 313, 126, 529, 517, 526, 605, 994, + 967, 966, 965, 964, 835, 517, 834, 832, 399, 39, + 566, 14, 517, 517, 517, 517, 517, 845, 846, 847, + 844, 843, 842, 13, 1012, 820, 191, 717, 799, 692, 10, 248, 74, 1018, 75, 115, 265, 529, 63, 892, 88, 596, 517, 89, 518, 100, 168, 170, 169, 191, 73, 11, 325, 99, 98, 78, 556, 529, 118, 524, @@ -1524,43 +1524,43 @@ var yyPgo = [...]int{ 1145, 31, 1144, 1143, 1142, 124, 1141, 43, 86, 1140, 1135, 1134, 1133, 90, 1131, 1130, 26, 1128, 28, 45, 49, 1126, 738, 33, 1125, 1, 1124, 1122, 17, 1121, - 68, 50, 48, 1120, 1119, 1118, 1117, 34, 13, 1115, - 1113, 2, 1101, 1100, 1099, 19, 1098, 1097, 1096, 1094, - 1093, 52, 3, 1092, 1091, 1090, 1089, 1088, 6, 1087, - 630, 1084, 58, 0, 1083, 1081, 1080, 105, 1062, 1061, - 604, 1060, 1059, 62, 11, 1058, 8, 1057, 1055, 1054, - 12, 38, 1052, 1051, 1049, 1046, 1045, 1043, 14, 1035, - 23, 1033, 1031, 1030, 1029, 1028, 30, 1025, 1023, 1020, - 1015, 1014, 1011, 1007, 25, 1004, 998, 997, 27, 996, - 15, 16, 990, 37, 987, 986, 983, 981, 41, 7, - 20, 18, 22, 978, 970, 969, 5, 968, 960, 921, + 68, 50, 48, 1120, 1119, 1118, 34, 13, 1117, 1115, + 2, 1113, 1101, 1100, 19, 1099, 1098, 1097, 1096, 1094, + 52, 3, 1093, 1092, 1091, 1090, 1089, 6, 1088, 630, + 1087, 58, 0, 1084, 1083, 1081, 105, 1080, 1062, 604, + 1061, 1060, 62, 11, 1059, 8, 1058, 1057, 1055, 12, + 38, 1054, 1052, 1051, 1049, 1046, 1045, 14, 1043, 23, + 1035, 1033, 1031, 1030, 1029, 30, 1028, 1025, 1023, 1020, + 1015, 1014, 1011, 25, 1007, 1004, 998, 27, 997, 15, + 16, 996, 37, 990, 987, 986, 983, 41, 7, 20, + 18, 22, 981, 978, 970, 5, 969, 968, 960, 921, 21, 24, } var yyR1 = [...]int{ - 0, 149, 82, 82, 83, 83, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 84, 84, 4, - 4, 4, 4, 85, 85, 5, 5, 5, 5, 86, - 86, 6, 6, 6, 6, 53, 53, 87, 87, 24, + 0, 149, 81, 81, 82, 82, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 83, 83, 4, + 4, 4, 4, 84, 84, 5, 5, 5, 5, 85, + 85, 6, 6, 6, 6, 53, 53, 86, 86, 24, 24, 24, 24, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 105, 105, 60, 60, 106, 106, 107, - 107, 61, 103, 103, 57, 51, 52, 146, 146, 147, - 147, 62, 63, 63, 66, 66, 66, 66, 67, 67, - 2, 115, 115, 111, 111, 116, 116, 140, 140, 139, - 139, 139, 56, 56, 58, 58, 59, 59, 104, 104, - 143, 143, 143, 143, 101, 101, 101, 150, 150, 148, - 148, 97, 97, 98, 98, 54, 54, 55, 55, 108, - 108, 109, 109, 65, 65, 64, 64, 64, 64, 142, - 142, 142, 117, 117, 71, 71, 71, 71, 88, 88, - 27, 27, 27, 89, 89, 89, 89, 110, 110, 68, - 68, 68, 68, 70, 118, 118, 145, 145, 119, 119, - 120, 120, 72, 72, 73, 121, 121, 76, 76, 75, - 74, 74, 77, 77, 144, 144, 112, 112, 113, 113, - 122, 122, 78, 78, 78, 78, 78, 78, 114, 114, - 114, 114, 69, 69, 102, 102, 100, 100, 99, 99, - 128, 128, 126, 126, 127, 127, 127, 129, 129, 42, + 26, 26, 26, 104, 104, 59, 59, 105, 105, 106, + 106, 60, 102, 102, 56, 51, 52, 145, 145, 146, + 146, 61, 62, 62, 65, 65, 65, 65, 66, 66, + 2, 114, 114, 110, 110, 115, 115, 139, 139, 138, + 138, 138, 148, 148, 57, 57, 58, 58, 103, 103, + 142, 142, 142, 142, 100, 100, 100, 150, 150, 147, + 147, 96, 96, 97, 97, 54, 54, 55, 55, 107, + 107, 108, 108, 64, 64, 63, 63, 63, 63, 141, + 141, 141, 116, 116, 70, 70, 70, 70, 87, 87, + 27, 27, 27, 88, 88, 88, 88, 109, 109, 67, + 67, 67, 67, 69, 117, 117, 144, 144, 118, 118, + 119, 119, 71, 71, 72, 120, 120, 75, 75, 74, + 73, 73, 76, 76, 143, 143, 111, 111, 112, 112, + 121, 121, 77, 77, 77, 77, 77, 77, 113, 113, + 113, 113, 68, 68, 101, 101, 99, 99, 98, 98, + 127, 127, 125, 125, 126, 126, 126, 128, 128, 42, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -1569,27 +1569,27 @@ var yyR1 = [...]int{ 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 50, 50, 50, 50, 47, 47, - 47, 47, 46, 46, 1, 96, 96, 95, 95, 95, - 95, 23, 23, 23, 23, 23, 23, 23, 23, 11, + 47, 47, 46, 46, 1, 95, 95, 94, 94, 94, + 94, 23, 23, 23, 23, 23, 23, 23, 23, 11, 11, 11, 11, 45, 45, 45, 43, 43, 41, 41, - 136, 136, 135, 49, 49, 49, 123, 123, 123, 141, - 141, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 8, 28, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 35, 35, - 35, 35, 29, 29, 29, 29, 29, 29, 29, 124, - 124, 151, 151, 125, 125, 125, 125, 14, 14, 48, - 48, 16, 17, 18, 19, 19, 137, 137, 130, 132, - 132, 79, 131, 131, 131, 40, 40, 44, 44, 12, + 135, 135, 134, 49, 49, 49, 122, 122, 122, 140, + 140, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 8, 28, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 35, 35, + 35, 35, 29, 29, 29, 29, 29, 29, 29, 123, + 123, 151, 151, 124, 124, 124, 124, 14, 14, 48, + 48, 16, 17, 18, 19, 19, 136, 136, 129, 131, + 131, 78, 130, 130, 130, 40, 40, 44, 44, 12, 22, 22, 20, 20, 20, 21, 21, 21, 10, 10, - 10, 9, 9, 13, 13, 133, 133, 134, 134, 134, - 39, 39, 138, 138, 94, 94, 38, 38, 38, 93, - 93, 92, 92, 92, 92, 92, 92, 92, 92, 90, - 90, 90, 90, 33, 33, 33, 33, 33, 33, 34, + 10, 9, 9, 13, 13, 132, 132, 133, 133, 133, + 39, 39, 137, 137, 93, 93, 38, 38, 38, 92, + 92, 91, 91, 91, 91, 91, 91, 91, 91, 89, + 89, 89, 89, 33, 33, 33, 33, 33, 33, 34, 34, 34, 37, 37, 37, 37, 37, 37, 37, 37, - 91, 91, 36, 36, 30, 30, 31, 32, + 90, 90, 36, 36, 30, 30, 31, 32, } var yyR2 = [...]int{ @@ -1648,108 +1648,108 @@ var yyR2 = [...]int{ } var yyChk = [...]int{ - -1000, -149, -82, -3, -25, -51, -52, 51, 79, 44, - -53, -26, 10, -62, -63, 38, 119, 7, 21, 20, + -1000, -149, -81, -3, -25, -51, -52, 51, 79, 44, + -53, -26, 10, -61, -62, 38, 119, 7, 21, 20, 23, 30, 34, 35, 39, -50, 46, 98, 19, 14, - -14, 48, 25, 27, 121, 40, 43, 36, -1, -66, + -14, 48, 25, 27, 121, 40, 43, 36, -1, -65, -2, 97, -16, -15, 37, 52, 99, 53, 100, 54, -19, 59, 92, -18, 104, 105, 130, 129, 131, 132, -48, -42, 123, -37, 107, 108, 109, 110, 111, 112, 113, 6, 133, -29, -47, -46, 118, 96, -20, 91, 49, 50, 4, 5, 84, 85, 86, 11, -35, -32, -7, 117, 74, 62, 18, 60, 125, -21, -22, -23, - -30, -83, 82, -11, 8, 9, 66, 67, 81, 63, - 64, 65, 80, -10, -138, -44, -12, -40, -9, 134, - 12, 123, -83, 119, 82, 10, -84, 37, 38, -4, - -83, 82, 121, 135, 122, 10, -87, -48, 123, -48, + -30, -82, 82, -11, 8, 9, 66, 67, 81, 63, + 64, 65, 80, -10, -137, -44, -12, -40, -9, 134, + 12, 123, -82, 119, 82, 10, -83, 37, 38, -4, + -82, 82, 121, 135, 122, 10, -86, -48, 123, -48, -25, -1, 79, 123, -48, 121, -14, 97, 98, 121, - -14, 121, -15, -19, -14, 121, -88, -27, 12, 134, - -89, -1, 12, -102, -14, 121, 149, 150, 87, 89, + -14, 121, -15, -19, -14, 121, -87, -27, 12, 134, + -88, -1, 12, -101, -14, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, - 160, 90, 127, 123, 123, 123, 119, -14, 10, -146, + 160, 90, 127, 123, 123, 123, 119, -14, 10, -145, 128, 10, 10, -15, -19, -14, 52, 52, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, - 147, 123, -14, 104, 105, -18, -19, -83, 79, 82, + 147, 123, -14, 104, 105, -18, -19, -82, 79, 82, -11, -12, 98, -18, -14, -14, -14, -14, -42, -14, -50, -14, -14, -14, -14, -14, -14, -14, -49, 123, - -48, -14, 125, 125, -123, 17, -90, -33, 12, 76, - 77, -14, 57, -43, -11, -41, -83, 79, 82, -21, - -10, -138, -12, 123, 123, -14, -14, 123, -14, -14, - 125, -90, 17, 17, 75, -90, 125, 123, -93, -92, - -14, 128, 125, 125, 82, -142, 123, -83, 78, 125, - 119, -10, 134, 78, -142, 119, 124, 121, 119, -82, - -83, 121, 135, -85, -5, -83, 82, -86, -6, -83, - 82, 29, -83, 10, 136, -24, 120, -25, -51, -52, - 51, -25, 122, -148, -25, 122, 21, -146, -100, -99, - -14, -143, 119, 122, 121, 121, 121, 121, 121, 135, - -16, 119, -19, 121, 135, -146, 136, 121, 135, -14, + -48, -14, 125, 125, -122, 17, -89, -33, 12, 76, + 77, -14, 57, -43, -11, -41, -82, 79, 82, -21, + -10, -137, -12, 123, 123, -14, -14, 123, -14, -14, + 125, -89, 17, 17, 75, -89, 125, 123, -92, -91, + -14, 128, 125, 125, 82, -141, 123, -82, 78, 125, + 119, -10, 134, 78, -141, 119, 124, 121, 119, -81, + -82, 121, 135, -84, -5, -82, 82, -85, -6, -82, + 82, 29, -82, 10, 136, -24, 120, -25, -51, -52, + 51, -25, 122, -147, -25, 122, 21, -145, -99, -98, + -14, -142, 119, 122, 121, 121, 121, 121, 121, 135, + -16, 119, -19, 121, 135, -145, 136, 121, 135, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -43, -14, 122, -103, -57, -19, - -19, -15, -104, 10, -87, 121, 121, 10, 123, -67, - 55, -115, 55, 58, -14, 128, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -94, -38, - -19, 59, 82, -83, 78, 78, 124, 124, 124, 124, + -14, -14, -14, -14, -43, -14, 122, -102, -56, -19, + -19, -15, -103, 10, -86, 121, 121, 10, 123, -66, + 55, -114, 55, 58, -14, 128, -14, -14, -14, -14, + -14, -14, -14, -14, -14, -14, -14, -14, -93, -38, + -19, 59, 82, -82, 78, 78, 124, 124, 124, 124, -13, -14, -13, 118, -33, -33, 17, 125, 57, -14, - 11, -19, -133, -134, -40, -39, -10, -138, 10, 119, - -141, -142, 78, 82, -83, 57, -10, 78, -91, -36, + 11, -19, -132, -133, -40, -39, -10, -137, 10, 119, + -140, -141, 78, 82, -82, 57, -10, 78, -90, -36, -19, -15, -19, -15, -14, -13, 117, 75, 75, -13, - -93, 126, -151, 135, 58, -17, -19, -13, -13, 10, - 124, -117, -50, -71, -15, -19, 128, 83, -142, -39, + -92, 126, -151, 135, 58, -17, -19, -13, -13, 10, + 124, -116, -50, -70, -15, -19, 128, 83, -141, -39, -40, 10, 52, -13, -14, -39, -40, 10, -14, 121, - -82, 120, -142, -4, 121, 135, 29, -83, 121, 135, - 29, -83, 10, 29, 136, -28, -80, -7, -31, -83, - 79, 82, 60, 125, -8, 62, -81, 18, 74, -11, - 131, 132, 130, 129, 123, 123, -97, -87, -87, -48, - 121, 135, -101, 121, -101, 121, -27, -14, 12, 123, + -81, 120, -141, -4, 121, 135, 29, -82, 121, 135, + 29, -82, 10, 29, 136, -28, -79, -7, -31, -82, + 79, 82, 60, 125, -8, 62, -80, 18, 74, -11, + 131, 132, 130, 129, 123, 123, -96, -86, -86, -48, + 121, 135, -100, 121, -100, 121, -27, -14, 12, 123, -28, -14, 122, -14, 124, 135, 29, 29, 124, 135, - 136, 120, 123, -108, -109, -65, -64, 60, 61, -45, - -83, 79, 82, -111, 56, -45, 119, -116, -45, -15, - -19, -19, 91, 124, 135, 123, -83, -129, -127, -126, - -128, 125, -130, 57, 126, 126, -34, 10, 13, 12, - 10, 120, 125, 120, -131, -79, -132, -142, 125, 119, - -10, -14, -40, -83, -133, -40, 124, 135, 124, 124, + 136, 120, 123, -107, -108, -64, -63, 60, 61, -45, + -82, 79, 82, -110, 56, -45, 119, -115, -45, -15, + -19, -19, 91, 124, 135, 123, -82, -128, -126, -125, + -127, 125, -129, 57, 126, 126, -34, 10, 13, 12, + 10, 120, 125, 120, -130, -78, -131, -141, 125, 119, + -10, -14, -40, -82, -132, -40, 124, 135, 124, 124, 124, 126, 126, 124, -14, 128, -14, 128, 126, 126, - 124, 135, 124, -17, -14, -142, -142, 126, 120, -142, - -142, 120, 120, -5, 10, 29, -6, 10, 29, 10, + 124, 135, 124, -17, -14, -141, -141, 126, 120, -141, + -141, 120, 120, -5, 10, 29, -6, 10, 29, 10, -28, 125, 130, 129, 164, 167, 165, 166, 151, 128, 152, 161, 162, 163, 88, 89, 87, 150, 149, 155, - 156, 153, 154, 157, 159, 158, 160, 127, 82, -83, - 123, -124, -125, -80, 17, 78, -80, -80, -80, -80, - -80, 124, -54, 93, 94, -98, 22, 121, -100, -14, - 120, 32, 33, -101, 31, -101, 120, 136, -108, -14, - 121, -57, -139, -19, 128, 59, -139, -59, -25, 122, - 10, -28, -105, 41, -108, 124, 135, -146, 82, -83, - 119, -116, -110, 135, -43, 136, -38, -94, 125, -128, - -130, -13, -133, 126, -14, -137, 125, 125, -13, -14, - 120, -136, -36, 58, -17, -17, -71, 10, 10, -80, - -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, - -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, - -80, -80, -80, -80, -80, 122, -80, -83, -124, 126, + 156, 153, 154, 157, 159, 158, 160, 127, 82, -82, + 123, -123, -124, -79, 17, 78, -79, -79, -79, -79, + -79, 124, -54, 93, 94, -97, 22, 121, -99, -14, + 120, 32, 33, -100, 31, -100, 120, 136, -107, -14, + 121, -56, -138, -19, 128, 59, -138, -58, -25, 122, + 10, -28, -104, 41, -107, 124, 135, -145, 82, -82, + 119, -115, -109, 135, -43, 136, -38, -93, 125, -127, + -129, -13, -132, 126, -14, -136, 125, 125, -13, -14, + 120, -135, -36, 58, -17, -17, -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, 122, -79, -82, -123, 126, -151, 135, 58, 10, 52, 124, 121, -48, -25, -55, 93, 94, 121, 121, -14, -150, 122, 121, 120, 121, - 31, -28, 124, -140, 58, -19, 123, -140, -87, 136, - -60, 42, 123, 124, -96, 44, -65, -147, 83, -83, - -110, 120, -68, -112, -69, -70, -113, -122, 47, 38, - 44, -78, 103, 102, 101, 98, 99, 100, -45, -141, - -14, 124, -13, 126, -131, 126, -130, -13, -13, 126, - 120, -135, 57, -14, 128, 126, -80, 122, 124, -80, - -80, -25, 95, -48, 122, -100, -150, -87, 121, -96, - 124, -139, -94, 124, 28, -28, 119, -45, 119, 119, - 123, 12, 120, -114, 12, 121, 135, -1, -78, 10, - -118, -45, 126, 120, 126, 126, -133, -17, -80, 58, - 121, 122, -87, 124, -87, 119, -58, -25, 122, 124, - -58, 121, -87, 12, -87, -87, -95, 12, 128, 136, - 121, 135, 136, 10, -146, 136, -145, 135, 121, 119, - -80, -87, -56, -25, 122, -87, -87, 120, 124, 120, + 31, -28, 124, -139, 58, -19, 123, -139, -86, 136, + -59, 42, 123, 124, -95, 44, -64, -146, 83, -82, + -109, 120, -67, -111, -68, -69, -112, -121, 47, 38, + 44, -77, 103, 102, 101, 98, 99, 100, -45, -140, + -14, 124, -13, 126, -130, 126, -129, -13, -13, 126, + 120, -134, 57, -14, 128, 126, -79, 122, 124, -79, + -79, -25, 95, -48, 122, -99, -150, -86, 121, -95, + 124, -138, -93, 124, 28, -28, 119, -45, 119, 119, + 123, 12, 120, -113, 12, 121, 135, -1, -77, 10, + -117, -45, 126, 120, 126, 126, -132, -17, -79, 58, + 121, 122, -86, 124, -86, 119, -57, -25, 122, 124, + -57, 121, -86, 12, -86, -86, -94, 12, 128, 136, + 121, 135, 136, 10, -145, 136, -144, 135, 121, 119, + -79, -86, -148, -25, 122, -86, -86, 120, 124, 120, 120, 124, 135, 12, -28, 12, -28, 136, 10, -28, - -45, -119, -120, -72, -73, -74, -75, -76, -45, 10, - -87, 120, 26, 119, 12, 128, 136, -28, 123, 120, - -72, 121, 121, 45, 29, 78, 24, 121, -87, 12, - -28, -108, -121, -45, -77, -78, 10, 121, 120, 124, - 135, 10, -106, -107, -61, 41, -144, 121, 119, -45, - -61, 123, -87, -45, 120, 12, 124, 119, -87, 120, + -45, -118, -119, -71, -72, -73, -74, -75, -45, 10, + -86, 120, 26, 119, 12, 128, 136, -28, 123, 120, + -71, 121, 121, 45, 29, 78, 24, 121, -86, 12, + -28, -107, -120, -45, -76, -77, 10, 121, 120, 124, + 135, 10, -105, -106, -60, 41, -143, 121, 119, -45, + -60, 123, -86, -45, 120, 12, 124, 119, -86, 120, } var yyDef = [...]int{ @@ -2711,13 +2711,17 @@ yydefault: yyDollar = yyS[yypt-9 : yypt+1] //line php5/php5.y:621 { - yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) + if yyDollar[9].altSyntaxNode.isAlt { + yyVAL.node = stmt.NewAltFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].altSyntaxNode.node) + } else { + yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].altSyntaxNode.node) + } + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].altSyntaxNode.node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 51: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:627 + //line php5/php5.y:631 { yyVAL.node = stmt.NewSwitch(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) @@ -2725,7 +2729,7 @@ yydefault: } case 52: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:633 + //line php5/php5.y:637 { yyVAL.node = stmt.NewBreak(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2733,7 +2737,7 @@ yydefault: } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:639 + //line php5/php5.y:643 { yyVAL.node = stmt.NewBreak(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2741,7 +2745,7 @@ yydefault: } case 54: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:645 + //line php5/php5.y:649 { yyVAL.node = stmt.NewContinue(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2749,7 +2753,7 @@ yydefault: } case 55: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:651 + //line php5/php5.y:655 { yyVAL.node = stmt.NewContinue(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2757,7 +2761,7 @@ yydefault: } case 56: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:657 + //line php5/php5.y:661 { yyVAL.node = stmt.NewReturn(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2765,7 +2769,7 @@ yydefault: } case 57: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:663 + //line php5/php5.y:667 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2773,7 +2777,7 @@ yydefault: } case 58: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:669 + //line php5/php5.y:673 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2781,7 +2785,7 @@ yydefault: } case 59: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:675 + //line php5/php5.y:679 { yyVAL.node = stmt.NewExpression(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -2789,7 +2793,7 @@ yydefault: } case 60: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:681 + //line php5/php5.y:685 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2797,7 +2801,7 @@ yydefault: } case 61: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:687 + //line php5/php5.y:691 { yyVAL.node = stmt.NewStatic(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2805,7 +2809,7 @@ yydefault: } case 62: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:693 + //line php5/php5.y:697 { yyVAL.node = stmt.NewEcho(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2813,7 +2817,7 @@ yydefault: } case 63: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:699 + //line php5/php5.y:703 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2821,7 +2825,7 @@ yydefault: } case 64: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:705 + //line php5/php5.y:709 { yyVAL.node = stmt.NewExpression(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -2829,7 +2833,7 @@ yydefault: } case 65: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:711 + //line php5/php5.y:715 { yyVAL.node = stmt.NewUnset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -2837,7 +2841,7 @@ yydefault: } case 66: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:717 + //line php5/php5.y:721 { if yyDollar[6].foreachVariable.node == nil { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].node, yyDollar[5].foreachVariable.byRef) @@ -2849,7 +2853,7 @@ yydefault: } case 67: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:727 + //line php5/php5.y:731 { if yyDollar[6].foreachVariable.node == nil { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[8].node, yyDollar[5].foreachVariable.byRef) @@ -2861,7 +2865,7 @@ yydefault: } case 68: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:737 + //line php5/php5.y:741 { yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -2869,7 +2873,7 @@ yydefault: } case 69: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:743 + //line php5/php5.y:747 { yyVAL.node = stmt.NewNop() positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2877,7 +2881,7 @@ yydefault: } case 70: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:749 + //line php5/php5.y:753 { yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) @@ -2891,7 +2895,7 @@ yydefault: } case 71: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:761 + //line php5/php5.y:765 { yyVAL.node = stmt.NewThrow(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2899,7 +2903,7 @@ yydefault: } case 72: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:767 + //line php5/php5.y:771 { label := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2911,13 +2915,13 @@ yydefault: } case 73: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:780 + //line php5/php5.y:784 { yyVAL.list = []node.Node{} } case 74: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:782 + //line php5/php5.y:786 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -2935,13 +2939,13 @@ yydefault: } case 75: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:800 + //line php5/php5.y:804 { yyVAL.node = nil } case 76: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:802 + //line php5/php5.y:806 { yyVAL.node = stmt.NewFinally(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2949,31 +2953,31 @@ yydefault: } case 77: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:811 + //line php5/php5.y:815 { yyVAL.list = yyDollar[1].list } case 78: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:813 + //line php5/php5.y:817 { yyVAL.list = []node.Node{} } case 79: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:818 + //line php5/php5.y:822 { yyVAL.list = []node.Node{yyDollar[1].node} } case 80: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:820 + //line php5/php5.y:824 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 81: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:825 + //line php5/php5.y:829 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -2989,61 +2993,61 @@ yydefault: } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:842 + //line php5/php5.y:846 { yyVAL.list = []node.Node{yyDollar[1].node} } case 83: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:844 + //line php5/php5.y:848 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 84: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:849 + //line php5/php5.y:853 { yyVAL.node = yyDollar[1].node } case 85: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:854 + //line php5/php5.y:858 { yyVAL.node = yyDollar[1].node } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:859 + //line php5/php5.y:863 { yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:864 + //line php5/php5.y:868 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 88: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:866 + //line php5/php5.y:870 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 89: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:871 + //line php5/php5.y:875 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 90: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:873 + //line php5/php5.y:877 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 91: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:878 + //line php5/php5.y:882 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3055,7 +3059,7 @@ yydefault: } case 92: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:891 + //line php5/php5.y:895 { switch n := yyDollar[1].node.(type) { case *stmt.Class: @@ -3078,7 +3082,7 @@ yydefault: } case 93: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:912 + //line php5/php5.y:916 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3090,7 +3094,7 @@ yydefault: } case 94: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:926 + //line php5/php5.y:930 { yyVAL.node = stmt.NewClass(nil, nil, nil, nil, nil, nil, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3098,7 +3102,7 @@ yydefault: } case 95: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:932 + //line php5/php5.y:936 { classModifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(classModifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3110,7 +3114,7 @@ yydefault: } case 96: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:942 + //line php5/php5.y:946 { yyVAL.node = stmt.NewTrait(nil, nil, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3118,7 +3122,7 @@ yydefault: } case 97: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:948 + //line php5/php5.y:952 { classModifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(classModifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3130,85 +3134,85 @@ yydefault: } case 98: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:961 + //line php5/php5.y:965 { yyVAL.node = nil } case 99: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:963 + //line php5/php5.y:967 { yyVAL.node = yyDollar[2].node } case 100: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:968 + //line php5/php5.y:972 { yyVAL.token = yyDollar[1].token } case 101: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:973 + //line php5/php5.y:977 { yyVAL.list = nil } case 102: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:975 + //line php5/php5.y:979 { yyVAL.list = yyDollar[2].list } case 103: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:980 + //line php5/php5.y:984 { yyVAL.list = nil } case 104: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:982 + //line php5/php5.y:986 { yyVAL.list = yyDollar[2].list } case 105: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:987 + //line php5/php5.y:991 { yyVAL.list = []node.Node{yyDollar[1].node} } case 106: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:989 + //line php5/php5.y:993 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 107: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:994 + //line php5/php5.y:998 { yyVAL.foreachVariable = foreachVariable{nil, false} } case 108: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:996 + //line php5/php5.y:1000 { yyVAL.foreachVariable = yyDollar[2].foreachVariable } case 109: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1001 + //line php5/php5.y:1005 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 110: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1003 + //line php5/php5.y:1007 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 111: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1005 + //line php5/php5.y:1009 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3217,27 +3221,26 @@ yydefault: } case 112: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1015 + //line php5/php5.y:1019 { - yyVAL.node = yyDollar[1].node + yyVAL.altSyntaxNode = altSyntaxNode{yyDollar[1].node, false} } case 113: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1017 + //line php5/php5.y:1021 { - yyVAL.node = stmt.NewStmtList(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + yyVAL.altSyntaxNode = altSyntaxNode{stmt.NewStmtList(yyDollar[2].list), true} + positions.AddPosition(yyVAL.altSyntaxNode.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 114: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1027 + //line php5/php5.y:1030 { yyVAL.node = yyDollar[1].node } case 115: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1029 + //line php5/php5.y:1032 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3245,13 +3248,13 @@ yydefault: } case 116: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1039 + //line php5/php5.y:1042 { yyVAL.node = yyDollar[1].node } case 117: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1041 + //line php5/php5.y:1044 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3259,7 +3262,7 @@ yydefault: } case 118: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1051 + //line php5/php5.y:1054 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3273,7 +3276,7 @@ yydefault: } case 119: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1063 + //line php5/php5.y:1066 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3287,37 +3290,37 @@ yydefault: } case 120: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1079 + //line php5/php5.y:1082 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 121: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1081 + //line php5/php5.y:1084 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} } case 122: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1083 + //line php5/php5.y:1086 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 123: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1085 + //line php5/php5.y:1088 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} } case 124: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1091 + //line php5/php5.y:1094 { yyVAL.list = []node.Node{} } case 125: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1093 + //line php5/php5.y:1096 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) @@ -3326,7 +3329,7 @@ yydefault: } case 126: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1100 + //line php5/php5.y:1103 { _default := stmt.NewDefault(yyDollar[4].list) positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) @@ -3335,26 +3338,26 @@ yydefault: } case 129: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1117 + //line php5/php5.y:1120 { yyVAL.altSyntaxNode = altSyntaxNode{yyDollar[1].node, false} } case 130: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1119 + //line php5/php5.y:1122 { yyVAL.altSyntaxNode = altSyntaxNode{stmt.NewStmtList(yyDollar[2].list), true} positions.AddPosition(yyVAL.altSyntaxNode.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 131: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1129 + //line php5/php5.y:1132 { yyVAL.list = nil } case 132: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1131 + //line php5/php5.y:1134 { _elseIf := stmt.NewElseIf(yyDollar[3].node, yyDollar[4].node) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node)) @@ -3364,13 +3367,13 @@ yydefault: } case 133: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1143 + //line php5/php5.y:1146 { yyVAL.list = nil } case 134: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1145 + //line php5/php5.y:1148 { stmts := stmt.NewStmtList(yyDollar[5].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[5].list)) @@ -3383,13 +3386,13 @@ yydefault: } case 135: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1160 + //line php5/php5.y:1163 { yyVAL.node = nil } case 136: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1162 + //line php5/php5.y:1165 { yyVAL.node = stmt.NewElse(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3397,13 +3400,13 @@ yydefault: } case 137: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1172 + //line php5/php5.y:1175 { yyVAL.node = nil } case 138: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1174 + //line php5/php5.y:1177 { stmts := stmt.NewStmtList(yyDollar[3].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[3].list)) @@ -3414,31 +3417,31 @@ yydefault: } case 139: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1187 + //line php5/php5.y:1190 { yyVAL.list = yyDollar[1].list } case 140: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1189 + //line php5/php5.y:1192 { yyVAL.list = nil } case 141: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1194 + //line php5/php5.y:1197 { yyVAL.list = []node.Node{yyDollar[1].node} } case 142: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1196 + //line php5/php5.y:1199 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 143: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1201 + //line php5/php5.y:1204 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3466,7 +3469,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1227 + //line php5/php5.y:1230 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3494,13 +3497,13 @@ yydefault: } case 145: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1257 + //line php5/php5.y:1260 { yyVAL.node = nil } case 146: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1259 + //line php5/php5.y:1262 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3508,7 +3511,7 @@ yydefault: } case 147: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1265 + //line php5/php5.y:1268 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3516,25 +3519,25 @@ yydefault: } case 148: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1271 + //line php5/php5.y:1274 { yyVAL.node = yyDollar[1].node } case 149: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1277 + //line php5/php5.y:1280 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1279 + //line php5/php5.y:1282 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 151: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1281 + //line php5/php5.y:1284 { arg := node.NewArgument(yyDollar[2].node, false, false) positions.AddPosition(arg, positionBuilder.NewNodePosition(yyDollar[2].node)) @@ -3544,19 +3547,19 @@ yydefault: } case 152: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1293 + //line php5/php5.y:1296 { yyVAL.list = []node.Node{yyDollar[1].node} } case 153: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1295 + //line php5/php5.y:1298 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 154: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1300 + //line php5/php5.y:1303 { yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -3564,7 +3567,7 @@ yydefault: } case 155: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1306 + //line php5/php5.y:1309 { yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -3572,7 +3575,7 @@ yydefault: } case 156: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1312 + //line php5/php5.y:1315 { yyVAL.node = node.NewArgument(yyDollar[2].node, false, true) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[2].node)) @@ -3580,7 +3583,7 @@ yydefault: } case 157: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1318 + //line php5/php5.y:1321 { yyVAL.node = node.NewArgument(yyDollar[2].node, true, false) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3588,19 +3591,19 @@ yydefault: } case 158: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1327 + //line php5/php5.y:1330 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 159: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1329 + //line php5/php5.y:1332 { yyVAL.list = []node.Node{yyDollar[1].node} } case 160: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1335 + //line php5/php5.y:1338 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3612,7 +3615,7 @@ yydefault: } case 161: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1345 + //line php5/php5.y:1348 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3620,7 +3623,7 @@ yydefault: } case 162: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1351 + //line php5/php5.y:1354 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3628,7 +3631,7 @@ yydefault: } case 163: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1361 + //line php5/php5.y:1364 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3647,7 +3650,7 @@ yydefault: } case 164: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1378 + //line php5/php5.y:1381 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3666,7 +3669,7 @@ yydefault: } case 165: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1395 + //line php5/php5.y:1398 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3685,7 +3688,7 @@ yydefault: } case 166: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1412 + //line php5/php5.y:1415 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3704,19 +3707,19 @@ yydefault: } case 167: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1434 + //line php5/php5.y:1437 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 168: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1436 + //line php5/php5.y:1439 { yyVAL.list = []node.Node{} } case 169: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1442 + //line php5/php5.y:1445 { yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) @@ -3724,19 +3727,19 @@ yydefault: } case 170: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1448 + //line php5/php5.y:1451 { yyVAL.node = yyDollar[1].node } case 171: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1450 + //line php5/php5.y:1453 { yyVAL.node = yyDollar[1].node } case 172: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:1452 + //line php5/php5.y:1455 { name := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3748,7 +3751,7 @@ yydefault: } case 173: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1465 + //line php5/php5.y:1468 { yyVAL.node = stmt.NewTraitUse(yyDollar[2].list, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) @@ -3756,67 +3759,67 @@ yydefault: } case 174: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1474 + //line php5/php5.y:1477 { yyVAL.list = []node.Node{yyDollar[1].node} } case 175: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1476 + //line php5/php5.y:1479 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 176: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1481 + //line php5/php5.y:1484 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 177: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1483 + //line php5/php5.y:1486 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 178: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1488 + //line php5/php5.y:1491 { yyVAL.list = nil } case 179: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1490 + //line php5/php5.y:1493 { yyVAL.list = yyDollar[1].list } case 180: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1495 + //line php5/php5.y:1498 { yyVAL.list = []node.Node{yyDollar[1].node} } case 181: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1497 + //line php5/php5.y:1500 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 182: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1502 + //line php5/php5.y:1505 { yyVAL.node = yyDollar[1].node } case 183: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1504 + //line php5/php5.y:1507 { yyVAL.node = yyDollar[1].node } case 184: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1509 + //line php5/php5.y:1512 { yyVAL.node = stmt.NewTraitUsePrecedence(yyDollar[1].node, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].list)) @@ -3824,19 +3827,19 @@ yydefault: } case 185: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1518 + //line php5/php5.y:1521 { yyVAL.list = []node.Node{yyDollar[1].node} } case 186: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1520 + //line php5/php5.y:1523 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1525 + //line php5/php5.y:1528 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3848,13 +3851,13 @@ yydefault: } case 188: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1535 + //line php5/php5.y:1538 { yyVAL.node = yyDollar[1].node } case 189: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1540 + //line php5/php5.y:1543 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3866,7 +3869,7 @@ yydefault: } case 190: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1553 + //line php5/php5.y:1556 { alias := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3878,7 +3881,7 @@ yydefault: } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1563 + //line php5/php5.y:1566 { yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -3886,37 +3889,37 @@ yydefault: } case 192: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1572 + //line php5/php5.y:1575 { yyVAL.node = nil } case 193: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1574 + //line php5/php5.y:1577 { yyVAL.node = yyDollar[1].node } case 194: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1579 + //line php5/php5.y:1582 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 195: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1581 + //line php5/php5.y:1584 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 196: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1586 + //line php5/php5.y:1589 { yyVAL.list = yyDollar[1].list } case 197: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1588 + //line php5/php5.y:1591 { modifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(modifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3926,31 +3929,31 @@ yydefault: } case 198: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1599 + //line php5/php5.y:1602 { yyVAL.list = nil } case 199: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1601 + //line php5/php5.y:1604 { yyVAL.list = yyDollar[1].list } case 200: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1606 + //line php5/php5.y:1609 { yyVAL.list = []node.Node{yyDollar[1].node} } case 201: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1608 + //line php5/php5.y:1611 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 202: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1613 + //line php5/php5.y:1616 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3958,7 +3961,7 @@ yydefault: } case 203: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1619 + //line php5/php5.y:1622 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3966,7 +3969,7 @@ yydefault: } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1625 + //line php5/php5.y:1628 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3974,7 +3977,7 @@ yydefault: } case 205: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1631 + //line php5/php5.y:1634 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3982,7 +3985,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1637 + //line php5/php5.y:1640 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3990,7 +3993,7 @@ yydefault: } case 207: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1643 + //line php5/php5.y:1646 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3998,7 +4001,7 @@ yydefault: } case 208: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1652 + //line php5/php5.y:1655 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4016,7 +4019,7 @@ yydefault: } case 209: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1668 + //line php5/php5.y:1671 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4034,7 +4037,7 @@ yydefault: } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1684 + //line php5/php5.y:1687 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4052,7 +4055,7 @@ yydefault: } case 211: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1700 + //line php5/php5.y:1703 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4070,7 +4073,7 @@ yydefault: } case 212: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1719 + //line php5/php5.y:1722 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4087,7 +4090,7 @@ yydefault: } case 213: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1734 + //line php5/php5.y:1737 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4103,55 +4106,55 @@ yydefault: } case 214: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1751 + //line php5/php5.y:1754 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 215: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1753 + //line php5/php5.y:1756 { yyVAL.list = []node.Node{yyDollar[1].node} } case 216: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1759 + //line php5/php5.y:1762 { yyVAL.list = nil } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1761 + //line php5/php5.y:1764 { yyVAL.list = yyDollar[1].list } case 218: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1766 + //line php5/php5.y:1769 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 219: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1768 + //line php5/php5.y:1771 { yyVAL.list = []node.Node{yyDollar[1].node} } case 220: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1773 + //line php5/php5.y:1776 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 221: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1775 + //line php5/php5.y:1778 { yyVAL.list = yyDollar[1].list } case 222: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1780 + //line php5/php5.y:1783 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -4160,7 +4163,7 @@ yydefault: } case 223: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1787 + //line php5/php5.y:1790 { fetch := expr.NewArrayDimFetch(nil, yyDollar[2].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[2].node)) @@ -4169,37 +4172,37 @@ yydefault: } case 224: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1797 + //line php5/php5.y:1800 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 225: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1799 + //line php5/php5.y:1802 { yyVAL.list = yyDollar[1].list } case 226: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1801 + //line php5/php5.y:1804 { yyVAL.list = yyDollar[1].list } case 227: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1806 + //line php5/php5.y:1809 { yyVAL.list = nil } case 228: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1808 + //line php5/php5.y:1811 { yyVAL.list = yyDollar[1].list } case 229: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1813 + //line php5/php5.y:1816 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -4213,7 +4216,7 @@ yydefault: } case 230: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1828 + //line php5/php5.y:1831 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4225,7 +4228,7 @@ yydefault: } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1838 + //line php5/php5.y:1841 { yyVAL.node = assign_op.NewAssign(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4233,7 +4236,7 @@ yydefault: } case 232: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1844 + //line php5/php5.y:1847 { yyVAL.node = assign_op.NewAssignRef(yyDollar[1].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -4241,7 +4244,7 @@ yydefault: } case 233: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1850 + //line php5/php5.y:1853 { _new := expr.NewNew(yyDollar[5].node, nil) positions.AddPosition(_new, positionBuilder.NewTokenNodePosition(yyDollar[4].token, yyDollar[5].node)) @@ -4258,7 +4261,7 @@ yydefault: } case 234: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1865 + //line php5/php5.y:1868 { yyVAL.node = expr.NewClone(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4266,7 +4269,7 @@ yydefault: } case 235: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1871 + //line php5/php5.y:1874 { yyVAL.node = assign_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4274,7 +4277,7 @@ yydefault: } case 236: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1877 + //line php5/php5.y:1880 { yyVAL.node = assign_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4282,7 +4285,7 @@ yydefault: } case 237: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1883 + //line php5/php5.y:1886 { yyVAL.node = assign_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4290,7 +4293,7 @@ yydefault: } case 238: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1889 + //line php5/php5.y:1892 { yyVAL.node = assign_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4298,7 +4301,7 @@ yydefault: } case 239: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1895 + //line php5/php5.y:1898 { yyVAL.node = assign_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4306,7 +4309,7 @@ yydefault: } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1901 + //line php5/php5.y:1904 { yyVAL.node = assign_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4314,7 +4317,7 @@ yydefault: } case 241: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1907 + //line php5/php5.y:1910 { yyVAL.node = assign_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4322,7 +4325,7 @@ yydefault: } case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1913 + //line php5/php5.y:1916 { yyVAL.node = assign_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4330,7 +4333,7 @@ yydefault: } case 243: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1919 + //line php5/php5.y:1922 { yyVAL.node = assign_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4338,7 +4341,7 @@ yydefault: } case 244: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1925 + //line php5/php5.y:1928 { yyVAL.node = assign_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4346,7 +4349,7 @@ yydefault: } case 245: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1931 + //line php5/php5.y:1934 { yyVAL.node = assign_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4354,7 +4357,7 @@ yydefault: } case 246: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1937 + //line php5/php5.y:1940 { yyVAL.node = assign_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4362,7 +4365,7 @@ yydefault: } case 247: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1943 + //line php5/php5.y:1946 { yyVAL.node = expr.NewPostInc(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -4370,7 +4373,7 @@ yydefault: } case 248: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1949 + //line php5/php5.y:1952 { yyVAL.node = expr.NewPreInc(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4378,7 +4381,7 @@ yydefault: } case 249: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1955 + //line php5/php5.y:1958 { yyVAL.node = expr.NewPostDec(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -4386,7 +4389,7 @@ yydefault: } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1961 + //line php5/php5.y:1964 { yyVAL.node = expr.NewPreDec(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4394,7 +4397,7 @@ yydefault: } case 251: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1967 + //line php5/php5.y:1970 { yyVAL.node = binary_op.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4402,7 +4405,7 @@ yydefault: } case 252: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1973 + //line php5/php5.y:1976 { yyVAL.node = binary_op.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4410,7 +4413,7 @@ yydefault: } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1979 + //line php5/php5.y:1982 { yyVAL.node = binary_op.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4418,7 +4421,7 @@ yydefault: } case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1985 + //line php5/php5.y:1988 { yyVAL.node = binary_op.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4426,7 +4429,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1991 + //line php5/php5.y:1994 { yyVAL.node = binary_op.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4434,7 +4437,7 @@ yydefault: } case 256: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1997 + //line php5/php5.y:2000 { yyVAL.node = binary_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4442,7 +4445,7 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2003 + //line php5/php5.y:2006 { yyVAL.node = binary_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4450,7 +4453,7 @@ yydefault: } case 258: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2009 + //line php5/php5.y:2012 { yyVAL.node = binary_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4458,7 +4461,7 @@ yydefault: } case 259: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2015 + //line php5/php5.y:2018 { yyVAL.node = binary_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4466,7 +4469,7 @@ yydefault: } case 260: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2021 + //line php5/php5.y:2024 { yyVAL.node = binary_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4474,7 +4477,7 @@ yydefault: } case 261: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2027 + //line php5/php5.y:2030 { yyVAL.node = binary_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4482,7 +4485,7 @@ yydefault: } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2033 + //line php5/php5.y:2036 { yyVAL.node = binary_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4490,7 +4493,7 @@ yydefault: } case 263: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2039 + //line php5/php5.y:2042 { yyVAL.node = binary_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4498,7 +4501,7 @@ yydefault: } case 264: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2045 + //line php5/php5.y:2048 { yyVAL.node = binary_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4506,7 +4509,7 @@ yydefault: } case 265: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2051 + //line php5/php5.y:2054 { yyVAL.node = binary_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4514,7 +4517,7 @@ yydefault: } case 266: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2057 + //line php5/php5.y:2060 { yyVAL.node = binary_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4522,7 +4525,7 @@ yydefault: } case 267: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2063 + //line php5/php5.y:2066 { yyVAL.node = binary_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4530,7 +4533,7 @@ yydefault: } case 268: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2069 + //line php5/php5.y:2072 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4538,7 +4541,7 @@ yydefault: } case 269: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2075 + //line php5/php5.y:2078 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4546,7 +4549,7 @@ yydefault: } case 270: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2081 + //line php5/php5.y:2084 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4554,7 +4557,7 @@ yydefault: } case 271: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2087 + //line php5/php5.y:2090 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4562,7 +4565,7 @@ yydefault: } case 272: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2093 + //line php5/php5.y:2096 { yyVAL.node = binary_op.NewIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4570,7 +4573,7 @@ yydefault: } case 273: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2099 + //line php5/php5.y:2102 { yyVAL.node = binary_op.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4578,7 +4581,7 @@ yydefault: } case 274: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2105 + //line php5/php5.y:2108 { yyVAL.node = binary_op.NewEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4586,7 +4589,7 @@ yydefault: } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2111 + //line php5/php5.y:2114 { yyVAL.node = binary_op.NewNotEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4594,7 +4597,7 @@ yydefault: } case 276: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2117 + //line php5/php5.y:2120 { yyVAL.node = binary_op.NewSmaller(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4602,7 +4605,7 @@ yydefault: } case 277: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2123 + //line php5/php5.y:2126 { yyVAL.node = binary_op.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4610,7 +4613,7 @@ yydefault: } case 278: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2129 + //line php5/php5.y:2132 { yyVAL.node = binary_op.NewGreater(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4618,7 +4621,7 @@ yydefault: } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2135 + //line php5/php5.y:2138 { yyVAL.node = binary_op.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4626,7 +4629,7 @@ yydefault: } case 280: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2141 + //line php5/php5.y:2144 { yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4634,19 +4637,19 @@ yydefault: } case 281: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2147 + //line php5/php5.y:2150 { yyVAL.node = yyDollar[1].node } case 282: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2149 + //line php5/php5.y:2152 { yyVAL.node = yyDollar[1].node } case 283: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2151 + //line php5/php5.y:2154 { yyVAL.node = yyDollar[2].node @@ -4674,7 +4677,7 @@ yydefault: } case 284: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2177 + //line php5/php5.y:2180 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) @@ -4682,7 +4685,7 @@ yydefault: } case 285: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2183 + //line php5/php5.y:2186 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -4690,13 +4693,13 @@ yydefault: } case 286: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2189 + //line php5/php5.y:2192 { yyVAL.node = yyDollar[1].node } case 287: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2191 + //line php5/php5.y:2194 { yyVAL.node = cast.NewCastInt(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4704,7 +4707,7 @@ yydefault: } case 288: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2197 + //line php5/php5.y:2200 { yyVAL.node = cast.NewCastDouble(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4712,7 +4715,7 @@ yydefault: } case 289: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2203 + //line php5/php5.y:2206 { yyVAL.node = cast.NewCastString(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4720,7 +4723,7 @@ yydefault: } case 290: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2209 + //line php5/php5.y:2212 { yyVAL.node = cast.NewCastArray(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4728,7 +4731,7 @@ yydefault: } case 291: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2215 + //line php5/php5.y:2218 { yyVAL.node = cast.NewCastObject(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4736,7 +4739,7 @@ yydefault: } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2221 + //line php5/php5.y:2224 { yyVAL.node = cast.NewCastBool(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4744,7 +4747,7 @@ yydefault: } case 293: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2227 + //line php5/php5.y:2230 { yyVAL.node = cast.NewCastUnset(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4752,7 +4755,7 @@ yydefault: } case 294: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2233 + //line php5/php5.y:2236 { if strings.EqualFold(yyDollar[1].token.Value, "die") { yyVAL.node = expr.NewDie(yyDollar[2].node) @@ -4764,7 +4767,7 @@ yydefault: } case 295: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2243 + //line php5/php5.y:2246 { yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4772,25 +4775,25 @@ yydefault: } case 296: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2249 + //line php5/php5.y:2252 { yyVAL.node = yyDollar[1].node } case 297: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2251 + //line php5/php5.y:2254 { yyVAL.node = yyDollar[1].node } case 298: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2253 + //line php5/php5.y:2256 { yyVAL.node = yyDollar[1].node } case 299: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2255 + //line php5/php5.y:2258 { yyVAL.node = expr.NewShellExec(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4798,7 +4801,7 @@ yydefault: } case 300: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2261 + //line php5/php5.y:2264 { yyVAL.node = expr.NewPrint(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4806,7 +4809,7 @@ yydefault: } case 301: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2267 + //line php5/php5.y:2270 { yyVAL.node = expr.NewYield(nil, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4814,7 +4817,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:2273 + //line php5/php5.y:2276 { yyVAL.node = expr.NewClosure(yyDollar[4].list, yyDollar[6].list, nil, yyDollar[8].list, false, yyDollar[2].boolWithToken.value, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[9].token)) @@ -4823,7 +4826,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:2280 + //line php5/php5.y:2283 { yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, nil, yyDollar[9].list, true, yyDollar[3].boolWithToken.value, "") positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[10].token)) @@ -4832,7 +4835,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2290 + //line php5/php5.y:2293 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4840,7 +4843,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2296 + //line php5/php5.y:2299 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4848,7 +4851,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2302 + //line php5/php5.y:2305 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) @@ -4856,7 +4859,7 @@ yydefault: } case 307: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2308 + //line php5/php5.y:2311 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) @@ -4864,7 +4867,7 @@ yydefault: } case 308: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2317 + //line php5/php5.y:2320 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4872,7 +4875,7 @@ yydefault: } case 309: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2323 + //line php5/php5.y:2326 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4880,7 +4883,7 @@ yydefault: } case 310: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2329 + //line php5/php5.y:2332 { str := scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(str, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4892,7 +4895,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2339 + //line php5/php5.y:2342 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -4900,7 +4903,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2348 + //line php5/php5.y:2351 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4908,7 +4911,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2354 + //line php5/php5.y:2357 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4916,25 +4919,25 @@ yydefault: } case 314: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2363 + //line php5/php5.y:2366 { yyVAL.token = yyDollar[1].token } case 315: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2368 + //line php5/php5.y:2371 { yyVAL.list = []node.Node{} } case 316: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2370 + //line php5/php5.y:2373 { yyVAL.list = yyDollar[3].list } case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2375 + //line php5/php5.y:2378 { identifier := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4952,7 +4955,7 @@ yydefault: } case 318: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2391 + //line php5/php5.y:2394 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -4970,7 +4973,7 @@ yydefault: } case 319: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2407 + //line php5/php5.y:2410 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4988,7 +4991,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2423 + //line php5/php5.y:2426 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5006,7 +5009,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2442 + //line php5/php5.y:2445 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5018,7 +5021,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2452 + //line php5/php5.y:2455 { funcName := name.NewRelative(yyDollar[3].list) positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5030,7 +5033,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2462 + //line php5/php5.y:2465 { funcName := name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(funcName, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5042,7 +5045,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2472 + //line php5/php5.y:2475 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -5050,7 +5053,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2478 + //line php5/php5.y:2481 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -5058,7 +5061,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2484 + //line php5/php5.y:2487 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -5066,7 +5069,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2490 + //line php5/php5.y:2493 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -5074,7 +5077,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2496 + //line php5/php5.y:2499 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) @@ -5082,7 +5085,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2505 + //line php5/php5.y:2508 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5090,7 +5093,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2511 + //line php5/php5.y:2514 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5098,7 +5101,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2517 + //line php5/php5.y:2520 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5106,7 +5109,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2523 + //line php5/php5.y:2526 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5114,7 +5117,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2532 + //line php5/php5.y:2535 { yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5122,7 +5125,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2538 + //line php5/php5.y:2541 { yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5130,7 +5133,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2544 + //line php5/php5.y:2547 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5138,19 +5141,19 @@ yydefault: } case 336: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2553 + //line php5/php5.y:2556 { yyVAL.node = yyDollar[1].node } case 337: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2555 + //line php5/php5.y:2558 { yyVAL.node = yyDollar[1].node } case 338: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2560 + //line php5/php5.y:2563 { yyVAL.node = yyDollar[1].node @@ -5188,79 +5191,79 @@ yydefault: } case 339: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2596 + //line php5/php5.y:2599 { yyVAL.node = yyDollar[1].node } case 340: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2602 + //line php5/php5.y:2605 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 341: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2604 + //line php5/php5.y:2607 { yyVAL.list = []node.Node{} } case 342: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2610 + //line php5/php5.y:2613 { yyVAL.list = yyDollar[2].list } case 343: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2615 + //line php5/php5.y:2618 { yyVAL.node = nil } case 344: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2617 + //line php5/php5.y:2620 { yyVAL.node = nil } case 345: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2619 + //line php5/php5.y:2622 { yyVAL.node = yyDollar[1].node } case 346: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2624 + //line php5/php5.y:2627 { yyVAL.list = []node.Node{} } case 347: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2626 + //line php5/php5.y:2629 { yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value)} } case 348: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2628 + //line php5/php5.y:2631 { yyVAL.list = yyDollar[1].list } case 349: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2633 + //line php5/php5.y:2636 { yyVAL.nodesWithEndToken = nil } case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2635 + //line php5/php5.y:2638 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } case 351: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2640 + //line php5/php5.y:2643 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5268,7 +5271,7 @@ yydefault: } case 352: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2646 + //line php5/php5.y:2649 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5276,7 +5279,7 @@ yydefault: } case 353: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2652 + //line php5/php5.y:2655 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5284,7 +5287,7 @@ yydefault: } case 354: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2658 + //line php5/php5.y:2661 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5292,7 +5295,7 @@ yydefault: } case 355: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2664 + //line php5/php5.y:2667 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5300,7 +5303,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2670 + //line php5/php5.y:2673 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5308,7 +5311,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2676 + //line php5/php5.y:2679 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5316,7 +5319,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2682 + //line php5/php5.y:2685 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5324,7 +5327,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2688 + //line php5/php5.y:2691 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5332,7 +5335,7 @@ yydefault: } case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2694 + //line php5/php5.y:2697 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5340,7 +5343,7 @@ yydefault: } case 361: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2700 + //line php5/php5.y:2703 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ @@ -5348,7 +5351,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2705 + //line php5/php5.y:2708 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -5356,7 +5359,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2714 + //line php5/php5.y:2717 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5368,25 +5371,25 @@ yydefault: } case 364: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2727 + //line php5/php5.y:2730 { yyVAL.node = yyDollar[1].node } case 365: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2732 + //line php5/php5.y:2735 { yyVAL.node = yyDollar[1].node } case 366: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2734 + //line php5/php5.y:2737 { yyVAL.node = yyDollar[1].node } case 367: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2736 + //line php5/php5.y:2739 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5398,7 +5401,7 @@ yydefault: } case 368: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2746 + //line php5/php5.y:2749 { name := name.NewRelative(yyDollar[3].list) positions.AddPosition(name, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5410,7 +5413,7 @@ yydefault: } case 369: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2756 + //line php5/php5.y:2759 { name := name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5422,7 +5425,7 @@ yydefault: } case 370: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2766 + //line php5/php5.y:2769 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5430,7 +5433,7 @@ yydefault: } case 371: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2772 + //line php5/php5.y:2775 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5438,13 +5441,13 @@ yydefault: } case 372: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2778 + //line php5/php5.y:2781 { yyVAL.node = yyDollar[1].node } case 373: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2780 + //line php5/php5.y:2783 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5452,13 +5455,13 @@ yydefault: } case 374: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2786 + //line php5/php5.y:2789 { yyVAL.node = yyDollar[1].node } case 375: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2791 + //line php5/php5.y:2794 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5466,7 +5469,7 @@ yydefault: } case 376: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2797 + //line php5/php5.y:2800 { yyVAL.node = binary_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5474,7 +5477,7 @@ yydefault: } case 377: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2803 + //line php5/php5.y:2806 { yyVAL.node = binary_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5482,7 +5485,7 @@ yydefault: } case 378: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2809 + //line php5/php5.y:2812 { yyVAL.node = binary_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5490,7 +5493,7 @@ yydefault: } case 379: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2815 + //line php5/php5.y:2818 { yyVAL.node = binary_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5498,7 +5501,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2821 + //line php5/php5.y:2824 { yyVAL.node = binary_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5506,7 +5509,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2827 + //line php5/php5.y:2830 { yyVAL.node = binary_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5514,7 +5517,7 @@ yydefault: } case 382: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2833 + //line php5/php5.y:2836 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5522,7 +5525,7 @@ yydefault: } case 383: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2839 + //line php5/php5.y:2842 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5530,7 +5533,7 @@ yydefault: } case 384: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2845 + //line php5/php5.y:2848 { yyVAL.node = binary_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5538,7 +5541,7 @@ yydefault: } case 385: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2851 + //line php5/php5.y:2854 { yyVAL.node = binary_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5546,7 +5549,7 @@ yydefault: } case 386: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2857 + //line php5/php5.y:2860 { yyVAL.node = binary_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5554,7 +5557,7 @@ yydefault: } case 387: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2863 + //line php5/php5.y:2866 { yyVAL.node = binary_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5562,7 +5565,7 @@ yydefault: } case 388: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2869 + //line php5/php5.y:2872 { yyVAL.node = binary_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5570,7 +5573,7 @@ yydefault: } case 389: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2875 + //line php5/php5.y:2878 { yyVAL.node = binary_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5578,7 +5581,7 @@ yydefault: } case 390: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2881 + //line php5/php5.y:2884 { yyVAL.node = binary_op.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5586,7 +5589,7 @@ yydefault: } case 391: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2887 + //line php5/php5.y:2890 { yyVAL.node = binary_op.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5594,7 +5597,7 @@ yydefault: } case 392: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2893 + //line php5/php5.y:2896 { yyVAL.node = binary_op.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5602,7 +5605,7 @@ yydefault: } case 393: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2899 + //line php5/php5.y:2902 { yyVAL.node = binary_op.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5610,7 +5613,7 @@ yydefault: } case 394: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2905 + //line php5/php5.y:2908 { yyVAL.node = binary_op.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5618,7 +5621,7 @@ yydefault: } case 395: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2911 + //line php5/php5.y:2914 { yyVAL.node = binary_op.NewIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5626,7 +5629,7 @@ yydefault: } case 396: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2917 + //line php5/php5.y:2920 { yyVAL.node = binary_op.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5634,7 +5637,7 @@ yydefault: } case 397: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2923 + //line php5/php5.y:2926 { yyVAL.node = binary_op.NewEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5642,7 +5645,7 @@ yydefault: } case 398: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2929 + //line php5/php5.y:2932 { yyVAL.node = binary_op.NewNotEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5650,7 +5653,7 @@ yydefault: } case 399: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2935 + //line php5/php5.y:2938 { yyVAL.node = binary_op.NewSmaller(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5658,7 +5661,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2941 + //line php5/php5.y:2944 { yyVAL.node = binary_op.NewGreater(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5666,7 +5669,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2947 + //line php5/php5.y:2950 { yyVAL.node = binary_op.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5674,7 +5677,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2953 + //line php5/php5.y:2956 { yyVAL.node = binary_op.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5682,7 +5685,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2959 + //line php5/php5.y:2962 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5690,7 +5693,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2965 + //line php5/php5.y:2968 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) @@ -5698,7 +5701,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2971 + //line php5/php5.y:2974 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5706,7 +5709,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2977 + //line php5/php5.y:2980 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5714,19 +5717,19 @@ yydefault: } case 407: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2983 + //line php5/php5.y:2986 { yyVAL.node = yyDollar[2].node } case 408: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2988 + //line php5/php5.y:2991 { yyVAL.node = yyDollar[1].node } case 409: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2990 + //line php5/php5.y:2993 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5738,7 +5741,7 @@ yydefault: } case 410: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3000 + //line php5/php5.y:3003 { name := name.NewRelative(yyDollar[3].list) positions.AddPosition(name, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5750,7 +5753,7 @@ yydefault: } case 411: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3010 + //line php5/php5.y:3013 { name := name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5762,7 +5765,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3023 + //line php5/php5.y:3026 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5774,25 +5777,25 @@ yydefault: } case 413: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3033 + //line php5/php5.y:3036 { yyVAL.node = yyDollar[1].node } case 414: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3035 + //line php5/php5.y:3038 { yyVAL.node = yyDollar[1].node } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3037 + //line php5/php5.y:3040 { yyVAL.node = yyDollar[1].node } case 416: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3039 + //line php5/php5.y:3042 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5800,7 +5803,7 @@ yydefault: } case 417: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3045 + //line php5/php5.y:3048 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5808,7 +5811,7 @@ yydefault: } case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3051 + //line php5/php5.y:3054 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5816,19 +5819,19 @@ yydefault: } case 419: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3060 + //line php5/php5.y:3063 { yyVAL.list = nil } case 420: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3062 + //line php5/php5.y:3065 { yyVAL.list = yyDollar[1].list } case 423: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:3072 + //line php5/php5.y:3075 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -5838,7 +5841,7 @@ yydefault: } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3080 + //line php5/php5.y:3083 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -5848,7 +5851,7 @@ yydefault: } case 425: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3088 + //line php5/php5.y:3091 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5858,7 +5861,7 @@ yydefault: } case 426: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3096 + //line php5/php5.y:3099 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5868,49 +5871,49 @@ yydefault: } case 427: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3107 + //line php5/php5.y:3110 { yyVAL.node = yyDollar[1].node } case 428: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3109 + //line php5/php5.y:3112 { yyVAL.node = yyDollar[1].node } case 429: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3114 + //line php5/php5.y:3117 { yyVAL.node = yyDollar[2].node } case 430: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3116 + //line php5/php5.y:3119 { yyVAL.node = yyDollar[2].node } case 431: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3122 + //line php5/php5.y:3125 { yyVAL.node = yyDollar[1].node } case 432: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3128 + //line php5/php5.y:3131 { yyVAL.node = yyDollar[1].node } case 433: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3133 + //line php5/php5.y:3136 { yyVAL.node = yyDollar[1].node } case 434: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:3138 + //line php5/php5.y:3141 { yyVAL.node = yyDollar[1].node @@ -5965,25 +5968,25 @@ yydefault: } case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3191 + //line php5/php5.y:3194 { yyVAL.node = yyDollar[1].node } case 436: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3196 + //line php5/php5.y:3199 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 437: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3198 + //line php5/php5.y:3201 { yyVAL.list = []node.Node{} } case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3204 + //line php5/php5.y:3207 { if yyDollar[3].list != nil { yyDollar[3].list[0].(*expr.MethodCall).Method = yyDollar[2].list[len(yyDollar[2].list)-1].(*expr.PropertyFetch).Property @@ -5994,7 +5997,7 @@ yydefault: } case 439: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3216 + //line php5/php5.y:3219 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -6003,7 +6006,7 @@ yydefault: } case 440: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3223 + //line php5/php5.y:3226 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -6012,38 +6015,38 @@ yydefault: } case 441: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3233 + //line php5/php5.y:3236 { yyVAL.node = expr.NewMethodCall(nil, nil, yyDollar[1].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].nodesWithEndToken.nodes, yyDollar[1].nodesWithEndToken.endToken)) } case 442: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3241 + //line php5/php5.y:3244 { yyVAL.list = []node.Node{yyDollar[1].node} } case 443: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3243 + //line php5/php5.y:3246 { yyVAL.list = yyDollar[1].list } case 444: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3245 + //line php5/php5.y:3248 { yyVAL.list = nil } case 445: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3250 + //line php5/php5.y:3253 { yyVAL.node = yyDollar[1].node } case 446: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3252 + //line php5/php5.y:3255 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -6055,7 +6058,7 @@ yydefault: } case 447: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3265 + //line php5/php5.y:3268 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -6063,7 +6066,7 @@ yydefault: } case 448: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3271 + //line php5/php5.y:3274 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -6071,13 +6074,13 @@ yydefault: } case 449: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3281 + //line php5/php5.y:3284 { yyVAL.node = yyDollar[1].node } case 450: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3286 + //line php5/php5.y:3289 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -6085,7 +6088,7 @@ yydefault: } case 451: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3292 + //line php5/php5.y:3295 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -6093,31 +6096,31 @@ yydefault: } case 452: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3300 + //line php5/php5.y:3303 { yyVAL.node = yyDollar[1].node } case 453: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3301 + //line php5/php5.y:3304 { yyVAL.node = yyDollar[1].node } case 454: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3302 + //line php5/php5.y:3305 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3308 + //line php5/php5.y:3311 { yyVAL.node = yyDollar[1].node } case 456: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3310 + //line php5/php5.y:3313 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -6129,13 +6132,13 @@ yydefault: } case 457: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3320 + //line php5/php5.y:3323 { yyVAL.node = yyDollar[1].node } case 458: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3325 + //line php5/php5.y:3328 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -6143,7 +6146,7 @@ yydefault: } case 459: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3331 + //line php5/php5.y:3334 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -6151,13 +6154,13 @@ yydefault: } case 460: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3337 + //line php5/php5.y:3340 { yyVAL.node = yyDollar[1].node } case 461: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3343 + //line php5/php5.y:3346 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6169,7 +6172,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3353 + //line php5/php5.y:3356 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6177,25 +6180,25 @@ yydefault: } case 463: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3362 + //line php5/php5.y:3365 { yyVAL.node = nil } case 464: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3364 + //line php5/php5.y:3367 { yyVAL.node = yyDollar[1].node } case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3370 + //line php5/php5.y:3373 { yyVAL.list = yyDollar[1].list } case 466: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3372 + //line php5/php5.y:3375 { fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -6204,7 +6207,7 @@ yydefault: } case 467: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3382 + //line php5/php5.y:3385 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -6213,7 +6216,7 @@ yydefault: } case 468: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3389 + //line php5/php5.y:3392 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -6222,7 +6225,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3396 + //line php5/php5.y:3399 { fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) positions.AddPosition(fetch, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -6231,7 +6234,7 @@ yydefault: } case 470: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3406 + //line php5/php5.y:3409 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6239,13 +6242,13 @@ yydefault: } case 471: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3412 + //line php5/php5.y:3415 { yyVAL.node = yyDollar[2].node } case 472: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3417 + //line php5/php5.y:3420 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6255,7 +6258,7 @@ yydefault: } case 473: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3425 + //line php5/php5.y:3428 { n := expr.NewVariable(nil) positions.AddPosition(n, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -6269,13 +6272,13 @@ yydefault: } case 474: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3440 + //line php5/php5.y:3443 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 475: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3442 + //line php5/php5.y:3445 { if yyDollar[1].node == nil { yyVAL.list = []node.Node{} @@ -6285,7 +6288,7 @@ yydefault: } case 476: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3454 + //line php5/php5.y:3457 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -6293,7 +6296,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3460 + //line php5/php5.y:3463 { item := expr.NewList(yyDollar[3].list) positions.AddPosition(item, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6305,25 +6308,25 @@ yydefault: } case 478: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3470 + //line php5/php5.y:3473 { yyVAL.node = nil } case 479: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3476 + //line php5/php5.y:3479 { yyVAL.list = []node.Node{} } case 480: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3478 + //line php5/php5.y:3481 { yyVAL.list = yyDollar[1].list } case 481: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:3483 + //line php5/php5.y:3486 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -6333,7 +6336,7 @@ yydefault: } case 482: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3491 + //line php5/php5.y:3494 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -6343,7 +6346,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3499 + //line php5/php5.y:3502 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -6353,7 +6356,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3507 + //line php5/php5.y:3510 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(arrayItem, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -6363,7 +6366,7 @@ yydefault: } case 485: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:3515 + //line php5/php5.y:3518 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -6373,7 +6376,7 @@ yydefault: } case 486: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3523 + //line php5/php5.y:3526 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -6383,7 +6386,7 @@ yydefault: } case 487: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3531 + //line php5/php5.y:3534 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(arrayItem, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -6393,7 +6396,7 @@ yydefault: } case 488: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3539 + //line php5/php5.y:3542 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(arrayItem, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6403,13 +6406,13 @@ yydefault: } case 489: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3550 + //line php5/php5.y:3553 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 490: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3552 + //line php5/php5.y:3555 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -6418,13 +6421,13 @@ yydefault: } case 491: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3559 + //line php5/php5.y:3562 { yyVAL.list = []node.Node{yyDollar[1].node} } case 492: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3561 + //line php5/php5.y:3564 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6433,7 +6436,7 @@ yydefault: } case 493: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3571 + //line php5/php5.y:3574 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6445,7 +6448,7 @@ yydefault: } case 494: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3581 + //line php5/php5.y:3584 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6460,7 +6463,7 @@ yydefault: } case 495: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3594 + //line php5/php5.y:3597 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6478,7 +6481,7 @@ yydefault: } case 496: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3610 + //line php5/php5.y:3613 { yyVAL.node = yyDollar[2].node positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -6486,7 +6489,7 @@ yydefault: } case 497: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:3616 + //line php5/php5.y:3619 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -6501,13 +6504,13 @@ yydefault: } case 498: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3630 + //line php5/php5.y:3633 { yyVAL.node = yyDollar[2].node } case 499: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3635 + //line php5/php5.y:3638 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6515,7 +6518,7 @@ yydefault: } case 500: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3641 + //line php5/php5.y:3644 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -6529,7 +6532,7 @@ yydefault: } case 501: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3653 + //line php5/php5.y:3656 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6541,7 +6544,7 @@ yydefault: } case 502: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3666 + //line php5/php5.y:3669 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6549,7 +6552,7 @@ yydefault: } case 503: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3672 + //line php5/php5.y:3675 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6557,7 +6560,7 @@ yydefault: } case 504: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3678 + //line php5/php5.y:3681 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6565,7 +6568,7 @@ yydefault: } case 505: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3684 + //line php5/php5.y:3687 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6573,7 +6576,7 @@ yydefault: } case 506: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3690 + //line php5/php5.y:3693 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6581,7 +6584,7 @@ yydefault: } case 507: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3696 + //line php5/php5.y:3699 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6589,7 +6592,7 @@ yydefault: } case 508: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3702 + //line php5/php5.y:3705 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6597,7 +6600,7 @@ yydefault: } case 509: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3708 + //line php5/php5.y:3711 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6605,31 +6608,31 @@ yydefault: } case 510: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3717 + //line php5/php5.y:3720 { yyVAL.list = []node.Node{yyDollar[1].node} } case 511: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3719 + //line php5/php5.y:3722 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 512: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3724 + //line php5/php5.y:3727 { yyVAL.node = yyDollar[1].node } case 513: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3726 + //line php5/php5.y:3729 { yyVAL.node = yyDollar[1].node } case 514: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3731 + //line php5/php5.y:3734 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6641,7 +6644,7 @@ yydefault: } case 515: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3741 + //line php5/php5.y:3744 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6653,7 +6656,7 @@ yydefault: } case 516: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3754 + //line php5/php5.y:3757 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6665,7 +6668,7 @@ yydefault: } case 517: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3767 + //line php5/php5.y:3770 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index 9d33ac7..2879901 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -203,7 +203,7 @@ import ( %type variable_name variable_without_objects dynamic_class_name_reference new_expr class_name_reference static_member %type function_call fully_qualified_class_name combined_scalar combined_scalar_offset general_constant parenthesis_expr %type exit_expr yield_expr function_declaration_statement class_declaration_statement constant_declaration -%type else_single new_else_single for_statement unset_variable foreach_statement declare_statement +%type else_single new_else_single unset_variable foreach_statement declare_statement %type finally_statement additional_catch unticked_function_declaration_statement unticked_class_declaration_statement %type optional_class_type parameter class_entry_type extends_from class_statement class_constant_declaration %type trait_use_statement function_call_parameter trait_adaptation_statement trait_precedence trait_alias @@ -227,7 +227,7 @@ import ( %type foreach_variable foreach_optional_arg %type ctor_arguments function_call_parameter_list switch_case_list method_body trait_adaptations %type is_reference is_variadic -%type while_statement +%type while_statement for_statement %% @@ -619,8 +619,12 @@ unticked_statement: } | T_FOR '(' for_expr ';' for_expr ';' for_expr ')' for_statement { - $$ = stmt.NewFor($3, $5, $7, $9) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $9)) + if ($9.isAlt) { + $$ = stmt.NewAltFor($3, $5, $7, $9.node) + } else { + $$ = stmt.NewFor($3, $5, $7, $9.node) + } + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $9.node)) comments.AddComments($$, $1.Comments()) } | T_SWITCH parenthesis_expr switch_case_list @@ -1012,12 +1016,11 @@ foreach_variable: for_statement: statement - { $$ = $1; } - | ':' inner_statement_list T_ENDFOR ';' + { $$ = altSyntaxNode{$1, false} } + | ':' inner_statement_list T_ENDFOR ';' { - $$ = stmt.NewStmtList($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) - comments.AddComments($$, $1.Comments()) + $$ = altSyntaxNode{stmt.NewStmtList($2), true} + positions.AddPosition($$.node, positionBuilder.NewTokensPosition($1, $4)) } ; diff --git a/php5/php5_test.go b/php5/php5_test.go index 5880746..48730b6 100644 --- a/php5/php5_test.go +++ b/php5/php5_test.go @@ -1054,7 +1054,7 @@ CAD; }, Stmt: &stmt.StmtList{Stmts: []node.Node{}}, }, - &stmt.For{ + &stmt.AltFor{ Cond: []node.Node{ &binary_op.Smaller{ Left: &expr.Variable{VarName: &node.Identifier{Value: "$i"}}, diff --git a/php7/php7.go b/php7/php7.go index 9c2158f..4d3b805 100644 --- a/php7/php7.go +++ b/php7/php7.go @@ -344,7 +344,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php7/php7.y:2594 +//line php7/php7.y:2598 //line yacctab:1 var yyExca = [...]int{ @@ -596,19 +596,19 @@ var yyAct = [...]int{ 544, 798, 254, 667, 668, 544, 544, 420, 777, 534, 229, 743, 744, 745, 742, 741, 740, 808, 814, 766, 767, 699, 133, 632, 375, 111, 816, 373, 804, 769, - 766, 767, 194, 822, 193, 192, 825, 186, 1, 637, - 815, 254, 821, 37, 231, 737, 277, 734, 735, 832, - 379, 661, 367, 651, 529, 221, 828, 519, 858, 254, - 365, 847, 871, 144, 281, 525, 255, 256, 849, 841, - 790, 141, 544, 321, 544, 846, 148, 834, 803, 684, - 254, 658, 844, 851, 865, 251, 669, 820, 250, 856, - 838, 869, 773, 643, 878, 864, 837, 882, 883, 926, - 223, 42, 877, 41, 278, 255, 256, 888, 231, 889, - 15, 14, 597, 893, 266, 887, 48, 47, 107, 896, - 49, 82, 894, 255, 256, 878, 897, 80, 71, 544, - 895, 247, 899, 877, 61, 264, 906, 60, 876, 875, - 717, 874, 873, 733, 255, 256, 44, 910, 663, 721, - 655, 843, 309, 911, 117, 296, 3, 433, 917, 920, + 766, 767, 194, 822, 193, 192, 825, 186, 1, 843, + 815, 254, 821, 637, 231, 37, 277, 737, 734, 832, + 735, 379, 367, 651, 661, 529, 828, 221, 519, 254, + 858, 847, 365, 871, 281, 525, 255, 256, 849, 841, + 144, 790, 544, 141, 544, 846, 321, 148, 803, 684, + 254, 834, 844, 851, 865, 251, 669, 658, 820, 856, + 250, 869, 773, 838, 878, 864, 837, 882, 883, 643, + 926, 223, 877, 42, 278, 255, 256, 888, 231, 889, + 41, 15, 14, 893, 597, 887, 266, 48, 47, 896, + 107, 49, 894, 255, 256, 878, 897, 82, 80, 544, + 895, 71, 899, 877, 247, 61, 906, 264, 60, 876, + 717, 875, 874, 873, 255, 256, 733, 910, 44, 663, + 721, 655, 309, 911, 117, 296, 3, 433, 917, 920, 913, 786, 916, 915, 577, 727, 0, 921, 0, 0, 922, 0, 0, 0, 669, 0, 0, 925, 0, 0, 929, 0, 87, 88, 69, 46, 92, 93, 35, 0, @@ -1341,17 +1341,17 @@ var yyPgo = [...]int{ 0, 915, 911, 51, 9, 907, 3, 906, 11, 24, 81, 80, 46, 45, 905, 29, 904, 77, 70, 61, - 902, 0, 50, 901, 15, 900, 899, 35, 237, 38, - 20, 898, 32, 896, 62, 54, 893, 10, 892, 891, - 889, 888, 13, 55, 887, 885, 100, 95, 199, 884, - 881, 878, 5, 877, 85, 41, 871, 141, 43, 870, - 868, 867, 866, 864, 79, 862, 861, 860, 853, 12, - 851, 850, 47, 40, 31, 2, 14, 673, 8, 702, - 25, 849, 843, 840, 37, 82, 550, 838, 121, 837, - 831, 827, 86, 826, 36, 823, 821, 30, 33, 820, - 813, 28, 812, 810, 542, 808, 18, 807, 805, 39, - 804, 78, 1, 4, 801, 17, 800, 44, 798, 797, - 795, 7, 793, 6, 789, 788, 19, 16, + 902, 0, 50, 15, 901, 900, 35, 237, 38, 20, + 899, 32, 898, 62, 54, 896, 10, 893, 892, 891, + 889, 13, 55, 888, 887, 100, 95, 199, 885, 884, + 881, 5, 878, 85, 41, 877, 141, 43, 871, 870, + 868, 867, 866, 79, 864, 862, 861, 860, 12, 853, + 851, 47, 40, 31, 2, 14, 673, 8, 702, 25, + 850, 849, 843, 37, 82, 550, 840, 121, 838, 837, + 831, 86, 827, 36, 826, 823, 30, 33, 821, 820, + 28, 813, 812, 542, 810, 18, 808, 807, 39, 805, + 78, 1, 4, 804, 17, 801, 44, 800, 798, 797, + 7, 795, 6, 793, 789, 788, 19, 16, } var yyR1 = [...]int{ @@ -1362,48 +1362,48 @@ 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, 5, - 5, 5, 5, 5, 5, 5, 6, 6, 111, 111, - 88, 88, 8, 8, 8, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 79, - 79, 14, 14, 16, 16, 126, 126, 98, 98, 97, - 97, 104, 104, 15, 15, 18, 18, 17, 17, 92, - 92, 112, 112, 20, 20, 20, 20, 20, 20, 9, + 5, 5, 5, 5, 5, 5, 6, 6, 110, 110, + 87, 87, 8, 8, 8, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 78, + 78, 14, 14, 16, 16, 126, 126, 97, 97, 96, + 96, 103, 103, 15, 15, 18, 18, 17, 17, 91, + 91, 111, 111, 20, 20, 20, 20, 20, 20, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 90, 90, 89, 89, 26, 26, 103, - 103, 27, 10, 1, 1, 2, 2, 11, 11, 122, - 122, 77, 77, 12, 13, 29, 29, 116, 116, 117, - 117, 80, 80, 80, 80, 23, 23, 24, 24, 25, - 25, 82, 82, 82, 82, 101, 101, 101, 127, 127, - 124, 124, 68, 68, 66, 66, 70, 70, 67, 67, - 113, 113, 114, 114, 30, 30, 31, 31, 76, 76, - 74, 74, 74, 75, 75, 84, 84, 110, 110, 32, - 32, 96, 96, 34, 100, 100, 35, 35, 115, 115, - 36, 36, 36, 36, 121, 121, 83, 83, 83, 102, - 102, 37, 37, 38, 39, 39, 39, 39, 41, 41, - 40, 81, 81, 119, 119, 118, 118, 120, 120, 78, - 78, 78, 78, 78, 78, 99, 99, 42, 42, 91, - 91, 69, 19, 93, 93, 43, 94, 94, 95, 95, - 45, 44, 44, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 123, - 3, 3, 106, 106, 105, 105, 52, 52, 53, 53, - 53, 53, 46, 46, 47, 47, 50, 50, 87, 87, - 87, 85, 85, 57, 57, 57, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 58, 58, 58, 21, 21, 22, 22, 56, - 59, 59, 59, 60, 60, 60, 61, 61, 61, 61, - 61, 61, 28, 28, 28, 48, 48, 48, 62, 62, - 63, 63, 63, 63, 63, 63, 54, 54, 54, 55, - 55, 55, 109, 72, 72, 108, 108, 71, 71, 71, - 71, 71, 71, 86, 86, 86, 86, 64, 64, 64, - 64, 64, 64, 64, 65, 65, 65, 65, 49, 49, - 49, 49, 49, 49, 49, 107, 107, 73, + 9, 9, 9, 89, 89, 88, 88, 25, 25, 102, + 102, 26, 10, 1, 1, 2, 2, 11, 11, 121, + 121, 76, 76, 12, 13, 28, 28, 115, 115, 116, + 116, 79, 79, 79, 79, 124, 124, 23, 23, 24, + 24, 81, 81, 81, 81, 100, 100, 100, 127, 127, + 123, 123, 67, 67, 65, 65, 69, 69, 66, 66, + 112, 112, 113, 113, 29, 29, 30, 30, 75, 75, + 73, 73, 73, 74, 74, 83, 83, 109, 109, 31, + 31, 95, 95, 33, 99, 99, 34, 34, 114, 114, + 35, 35, 35, 35, 120, 120, 82, 82, 82, 101, + 101, 36, 36, 37, 38, 38, 38, 38, 40, 40, + 39, 80, 80, 118, 118, 117, 117, 119, 119, 77, + 77, 77, 77, 77, 77, 98, 98, 41, 41, 90, + 90, 68, 19, 92, 92, 42, 93, 93, 94, 94, + 44, 43, 43, 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, 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, 32, 32, 32, 32, 32, 32, 32, 32, 122, + 3, 3, 105, 105, 104, 104, 51, 51, 52, 52, + 52, 52, 45, 45, 46, 46, 49, 49, 86, 86, + 86, 84, 84, 56, 56, 56, 50, 50, 50, 50, + 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, + 50, 50, 57, 57, 57, 21, 21, 22, 22, 55, + 58, 58, 58, 59, 59, 59, 60, 60, 60, 60, + 60, 60, 27, 27, 27, 47, 47, 47, 61, 61, + 62, 62, 62, 62, 62, 62, 53, 53, 53, 54, + 54, 54, 108, 71, 71, 107, 107, 70, 70, 70, + 70, 70, 70, 85, 85, 85, 85, 63, 63, 63, + 63, 63, 63, 63, 64, 64, 64, 64, 48, 48, + 48, 48, 48, 48, 48, 106, 106, 72, } var yyR2 = [...]int{ @@ -1459,99 +1459,99 @@ var yyR2 = [...]int{ } var yyChk = [...]int{ - -1000, -125, -111, -7, -9, -10, -11, -12, -13, 51, - 79, 44, 38, 119, -66, -67, 21, 20, 23, 30, + -1000, -125, -110, -7, -9, -10, -11, -12, -13, 51, + 79, 44, 38, 119, -65, -66, 21, 20, 23, 30, 34, 35, 39, 46, 98, 19, 14, -21, 48, 25, - 27, 121, 40, 43, 36, 10, 37, -122, 52, 53, - 54, -68, -70, -28, -33, -77, 7, -61, -62, -59, + 27, 121, 40, 43, 36, 10, 37, -121, 52, 53, + 54, -67, -69, -27, -32, -76, 7, -60, -61, -58, 59, 125, 92, 104, 105, 130, 129, 131, 132, 123, - -44, -49, 107, 108, 109, 110, 111, 112, 113, 6, - 133, -51, 118, 96, 97, 106, 99, 100, -48, -58, - -53, -46, -56, -57, 91, 49, 50, 4, 5, 84, + -43, -48, 107, 108, 109, 110, 111, 112, 113, 6, + 133, -50, 118, 96, 97, 106, 99, 100, -47, -57, + -52, -45, -55, -56, 91, 49, 50, 4, 5, 84, 85, 86, 8, 9, 66, 67, 81, 63, 64, 65, - 80, 62, 74, 117, 12, 134, -8, -60, 60, 18, - -88, 82, 123, 82, -88, 119, 10, -16, -79, -104, - -88, 82, 37, 38, -17, -18, -92, -19, 10, -112, + 80, 62, 74, 117, 12, 134, -8, -59, 60, 18, + -87, 82, 123, 82, -87, 119, 10, -16, -78, -103, + -87, 82, 37, 38, -17, -18, -91, -19, 10, -111, 123, -9, 37, 79, 123, 123, -22, -21, 98, -22, - -22, -96, -34, -48, -100, 37, -35, 12, -93, -43, + -22, -95, -33, -47, -99, 37, -34, 12, -92, -42, -21, 121, 149, 150, 87, 89, 88, 151, 128, 152, 163, 130, 129, 164, 167, 165, 166, 161, 162, 155, 156, 153, 154, 157, 158, 159, 160, 115, 90, 127, 114, 123, 123, 123, 119, -21, 10, 122, -3, 128, - 52, -77, 10, 10, 10, 93, 94, 93, 95, 94, + 52, -76, 10, 10, 10, 93, 94, 93, 95, 94, 136, 137, 138, 139, 148, 140, 141, 142, 143, 144, 145, 146, 147, 104, 105, 123, 125, 119, 57, 123, - -109, -108, -72, -71, -21, 128, 59, -21, -28, -58, - 123, -57, 98, 125, -28, -21, -21, -21, -21, -21, - -21, -21, -21, -21, -21, -21, -21, -50, 123, -21, - -87, 17, -86, -64, 12, 76, 77, -21, -21, -21, - 125, 78, 78, -47, -45, -46, -63, 52, -8, -48, - 123, 123, -21, -21, 123, -21, -21, 17, 75, -86, - -86, 17, 119, -48, -84, 123, -84, 123, 82, -88, - 124, -88, 121, 119, -111, 121, -14, -104, -88, 82, - 121, 135, 82, 29, -88, -18, 121, 135, 136, -20, + -108, -107, -71, -70, -21, 128, 59, -21, -27, -57, + 123, -56, 98, 125, -27, -21, -21, -21, -21, -21, + -21, -21, -21, -21, -21, -21, -21, -49, 123, -21, + -86, 17, -85, -63, 12, 76, 77, -21, -21, -21, + 125, 78, 78, -46, -44, -45, -62, 52, -8, -47, + 123, 123, -21, -21, 123, -21, -21, 17, 75, -85, + -85, 17, 119, -47, -83, 123, -83, 123, 82, -87, + 124, -87, 121, 119, -110, 121, -14, -103, -87, 82, + 121, 135, 82, 29, -87, -18, 121, 135, 136, -20, 120, -9, -10, -11, -12, -13, 51, -21, 21, -3, - -94, -95, -21, -21, 121, 121, 121, 121, 135, 121, + -93, -94, -21, -21, 121, 121, 121, 121, 135, 121, 135, -3, 136, 121, 135, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -47, -21, 122, -21, -103, -27, -28, -21, -92, - -112, 121, 121, 10, -123, 10, -29, 55, -123, -116, + -21, -46, -21, 122, -21, -102, -26, -27, -21, -91, + -111, 121, 121, 10, -122, 10, -28, 55, -122, -115, 55, 123, -9, 123, 121, 122, -21, 128, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -22, -21, -55, 10, 119, -48, -109, 126, 135, - 58, -28, 123, -21, -109, 124, -22, 118, -64, -64, - 17, 125, 57, -21, 11, -28, 58, -22, -54, -6, - -48, 119, 10, -5, -4, 98, 99, 100, 101, 102, + -21, -22, -21, -54, 10, 119, -47, -108, 126, 135, + 58, -27, 123, -21, -108, 124, -22, 118, -63, -63, + 17, 125, 57, -21, 11, -27, 58, -22, -53, -6, + -47, 119, 10, -5, -4, 98, 99, 100, 101, 102, 103, 4, 5, 84, 85, 86, 87, 88, 89, 90, 91, 92, 6, 7, 93, 94, 95, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 35, 36, 37, 38, 39, 96, 97, 59, 30, 31, 32, 33, 34, 60, 61, 55, 56, 79, 53, 54, 52, - 62, 63, 65, 64, 66, 67, 81, 80, -54, -6, - -48, -85, -84, 78, 125, 119, 57, 78, -85, -107, - -73, -21, -21, -21, 75, 75, 117, -21, 124, -110, - -32, -21, 83, -109, 10, 121, -111, 120, 121, 121, - 82, -88, -17, 82, -88, 119, 10, 82, -19, -21, - 123, 124, 123, 121, 135, 124, -34, -35, -123, -21, - -43, 122, -21, -126, 135, 29, 124, 120, -123, 123, - -29, -117, 56, -8, 119, -123, -121, -8, -21, -21, - -112, -21, 124, 126, 120, -84, -21, 124, 136, -72, - -21, 128, 59, -109, 124, 126, 124, -65, 10, 13, - 129, 12, 10, 120, 120, 125, 120, -21, 126, -84, - -21, -84, -48, -22, -21, -55, -48, -29, -126, 135, + 62, 63, 65, 64, 66, 67, 81, 80, -53, -6, + -47, -84, -83, 78, 125, 119, 57, 78, -84, -106, + -72, -21, -21, -21, 75, 75, 117, -21, 124, -109, + -31, -21, 83, -108, 10, 121, -110, 120, 121, 121, + 82, -87, -17, 82, -87, 119, 10, 82, -19, -21, + 123, 124, 123, 121, 135, 124, -33, -34, -122, -21, + -42, 122, -21, -126, 135, 29, 124, 120, -122, 123, + -28, -116, 56, -8, 119, -122, -120, -8, -21, -21, + -111, -21, 124, 126, 120, -83, -21, 124, 136, -71, + -21, 128, 59, -108, 124, 126, 124, -64, 10, 13, + 129, 12, 10, 120, 120, 125, 120, -21, 126, -83, + -21, -83, -47, -22, -21, -54, -47, -28, -126, 135, 124, 124, 120, -126, 135, -21, 124, 120, 119, 82, - -98, -15, -18, -79, 119, -123, 124, -124, -9, 122, - -21, -94, -21, -82, 119, 122, 123, -21, 124, -27, - -80, -28, 128, 59, 125, -25, -9, 122, -90, 123, - -113, -114, -30, -31, -76, -74, 127, 60, 61, -8, - -117, -123, -121, -115, 119, 135, 124, 124, 95, -9, - 122, 120, 136, -21, -28, 123, 124, 126, 13, -21, - 120, 126, 120, -117, 124, -73, 124, -32, -97, -18, - 119, -126, 135, -18, -98, 121, -112, 124, 121, -101, - 121, -101, 121, -113, 121, 124, 58, -28, 123, -109, - -112, -26, 41, 42, -113, 124, 135, -1, 128, -74, - -123, 119, 120, -36, -119, -118, 44, -120, 47, -78, - 103, 102, 101, 98, 99, 100, -115, -8, -9, 122, - 121, -112, -21, -109, 126, -123, -126, 135, -97, 120, - -15, -126, 22, 121, -94, 120, 32, 33, -101, 31, - -101, 124, -24, -9, 122, -80, -28, -109, 126, 28, - 123, 119, 124, -106, 44, -30, -2, 83, 119, -115, - -99, -42, 12, 38, 37, -121, -78, 120, -112, 124, + -97, -15, -18, -78, 119, -122, 124, -123, -9, 122, + -21, -93, -21, -81, 119, 122, 123, -21, 124, -26, + -79, -27, 128, 59, 125, -24, -9, 122, -89, 123, + -112, -113, -29, -30, -75, -73, 127, 60, 61, -8, + -116, -122, -120, -114, 119, 135, 124, 124, 95, -9, + 122, 120, 136, -21, -27, 123, 124, 126, 13, -21, + 120, 126, 120, -116, 124, -72, 124, -31, -96, -18, + 119, -126, 135, -18, -97, 121, -111, 124, 121, -100, + 121, -100, 121, -112, 121, 124, 58, -27, 123, -108, + -111, -25, 41, 42, -112, 124, 135, -1, 128, -73, + -122, 119, 120, -35, -118, -117, 44, -119, 47, -77, + 103, 102, 101, 98, 99, 100, -114, -8, -9, 122, + 121, -111, -21, -108, 126, -122, -126, 135, -96, 120, + -15, -126, 22, 121, -93, 120, 32, 33, -100, 31, + -100, 124, -23, -9, 122, -79, -27, -108, 126, 28, + 123, 119, 124, -105, 44, -29, -2, 83, 119, -114, + -98, -41, 12, 38, 37, -120, -77, 120, -111, 124, 120, 119, 120, -18, -126, 120, 121, 124, -21, -127, - 122, 121, 120, 121, 31, -106, -112, 124, 124, 121, - -89, -8, -112, -75, 122, -75, 123, 12, -115, 120, - 121, 135, -123, 136, -91, -69, -6, -3, -83, 121, - 119, -115, 120, -23, -9, 122, -127, -112, 121, -75, - 26, -24, 12, 151, 120, 119, -76, 119, -105, -52, - 12, 128, 136, 120, -42, -21, 121, 135, 136, -6, - 120, -102, -37, -38, -39, -40, -41, -8, -6, 79, - 10, 120, -112, -112, 119, 121, 124, -8, -112, -112, - 124, 135, 12, -21, -123, -69, -21, -123, 120, -37, - 121, 121, 45, 29, 78, 24, -112, 119, 120, 120, - -52, -123, 123, -121, 10, -4, -78, -6, 121, 120, - -112, -113, -6, 120, 124, -75, -81, 121, 119, -112, + 122, 121, 120, 121, 31, -105, -111, 124, 124, 121, + -88, -8, -111, -74, 122, -74, 123, 12, -114, 120, + 121, 135, -122, 136, -90, -68, -6, -3, -82, 121, + 119, -114, 120, -124, -9, 122, -127, -111, 121, -74, + 26, -23, 12, 151, 120, 119, -75, 119, -104, -51, + 12, 128, 136, 120, -41, -21, 121, 135, 136, -6, + 120, -101, -36, -37, -38, -39, -40, -8, -6, 79, + 10, 120, -111, -111, 119, 121, 124, -8, -111, -111, + 124, 135, 12, -21, -122, -68, -21, -122, 120, -36, + 121, 121, 45, 29, 78, 24, -111, 119, 120, 120, + -51, -122, 123, -120, 10, -4, -77, -6, 121, 120, + -111, -112, -6, 120, 124, -74, -80, 121, 119, -111, 120, } var yyDef = [...]int{ @@ -2901,13 +2901,17 @@ yydefault: yyDollar = yyS[yypt-9 : yypt+1] //line php7/php7.y:544 { - yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].node) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) + if yyDollar[9].altSyntaxNode.isAlt { + yyVAL.node = stmt.NewAltFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].altSyntaxNode.node) + } else { + yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].altSyntaxNode.node) + } + positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].altSyntaxNode.node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 135: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:550 + //line php7/php7.y:554 { yyVAL.node = stmt.NewSwitch(yyDollar[3].node, yyDollar[5].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].nodesWithEndToken.endToken)) @@ -2915,7 +2919,7 @@ yydefault: } case 136: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:556 + //line php7/php7.y:560 { yyVAL.node = stmt.NewBreak(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2923,7 +2927,7 @@ yydefault: } case 137: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:562 + //line php7/php7.y:566 { yyVAL.node = stmt.NewContinue(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2931,7 +2935,7 @@ yydefault: } case 138: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:568 + //line php7/php7.y:572 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2939,7 +2943,7 @@ yydefault: } case 139: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:574 + //line php7/php7.y:578 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2947,7 +2951,7 @@ yydefault: } case 140: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:580 + //line php7/php7.y:584 { yyVAL.node = stmt.NewStatic(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2955,7 +2959,7 @@ yydefault: } case 141: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:586 + //line php7/php7.y:590 { yyVAL.node = stmt.NewEcho(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2963,7 +2967,7 @@ yydefault: } case 142: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:592 + //line php7/php7.y:596 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2971,7 +2975,7 @@ yydefault: } case 143: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:598 + //line php7/php7.y:602 { yyVAL.node = stmt.NewExpression(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -2979,7 +2983,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:604 + //line php7/php7.y:608 { yyVAL.node = stmt.NewUnset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) @@ -2987,7 +2991,7 @@ yydefault: } case 145: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:610 + //line php7/php7.y:614 { yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[7].node, yyDollar[5].foreachVariable.byRef) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[7].node)) @@ -2995,7 +2999,7 @@ yydefault: } case 146: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:616 + //line php7/php7.y:620 { yyVAL.node = stmt.NewForeach(yyDollar[3].node, yyDollar[5].node, yyDollar[7].foreachVariable.node, yyDollar[9].node, yyDollar[7].foreachVariable.byRef) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) @@ -3003,7 +3007,7 @@ yydefault: } case 147: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:622 + //line php7/php7.y:626 { yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -3011,7 +3015,7 @@ yydefault: } case 148: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:628 + //line php7/php7.y:632 { yyVAL.node = stmt.NewNop() positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3019,7 +3023,7 @@ yydefault: } case 149: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:634 + //line php7/php7.y:638 { if yyDollar[6].node == nil { yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) @@ -3033,7 +3037,7 @@ yydefault: } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:646 + //line php7/php7.y:650 { yyVAL.node = stmt.NewThrow(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3041,7 +3045,7 @@ yydefault: } case 151: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:652 + //line php7/php7.y:656 { label := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3053,7 +3057,7 @@ yydefault: } case 152: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:662 + //line php7/php7.y:666 { label := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3065,13 +3069,13 @@ yydefault: } case 153: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:673 + //line php7/php7.y:677 { yyVAL.list = []node.Node{} } case 154: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:675 + //line php7/php7.y:679 { identifier := node.NewIdentifier(yyDollar[5].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[5].token)) @@ -3087,25 +3091,25 @@ yydefault: } case 155: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:690 + //line php7/php7.y:694 { yyVAL.list = []node.Node{yyDollar[1].node} } case 156: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:691 + //line php7/php7.y:695 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 157: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:695 + //line php7/php7.y:699 { yyVAL.node = nil } case 158: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:697 + //line php7/php7.y:701 { yyVAL.node = stmt.NewFinally(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3113,25 +3117,25 @@ yydefault: } case 159: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:705 + //line php7/php7.y:709 { yyVAL.list = []node.Node{yyDollar[1].node} } case 160: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:706 + //line php7/php7.y:710 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 161: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:710 + //line php7/php7.y:714 { yyVAL.node = yyDollar[1].node } case 162: yyDollar = yyS[yypt-11 : yypt+1] - //line php7/php7.y:715 + //line php7/php7.y:719 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3143,31 +3147,31 @@ yydefault: } case 163: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:727 + //line php7/php7.y:731 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 164: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:728 + //line php7/php7.y:732 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 165: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:732 + //line php7/php7.y:736 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 166: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:733 + //line php7/php7.y:737 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 167: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:738 + //line php7/php7.y:742 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3179,7 +3183,7 @@ yydefault: } case 168: yyDollar = yyS[yypt-8 : yypt+1] - //line php7/php7.y:748 + //line php7/php7.y:752 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3191,19 +3195,19 @@ yydefault: } case 169: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:760 + //line php7/php7.y:764 { yyVAL.list = []node.Node{yyDollar[1].node} } case 170: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:761 + //line php7/php7.y:765 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 171: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:766 + //line php7/php7.y:770 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3211,7 +3215,7 @@ yydefault: } case 172: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:772 + //line php7/php7.y:776 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3219,7 +3223,7 @@ yydefault: } case 173: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:781 + //line php7/php7.y:785 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3231,7 +3235,7 @@ yydefault: } case 174: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:794 + //line php7/php7.y:798 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3243,55 +3247,55 @@ yydefault: } case 175: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:806 + //line php7/php7.y:810 { yyVAL.node = nil } case 176: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:807 + //line php7/php7.y:811 { yyVAL.node = yyDollar[2].node } case 177: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:811 + //line php7/php7.y:815 { yyVAL.list = nil } case 178: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:812 + //line php7/php7.y:816 { yyVAL.list = yyDollar[2].list } case 179: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:816 + //line php7/php7.y:820 { yyVAL.list = nil } case 180: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:817 + //line php7/php7.y:821 { yyVAL.list = yyDollar[2].list } case 181: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:821 + //line php7/php7.y:825 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 182: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:822 + //line php7/php7.y:826 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 183: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:824 + //line php7/php7.y:828 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3300,7 +3304,7 @@ yydefault: } case 184: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:831 + //line php7/php7.y:835 { list := expr.NewShortList(yyDollar[2].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3309,27 +3313,26 @@ yydefault: } case 185: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:840 + //line php7/php7.y:845 { - yyVAL.node = yyDollar[1].node + yyVAL.altSyntaxNode = altSyntaxNode{yyDollar[1].node, false} } case 186: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:842 + //line php7/php7.y:847 { - yyVAL.node = stmt.NewStmtList(yyDollar[2].list) - positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) - comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) + yyVAL.altSyntaxNode = altSyntaxNode{stmt.NewStmtList(yyDollar[2].list), true} + positions.AddPosition(yyVAL.altSyntaxNode.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:850 + //line php7/php7.y:854 { yyVAL.node = yyDollar[1].node } case 188: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:852 + //line php7/php7.y:856 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3337,13 +3340,13 @@ yydefault: } case 189: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:860 + //line php7/php7.y:864 { yyVAL.node = yyDollar[1].node } case 190: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:862 + //line php7/php7.y:866 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3351,37 +3354,37 @@ yydefault: } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:870 + //line php7/php7.y:874 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 192: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:871 + //line php7/php7.y:875 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} } case 193: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:872 + //line php7/php7.y:876 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 194: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:873 + //line php7/php7.y:877 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} } case 195: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:877 + //line php7/php7.y:881 { yyVAL.list = []node.Node{} } case 196: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:879 + //line php7/php7.y:883 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) @@ -3390,7 +3393,7 @@ yydefault: } case 197: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:886 + //line php7/php7.y:890 { _default := stmt.NewDefault(yyDollar[4].list) positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) @@ -3399,20 +3402,20 @@ yydefault: } case 200: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:901 + //line php7/php7.y:905 { yyVAL.altSyntaxNode = altSyntaxNode{yyDollar[1].node, false} } case 201: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:903 + //line php7/php7.y:907 { yyVAL.altSyntaxNode = altSyntaxNode{stmt.NewStmtList(yyDollar[2].list), true} positions.AddPosition(yyVAL.altSyntaxNode.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) } case 202: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:911 + //line php7/php7.y:915 { yyVAL.node = stmt.NewIf(yyDollar[3].node, yyDollar[5].node, nil, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -3420,7 +3423,7 @@ yydefault: } case 203: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:917 + //line php7/php7.y:921 { _elseIf := stmt.NewElseIf(yyDollar[4].node, yyDollar[6].node) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node)) @@ -3431,13 +3434,13 @@ yydefault: } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:928 + //line php7/php7.y:932 { yyVAL.node = yyDollar[1].node } case 205: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:930 + //line php7/php7.y:934 { _else := stmt.NewElse(yyDollar[3].node) positions.AddPosition(_else, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[3].node)) @@ -3448,7 +3451,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:942 + //line php7/php7.y:946 { stmts := stmt.NewStmtList(yyDollar[6].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[6].list)) @@ -3460,7 +3463,7 @@ yydefault: } case 207: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:952 + //line php7/php7.y:956 { stmts := stmt.NewStmtList(yyDollar[7].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[7].list)) @@ -3473,14 +3476,14 @@ yydefault: } case 208: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:966 + //line php7/php7.y:970 { yyVAL.node = yyDollar[1].node positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) } case 209: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:971 + //line php7/php7.y:975 { stmts := stmt.NewStmtList(yyDollar[4].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[4].list)) @@ -3494,31 +3497,31 @@ yydefault: } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:985 + //line php7/php7.y:989 { yyVAL.list = yyDollar[1].list } case 211: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:986 + //line php7/php7.y:990 { yyVAL.list = nil } case 212: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:990 + //line php7/php7.y:994 { yyVAL.list = []node.Node{yyDollar[1].node} } case 213: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:991 + //line php7/php7.y:995 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 214: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:996 + //line php7/php7.y:1000 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3548,7 +3551,7 @@ yydefault: } case 215: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:1024 + //line php7/php7.y:1028 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3578,25 +3581,25 @@ yydefault: } case 216: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1054 + //line php7/php7.y:1058 { yyVAL.node = nil } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1055 + //line php7/php7.y:1059 { yyVAL.node = yyDollar[1].node } case 218: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1059 + //line php7/php7.y:1063 { yyVAL.node = yyDollar[1].node } case 219: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1061 + //line php7/php7.y:1065 { yyVAL.node = node.NewNullable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3604,7 +3607,7 @@ yydefault: } case 220: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1070 + //line php7/php7.y:1074 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3612,7 +3615,7 @@ yydefault: } case 221: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1076 + //line php7/php7.y:1080 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3620,49 +3623,49 @@ yydefault: } case 222: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1081 + //line php7/php7.y:1085 { yyVAL.node = yyDollar[1].node } case 223: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1085 + //line php7/php7.y:1089 { yyVAL.node = nil } case 224: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1086 + //line php7/php7.y:1090 { yyVAL.node = yyDollar[2].node } case 225: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1090 + //line php7/php7.y:1094 { yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 226: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1091 + //line php7/php7.y:1095 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 227: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1095 + //line php7/php7.y:1099 { yyVAL.list = []node.Node{yyDollar[1].node} } case 228: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1096 + //line php7/php7.y:1100 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 229: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1101 + //line php7/php7.y:1105 { yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -3670,7 +3673,7 @@ yydefault: } case 230: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1107 + //line php7/php7.y:1111 { yyVAL.node = node.NewArgument(yyDollar[2].node, true, false) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3678,37 +3681,37 @@ yydefault: } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1115 + //line php7/php7.y:1119 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 232: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1116 + //line php7/php7.y:1120 { yyVAL.list = []node.Node{yyDollar[1].node} } case 233: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1120 + //line php7/php7.y:1124 { yyVAL.node = yyDollar[1].node } case 234: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1124 + //line php7/php7.y:1128 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 235: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1125 + //line php7/php7.y:1129 { yyVAL.list = []node.Node{yyDollar[1].node} } case 236: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1130 + //line php7/php7.y:1134 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3723,7 +3726,7 @@ yydefault: } case 237: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1143 + //line php7/php7.y:1147 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3738,19 +3741,19 @@ yydefault: } case 238: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1158 + //line php7/php7.y:1162 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 239: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1159 + //line php7/php7.y:1163 { yyVAL.list = []node.Node{} } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1164 + //line php7/php7.y:1168 { yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) @@ -3758,7 +3761,7 @@ yydefault: } case 241: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1170 + //line php7/php7.y:1174 { yyVAL.node = stmt.NewClassConstList(yyDollar[1].list, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[4].token)) @@ -3766,7 +3769,7 @@ yydefault: } case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1176 + //line php7/php7.y:1180 { yyVAL.node = stmt.NewTraitUse(yyDollar[2].list, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) @@ -3774,7 +3777,7 @@ yydefault: } case 243: yyDollar = yyS[yypt-10 : yypt+1] - //line php7/php7.y:1182 + //line php7/php7.y:1186 { name := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3786,61 +3789,61 @@ yydefault: } case 244: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1194 + //line php7/php7.y:1198 { yyVAL.list = []node.Node{yyDollar[1].node} } case 245: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1195 + //line php7/php7.y:1199 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 246: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1199 + //line php7/php7.y:1203 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 247: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1200 + //line php7/php7.y:1204 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[2].token} } case 248: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1201 + //line php7/php7.y:1205 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 249: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1205 + //line php7/php7.y:1209 { yyVAL.list = []node.Node{yyDollar[1].node} } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1206 + //line php7/php7.y:1210 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 251: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1210 + //line php7/php7.y:1214 { yyVAL.node = yyDollar[1].node } case 252: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1211 + //line php7/php7.y:1215 { yyVAL.node = yyDollar[1].node } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1216 + //line php7/php7.y:1220 { yyVAL.node = stmt.NewTraitUsePrecedence(yyDollar[1].node, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].list)) @@ -3848,7 +3851,7 @@ yydefault: } case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1225 + //line php7/php7.y:1229 { alias := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3860,7 +3863,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1235 + //line php7/php7.y:1239 { alias := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3872,7 +3875,7 @@ yydefault: } case 256: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1245 + //line php7/php7.y:1249 { alias := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3884,7 +3887,7 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1255 + //line php7/php7.y:1259 { yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -3892,7 +3895,7 @@ yydefault: } case 258: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1264 + //line php7/php7.y:1268 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3904,13 +3907,13 @@ yydefault: } case 259: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1273 + //line php7/php7.y:1277 { yyVAL.node = yyDollar[1].node } case 260: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1278 + //line php7/php7.y:1282 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3922,25 +3925,25 @@ yydefault: } case 261: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1290 + //line php7/php7.y:1294 { yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1291 + //line php7/php7.y:1295 { yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 263: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1295 + //line php7/php7.y:1299 { yyVAL.list = yyDollar[1].list } case 264: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1297 + //line php7/php7.y:1301 { modifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(modifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3949,31 +3952,31 @@ yydefault: } case 265: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1306 + //line php7/php7.y:1310 { yyVAL.list = nil } case 266: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1307 + //line php7/php7.y:1311 { yyVAL.list = yyDollar[1].list } case 267: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1311 + //line php7/php7.y:1315 { yyVAL.list = []node.Node{yyDollar[1].node} } case 268: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1312 + //line php7/php7.y:1316 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 269: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1317 + //line php7/php7.y:1321 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3981,7 +3984,7 @@ yydefault: } case 270: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1323 + //line php7/php7.y:1327 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3989,7 +3992,7 @@ yydefault: } case 271: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1329 + //line php7/php7.y:1333 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3997,7 +4000,7 @@ yydefault: } case 272: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1335 + //line php7/php7.y:1339 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4005,7 +4008,7 @@ yydefault: } case 273: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1341 + //line php7/php7.y:1345 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4013,7 +4016,7 @@ yydefault: } case 274: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1347 + //line php7/php7.y:1351 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4021,19 +4024,19 @@ yydefault: } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1355 + //line php7/php7.y:1359 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 276: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1356 + //line php7/php7.y:1360 { yyVAL.list = []node.Node{yyDollar[1].node} } case 277: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1361 + //line php7/php7.y:1365 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4048,7 +4051,7 @@ yydefault: } case 278: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1374 + //line php7/php7.y:1378 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4063,19 +4066,19 @@ yydefault: } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1389 + //line php7/php7.y:1393 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 280: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1390 + //line php7/php7.y:1394 { yyVAL.list = []node.Node{yyDollar[1].node} } case 281: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1395 + //line php7/php7.y:1399 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4087,7 +4090,7 @@ yydefault: } case 282: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1408 + //line php7/php7.y:1412 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4099,49 +4102,49 @@ yydefault: } case 283: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1420 + //line php7/php7.y:1424 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 284: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1421 + //line php7/php7.y:1425 { yyVAL.list = []node.Node{yyDollar[1].node} } case 285: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1425 + //line php7/php7.y:1429 { yyVAL.node = yyDollar[1].node } case 286: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1429 + //line php7/php7.y:1433 { yyVAL.list = nil } case 287: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1430 + //line php7/php7.y:1434 { yyVAL.list = yyDollar[1].list } case 288: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1433 + //line php7/php7.y:1437 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 289: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1434 + //line php7/php7.y:1438 { yyVAL.list = []node.Node{yyDollar[1].node} } case 290: yyDollar = yyS[yypt-8 : yypt+1] - //line php7/php7.y:1439 + //line php7/php7.y:1443 { if yyDollar[2].nodesWithEndToken != nil { yyVAL.node = stmt.NewClass(nil, nil, yyDollar[2].nodesWithEndToken.nodes, yyDollar[3].node, yyDollar[4].list, yyDollar[7].list, yyDollar[5].str) @@ -4155,7 +4158,7 @@ yydefault: } case 291: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1454 + //line php7/php7.y:1458 { if yyDollar[3].nodesWithEndToken != nil { yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) @@ -4169,13 +4172,13 @@ yydefault: } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1465 + //line php7/php7.y:1469 { yyVAL.node = expr.NewNew(yyDollar[2].node, nil) } case 293: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:1470 + //line php7/php7.y:1474 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4187,7 +4190,7 @@ yydefault: } case 294: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:1480 + //line php7/php7.y:1484 { shortList := expr.NewShortList(yyDollar[2].list) positions.AddPosition(shortList, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4199,7 +4202,7 @@ yydefault: } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1490 + //line php7/php7.y:1494 { yyVAL.node = assign_op.NewAssign(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4207,7 +4210,7 @@ yydefault: } case 296: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1496 + //line php7/php7.y:1500 { yyVAL.node = assign_op.NewAssignRef(yyDollar[1].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -4215,7 +4218,7 @@ yydefault: } case 297: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1502 + //line php7/php7.y:1506 { yyVAL.node = expr.NewClone(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4223,7 +4226,7 @@ yydefault: } case 298: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1508 + //line php7/php7.y:1512 { yyVAL.node = assign_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4231,7 +4234,7 @@ yydefault: } case 299: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1514 + //line php7/php7.y:1518 { yyVAL.node = assign_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4239,7 +4242,7 @@ yydefault: } case 300: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1520 + //line php7/php7.y:1524 { yyVAL.node = assign_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4247,7 +4250,7 @@ yydefault: } case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1526 + //line php7/php7.y:1530 { yyVAL.node = assign_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4255,7 +4258,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1532 + //line php7/php7.y:1536 { yyVAL.node = assign_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4263,7 +4266,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1538 + //line php7/php7.y:1542 { yyVAL.node = assign_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4271,7 +4274,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1544 + //line php7/php7.y:1548 { yyVAL.node = assign_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4279,7 +4282,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1550 + //line php7/php7.y:1554 { yyVAL.node = assign_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4287,7 +4290,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1556 + //line php7/php7.y:1560 { yyVAL.node = assign_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4295,7 +4298,7 @@ yydefault: } case 307: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1562 + //line php7/php7.y:1566 { yyVAL.node = assign_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4303,7 +4306,7 @@ yydefault: } case 308: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1568 + //line php7/php7.y:1572 { yyVAL.node = assign_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4311,7 +4314,7 @@ yydefault: } case 309: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1574 + //line php7/php7.y:1578 { yyVAL.node = assign_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4319,7 +4322,7 @@ yydefault: } case 310: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1580 + //line php7/php7.y:1584 { yyVAL.node = expr.NewPostInc(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -4327,7 +4330,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1586 + //line php7/php7.y:1590 { yyVAL.node = expr.NewPreInc(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4335,7 +4338,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1592 + //line php7/php7.y:1596 { yyVAL.node = expr.NewPostDec(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -4343,7 +4346,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1598 + //line php7/php7.y:1602 { yyVAL.node = expr.NewPreDec(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4351,7 +4354,7 @@ yydefault: } case 314: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1604 + //line php7/php7.y:1608 { yyVAL.node = binary_op.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4359,7 +4362,7 @@ yydefault: } case 315: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1610 + //line php7/php7.y:1614 { yyVAL.node = binary_op.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4367,7 +4370,7 @@ yydefault: } case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1616 + //line php7/php7.y:1620 { yyVAL.node = binary_op.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4375,7 +4378,7 @@ yydefault: } case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1622 + //line php7/php7.y:1626 { yyVAL.node = binary_op.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4383,7 +4386,7 @@ yydefault: } case 318: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1628 + //line php7/php7.y:1632 { yyVAL.node = binary_op.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4391,7 +4394,7 @@ yydefault: } case 319: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1634 + //line php7/php7.y:1638 { yyVAL.node = binary_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4399,7 +4402,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1640 + //line php7/php7.y:1644 { yyVAL.node = binary_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4407,7 +4410,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1646 + //line php7/php7.y:1650 { yyVAL.node = binary_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4415,7 +4418,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1652 + //line php7/php7.y:1656 { yyVAL.node = binary_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4423,7 +4426,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1658 + //line php7/php7.y:1662 { yyVAL.node = binary_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4431,7 +4434,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1664 + //line php7/php7.y:1668 { yyVAL.node = binary_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4439,7 +4442,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1670 + //line php7/php7.y:1674 { yyVAL.node = binary_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4447,7 +4450,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1676 + //line php7/php7.y:1680 { yyVAL.node = binary_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4455,7 +4458,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1682 + //line php7/php7.y:1686 { yyVAL.node = binary_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4463,7 +4466,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1688 + //line php7/php7.y:1692 { yyVAL.node = binary_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4471,7 +4474,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1694 + //line php7/php7.y:1698 { yyVAL.node = binary_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4479,7 +4482,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1700 + //line php7/php7.y:1704 { yyVAL.node = binary_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4487,7 +4490,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1706 + //line php7/php7.y:1710 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4495,7 +4498,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1712 + //line php7/php7.y:1716 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4503,7 +4506,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1718 + //line php7/php7.y:1722 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4511,7 +4514,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1724 + //line php7/php7.y:1728 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4519,7 +4522,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1730 + //line php7/php7.y:1734 { yyVAL.node = binary_op.NewIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4527,7 +4530,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1736 + //line php7/php7.y:1740 { yyVAL.node = binary_op.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4535,7 +4538,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1742 + //line php7/php7.y:1746 { yyVAL.node = binary_op.NewEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4543,7 +4546,7 @@ yydefault: } case 338: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1748 + //line php7/php7.y:1752 { yyVAL.node = binary_op.NewNotEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4551,7 +4554,7 @@ yydefault: } case 339: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1754 + //line php7/php7.y:1758 { yyVAL.node = binary_op.NewSmaller(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4559,7 +4562,7 @@ yydefault: } case 340: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1760 + //line php7/php7.y:1764 { yyVAL.node = binary_op.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4567,7 +4570,7 @@ yydefault: } case 341: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1766 + //line php7/php7.y:1770 { yyVAL.node = binary_op.NewGreater(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4575,7 +4578,7 @@ yydefault: } case 342: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1772 + //line php7/php7.y:1776 { yyVAL.node = binary_op.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4583,7 +4586,7 @@ yydefault: } case 343: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1778 + //line php7/php7.y:1782 { yyVAL.node = binary_op.NewSpaceship(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4591,7 +4594,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1784 + //line php7/php7.y:1788 { yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4599,19 +4602,19 @@ yydefault: } case 345: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1789 + //line php7/php7.y:1793 { yyVAL.node = yyDollar[2].node } case 346: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1790 + //line php7/php7.y:1794 { yyVAL.node = yyDollar[1].node } case 347: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:1792 + //line php7/php7.y:1796 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) @@ -4619,7 +4622,7 @@ yydefault: } case 348: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1798 + //line php7/php7.y:1802 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -4627,7 +4630,7 @@ yydefault: } case 349: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1804 + //line php7/php7.y:1808 { yyVAL.node = binary_op.NewCoalesce(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4635,13 +4638,13 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1809 + //line php7/php7.y:1813 { yyVAL.node = yyDollar[1].node } case 351: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1811 + //line php7/php7.y:1815 { yyVAL.node = cast.NewCastInt(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4649,7 +4652,7 @@ yydefault: } case 352: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1817 + //line php7/php7.y:1821 { yyVAL.node = cast.NewCastDouble(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4657,7 +4660,7 @@ yydefault: } case 353: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1823 + //line php7/php7.y:1827 { yyVAL.node = cast.NewCastString(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4665,7 +4668,7 @@ yydefault: } case 354: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1829 + //line php7/php7.y:1833 { yyVAL.node = cast.NewCastArray(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4673,7 +4676,7 @@ yydefault: } case 355: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1835 + //line php7/php7.y:1839 { yyVAL.node = cast.NewCastObject(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4681,7 +4684,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1841 + //line php7/php7.y:1845 { yyVAL.node = cast.NewCastBool(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4689,7 +4692,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1847 + //line php7/php7.y:1851 { yyVAL.node = cast.NewCastUnset(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4697,7 +4700,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1853 + //line php7/php7.y:1857 { if strings.EqualFold(yyDollar[1].token.Value, "die") { yyVAL.node = expr.NewDie(yyDollar[2].node) @@ -4709,7 +4712,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1863 + //line php7/php7.y:1867 { yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4717,13 +4720,13 @@ yydefault: } case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1868 + //line php7/php7.y:1872 { yyVAL.node = yyDollar[1].node } case 361: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1870 + //line php7/php7.y:1874 { yyVAL.node = expr.NewShellExec(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4731,7 +4734,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1876 + //line php7/php7.y:1880 { yyVAL.node = expr.NewPrint(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4739,7 +4742,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1882 + //line php7/php7.y:1886 { yyVAL.node = expr.NewYield(nil, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4747,7 +4750,7 @@ yydefault: } case 364: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1888 + //line php7/php7.y:1892 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4755,7 +4758,7 @@ yydefault: } case 365: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1894 + //line php7/php7.y:1898 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) @@ -4763,7 +4766,7 @@ yydefault: } case 366: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1900 + //line php7/php7.y:1904 { yyVAL.node = expr.NewYieldFrom(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4771,7 +4774,7 @@ yydefault: } case 367: yyDollar = yyS[yypt-11 : yypt+1] - //line php7/php7.y:1906 + //line php7/php7.y:1910 { yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, yyDollar[8].node, yyDollar[10].list, false, yyDollar[2].boolWithToken.value, yyDollar[3].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[11].token)) @@ -4780,7 +4783,7 @@ yydefault: } case 368: yyDollar = yyS[yypt-12 : yypt+1] - //line php7/php7.y:1913 + //line php7/php7.y:1917 { yyVAL.node = expr.NewClosure(yyDollar[6].list, yyDollar[8].list, yyDollar[9].node, yyDollar[11].list, true, yyDollar[3].boolWithToken.value, yyDollar[4].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[12].token)) @@ -4789,50 +4792,50 @@ yydefault: } case 369: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1922 + //line php7/php7.y:1926 { yyVAL.str = yylex.(*lexer).PhpDocComment yylex.(*lexer).PhpDocComment = "" } case 370: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1926 + //line php7/php7.y:1930 { yyVAL.boolWithToken = boolWithToken{false, nil} } case 371: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1927 + //line php7/php7.y:1931 { yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 372: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1931 + //line php7/php7.y:1935 { yyVAL.list = []node.Node{} } case 373: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1932 + //line php7/php7.y:1936 { yyVAL.list = yyDollar[3].list } case 374: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1936 + //line php7/php7.y:1940 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 375: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1937 + //line php7/php7.y:1941 { yyVAL.list = []node.Node{yyDollar[1].node} } case 376: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1942 + //line php7/php7.y:1946 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4847,7 +4850,7 @@ yydefault: } case 377: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1955 + //line php7/php7.y:1959 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4862,7 +4865,7 @@ yydefault: } case 378: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1971 + //line php7/php7.y:1975 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) @@ -4870,7 +4873,7 @@ yydefault: } case 379: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1977 + //line php7/php7.y:1981 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -4878,7 +4881,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1983 + //line php7/php7.y:1987 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -4886,7 +4889,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1989 + //line php7/php7.y:1993 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) @@ -4894,7 +4897,7 @@ yydefault: } case 382: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1998 + //line php7/php7.y:2002 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4902,67 +4905,67 @@ yydefault: } case 383: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2003 + //line php7/php7.y:2007 { yyVAL.node = yyDollar[1].node } case 384: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2007 + //line php7/php7.y:2011 { yyVAL.node = yyDollar[1].node } case 385: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2008 + //line php7/php7.y:2012 { yyVAL.node = yyDollar[1].node } case 386: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2012 + //line php7/php7.y:2016 { yyVAL.node = nil } case 387: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2013 + //line php7/php7.y:2017 { yyVAL.node = yyDollar[2].node } case 388: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2017 + //line php7/php7.y:2021 { yyVAL.list = []node.Node{} } case 389: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2018 + //line php7/php7.y:2022 { yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value)} } case 390: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2019 + //line php7/php7.y:2023 { yyVAL.list = yyDollar[1].list } case 391: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2023 + //line php7/php7.y:2027 { yyVAL.nodesWithEndToken = nil } case 392: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2024 + //line php7/php7.y:2028 { yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } case 393: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2029 + //line php7/php7.y:2033 { yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4970,7 +4973,7 @@ yydefault: } case 394: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2035 + //line php7/php7.y:2039 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -4978,7 +4981,7 @@ yydefault: } case 395: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2041 + //line php7/php7.y:2045 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4986,7 +4989,7 @@ yydefault: } case 396: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2050 + //line php7/php7.y:2054 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4994,7 +4997,7 @@ yydefault: } case 397: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2056 + //line php7/php7.y:2060 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5002,7 +5005,7 @@ yydefault: } case 398: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2062 + //line php7/php7.y:2066 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5010,7 +5013,7 @@ yydefault: } case 399: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2068 + //line php7/php7.y:2072 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5018,7 +5021,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2074 + //line php7/php7.y:2078 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5026,7 +5029,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2080 + //line php7/php7.y:2084 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5034,7 +5037,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2086 + //line php7/php7.y:2090 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5042,7 +5045,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2092 + //line php7/php7.y:2096 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5050,7 +5053,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2098 + //line php7/php7.y:2102 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5058,7 +5061,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2104 + //line php7/php7.y:2108 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5066,7 +5069,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2110 + //line php7/php7.y:2114 { yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ @@ -5074,7 +5077,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2115 + //line php7/php7.y:2119 { yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -5082,7 +5085,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2121 + //line php7/php7.y:2125 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5090,7 +5093,7 @@ yydefault: } case 409: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2127 + //line php7/php7.y:2131 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5098,19 +5101,19 @@ yydefault: } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2132 + //line php7/php7.y:2136 { yyVAL.node = yyDollar[1].node } case 411: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2133 + //line php7/php7.y:2137 { yyVAL.node = yyDollar[1].node } case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2138 + //line php7/php7.y:2142 { yyVAL.node = expr.NewConstFetch(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5118,7 +5121,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2144 + //line php7/php7.y:2148 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5130,7 +5133,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2154 + //line php7/php7.y:2158 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5142,79 +5145,79 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2166 + //line php7/php7.y:2170 { yyVAL.node = yyDollar[1].node } case 416: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2167 + //line php7/php7.y:2171 { yyVAL.node = yyDollar[1].node } case 417: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2171 + //line php7/php7.y:2175 { yyVAL.node = nil } case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2172 + //line php7/php7.y:2176 { yyVAL.node = yyDollar[1].node } case 419: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2176 + //line php7/php7.y:2180 { yyVAL.node = yyDollar[1].node } case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2180 + //line php7/php7.y:2184 { yyVAL.node = yyDollar[1].node } case 421: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2181 + //line php7/php7.y:2185 { yyVAL.node = yyDollar[2].node } case 422: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2182 + //line php7/php7.y:2186 { yyVAL.node = yyDollar[1].node } case 423: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2186 + //line php7/php7.y:2190 { yyVAL.node = yyDollar[1].node } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2187 + //line php7/php7.y:2191 { yyVAL.node = yyDollar[2].node } case 425: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2188 + //line php7/php7.y:2192 { yyVAL.node = yyDollar[1].node } case 426: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2192 + //line php7/php7.y:2196 { yyVAL.node = yyDollar[1].node } case 427: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2194 + //line php7/php7.y:2198 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5222,7 +5225,7 @@ yydefault: } case 428: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2200 + //line php7/php7.y:2204 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5230,7 +5233,7 @@ yydefault: } case 429: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2206 + //line php7/php7.y:2210 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5238,7 +5241,7 @@ yydefault: } case 430: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2212 + //line php7/php7.y:2216 { yyVAL.node = expr.NewMethodCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) @@ -5246,25 +5249,25 @@ yydefault: } case 431: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2217 + //line php7/php7.y:2221 { yyVAL.node = yyDollar[1].node } case 432: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2221 + //line php7/php7.y:2225 { yyVAL.node = yyDollar[1].node } case 433: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2222 + //line php7/php7.y:2226 { yyVAL.node = yyDollar[1].node } case 434: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2224 + //line php7/php7.y:2228 { yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5272,7 +5275,7 @@ yydefault: } case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2233 + //line php7/php7.y:2237 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5284,7 +5287,7 @@ yydefault: } case 436: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2243 + //line php7/php7.y:2247 { yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5292,7 +5295,7 @@ yydefault: } case 437: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2249 + //line php7/php7.y:2253 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5300,7 +5303,7 @@ yydefault: } case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2258 + //line php7/php7.y:2262 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5308,7 +5311,7 @@ yydefault: } case 439: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2264 + //line php7/php7.y:2268 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5316,13 +5319,13 @@ yydefault: } case 440: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2272 + //line php7/php7.y:2276 { yyVAL.node = yyDollar[1].node } case 441: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2274 + //line php7/php7.y:2278 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5330,7 +5333,7 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2280 + //line php7/php7.y:2284 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5338,7 +5341,7 @@ yydefault: } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2286 + //line php7/php7.y:2290 { yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5346,7 +5349,7 @@ yydefault: } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2292 + //line php7/php7.y:2296 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5354,7 +5357,7 @@ yydefault: } case 445: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2298 + //line php7/php7.y:2302 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5362,7 +5365,7 @@ yydefault: } case 446: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2307 + //line php7/php7.y:2311 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5370,19 +5373,19 @@ yydefault: } case 447: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2312 + //line php7/php7.y:2316 { yyVAL.node = yyDollar[2].node } case 448: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2313 + //line php7/php7.y:2317 { yyVAL.node = yyDollar[1].node } case 449: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2318 + //line php7/php7.y:2322 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5390,19 +5393,19 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2323 + //line php7/php7.y:2327 { yyVAL.node = yyDollar[2].node } case 451: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2324 + //line php7/php7.y:2328 { yyVAL.node = yyDollar[1].node } case 452: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2329 + //line php7/php7.y:2333 { if yyDollar[1].list[len(yyDollar[1].list)-1] == nil { yyVAL.list = yyDollar[1].list[:len(yyDollar[1].list)-1] @@ -5412,31 +5415,31 @@ yydefault: } case 453: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2339 + //line php7/php7.y:2343 { yyVAL.node = nil } case 454: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2340 + //line php7/php7.y:2344 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2345 + //line php7/php7.y:2349 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 456: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2346 + //line php7/php7.y:2350 { yyVAL.list = []node.Node{yyDollar[1].node} } case 457: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2351 + //line php7/php7.y:2355 { yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5444,7 +5447,7 @@ yydefault: } case 458: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2357 + //line php7/php7.y:2361 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -5452,7 +5455,7 @@ yydefault: } case 459: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2363 + //line php7/php7.y:2367 { yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5460,7 +5463,7 @@ yydefault: } case 460: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2369 + //line php7/php7.y:2373 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5468,7 +5471,7 @@ yydefault: } case 461: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:2375 + //line php7/php7.y:2379 { // TODO: Cannot use list() as standalone expression list := expr.NewList(yyDollar[5].list) @@ -5481,7 +5484,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2386 + //line php7/php7.y:2390 { // TODO: Cannot use list() as standalone expression list := expr.NewList(yyDollar[3].list) @@ -5494,13 +5497,13 @@ yydefault: } case 463: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2399 + //line php7/php7.y:2403 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 464: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2401 + //line php7/php7.y:2405 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5509,13 +5512,13 @@ yydefault: } case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2407 + //line php7/php7.y:2411 { yyVAL.list = []node.Node{yyDollar[1].node} } case 466: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2409 + //line php7/php7.y:2413 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5524,7 +5527,7 @@ yydefault: } case 467: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2419 + //line php7/php7.y:2423 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5536,7 +5539,7 @@ yydefault: } case 468: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2429 + //line php7/php7.y:2433 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5551,7 +5554,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2442 + //line php7/php7.y:2446 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5569,7 +5572,7 @@ yydefault: } case 470: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2458 + //line php7/php7.y:2462 { yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5577,7 +5580,7 @@ yydefault: } case 471: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2464 + //line php7/php7.y:2468 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5589,7 +5592,7 @@ yydefault: } case 472: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:2474 + //line php7/php7.y:2478 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5604,13 +5607,13 @@ yydefault: } case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2487 + //line php7/php7.y:2491 { yyVAL.node = yyDollar[2].node } case 474: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2491 + //line php7/php7.y:2495 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5618,7 +5621,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2497 + //line php7/php7.y:2501 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -5632,7 +5635,7 @@ yydefault: } case 476: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2509 + //line php7/php7.y:2513 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[2].token.Value); err == nil { @@ -5652,7 +5655,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2527 + //line php7/php7.y:2531 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5664,7 +5667,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:2540 + //line php7/php7.y:2544 { yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -5672,7 +5675,7 @@ yydefault: } case 479: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2546 + //line php7/php7.y:2550 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5680,7 +5683,7 @@ yydefault: } case 480: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2552 + //line php7/php7.y:2556 { yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5688,7 +5691,7 @@ yydefault: } case 481: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2558 + //line php7/php7.y:2562 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5696,7 +5699,7 @@ yydefault: } case 482: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2564 + //line php7/php7.y:2568 { yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5704,7 +5707,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2570 + //line php7/php7.y:2574 { yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5712,7 +5715,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2576 + //line php7/php7.y:2580 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5720,19 +5723,19 @@ yydefault: } case 485: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2584 + //line php7/php7.y:2588 { yyVAL.list = []node.Node{yyDollar[1].node} } case 486: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2585 + //line php7/php7.y:2589 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 487: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2589 + //line php7/php7.y:2593 { yyVAL.node = yyDollar[1].node } diff --git a/php7/php7.y b/php7/php7.y index f21262e..66b25a5 100644 --- a/php7/php7.y +++ b/php7/php7.y @@ -208,7 +208,7 @@ import ( %type group_use_declaration inline_use_declaration %type mixed_group_use_declaration use_declaration unprefixed_use_declaration %type const_decl inner_statement -%type expr optional_expr for_statement +%type expr optional_expr %type foreach_statement declare_statement finally_statement unset_variable variable %type extends_from parameter optional_type argument expr_without_variable global_var %type static_var class_statement trait_adaptation trait_precedence trait_alias @@ -246,7 +246,7 @@ import ( %type backup_doc_comment -%type while_statement +%type while_statement for_statement %% @@ -542,8 +542,12 @@ statement: } | T_FOR '(' for_exprs ';' for_exprs ';' for_exprs ')' for_statement { - $$ = stmt.NewFor($3, $5, $7, $9) - positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $9)) + if ($9.isAlt) { + $$ = stmt.NewAltFor($3, $5, $7, $9.node) + } else { + $$ = stmt.NewFor($3, $5, $7, $9.node) + } + positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $9.node)) comments.AddComments($$, $1.Comments()) } | T_SWITCH '(' expr ')' switch_case_list @@ -837,13 +841,13 @@ foreach_variable: ; for_statement: - statement { $$ = $1; } - | ':' inner_statement_list T_ENDFOR ';' - { - $$ = stmt.NewStmtList($2) - positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) - comments.AddComments($$, $1.Comments()) - } + statement + { $$ = altSyntaxNode{$1, false} } + | ':' inner_statement_list T_ENDFOR ';' + { + $$ = altSyntaxNode{stmt.NewStmtList($2), true} + positions.AddPosition($$.node, positionBuilder.NewTokensPosition($1, $4)) + } ; foreach_statement: diff --git a/php7/php7_test.go b/php7/php7_test.go index 687ba1d..2cfef44 100644 --- a/php7/php7_test.go +++ b/php7/php7_test.go @@ -1147,7 +1147,7 @@ CAD; }, Stmt: &stmt.StmtList{Stmts: []node.Node{}}, }, - &stmt.For{ + &stmt.AltFor{ Cond: []node.Node{ &binary_op.Smaller{ Left: &expr.Variable{VarName: &node.Identifier{Value: "$i"}},