diff --git a/internal/php5/php5.go b/internal/php5/php5.go index 15333e8..400b632 100644 --- a/internal/php5/php5.go +++ b/internal/php5/php5.go @@ -344,7 +344,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -// line internal/php5/php5.y:6526 +// line internal/php5/php5.y:6521 type simpleIndirectReference struct { all []*ast.ExprVariable @@ -2323,7 +2323,7 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:271 +// line internal/php5/php5.y:271 { yylex.(*Parser).rootNode = &ast.Root{ast.Node{}, yyDollar[1].list} yylex.(*Parser).rootNode.GetNode().Position = position.NewNodeListPosition(yyDollar[1].list) @@ -2332,7 +2332,7 @@ yydefault: } case 2: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:281 +// line internal/php5/php5.y:281 { if inlineHtmlNode, ok := yyDollar[2].node.(*ast.StmtInlineHtml); ok && len(yyDollar[1].list) > 0 { prevNode := lastNode(yyDollar[1].list) @@ -2345,13 +2345,13 @@ yydefault: } case 3: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:292 +// line internal/php5/php5.y:292 { yyVAL.list = []ast.Vertex{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:299 +// line internal/php5/php5.y:299 { yyVAL.list = []ast.Vertex{ &ast.NameNamePart{ @@ -2365,7 +2365,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:311 +// line internal/php5/php5.y:311 { yyVAL.list = append(yyDollar[1].list, &ast.NameNamePart{ Node: ast.Node{ @@ -2378,32 +2378,32 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:325 +// line internal/php5/php5.y:325 { // error yyVAL.node = nil } case 7: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:330 +// line internal/php5/php5.y:330 { yyVAL.node = yyDollar[1].node } case 8: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:334 +// line internal/php5/php5.y:334 { yyVAL.node = yyDollar[1].node } case 9: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:338 +// line internal/php5/php5.y:338 { yyVAL.node = yyDollar[1].node } case 10: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:342 +// line internal/php5/php5.y:342 { yyVAL.node = &ast.StmtHaltCompiler{ Node: ast.Node{ @@ -2417,7 +2417,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:354 +// line internal/php5/php5.y:354 { yyVAL.node = &ast.StmtNamespace{ Node: ast.Node{ @@ -2435,7 +2435,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:370 +// line internal/php5/php5.y:370 { yyVAL.node = &ast.StmtNamespace{ Node: ast.Node{ @@ -2455,7 +2455,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:388 +// line internal/php5/php5.y:388 { yyVAL.node = &ast.StmtNamespace{ Node: ast.Node{ @@ -2469,7 +2469,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:400 +// line internal/php5/php5.y:400 { yyVAL.node = &ast.StmtUse{ Node: ast.Node{ @@ -2482,7 +2482,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:411 +// line internal/php5/php5.y:411 { yyVAL.node = &ast.StmtUse{ Node: ast.Node{ @@ -2502,7 +2502,7 @@ yydefault: } case 16: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:429 +// line internal/php5/php5.y:429 { yyVAL.node = &ast.StmtUse{ Node: ast.Node{ @@ -2522,7 +2522,7 @@ yydefault: } case 17: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:447 +// line internal/php5/php5.y:447 { yyDollar[1].node.(*ast.StmtConstList).SemiColonTkn = yyDollar[2].token yyDollar[1].node.(*ast.StmtConstList).Node.Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token) @@ -2530,7 +2530,7 @@ yydefault: } case 18: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:456 +// line internal/php5/php5.y:456 { yyDollar[1].list[len(yyDollar[1].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[2].token @@ -2538,13 +2538,13 @@ yydefault: } case 19: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:462 +// line internal/php5/php5.y:462 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 20: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:469 +// line internal/php5/php5.y:469 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2560,7 +2560,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:483 +// line internal/php5/php5.y:483 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2584,7 +2584,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:505 +// line internal/php5/php5.y:505 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2601,7 +2601,7 @@ yydefault: } case 23: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:520 +// line internal/php5/php5.y:520 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2626,7 +2626,7 @@ yydefault: } case 24: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:546 +// line internal/php5/php5.y:546 { yyDollar[1].list[len(yyDollar[1].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[2].token @@ -2634,13 +2634,13 @@ yydefault: } case 25: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:552 +// line internal/php5/php5.y:552 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 26: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:559 +// line internal/php5/php5.y:559 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2656,7 +2656,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:573 +// line internal/php5/php5.y:573 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2680,7 +2680,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:595 +// line internal/php5/php5.y:595 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2697,7 +2697,7 @@ yydefault: } case 29: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:610 +// line internal/php5/php5.y:610 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2722,7 +2722,7 @@ yydefault: } case 30: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:636 +// line internal/php5/php5.y:636 { yyDollar[1].list[len(yyDollar[1].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[2].token @@ -2730,13 +2730,13 @@ yydefault: } case 31: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:642 +// line internal/php5/php5.y:642 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 32: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:649 +// line internal/php5/php5.y:649 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2752,7 +2752,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:663 +// line internal/php5/php5.y:663 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2776,7 +2776,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:685 +// line internal/php5/php5.y:685 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2793,7 +2793,7 @@ yydefault: } case 35: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:700 +// line internal/php5/php5.y:700 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2818,7 +2818,7 @@ yydefault: } case 36: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:726 +// line internal/php5/php5.y:726 { constList := yyDollar[1].node.(*ast.StmtConstList) constList.Node.Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node) @@ -2844,7 +2844,7 @@ yydefault: } case 37: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:750 +// line internal/php5/php5.y:750 { yyVAL.node = &ast.StmtConstList{ Node: ast.Node{ @@ -2873,7 +2873,7 @@ yydefault: } case 38: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:780 +// line internal/php5/php5.y:780 { if inlineHtmlNode, ok := yyDollar[2].node.(*ast.StmtInlineHtml); ok && len(yyDollar[1].list) > 0 { prevNode := lastNode(yyDollar[1].list) @@ -2886,38 +2886,38 @@ yydefault: } case 39: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:791 +// line internal/php5/php5.y:791 { yyVAL.list = []ast.Vertex{} } case 40: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:799 +// line internal/php5/php5.y:799 { // error yyVAL.node = nil } case 41: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:804 +// line internal/php5/php5.y:804 { yyVAL.node = yyDollar[1].node } case 42: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:808 +// line internal/php5/php5.y:808 { yyVAL.node = yyDollar[1].node } case 43: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:812 +// line internal/php5/php5.y:812 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:816 +// line internal/php5/php5.y:816 { yyVAL.node = &ast.StmtHaltCompiler{ Node: ast.Node{ @@ -2931,13 +2931,13 @@ yydefault: } case 45: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:832 +// line internal/php5/php5.y:832 { yyVAL.node = yyDollar[1].node } case 46: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:836 +// line internal/php5/php5.y:836 { yyVAL.node = &ast.StmtLabel{ Node: ast.Node{ @@ -2955,7 +2955,7 @@ yydefault: } case 47: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:855 +// line internal/php5/php5.y:855 { yyVAL.node = &ast.StmtStmtList{ Node: ast.Node{ @@ -2968,7 +2968,7 @@ yydefault: } case 48: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:866 +// line internal/php5/php5.y:866 { pos := position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) if yyDollar[5].node != nil { @@ -2992,7 +2992,7 @@ yydefault: } case 49: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:888 +// line internal/php5/php5.y:888 { yyVAL.node = &ast.StmtIf{ Node: ast.Node{ @@ -3018,7 +3018,7 @@ yydefault: } case 50: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:912 +// line internal/php5/php5.y:912 { yyDollar[3].node.(*ast.StmtWhile).WhileTkn = yyDollar[1].token yyDollar[3].node.(*ast.StmtWhile).OpenParenthesisTkn = yyDollar[2].node.(*ast.ParserBrackets).OpenBracketTkn @@ -3030,7 +3030,7 @@ yydefault: } case 51: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:922 +// line internal/php5/php5.y:922 { yyVAL.node = &ast.StmtDo{ Node: ast.Node{ @@ -3047,7 +3047,7 @@ yydefault: } case 52: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:937 +// line internal/php5/php5.y:937 { yyDollar[9].node.(*ast.StmtFor).ForTkn = yyDollar[1].token yyDollar[9].node.(*ast.StmtFor).OpenParenthesisTkn = yyDollar[2].token @@ -3063,7 +3063,7 @@ yydefault: } case 53: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:951 +// line internal/php5/php5.y:951 { yyDollar[3].node.(*ast.StmtSwitch).SwitchTkn = yyDollar[1].token yyDollar[3].node.(*ast.StmtSwitch).OpenParenthesisTkn = yyDollar[2].node.(*ast.ParserBrackets).OpenBracketTkn @@ -3075,7 +3075,7 @@ yydefault: } case 54: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:961 +// line internal/php5/php5.y:961 { yyVAL.node = &ast.StmtBreak{ Node: ast.Node{ @@ -3087,7 +3087,7 @@ yydefault: } case 55: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:971 +// line internal/php5/php5.y:971 { yyVAL.node = &ast.StmtBreak{ Node: ast.Node{ @@ -3100,7 +3100,7 @@ yydefault: } case 56: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:982 +// line internal/php5/php5.y:982 { yyVAL.node = &ast.StmtContinue{ Node: ast.Node{ @@ -3112,7 +3112,7 @@ yydefault: } case 57: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:992 +// line internal/php5/php5.y:992 { yyVAL.node = &ast.StmtContinue{ Node: ast.Node{ @@ -3125,7 +3125,7 @@ yydefault: } case 58: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1003 +// line internal/php5/php5.y:1003 { yyVAL.node = &ast.StmtReturn{ Node: ast.Node{ @@ -3137,7 +3137,7 @@ yydefault: } case 59: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1013 +// line internal/php5/php5.y:1013 { yyVAL.node = &ast.StmtReturn{ Node: ast.Node{ @@ -3150,7 +3150,7 @@ yydefault: } case 60: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1024 +// line internal/php5/php5.y:1024 { yyVAL.node = &ast.StmtReturn{ Node: ast.Node{ @@ -3163,7 +3163,7 @@ yydefault: } case 61: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1035 +// line internal/php5/php5.y:1035 { yyVAL.node = &ast.StmtExpression{ Node: ast.Node{ @@ -3175,7 +3175,7 @@ yydefault: } case 62: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1045 +// line internal/php5/php5.y:1045 { yyDollar[2].node.(*ast.StmtGlobal).GlobalTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtGlobal).SemiColonTkn = yyDollar[3].token @@ -3186,7 +3186,7 @@ yydefault: } case 63: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1054 +// line internal/php5/php5.y:1054 { yyDollar[2].node.(*ast.StmtStatic).StaticTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtStatic).SemiColonTkn = yyDollar[3].token @@ -3197,7 +3197,7 @@ yydefault: } case 64: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1063 +// line internal/php5/php5.y:1063 { yyDollar[2].node.(*ast.StmtEcho).EchoTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtEcho).SemiColonTkn = yyDollar[3].token @@ -3207,7 +3207,7 @@ yydefault: } case 65: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1071 +// line internal/php5/php5.y:1071 { yyVAL.node = &ast.StmtInlineHtml{ Node: ast.Node{ @@ -3219,7 +3219,7 @@ yydefault: } case 66: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1081 +// line internal/php5/php5.y:1081 { yyVAL.node = &ast.StmtExpression{ Node: ast.Node{ @@ -3231,7 +3231,7 @@ yydefault: } case 67: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1091 +// line internal/php5/php5.y:1091 { yyDollar[3].node.(*ast.StmtUnset).UnsetTkn = yyDollar[1].token yyDollar[3].node.(*ast.StmtUnset).OpenParenthesisTkn = yyDollar[2].token @@ -3243,7 +3243,7 @@ yydefault: } case 68: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:1101 +// line internal/php5/php5.y:1101 { yyDollar[8].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[8].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3263,7 +3263,7 @@ yydefault: } case 69: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:1119 +// line internal/php5/php5.y:1119 { yyDollar[8].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[8].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3283,7 +3283,7 @@ yydefault: } case 70: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1137 +// line internal/php5/php5.y:1137 { yyDollar[5].node.(*ast.StmtDeclare).DeclareTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtDeclare).OpenParenthesisTkn = yyDollar[2].token @@ -3296,7 +3296,7 @@ yydefault: } case 71: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1148 +// line internal/php5/php5.y:1148 { yyVAL.node = &ast.StmtNop{ Node: ast.Node{ @@ -3307,7 +3307,7 @@ yydefault: } case 72: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:1157 +// line internal/php5/php5.y:1157 { yyVAL.node = &ast.StmtTry{ TryTkn: yyDollar[1].token, @@ -3326,7 +3326,7 @@ yydefault: } case 73: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1174 +// line internal/php5/php5.y:1174 { yyVAL.node = &ast.StmtThrow{ Node: ast.Node{ @@ -3339,7 +3339,7 @@ yydefault: } case 74: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1185 +// line internal/php5/php5.y:1185 { yyVAL.node = &ast.StmtGoto{ Node: ast.Node{ @@ -3358,13 +3358,13 @@ yydefault: } case 75: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1205 +// line internal/php5/php5.y:1205 { yyVAL.list = []ast.Vertex{} } case 76: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:1209 +// line internal/php5/php5.y:1209 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -3397,13 +3397,13 @@ yydefault: } case 77: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1243 +// line internal/php5/php5.y:1243 { yyVAL.node = nil } case 78: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1247 +// line internal/php5/php5.y:1247 { yyVAL.node = &ast.StmtFinally{ Node: ast.Node{ @@ -3417,31 +3417,31 @@ yydefault: } case 79: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1262 +// line internal/php5/php5.y:1262 { yyVAL.list = yyDollar[1].list } case 80: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1266 +// line internal/php5/php5.y:1266 { yyVAL.list = []ast.Vertex{} } case 81: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1273 +// line internal/php5/php5.y:1273 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 82: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1277 +// line internal/php5/php5.y:1277 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 83: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:1284 +// line internal/php5/php5.y:1284 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -3473,7 +3473,7 @@ yydefault: } case 84: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1317 +// line internal/php5/php5.y:1317 { yyVAL.node = &ast.StmtUnset{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -3481,7 +3481,7 @@ yydefault: } case 85: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1323 +// line internal/php5/php5.y:1323 { yyDollar[1].node.(*ast.StmtUnset).Vars = append(yyDollar[1].node.(*ast.StmtUnset).Vars, yyDollar[3].node) yyDollar[1].node.(*ast.StmtUnset).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtUnset).SeparatorTkns, yyDollar[2].token) @@ -3490,49 +3490,49 @@ yydefault: } case 86: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1333 +// line internal/php5/php5.y:1333 { yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1340 +// line internal/php5/php5.y:1340 { yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1347 +// line internal/php5/php5.y:1347 { yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1354 +// line internal/php5/php5.y:1354 { yyVAL.token = nil } case 90: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1358 +// line internal/php5/php5.y:1358 { yyVAL.token = yyDollar[1].token } case 91: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1365 +// line internal/php5/php5.y:1365 { yyVAL.token = nil } case 92: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1369 +// line internal/php5/php5.y:1369 { yyVAL.token = yyDollar[1].token } case 93: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:1376 +// line internal/php5/php5.y:1376 { yyVAL.node = &ast.StmtFunction{ Node: ast.Node{ @@ -3557,7 +3557,7 @@ yydefault: } case 94: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php5/php5.y:1402 +// line internal/php5/php5.y:1402 { switch n := yyDollar[1].node.(type) { case *ast.StmtClass: @@ -3594,7 +3594,7 @@ yydefault: } case 95: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:1437 +// line internal/php5/php5.y:1437 { yyVAL.node = &ast.StmtInterface{ Node: ast.Node{ @@ -3616,7 +3616,7 @@ yydefault: } case 96: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1461 +// line internal/php5/php5.y:1461 { yyVAL.node = &ast.StmtClass{ Node: ast.Node{ @@ -3627,7 +3627,7 @@ yydefault: } case 97: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1470 +// line internal/php5/php5.y:1470 { yyVAL.node = &ast.StmtClass{ Node: ast.Node{ @@ -3647,7 +3647,7 @@ yydefault: } case 98: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1488 +// line internal/php5/php5.y:1488 { yyVAL.node = &ast.StmtTrait{ Node: ast.Node{ @@ -3658,7 +3658,7 @@ yydefault: } case 99: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1497 +// line internal/php5/php5.y:1497 { yyVAL.node = &ast.StmtClass{ Node: ast.Node{ @@ -3678,13 +3678,13 @@ yydefault: } case 100: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1518 +// line internal/php5/php5.y:1518 { yyVAL.node = nil } case 101: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1522 +// line internal/php5/php5.y:1522 { yyVAL.node = &ast.StmtClassExtends{ Node: ast.Node{ @@ -3696,19 +3696,19 @@ yydefault: } case 102: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1535 +// line internal/php5/php5.y:1535 { yyVAL.token = yyDollar[1].token } case 103: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1542 +// line internal/php5/php5.y:1542 { yyVAL.node = nil } case 104: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1546 +// line internal/php5/php5.y:1546 { yyVAL.node = &ast.StmtInterfaceExtends{ Node: ast.Node{ @@ -3721,13 +3721,13 @@ yydefault: } case 105: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1560 +// line internal/php5/php5.y:1560 { yyVAL.node = nil } case 106: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1564 +// line internal/php5/php5.y:1564 { yyVAL.node = &ast.StmtClassImplements{ Node: ast.Node{ @@ -3740,7 +3740,7 @@ yydefault: } case 107: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1578 +// line internal/php5/php5.y:1578 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -3748,7 +3748,7 @@ yydefault: } case 108: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1584 +// line internal/php5/php5.y:1584 { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node) @@ -3757,13 +3757,13 @@ yydefault: } case 109: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1594 +// line internal/php5/php5.y:1594 { yyVAL.node = nil } case 110: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1598 +// line internal/php5/php5.y:1598 { yyVAL.node = &ast.StmtForeach{ DoubleArrowTkn: yyDollar[1].token, @@ -3772,13 +3772,13 @@ yydefault: } case 111: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1608 +// line internal/php5/php5.y:1608 { yyVAL.node = yyDollar[1].node } case 112: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1612 +// line internal/php5/php5.y:1612 { yyVAL.node = &ast.ExprReference{ast.Node{}, yyDollar[2].node} @@ -3790,7 +3790,7 @@ yydefault: } case 113: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1622 +// line internal/php5/php5.y:1622 { pairList := yyDollar[3].node.(*ast.ParserSeparatedList) fistPair := pairList.Items[0].(*ast.ExprArrayItem) @@ -3812,7 +3812,7 @@ yydefault: } case 114: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1645 +// line internal/php5/php5.y:1645 { yyVAL.node = &ast.StmtFor{ Node: ast.Node{ @@ -3823,7 +3823,7 @@ yydefault: } case 115: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1654 +// line internal/php5/php5.y:1654 { yyVAL.node = &ast.StmtFor{ Node: ast.Node{ @@ -3843,7 +3843,7 @@ yydefault: } case 116: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1675 +// line internal/php5/php5.y:1675 { yyVAL.node = &ast.StmtForeach{ Node: ast.Node{ @@ -3854,7 +3854,7 @@ yydefault: } case 117: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1684 +// line internal/php5/php5.y:1684 { yyVAL.node = &ast.StmtForeach{ Node: ast.Node{ @@ -3874,7 +3874,7 @@ yydefault: } case 118: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1706 +// line internal/php5/php5.y:1706 { yyVAL.node = &ast.StmtDeclare{ Node: ast.Node{ @@ -3885,7 +3885,7 @@ yydefault: } case 119: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1715 +// line internal/php5/php5.y:1715 { yyVAL.node = &ast.StmtDeclare{ Node: ast.Node{ @@ -3905,7 +3905,7 @@ yydefault: } case 120: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1737 +// line internal/php5/php5.y:1737 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -3930,7 +3930,7 @@ yydefault: } case 121: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1760 +// line internal/php5/php5.y:1760 { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ParserSeparatedList).Items = append( @@ -3957,7 +3957,7 @@ yydefault: } case 122: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1789 +// line internal/php5/php5.y:1789 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3970,7 +3970,7 @@ yydefault: } case 123: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1800 +// line internal/php5/php5.y:1800 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3984,7 +3984,7 @@ yydefault: } case 124: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1812 +// line internal/php5/php5.y:1812 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3999,7 +3999,7 @@ yydefault: } case 125: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1825 +// line internal/php5/php5.y:1825 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -4015,13 +4015,13 @@ yydefault: } case 126: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1843 +// line internal/php5/php5.y:1843 { yyVAL.list = nil } case 127: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1847 +// line internal/php5/php5.y:1847 { yyVAL.list = append(yyDollar[1].list, &ast.StmtCase{ Node: ast.Node{ @@ -4035,7 +4035,7 @@ yydefault: } case 128: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1859 +// line internal/php5/php5.y:1859 { yyVAL.list = append(yyDollar[1].list, &ast.StmtDefault{ Node: ast.Node{ @@ -4048,19 +4048,19 @@ yydefault: } case 129: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1874 +// line internal/php5/php5.y:1874 { yyVAL.token = yyDollar[1].token } case 130: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1878 +// line internal/php5/php5.y:1878 { yyVAL.token = yyDollar[1].token } case 131: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1886 +// line internal/php5/php5.y:1886 { yyVAL.node = &ast.StmtWhile{ Node: ast.Node{ @@ -4071,7 +4071,7 @@ yydefault: } case 132: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1895 +// line internal/php5/php5.y:1895 { yyVAL.node = &ast.StmtWhile{ Node: ast.Node{ @@ -4091,13 +4091,13 @@ yydefault: } case 133: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1918 +// line internal/php5/php5.y:1918 { yyVAL.list = nil } case 134: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1922 +// line internal/php5/php5.y:1922 { yyVAL.list = append(yyDollar[1].list, &ast.StmtElseIf{ Node: ast.Node{ @@ -4112,13 +4112,13 @@ yydefault: } case 135: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1939 +// line internal/php5/php5.y:1939 { yyVAL.list = nil } case 136: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1943 +// line internal/php5/php5.y:1943 { yyVAL.list = append(yyDollar[1].list, &ast.StmtElseIf{ Node: ast.Node{ @@ -4140,13 +4140,13 @@ yydefault: } case 137: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1967 +// line internal/php5/php5.y:1967 { yyVAL.node = nil } case 138: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1971 +// line internal/php5/php5.y:1971 { yyVAL.node = &ast.StmtElse{ Node: ast.Node{ @@ -4158,13 +4158,13 @@ yydefault: } case 139: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1985 +// line internal/php5/php5.y:1985 { yyVAL.node = nil } case 140: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1989 +// line internal/php5/php5.y:1989 { yyVAL.node = &ast.StmtElse{ Node: ast.Node{ @@ -4183,25 +4183,25 @@ yydefault: } case 141: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2010 +// line internal/php5/php5.y:2010 { yyVAL.list = yyDollar[1].list } case 142: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2014 +// line internal/php5/php5.y:2014 { yyVAL.list = nil } case 143: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2021 +// line internal/php5/php5.y:2021 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 144: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2025 +// line internal/php5/php5.y:2025 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -4210,7 +4210,7 @@ yydefault: } case 145: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2035 +// line internal/php5/php5.y:2035 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -4264,7 +4264,7 @@ yydefault: } case 146: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:2087 +// line internal/php5/php5.y:2087 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -4321,13 +4321,13 @@ yydefault: } case 147: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2146 +// line internal/php5/php5.y:2146 { yyVAL.node = nil } case 148: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2150 +// line internal/php5/php5.y:2150 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4339,7 +4339,7 @@ yydefault: } case 149: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2160 +// line internal/php5/php5.y:2160 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4351,13 +4351,13 @@ yydefault: } case 150: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2170 +// line internal/php5/php5.y:2170 { yyVAL.node = yyDollar[1].node } case 151: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2178 +// line internal/php5/php5.y:2178 { yyVAL.node = &ast.ArgumentList{ Node: ast.Node{ @@ -4369,7 +4369,7 @@ yydefault: } case 152: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2188 +// line internal/php5/php5.y:2188 { argumentList := yyDollar[2].node.(*ast.ArgumentList) argumentList.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) @@ -4380,7 +4380,7 @@ yydefault: } case 153: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2197 +// line internal/php5/php5.y:2197 { yyVAL.node = &ast.ArgumentList{ Node: ast.Node{ @@ -4400,7 +4400,7 @@ yydefault: } case 154: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2219 +// line internal/php5/php5.y:2219 { yyVAL.node = &ast.ArgumentList{ Arguments: []ast.Vertex{yyDollar[1].node}, @@ -4408,7 +4408,7 @@ yydefault: } case 155: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2225 +// line internal/php5/php5.y:2225 { yyDollar[1].node.(*ast.ArgumentList).SeparatorTkns = append(yyDollar[1].node.(*ast.ArgumentList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ArgumentList).Arguments = append(yyDollar[1].node.(*ast.ArgumentList).Arguments, yyDollar[3].node) @@ -4417,7 +4417,7 @@ yydefault: } case 156: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2235 +// line internal/php5/php5.y:2235 { yyVAL.node = &ast.Argument{ Node: ast.Node{ @@ -4428,7 +4428,7 @@ yydefault: } case 157: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2244 +// line internal/php5/php5.y:2244 { yyVAL.node = &ast.Argument{ Node: ast.Node{ @@ -4439,7 +4439,7 @@ yydefault: } case 158: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2253 +// line internal/php5/php5.y:2253 { yyVAL.node = &ast.Argument{ Node: ast.Node{ @@ -4451,7 +4451,7 @@ yydefault: } case 159: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2263 +// line internal/php5/php5.y:2263 { yyVAL.node = &ast.Argument{ Node: ast.Node{ @@ -4463,7 +4463,7 @@ yydefault: } case 160: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2276 +// line internal/php5/php5.y:2276 { yyDollar[1].node.(*ast.StmtGlobal).Vars = append(yyDollar[1].node.(*ast.StmtGlobal).Vars, yyDollar[3].node) yyDollar[1].node.(*ast.StmtGlobal).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtGlobal).SeparatorTkns, yyDollar[2].token) @@ -4472,7 +4472,7 @@ yydefault: } case 161: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2283 +// line internal/php5/php5.y:2283 { yyVAL.node = &ast.StmtGlobal{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -4480,7 +4480,7 @@ yydefault: } case 162: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2293 +// line internal/php5/php5.y:2293 { name := &ast.Identifier{ Node: ast.Node{ @@ -4499,7 +4499,7 @@ yydefault: } case 163: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2310 +// line internal/php5/php5.y:2310 { yyVAL.node = &ast.ExprVariable{ast.Node{}, yyDollar[2].node} @@ -4511,7 +4511,7 @@ yydefault: } case 164: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2320 +// line internal/php5/php5.y:2320 { yyVAL.node = &ast.ExprVariable{ast.Node{}, yyDollar[3].node} @@ -4525,7 +4525,7 @@ yydefault: } case 165: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2336 +// line internal/php5/php5.y:2336 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -4554,7 +4554,7 @@ yydefault: } case 166: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:2363 +// line internal/php5/php5.y:2363 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -4585,7 +4585,7 @@ yydefault: } case 167: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2392 +// line internal/php5/php5.y:2392 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -4615,7 +4615,7 @@ yydefault: } case 168: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2420 +// line internal/php5/php5.y:2420 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -4647,19 +4647,19 @@ yydefault: } case 169: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2454 +// line internal/php5/php5.y:2454 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 170: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2458 +// line internal/php5/php5.y:2458 { yyVAL.list = []ast.Vertex{} } case 171: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2466 +// line internal/php5/php5.y:2466 { yyVAL.node = &ast.StmtPropertyList{ Node: ast.Node{ @@ -4673,7 +4673,7 @@ yydefault: } case 172: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2478 +// line internal/php5/php5.y:2478 { yyDollar[1].node.(*ast.StmtClassConstList).SemiColonTkn = yyDollar[2].token yyDollar[1].node.(*ast.StmtClassConstList).Node.Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token) @@ -4681,13 +4681,13 @@ yydefault: } case 173: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2484 +// line internal/php5/php5.y:2484 { yyVAL.node = yyDollar[1].node } case 174: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:2488 +// line internal/php5/php5.y:2488 { pos := position.NewTokenNodePosition(yyDollar[2].token, yyDollar[8].node) if yyDollar[1].list != nil { @@ -4716,7 +4716,7 @@ yydefault: } case 175: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2518 +// line internal/php5/php5.y:2518 { yyVAL.node = &ast.StmtTraitUse{ Node: ast.Node{ @@ -4730,7 +4730,7 @@ yydefault: } case 176: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2533 +// line internal/php5/php5.y:2533 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4738,7 +4738,7 @@ yydefault: } case 177: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2539 +// line internal/php5/php5.y:2539 { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node) @@ -4747,7 +4747,7 @@ yydefault: } case 178: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2549 +// line internal/php5/php5.y:2549 { yyVAL.node = &ast.StmtNop{ Node: ast.Node{ @@ -4758,7 +4758,7 @@ yydefault: } case 179: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2558 +// line internal/php5/php5.y:2558 { yyVAL.node = &ast.StmtTraitAdaptationList{ Node: ast.Node{ @@ -4771,31 +4771,31 @@ yydefault: } case 180: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2572 +// line internal/php5/php5.y:2572 { yyVAL.list = nil } case 181: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2576 +// line internal/php5/php5.y:2576 { yyVAL.list = yyDollar[1].list } case 182: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2583 +// line internal/php5/php5.y:2583 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 183: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2587 +// line internal/php5/php5.y:2587 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 184: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2594 +// line internal/php5/php5.y:2594 { yyVAL.node = yyDollar[1].node @@ -4805,7 +4805,7 @@ yydefault: } case 185: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2602 +// line internal/php5/php5.y:2602 { yyVAL.node = yyDollar[1].node @@ -4815,7 +4815,7 @@ yydefault: } case 186: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2613 +// line internal/php5/php5.y:2613 { yyVAL.node = &ast.StmtTraitUsePrecedence{ Node: ast.Node{ @@ -4829,7 +4829,7 @@ yydefault: } case 187: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2628 +// line internal/php5/php5.y:2628 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4837,7 +4837,7 @@ yydefault: } case 188: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2634 +// line internal/php5/php5.y:2634 { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node) @@ -4846,7 +4846,7 @@ yydefault: } case 189: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2644 +// line internal/php5/php5.y:2644 { yyVAL.node = &ast.StmtTraitMethodRef{ Node: ast.Node{ @@ -4863,13 +4863,13 @@ yydefault: } case 190: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2659 +// line internal/php5/php5.y:2659 { yyVAL.node = yyDollar[1].node } case 191: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2666 +// line internal/php5/php5.y:2666 { yyVAL.node = &ast.StmtTraitMethodRef{ Node: ast.Node{ @@ -4888,7 +4888,7 @@ yydefault: } case 192: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2686 +// line internal/php5/php5.y:2686 { yyVAL.node = &ast.StmtTraitUseAlias{ Node: ast.Node{ @@ -4908,7 +4908,7 @@ yydefault: } case 193: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2704 +// line internal/php5/php5.y:2704 { yyVAL.node = &ast.StmtTraitUseAlias{ Node: ast.Node{ @@ -4921,19 +4921,19 @@ yydefault: } case 194: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2718 +// line internal/php5/php5.y:2718 { yyVAL.node = nil } case 195: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2722 +// line internal/php5/php5.y:2722 { yyVAL.node = yyDollar[1].node } case 196: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2729 +// line internal/php5/php5.y:2729 { yyVAL.node = &ast.StmtNop{ Node: ast.Node{ @@ -4944,7 +4944,7 @@ yydefault: } case 197: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2738 +// line internal/php5/php5.y:2738 { yyVAL.node = &ast.StmtStmtList{ Node: ast.Node{ @@ -4957,13 +4957,13 @@ yydefault: } case 198: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2752 +// line internal/php5/php5.y:2752 { yyVAL.list = yyDollar[1].list } case 199: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2756 +// line internal/php5/php5.y:2756 { yyVAL.list = []ast.Vertex{ &ast.Identifier{ @@ -4977,31 +4977,31 @@ yydefault: } case 200: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2771 +// line internal/php5/php5.y:2771 { yyVAL.list = nil } case 201: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2775 +// line internal/php5/php5.y:2775 { yyVAL.list = yyDollar[1].list } case 202: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2782 +// line internal/php5/php5.y:2782 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 203: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2786 +// line internal/php5/php5.y:2786 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 204: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2793 +// line internal/php5/php5.y:2793 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5013,7 +5013,7 @@ yydefault: } case 205: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2803 +// line internal/php5/php5.y:2803 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5025,7 +5025,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2813 +// line internal/php5/php5.y:2813 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5037,7 +5037,7 @@ yydefault: } case 207: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2823 +// line internal/php5/php5.y:2823 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5049,7 +5049,7 @@ yydefault: } case 208: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2833 +// line internal/php5/php5.y:2833 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5061,7 +5061,7 @@ yydefault: } case 209: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2843 +// line internal/php5/php5.y:2843 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5073,7 +5073,7 @@ yydefault: } case 210: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2856 +// line internal/php5/php5.y:2856 { item := &ast.StmtProperty{ Node: ast.Node{ @@ -5100,7 +5100,7 @@ yydefault: } case 211: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:2881 +// line internal/php5/php5.y:2881 { item := &ast.StmtProperty{ Node: ast.Node{ @@ -5129,7 +5129,7 @@ yydefault: } case 212: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2908 +// line internal/php5/php5.y:2908 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -5156,7 +5156,7 @@ yydefault: } case 213: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2933 +// line internal/php5/php5.y:2933 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -5184,7 +5184,7 @@ yydefault: } case 214: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:2962 +// line internal/php5/php5.y:2962 { constList := yyDollar[1].node.(*ast.StmtClassConstList) constList.Node.Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node) @@ -5210,7 +5210,7 @@ yydefault: } case 215: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2986 +// line internal/php5/php5.y:2986 { yyVAL.node = &ast.StmtClassConstList{ Node: ast.Node{ @@ -5239,7 +5239,7 @@ yydefault: } case 216: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3016 +// line internal/php5/php5.y:3016 { yyDollar[1].node.(*ast.StmtEcho).Exprs = append(yyDollar[1].node.(*ast.StmtEcho).Exprs, yyDollar[3].node) yyDollar[1].node.(*ast.StmtEcho).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtEcho).SeparatorTkns, yyDollar[2].token) @@ -5248,7 +5248,7 @@ yydefault: } case 217: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3023 +// line internal/php5/php5.y:3023 { yyVAL.node = &ast.StmtEcho{ Exprs: []ast.Vertex{yyDollar[1].node}, @@ -5256,19 +5256,19 @@ yydefault: } case 218: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:3033 +// line internal/php5/php5.y:3033 { yyVAL.list = nil } case 219: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3037 +// line internal/php5/php5.y:3037 { yyVAL.list = yyDollar[1].list } case 220: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3044 +// line internal/php5/php5.y:3044 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -5277,25 +5277,25 @@ yydefault: } case 221: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3051 +// line internal/php5/php5.y:3051 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 222: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3058 +// line internal/php5/php5.y:3058 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 223: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3062 +// line internal/php5/php5.y:3062 { yyVAL.list = yyDollar[1].list } case 224: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3069 +// line internal/php5/php5.y:3069 { fetch := &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -5311,7 +5311,7 @@ yydefault: } case 225: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3083 +// line internal/php5/php5.y:3083 { fetch := &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -5327,37 +5327,37 @@ yydefault: } case 226: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3100 +// line internal/php5/php5.y:3100 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 227: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3104 +// line internal/php5/php5.y:3104 { yyVAL.list = yyDollar[1].list } case 228: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3108 +// line internal/php5/php5.y:3108 { yyVAL.list = yyDollar[1].list } case 229: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:3115 +// line internal/php5/php5.y:3115 { yyVAL.list = nil } case 230: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3119 +// line internal/php5/php5.y:3119 { yyVAL.list = yyDollar[1].list } case 231: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3126 +// line internal/php5/php5.y:3126 { if yyDollar[3].node != nil { @@ -5373,7 +5373,7 @@ yydefault: } case 232: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:3143 +// line internal/php5/php5.y:3143 { pairList := yyDollar[3].node.(*ast.ParserSeparatedList) fistPair := pairList.Items[0].(*ast.ExprArrayItem) @@ -5406,7 +5406,7 @@ yydefault: } case 233: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3174 +// line internal/php5/php5.y:3174 { yyVAL.node = &ast.ExprAssign{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5419,7 +5419,7 @@ yydefault: } case 234: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3185 +// line internal/php5/php5.y:3185 { yyVAL.node = &ast.ExprAssignReference{ast.Node{}, yyDollar[1].node, yyDollar[4].node} @@ -5433,7 +5433,7 @@ yydefault: } case 235: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:3197 +// line internal/php5/php5.y:3197 { var _new *ast.ExprNew @@ -5460,19 +5460,19 @@ yydefault: } case 236: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3222 +// line internal/php5/php5.y:3222 { - yyVAL.node = &ast.ExprClone{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprClone{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + CloneTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 237: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3232 +// line internal/php5/php5.y:3232 { yyVAL.node = &ast.ExprAssignPlus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5484,7 +5484,7 @@ yydefault: } case 238: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3242 +// line internal/php5/php5.y:3242 { yyVAL.node = &ast.ExprAssignMinus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5497,7 +5497,7 @@ yydefault: } case 239: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3253 +// line internal/php5/php5.y:3253 { yyVAL.node = &ast.ExprAssignMul{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5510,7 +5510,7 @@ yydefault: } case 240: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3264 +// line internal/php5/php5.y:3264 { yyVAL.node = &ast.ExprAssignPow{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5523,7 +5523,7 @@ yydefault: } case 241: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3275 +// line internal/php5/php5.y:3275 { yyVAL.node = &ast.ExprAssignDiv{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5536,7 +5536,7 @@ yydefault: } case 242: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3286 +// line internal/php5/php5.y:3286 { yyVAL.node = &ast.ExprAssignConcat{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5549,7 +5549,7 @@ yydefault: } case 243: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3297 +// line internal/php5/php5.y:3297 { yyVAL.node = &ast.ExprAssignMod{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5562,7 +5562,7 @@ yydefault: } case 244: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3308 +// line internal/php5/php5.y:3308 { yyVAL.node = &ast.ExprAssignBitwiseAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5575,7 +5575,7 @@ yydefault: } case 245: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3319 +// line internal/php5/php5.y:3319 { yyVAL.node = &ast.ExprAssignBitwiseOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5588,7 +5588,7 @@ yydefault: } case 246: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3330 +// line internal/php5/php5.y:3330 { yyVAL.node = &ast.ExprAssignBitwiseXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5601,7 +5601,7 @@ yydefault: } case 247: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3341 +// line internal/php5/php5.y:3341 { yyVAL.node = &ast.ExprAssignShiftLeft{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5614,7 +5614,7 @@ yydefault: } case 248: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3352 +// line internal/php5/php5.y:3352 { yyVAL.node = &ast.ExprAssignShiftRight{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5627,7 +5627,7 @@ yydefault: } case 249: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3363 +// line internal/php5/php5.y:3363 { yyVAL.node = &ast.ExprPostInc{ast.Node{}, yyDollar[1].node} @@ -5640,7 +5640,7 @@ yydefault: } case 250: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3374 +// line internal/php5/php5.y:3374 { yyVAL.node = &ast.ExprPreInc{ast.Node{}, yyDollar[2].node} @@ -5652,7 +5652,7 @@ yydefault: } case 251: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3384 +// line internal/php5/php5.y:3384 { yyVAL.node = &ast.ExprPostDec{ast.Node{}, yyDollar[1].node} @@ -5665,7 +5665,7 @@ yydefault: } case 252: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3395 +// line internal/php5/php5.y:3395 { yyVAL.node = &ast.ExprPreDec{ast.Node{}, yyDollar[2].node} @@ -5677,7 +5677,7 @@ yydefault: } case 253: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3405 +// line internal/php5/php5.y:3405 { yyVAL.node = &ast.ExprBinaryBooleanOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5690,7 +5690,7 @@ yydefault: } case 254: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3416 +// line internal/php5/php5.y:3416 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5703,7 +5703,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3427 +// line internal/php5/php5.y:3427 { yyVAL.node = &ast.ExprBinaryLogicalOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5716,7 +5716,7 @@ yydefault: } case 256: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3438 +// line internal/php5/php5.y:3438 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5729,7 +5729,7 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3449 +// line internal/php5/php5.y:3449 { yyVAL.node = &ast.ExprBinaryLogicalXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5742,7 +5742,7 @@ yydefault: } case 258: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3460 +// line internal/php5/php5.y:3460 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5755,7 +5755,7 @@ yydefault: } case 259: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3471 +// line internal/php5/php5.y:3471 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5768,7 +5768,7 @@ yydefault: } case 260: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3482 +// line internal/php5/php5.y:3482 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5781,7 +5781,7 @@ yydefault: } case 261: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3493 +// line internal/php5/php5.y:3493 { yyVAL.node = &ast.ExprBinaryConcat{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5793,7 +5793,7 @@ yydefault: } case 262: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3503 +// line internal/php5/php5.y:3503 { yyVAL.node = &ast.ExprBinaryPlus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5806,7 +5806,7 @@ yydefault: } case 263: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3514 +// line internal/php5/php5.y:3514 { yyVAL.node = &ast.ExprBinaryMinus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5819,7 +5819,7 @@ yydefault: } case 264: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3525 +// line internal/php5/php5.y:3525 { yyVAL.node = &ast.ExprBinaryMul{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5832,7 +5832,7 @@ yydefault: } case 265: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3536 +// line internal/php5/php5.y:3536 { yyVAL.node = &ast.ExprBinaryPow{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5845,7 +5845,7 @@ yydefault: } case 266: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3547 +// line internal/php5/php5.y:3547 { yyVAL.node = &ast.ExprBinaryDiv{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5858,7 +5858,7 @@ yydefault: } case 267: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3558 +// line internal/php5/php5.y:3558 { yyVAL.node = &ast.ExprBinaryMod{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5871,7 +5871,7 @@ yydefault: } case 268: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3569 +// line internal/php5/php5.y:3569 { yyVAL.node = &ast.ExprBinaryShiftLeft{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5884,7 +5884,7 @@ yydefault: } case 269: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3580 +// line internal/php5/php5.y:3580 { yyVAL.node = &ast.ExprBinaryShiftRight{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5897,7 +5897,7 @@ yydefault: } case 270: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3591 +// line internal/php5/php5.y:3591 { yyVAL.node = &ast.ExprUnaryPlus{ast.Node{}, yyDollar[2].node} @@ -5909,7 +5909,7 @@ yydefault: } case 271: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3601 +// line internal/php5/php5.y:3601 { yyVAL.node = &ast.ExprUnaryMinus{ast.Node{}, yyDollar[2].node} @@ -5921,31 +5921,31 @@ yydefault: } case 272: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3611 +// line internal/php5/php5.y:3611 { - yyVAL.node = &ast.ExprBooleanNot{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprBooleanNot{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + ExclamationTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 273: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3621 +// line internal/php5/php5.y:3621 { - yyVAL.node = &ast.ExprBitwiseNot{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprBitwiseNot{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + TildaTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 274: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3631 +// line internal/php5/php5.y:3631 { yyVAL.node = &ast.ExprBinaryIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5958,7 +5958,7 @@ yydefault: } case 275: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3642 +// line internal/php5/php5.y:3642 { yyVAL.node = &ast.ExprBinaryNotIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5971,7 +5971,7 @@ yydefault: } case 276: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3653 +// line internal/php5/php5.y:3653 { yyVAL.node = &ast.ExprBinaryEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5984,7 +5984,7 @@ yydefault: } case 277: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3664 +// line internal/php5/php5.y:3664 { yyVAL.node = &ast.ExprBinaryNotEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5998,7 +5998,7 @@ yydefault: } case 278: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3676 +// line internal/php5/php5.y:3676 { yyVAL.node = &ast.ExprBinarySmaller{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6011,7 +6011,7 @@ yydefault: } case 279: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3687 +// line internal/php5/php5.y:3687 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6024,7 +6024,7 @@ yydefault: } case 280: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3698 +// line internal/php5/php5.y:3698 { yyVAL.node = &ast.ExprBinaryGreater{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6037,7 +6037,7 @@ yydefault: } case 281: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3709 +// line internal/php5/php5.y:3709 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6050,7 +6050,7 @@ yydefault: } case 282: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3720 +// line internal/php5/php5.y:3720 { yyVAL.node = &ast.ExprInstanceOf{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6063,19 +6063,19 @@ yydefault: } case 283: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3731 +// line internal/php5/php5.y:3731 { yyVAL.node = yyDollar[1].node } case 284: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3735 +// line internal/php5/php5.y:3735 { yyVAL.node = yyDollar[1].node } case 285: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3739 +// line internal/php5/php5.y:3739 { yyVAL.node = yyDollar[2].node @@ -6107,7 +6107,7 @@ yydefault: } case 286: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:3769 +// line internal/php5/php5.y:3769 { yyVAL.node = &ast.ExprTernary{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[5].node} @@ -6121,7 +6121,7 @@ yydefault: } case 287: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3781 +// line internal/php5/php5.y:3781 { yyVAL.node = &ast.ExprTernary{ast.Node{}, yyDollar[1].node, nil, yyDollar[4].node} @@ -6135,13 +6135,13 @@ yydefault: } case 288: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3793 +// line internal/php5/php5.y:3793 { yyVAL.node = yyDollar[1].node } case 289: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3797 +// line internal/php5/php5.y:3797 { yyVAL.node = &ast.ExprCastInt{ast.Node{}, yyDollar[2].node} @@ -6154,7 +6154,7 @@ yydefault: } case 290: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3808 +// line internal/php5/php5.y:3808 { yyVAL.node = &ast.ExprCastDouble{ast.Node{}, yyDollar[2].node} @@ -6167,7 +6167,7 @@ yydefault: } case 291: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3819 +// line internal/php5/php5.y:3819 { yyVAL.node = &ast.ExprCastString{ast.Node{}, yyDollar[2].node} @@ -6180,7 +6180,7 @@ yydefault: } case 292: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3830 +// line internal/php5/php5.y:3830 { yyVAL.node = &ast.ExprCastArray{ast.Node{}, yyDollar[2].node} @@ -6193,7 +6193,7 @@ yydefault: } case 293: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3841 +// line internal/php5/php5.y:3841 { yyVAL.node = &ast.ExprCastObject{ast.Node{}, yyDollar[2].node} @@ -6206,7 +6206,7 @@ yydefault: } case 294: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3852 +// line internal/php5/php5.y:3852 { yyVAL.node = &ast.ExprCastBool{ast.Node{}, yyDollar[2].node} @@ -6219,7 +6219,7 @@ yydefault: } case 295: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3863 +// line internal/php5/php5.y:3863 { yyVAL.node = &ast.ExprCastUnset{ast.Node{}, yyDollar[2].node} @@ -6232,7 +6232,7 @@ yydefault: } case 296: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3874 +// line internal/php5/php5.y:3874 { yyVAL.node = &ast.ExprExit{ast.Node{}, false, yyDollar[2].node} @@ -6252,7 +6252,7 @@ yydefault: } case 297: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3892 +// line internal/php5/php5.y:3892 { yyVAL.node = &ast.ExprErrorSuppress{ast.Node{}, yyDollar[2].node} @@ -6264,25 +6264,25 @@ yydefault: } case 298: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3902 +// line internal/php5/php5.y:3902 { yyVAL.node = yyDollar[1].node } case 299: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3906 +// line internal/php5/php5.y:3906 { yyVAL.node = yyDollar[1].node } case 300: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3910 +// line internal/php5/php5.y:3910 { yyVAL.node = yyDollar[1].node } case 301: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3914 +// line internal/php5/php5.y:3914 { yyVAL.node = &ast.ExprShellExec{ast.Node{}, yyDollar[2].list} @@ -6294,7 +6294,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3924 +// line internal/php5/php5.y:3924 { yyVAL.node = &ast.ExprPrint{ast.Node{}, yyDollar[2].node} @@ -6306,7 +6306,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3934 +// line internal/php5/php5.y:3934 { yyVAL.node = &ast.ExprYield{ast.Node{}, nil, nil} @@ -6318,7 +6318,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:3944 +// line internal/php5/php5.y:3944 { yyVAL.node = &ast.ExprClosure{ Node: ast.Node{ @@ -6337,7 +6337,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-10 : yypt+1] - // line internal/php5/php5.y:3961 +// line internal/php5/php5.y:3961 { yyVAL.node = &ast.ExprClosure{ Node: ast.Node{ @@ -6357,7 +6357,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3982 +// line internal/php5/php5.y:3982 { yyVAL.node = &ast.ExprYield{ast.Node{}, nil, yyDollar[2].node} @@ -6369,7 +6369,7 @@ yydefault: } case 307: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3992 +// line internal/php5/php5.y:3992 { yyVAL.node = &ast.ExprYield{ast.Node{}, nil, yyDollar[2].node} @@ -6381,7 +6381,7 @@ yydefault: } case 308: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4002 +// line internal/php5/php5.y:4002 { yyVAL.node = &ast.ExprYield{ast.Node{}, yyDollar[2].node, yyDollar[4].node} @@ -6394,7 +6394,7 @@ yydefault: } case 309: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4013 +// line internal/php5/php5.y:4013 { yyVAL.node = &ast.ExprYield{ast.Node{}, yyDollar[2].node, yyDollar[4].node} @@ -6407,7 +6407,7 @@ yydefault: } case 310: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4027 +// line internal/php5/php5.y:4027 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6421,7 +6421,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4039 +// line internal/php5/php5.y:4039 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6435,7 +6435,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4051 +// line internal/php5/php5.y:4051 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6455,7 +6455,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4069 +// line internal/php5/php5.y:4069 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6469,7 +6469,7 @@ yydefault: } case 314: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4084 +// line internal/php5/php5.y:4084 { yyVAL.node = &ast.ExprArray{ Node: ast.Node{ @@ -6484,7 +6484,7 @@ yydefault: } case 315: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4097 +// line internal/php5/php5.y:4097 { yyVAL.node = &ast.ExprArray{ Node: ast.Node{ @@ -6498,19 +6498,19 @@ yydefault: } case 316: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4112 +// line internal/php5/php5.y:4112 { yyVAL.token = yyDollar[1].token } case 317: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4119 +// line internal/php5/php5.y:4119 { yyVAL.ClosureUse = nil } case 318: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4123 +// line internal/php5/php5.y:4123 { yyVAL.ClosureUse = &ast.ExprClosureUse{ast.Node{}, yyDollar[3].list} @@ -6524,7 +6524,7 @@ yydefault: } case 319: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4138 +// line internal/php5/php5.y:4138 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -6545,7 +6545,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4157 +// line internal/php5/php5.y:4157 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -6569,7 +6569,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4179 +// line internal/php5/php5.y:4179 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -6589,7 +6589,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4197 +// line internal/php5/php5.y:4197 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -6612,7 +6612,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4221 +// line internal/php5/php5.y:4221 { name := &ast.NameName{ Node: ast.Node{ @@ -6627,7 +6627,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4234 +// line internal/php5/php5.y:4234 { name := &ast.NameRelative{ Node: ast.Node{ @@ -6644,7 +6644,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4249 +// line internal/php5/php5.y:4249 { name := &ast.NameFullyQualified{ Node: ast.Node{ @@ -6660,7 +6660,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4263 +// line internal/php5/php5.y:4263 { yyVAL.node = &ast.ExprStaticCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -6673,7 +6673,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4274 +// line internal/php5/php5.y:4274 { yyVAL.node = &ast.ExprStaticCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -6686,7 +6686,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4285 +// line internal/php5/php5.y:4285 { yyVAL.node = &ast.ExprStaticCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -6699,7 +6699,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4296 +// line internal/php5/php5.y:4296 { yyVAL.node = &ast.ExprStaticCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -6712,7 +6712,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4307 +// line internal/php5/php5.y:4307 { yyVAL.node = &ast.ExprFunctionCall{ast.Node{}, yyDollar[1].node, yyDollar[2].node.(*ast.ArgumentList)} @@ -6724,7 +6724,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4320 +// line internal/php5/php5.y:4320 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -6736,7 +6736,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4330 +// line internal/php5/php5.y:4330 { yyVAL.node = &ast.NameName{ Node: ast.Node{ @@ -6747,7 +6747,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4339 +// line internal/php5/php5.y:4339 { yyVAL.node = &ast.NameRelative{ Node: ast.Node{ @@ -6760,7 +6760,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4350 +// line internal/php5/php5.y:4350 { yyVAL.node = &ast.NameFullyQualified{ Node: ast.Node{ @@ -6772,7 +6772,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4363 +// line internal/php5/php5.y:4363 { yyVAL.node = &ast.NameName{ Node: ast.Node{ @@ -6783,7 +6783,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4372 +// line internal/php5/php5.y:4372 { yyVAL.node = &ast.NameRelative{ Node: ast.Node{ @@ -6796,7 +6796,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4383 +// line internal/php5/php5.y:4383 { yyVAL.node = &ast.NameFullyQualified{ Node: ast.Node{ @@ -6808,19 +6808,19 @@ yydefault: } case 338: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4396 +// line internal/php5/php5.y:4396 { yyVAL.node = yyDollar[1].node } case 339: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4400 +// line internal/php5/php5.y:4400 { yyVAL.node = yyDollar[1].node } case 340: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4407 +// line internal/php5/php5.y:4407 { yyVAL.node = yyDollar[1].node @@ -6861,25 +6861,25 @@ yydefault: } case 341: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4446 +// line internal/php5/php5.y:4446 { yyVAL.node = yyDollar[1].node } case 342: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4454 +// line internal/php5/php5.y:4454 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 343: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4458 +// line internal/php5/php5.y:4458 { yyVAL.list = []ast.Vertex{} } case 344: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4466 +// line internal/php5/php5.y:4466 { yyVAL.list = yyDollar[2].list @@ -6888,13 +6888,13 @@ yydefault: } case 345: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4476 +// line internal/php5/php5.y:4476 { yyVAL.node = nil } case 346: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4480 +// line internal/php5/php5.y:4480 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -6910,19 +6910,19 @@ yydefault: } case 347: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4494 +// line internal/php5/php5.y:4494 { yyVAL.node = yyDollar[1].node } case 348: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4501 +// line internal/php5/php5.y:4501 { yyVAL.list = []ast.Vertex{} } case 349: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4505 +// line internal/php5/php5.y:4505 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ @@ -6936,25 +6936,25 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4517 +// line internal/php5/php5.y:4517 { yyVAL.list = yyDollar[1].list } case 351: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4524 +// line internal/php5/php5.y:4524 { yyVAL.node = nil } case 352: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4528 +// line internal/php5/php5.y:4528 { yyVAL.node = yyDollar[1].node } case 353: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4535 +// line internal/php5/php5.y:4535 { yyVAL.node = &ast.ScalarLnumber{ Node: ast.Node{ @@ -6966,7 +6966,7 @@ yydefault: } case 354: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4545 +// line internal/php5/php5.y:4545 { yyVAL.node = &ast.ScalarDnumber{ Node: ast.Node{ @@ -6978,7 +6978,7 @@ yydefault: } case 355: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4555 +// line internal/php5/php5.y:4555 { yyVAL.node = &ast.ScalarString{ Node: ast.Node{ @@ -6990,7 +6990,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4565 +// line internal/php5/php5.y:4565 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7002,7 +7002,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4575 +// line internal/php5/php5.y:4575 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7014,7 +7014,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4585 +// line internal/php5/php5.y:4585 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7026,7 +7026,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4595 +// line internal/php5/php5.y:4595 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7038,7 +7038,7 @@ yydefault: } case 360: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4605 +// line internal/php5/php5.y:4605 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7050,7 +7050,7 @@ yydefault: } case 361: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4615 +// line internal/php5/php5.y:4615 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7062,7 +7062,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4625 +// line internal/php5/php5.y:4625 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7074,7 +7074,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4635 +// line internal/php5/php5.y:4635 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -7095,7 +7095,7 @@ yydefault: } case 364: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4654 +// line internal/php5/php5.y:4654 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -7107,45 +7107,44 @@ yydefault: } case 365: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4667 +// line internal/php5/php5.y:4667 { - target := &ast.Identifier{ + yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + }, + Class: yyDollar[1].node, + DoubleColonTkn: yyDollar[2].token, + ConstantName: &ast.Identifier{ + Node: ast.Node{ + Position: position.NewTokenPosition(yyDollar[3].token), + }, + IdentifierTkn: yyDollar[3].token, + Value: yyDollar[3].token.Value, }, - IdentifierTkn: yyDollar[3].token, - Value: yyDollar[3].token.Value, } - yyVAL.node = &ast.ExprClassConstFetch{ast.Node{}, yyDollar[1].node, target} - - // save position - yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token) - - // save comments - yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } case 366: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4688 +// line internal/php5/php5.y:4687 { yyVAL.node = yyDollar[1].node } case 367: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4695 +// line internal/php5/php5.y:4694 { yyVAL.node = yyDollar[1].node } case 368: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4699 +// line internal/php5/php5.y:4698 { yyVAL.node = yyDollar[1].node } case 369: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4703 +// line internal/php5/php5.y:4702 { name := &ast.NameName{ Node: ast.Node{ @@ -7160,7 +7159,7 @@ yydefault: } case 370: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4716 +// line internal/php5/php5.y:4715 { name := &ast.NameRelative{ Node: ast.Node{ @@ -7177,7 +7176,7 @@ yydefault: } case 371: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4731 +// line internal/php5/php5.y:4730 { name := &ast.NameFullyQualified{ Node: ast.Node{ @@ -7193,7 +7192,7 @@ yydefault: } case 372: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4745 +// line internal/php5/php5.y:4744 { yyVAL.node = &ast.ExprArray{ Node: ast.Node{ @@ -7208,7 +7207,7 @@ yydefault: } case 373: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4758 +// line internal/php5/php5.y:4757 { yyVAL.node = &ast.ExprArray{ Node: ast.Node{ @@ -7222,13 +7221,13 @@ yydefault: } case 374: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4770 +// line internal/php5/php5.y:4769 { yyVAL.node = yyDollar[1].node } case 375: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4774 +// line internal/php5/php5.y:4773 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7240,13 +7239,13 @@ yydefault: } case 376: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4784 +// line internal/php5/php5.y:4783 { yyVAL.node = yyDollar[1].node } case 377: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4791 +// line internal/php5/php5.y:4790 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -7260,7 +7259,7 @@ yydefault: } case 378: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4803 +// line internal/php5/php5.y:4802 { yyVAL.node = &ast.ExprBinaryPlus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7273,7 +7272,7 @@ yydefault: } case 379: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4814 +// line internal/php5/php5.y:4813 { yyVAL.node = &ast.ExprBinaryMinus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7286,7 +7285,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4825 +// line internal/php5/php5.y:4824 { yyVAL.node = &ast.ExprBinaryMul{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7299,7 +7298,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4836 +// line internal/php5/php5.y:4835 { yyVAL.node = &ast.ExprBinaryPow{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7312,7 +7311,7 @@ yydefault: } case 382: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4847 +// line internal/php5/php5.y:4846 { yyVAL.node = &ast.ExprBinaryDiv{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7325,7 +7324,7 @@ yydefault: } case 383: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4858 +// line internal/php5/php5.y:4857 { yyVAL.node = &ast.ExprBinaryMod{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7338,31 +7337,31 @@ yydefault: } case 384: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4869 +// line internal/php5/php5.y:4868 { - yyVAL.node = &ast.ExprBooleanNot{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprBooleanNot{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + ExclamationTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 385: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4879 +// line internal/php5/php5.y:4878 { - yyVAL.node = &ast.ExprBitwiseNot{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprBitwiseNot{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + TildaTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 386: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4889 +// line internal/php5/php5.y:4888 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7375,7 +7374,7 @@ yydefault: } case 387: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4900 +// line internal/php5/php5.y:4899 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7388,7 +7387,7 @@ yydefault: } case 388: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4911 +// line internal/php5/php5.y:4910 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7401,7 +7400,7 @@ yydefault: } case 389: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4922 +// line internal/php5/php5.y:4921 { yyVAL.node = &ast.ExprBinaryShiftLeft{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7414,7 +7413,7 @@ yydefault: } case 390: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4933 +// line internal/php5/php5.y:4932 { yyVAL.node = &ast.ExprBinaryShiftRight{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7427,7 +7426,7 @@ yydefault: } case 391: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4944 +// line internal/php5/php5.y:4943 { yyVAL.node = &ast.ExprBinaryConcat{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7440,7 +7439,7 @@ yydefault: } case 392: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4955 +// line internal/php5/php5.y:4954 { yyVAL.node = &ast.ExprBinaryLogicalXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7453,7 +7452,7 @@ yydefault: } case 393: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4966 +// line internal/php5/php5.y:4965 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7466,7 +7465,7 @@ yydefault: } case 394: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4977 +// line internal/php5/php5.y:4976 { yyVAL.node = &ast.ExprBinaryLogicalOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7479,7 +7478,7 @@ yydefault: } case 395: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4988 +// line internal/php5/php5.y:4987 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7492,7 +7491,7 @@ yydefault: } case 396: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4999 +// line internal/php5/php5.y:4998 { yyVAL.node = &ast.ExprBinaryBooleanOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7505,7 +7504,7 @@ yydefault: } case 397: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5010 +// line internal/php5/php5.y:5009 { yyVAL.node = &ast.ExprBinaryIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7518,7 +7517,7 @@ yydefault: } case 398: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5021 +// line internal/php5/php5.y:5020 { yyVAL.node = &ast.ExprBinaryNotIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7531,7 +7530,7 @@ yydefault: } case 399: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5032 +// line internal/php5/php5.y:5031 { yyVAL.node = &ast.ExprBinaryEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7544,7 +7543,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5043 +// line internal/php5/php5.y:5042 { yyVAL.node = &ast.ExprBinaryNotEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7558,7 +7557,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5055 +// line internal/php5/php5.y:5054 { yyVAL.node = &ast.ExprBinarySmaller{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7571,7 +7570,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5066 +// line internal/php5/php5.y:5065 { yyVAL.node = &ast.ExprBinaryGreater{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7584,7 +7583,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5077 +// line internal/php5/php5.y:5076 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7597,7 +7596,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5088 +// line internal/php5/php5.y:5087 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7610,7 +7609,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5099 +// line internal/php5/php5.y:5098 { yyVAL.node = &ast.ExprTernary{ast.Node{}, yyDollar[1].node, nil, yyDollar[4].node} @@ -7624,7 +7623,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:5111 +// line internal/php5/php5.y:5110 { yyVAL.node = &ast.ExprTernary{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[5].node} @@ -7638,7 +7637,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5123 +// line internal/php5/php5.y:5122 { yyVAL.node = &ast.ExprUnaryPlus{ast.Node{}, yyDollar[2].node} @@ -7650,7 +7649,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5133 +// line internal/php5/php5.y:5132 { yyVAL.node = &ast.ExprUnaryMinus{ast.Node{}, yyDollar[2].node} @@ -7662,7 +7661,7 @@ yydefault: } case 409: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5143 +// line internal/php5/php5.y:5142 { yyVAL.node = yyDollar[2].node @@ -7672,13 +7671,13 @@ yydefault: } case 410: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5154 +// line internal/php5/php5.y:5153 { yyVAL.node = yyDollar[1].node } case 411: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5158 +// line internal/php5/php5.y:5157 { name := &ast.NameName{ Node: ast.Node{ @@ -7693,7 +7692,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5171 +// line internal/php5/php5.y:5170 { name := &ast.NameRelative{ Node: ast.Node{ @@ -7710,7 +7709,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5186 +// line internal/php5/php5.y:5185 { name := &ast.NameFullyQualified{ Node: ast.Node{ @@ -7726,7 +7725,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5203 +// line internal/php5/php5.y:5202 { name := &ast.Identifier{ Node: ast.Node{ @@ -7745,25 +7744,25 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5220 +// line internal/php5/php5.y:5219 { yyVAL.node = yyDollar[1].node } case 416: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5224 +// line internal/php5/php5.y:5223 { yyVAL.node = yyDollar[1].node } case 417: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5228 +// line internal/php5/php5.y:5227 { yyVAL.node = yyDollar[1].node } case 418: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5232 +// line internal/php5/php5.y:5231 { yyVAL.node = &ast.ScalarEncapsed{ Node: ast.Node{ @@ -7776,7 +7775,7 @@ yydefault: } case 419: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5243 +// line internal/php5/php5.y:5242 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -7789,7 +7788,7 @@ yydefault: } case 420: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5254 +// line internal/php5/php5.y:5253 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7801,13 +7800,13 @@ yydefault: } case 421: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5267 +// line internal/php5/php5.y:5266 { yyVAL.node = &ast.ParserSeparatedList{} } case 422: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5271 +// line internal/php5/php5.y:5270 { if yyDollar[2].token != nil { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) @@ -7818,19 +7817,19 @@ yydefault: } case 423: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5283 +// line internal/php5/php5.y:5282 { yyVAL.token = nil } case 424: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5287 +// line internal/php5/php5.y:5286 { yyVAL.token = yyDollar[1].token } case 425: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:5294 +// line internal/php5/php5.y:5293 { arrayItem := &ast.ExprArrayItem{ Node: ast.Node{ @@ -7848,7 +7847,7 @@ yydefault: } case 426: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5310 +// line internal/php5/php5.y:5309 { arrayItem := &ast.ExprArrayItem{ Node: ast.Node{ @@ -7864,7 +7863,7 @@ yydefault: } case 427: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5324 +// line internal/php5/php5.y:5323 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -7881,7 +7880,7 @@ yydefault: } case 428: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5339 +// line internal/php5/php5.y:5338 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -7896,19 +7895,19 @@ yydefault: } case 429: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5355 +// line internal/php5/php5.y:5354 { yyVAL.node = yyDollar[1].node } case 430: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5359 +// line internal/php5/php5.y:5358 { yyVAL.node = yyDollar[1].node } case 431: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5366 +// line internal/php5/php5.y:5365 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -7925,7 +7924,7 @@ yydefault: } case 432: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5381 +// line internal/php5/php5.y:5380 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -7942,25 +7941,25 @@ yydefault: } case 433: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5400 +// line internal/php5/php5.y:5399 { yyVAL.node = yyDollar[1].node } case 434: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5408 +// line internal/php5/php5.y:5407 { yyVAL.node = yyDollar[1].node } case 435: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5415 +// line internal/php5/php5.y:5414 { yyVAL.node = yyDollar[1].node } case 436: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:5422 +// line internal/php5/php5.y:5421 { yyVAL.node = yyDollar[1].node @@ -8018,25 +8017,25 @@ yydefault: } case 437: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5478 +// line internal/php5/php5.y:5477 { yyVAL.node = yyDollar[1].node } case 438: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5485 +// line internal/php5/php5.y:5484 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 439: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5489 +// line internal/php5/php5.y:5488 { yyVAL.list = []ast.Vertex{} } case 440: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5497 +// line internal/php5/php5.y:5496 { if yyDollar[3].list != nil { yyDollar[3].list[0].(*ast.ExprMethodCall).Method = yyDollar[2].list[len(yyDollar[2].list)-1].(*ast.ExprPropertyFetch).Property @@ -8050,7 +8049,7 @@ yydefault: } case 441: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5512 +// line internal/php5/php5.y:5511 { fetch := &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8066,7 +8065,7 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5526 +// line internal/php5/php5.y:5525 { fetch := &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8082,7 +8081,7 @@ yydefault: } case 443: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5543 +// line internal/php5/php5.y:5542 { yyVAL.node = &ast.ExprMethodCall{ast.Node{}, nil, nil, yyDollar[1].node.(*ast.ArgumentList)} @@ -8091,31 +8090,31 @@ yydefault: } case 444: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5553 +// line internal/php5/php5.y:5552 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 445: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5557 +// line internal/php5/php5.y:5556 { yyVAL.list = yyDollar[1].list } case 446: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5561 +// line internal/php5/php5.y:5560 { yyVAL.list = nil } case 447: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5568 +// line internal/php5/php5.y:5567 { yyVAL.node = yyDollar[1].node } case 448: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5572 +// line internal/php5/php5.y:5571 { yyDollar[1].simpleIndirectReference.last.VarName = yyDollar[2].node @@ -8127,7 +8126,7 @@ yydefault: } case 449: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5585 +// line internal/php5/php5.y:5584 { yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8140,7 +8139,7 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5596 +// line internal/php5/php5.y:5595 { yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -8153,13 +8152,13 @@ yydefault: } case 451: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5610 +// line internal/php5/php5.y:5609 { yyVAL.node = yyDollar[1].node } case 452: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5617 +// line internal/php5/php5.y:5616 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8173,7 +8172,7 @@ yydefault: } case 453: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5629 +// line internal/php5/php5.y:5628 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8187,31 +8186,31 @@ yydefault: } case 454: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5644 +// line internal/php5/php5.y:5643 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5648 +// line internal/php5/php5.y:5647 { yyVAL.node = yyDollar[1].node } case 456: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5652 +// line internal/php5/php5.y:5651 { yyVAL.node = yyDollar[1].node } case 457: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5660 +// line internal/php5/php5.y:5659 { yyVAL.node = yyDollar[1].node } case 458: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5664 +// line internal/php5/php5.y:5663 { yyDollar[1].simpleIndirectReference.last.VarName = yyDollar[2].node @@ -8223,13 +8222,13 @@ yydefault: } case 459: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5674 +// line internal/php5/php5.y:5673 { yyVAL.node = yyDollar[1].node } case 460: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5681 +// line internal/php5/php5.y:5680 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8243,7 +8242,7 @@ yydefault: } case 461: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5693 +// line internal/php5/php5.y:5692 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8257,13 +8256,13 @@ yydefault: } case 462: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5705 +// line internal/php5/php5.y:5704 { yyVAL.node = yyDollar[1].node } case 463: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5713 +// line internal/php5/php5.y:5712 { name := &ast.Identifier{ Node: ast.Node{ @@ -8282,7 +8281,7 @@ yydefault: } case 464: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5730 +// line internal/php5/php5.y:5729 { yyVAL.node = &ast.ExprVariable{ast.Node{}, yyDollar[3].node} @@ -8296,25 +8295,25 @@ yydefault: } case 465: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5745 +// line internal/php5/php5.y:5744 { yyVAL.node = nil } case 466: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5749 +// line internal/php5/php5.y:5748 { yyVAL.node = yyDollar[1].node } case 467: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5757 +// line internal/php5/php5.y:5756 { yyVAL.list = yyDollar[1].list } case 468: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5761 +// line internal/php5/php5.y:5760 { fetch := &ast.ExprPropertyFetch{ast.Node{}, nil, yyDollar[1].node} yyVAL.list = []ast.Vertex{fetch} @@ -8324,7 +8323,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5772 +// line internal/php5/php5.y:5771 { fetch := &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8340,7 +8339,7 @@ yydefault: } case 470: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5786 +// line internal/php5/php5.y:5785 { fetch := &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8356,7 +8355,7 @@ yydefault: } case 471: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5800 +// line internal/php5/php5.y:5799 { fetch := &ast.ExprPropertyFetch{ast.Node{}, nil, yyDollar[1].node} yyVAL.list = []ast.Vertex{fetch} @@ -8366,7 +8365,7 @@ yydefault: } case 472: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5811 +// line internal/php5/php5.y:5810 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -8378,7 +8377,7 @@ yydefault: } case 473: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5821 +// line internal/php5/php5.y:5820 { yyVAL.node = yyDollar[2].node @@ -8391,7 +8390,7 @@ yydefault: } case 474: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5835 +// line internal/php5/php5.y:5834 { n := &ast.ExprVariable{ast.Node{}, nil} yyVAL.simpleIndirectReference = simpleIndirectReference{[]*ast.ExprVariable{n}, n} @@ -8404,7 +8403,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5846 +// line internal/php5/php5.y:5845 { n := &ast.ExprVariable{ast.Node{}, nil} @@ -8421,7 +8420,7 @@ yydefault: } case 476: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5864 +// line internal/php5/php5.y:5863 { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node) @@ -8430,7 +8429,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5871 +// line internal/php5/php5.y:5870 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -8438,7 +8437,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5881 +// line internal/php5/php5.y:5880 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -8449,7 +8448,7 @@ yydefault: } case 479: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5890 +// line internal/php5/php5.y:5889 { pairList := yyDollar[3].node.(*ast.ParserSeparatedList) fistPair := pairList.Items[0].(*ast.ExprArrayItem) @@ -8476,19 +8475,19 @@ yydefault: } case 480: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5915 +// line internal/php5/php5.y:5914 { yyVAL.node = &ast.ExprArrayItem{} } case 481: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5923 +// line internal/php5/php5.y:5922 { yyVAL.node = &ast.ParserSeparatedList{} } case 482: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5927 +// line internal/php5/php5.y:5926 { if yyDollar[2].token != nil { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) @@ -8499,7 +8498,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:5939 +// line internal/php5/php5.y:5938 { arrayItem := &ast.ExprArrayItem{ Node: ast.Node{ @@ -8517,7 +8516,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5955 +// line internal/php5/php5.y:5954 { arrayItem := &ast.ExprArrayItem{ Node: ast.Node{ @@ -8533,7 +8532,7 @@ yydefault: } case 485: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5969 +// line internal/php5/php5.y:5968 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -8550,7 +8549,7 @@ yydefault: } case 486: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5984 +// line internal/php5/php5.y:5983 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -8565,7 +8564,7 @@ yydefault: } case 487: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:5997 +// line internal/php5/php5.y:5996 { arrayItem := &ast.ExprArrayItem{ Node: ast.Node{ @@ -8588,7 +8587,7 @@ yydefault: } case 488: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6018 +// line internal/php5/php5.y:6017 { arrayItem := &ast.ExprArrayItem{ Node: ast.Node{ @@ -8609,7 +8608,7 @@ yydefault: } case 489: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6037 +// line internal/php5/php5.y:6036 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -8631,7 +8630,7 @@ yydefault: } case 490: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6057 +// line internal/php5/php5.y:6056 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -8651,13 +8650,13 @@ yydefault: } case 491: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6078 +// line internal/php5/php5.y:6077 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 492: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6082 +// line internal/php5/php5.y:6081 { yyVAL.list = append( yyDollar[1].list, @@ -8672,13 +8671,13 @@ yydefault: } case 493: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6095 +// line internal/php5/php5.y:6094 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 494: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6099 +// line internal/php5/php5.y:6098 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ @@ -8693,7 +8692,7 @@ yydefault: } case 495: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6115 +// line internal/php5/php5.y:6114 { name := &ast.Identifier{ Node: ast.Node{ @@ -8712,7 +8711,7 @@ yydefault: } case 496: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6132 +// line internal/php5/php5.y:6131 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8737,7 +8736,7 @@ yydefault: } case 497: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6155 +// line internal/php5/php5.y:6154 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -8765,7 +8764,7 @@ yydefault: } case 498: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6181 +// line internal/php5/php5.y:6180 { variable := &ast.ExprVariable{ast.Node{}, yyDollar[2].node} @@ -8780,7 +8779,7 @@ yydefault: } case 499: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6194 +// line internal/php5/php5.y:6193 { name := &ast.Identifier{ Node: ast.Node{ @@ -8802,7 +8801,7 @@ yydefault: } case 500: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:6214 +// line internal/php5/php5.y:6213 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8829,7 +8828,7 @@ yydefault: } case 501: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6239 +// line internal/php5/php5.y:6238 { yyVAL.node = yyDollar[2].node @@ -8839,7 +8838,7 @@ yydefault: } case 502: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6250 +// line internal/php5/php5.y:6249 { yyVAL.node = &ast.ScalarString{ Node: ast.Node{ @@ -8851,7 +8850,7 @@ yydefault: } case 503: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6260 +// line internal/php5/php5.y:6259 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string(yyDollar[1].token.Value)); err == nil { @@ -8880,7 +8879,7 @@ yydefault: } case 504: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6287 +// line internal/php5/php5.y:6286 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -8899,7 +8898,7 @@ yydefault: } case 505: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6307 +// line internal/php5/php5.y:6306 { yyVAL.node = &ast.ExprIsset{ast.Node{}, yyDollar[3].list} @@ -8913,7 +8912,7 @@ yydefault: } case 506: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6319 +// line internal/php5/php5.y:6318 { exprBrackets := &ast.ParserBrackets{ Node: ast.Node{ @@ -8935,7 +8934,7 @@ yydefault: } case 507: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6339 +// line internal/php5/php5.y:6338 { exprBrackets := &ast.ParserBrackets{ Node: ast.Node{ @@ -8957,7 +8956,7 @@ yydefault: } case 508: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6359 +// line internal/php5/php5.y:6358 { yyVAL.node = &ast.ExprInclude{ast.Node{}, yyDollar[2].node} @@ -8969,7 +8968,7 @@ yydefault: } case 509: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6369 +// line internal/php5/php5.y:6368 { yyVAL.node = &ast.ExprIncludeOnce{ast.Node{}, yyDollar[2].node} @@ -8981,7 +8980,7 @@ yydefault: } case 510: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6379 +// line internal/php5/php5.y:6378 { exprBrackets := &ast.ParserBrackets{ Node: ast.Node{ @@ -9003,7 +9002,7 @@ yydefault: } case 511: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6399 +// line internal/php5/php5.y:6398 { yyVAL.node = &ast.ExprRequire{ast.Node{}, yyDollar[2].node} @@ -9015,7 +9014,7 @@ yydefault: } case 512: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6409 +// line internal/php5/php5.y:6408 { yyVAL.node = &ast.ExprRequireOnce{ast.Node{}, yyDollar[2].node} @@ -9027,13 +9026,13 @@ yydefault: } case 513: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6422 +// line internal/php5/php5.y:6421 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 514: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6426 +// line internal/php5/php5.y:6425 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -9042,95 +9041,91 @@ yydefault: } case 515: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6436 +// line internal/php5/php5.y:6435 { yyVAL.node = yyDollar[1].node } case 516: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6440 +// line internal/php5/php5.y:6439 { yyVAL.node = yyDollar[1].node } case 517: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6447 +// line internal/php5/php5.y:6446 { - target := &ast.Identifier{ + yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + }, + Class: yyDollar[1].node, + DoubleColonTkn: yyDollar[2].token, + ConstantName: &ast.Identifier{ + Node: ast.Node{ + Position: position.NewTokenPosition(yyDollar[3].token), + }, + IdentifierTkn: yyDollar[3].token, + Value: yyDollar[3].token.Value, }, - IdentifierTkn: yyDollar[3].token, - Value: yyDollar[3].token.Value, } - yyVAL.node = &ast.ExprClassConstFetch{ast.Node{}, yyDollar[1].node, target} - - // save position - yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token) - - // save comments - yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } case 518: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6465 +// line internal/php5/php5.y:6463 { - target := &ast.Identifier{ + yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + }, + Class: yyDollar[1].node, + DoubleColonTkn: yyDollar[2].token, + ConstantName: &ast.Identifier{ + Node: ast.Node{ + Position: position.NewTokenPosition(yyDollar[3].token), + }, + IdentifierTkn: yyDollar[3].token, + Value: yyDollar[3].token.Value, }, - IdentifierTkn: yyDollar[3].token, - Value: yyDollar[3].token.Value, } - yyVAL.node = &ast.ExprClassConstFetch{ast.Node{}, yyDollar[1].node, target} - - // save position - yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token) - - // save comments - yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } case 519: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6486 +// line internal/php5/php5.y:6483 { - target := &ast.Identifier{ + yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + }, + Class: yyDollar[1].node, + DoubleColonTkn: yyDollar[2].token, + ConstantName: &ast.Identifier{ + Node: ast.Node{ + Position: position.NewTokenPosition(yyDollar[3].token), + }, + IdentifierTkn: yyDollar[3].token, + Value: yyDollar[3].token.Value, }, - IdentifierTkn: yyDollar[3].token, - Value: yyDollar[3].token.Value, } - yyVAL.node = &ast.ExprClassConstFetch{ast.Node{}, yyDollar[1].node, target} - - // save position - yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token) - - // save comments - yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } case 520: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6507 +// line internal/php5/php5.y:6503 { - target := &ast.Identifier{ + yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + }, + Class: yyDollar[1].node, + DoubleColonTkn: yyDollar[2].token, + ConstantName: &ast.Identifier{ + Node: ast.Node{ + Position: position.NewTokenPosition(yyDollar[3].token), + }, + IdentifierTkn: yyDollar[3].token, + Value: yyDollar[3].token.Value, }, - IdentifierTkn: yyDollar[3].token, - Value: yyDollar[3].token.Value, } - yyVAL.node = &ast.ExprClassConstFetch{ast.Node{}, yyDollar[1].node, target} - - // save position - yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token) - - // save comments - yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } } goto yystack /* stack new state and value */ diff --git a/internal/php5/php5.y b/internal/php5/php5.y index 6989c2c..e06b9ac 100644 --- a/internal/php5/php5.y +++ b/internal/php5/php5.y @@ -3220,13 +3220,13 @@ expr_without_variable: } | T_CLONE expr { - $$ = &ast.ExprClone{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.ExprClone{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + CloneTkn: $1, + Expr: $2, + } } | variable T_PLUS_EQUAL expr { @@ -3609,23 +3609,23 @@ expr_without_variable: } | '!' expr { - $$ = &ast.ExprBooleanNot{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.ExprBooleanNot{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + ExclamationTkn: $1, + Expr: $2, + } } | '~' expr { - $$ = &ast.ExprBitwiseNot{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.ExprBitwiseNot{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + TildaTkn: $1, + Expr: $2, + } } | expr T_IS_IDENTICAL expr { @@ -4665,21 +4665,20 @@ common_scalar: static_class_constant: class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { - target := &ast.Identifier{ + $$ = &ast.ExprClassConstFetch{ Node: ast.Node{ - Position: position.NewTokenPosition($3), + Position: position.NewNodeTokenPosition($1, $3), + }, + Class: $1, + DoubleColonTkn: $2, + ConstantName: &ast.Identifier{ + Node: ast.Node{ + Position: position.NewTokenPosition($3), + }, + IdentifierTkn: $3, + Value: $3.Value, }, - IdentifierTkn: $3, - Value: $3.Value, } - $$ = &ast.ExprClassConstFetch{ast.Node{}, $1, target} - - // save position - $$.GetNode().Position = position.NewNodeTokenPosition($1, $3) - - // save comments - yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } ; @@ -4867,23 +4866,23 @@ static_operation: } | '!' static_scalar_value { - $$ = &ast.ExprBooleanNot{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.ExprBooleanNot{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + ExclamationTkn: $1, + Expr: $2, + } } | '~' static_scalar_value { - $$ = &ast.ExprBitwiseNot{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.ExprBitwiseNot{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + TildaTkn: $1, + Expr: $2, + } } | static_scalar_value '|' static_scalar_value { @@ -6445,81 +6444,77 @@ isset_variable: class_constant: class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { - target := &ast.Identifier{ + $$ = &ast.ExprClassConstFetch{ Node: ast.Node{ - Position: position.NewTokenPosition($3), + Position: position.NewNodeTokenPosition($1, $3), + }, + Class: $1, + DoubleColonTkn: $2, + ConstantName: &ast.Identifier{ + Node: ast.Node{ + Position: position.NewTokenPosition($3), + }, + IdentifierTkn: $3, + Value: $3.Value, }, - IdentifierTkn: $3, - Value: $3.Value, } - $$ = &ast.ExprClassConstFetch{ast.Node{}, $1, target} - - // save position - $$.GetNode().Position = position.NewNodeTokenPosition($1, $3) - - // save comments - yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } | variable_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { - target := &ast.Identifier{ + $$ = &ast.ExprClassConstFetch{ Node: ast.Node{ - Position: position.NewTokenPosition($3), + Position: position.NewNodeTokenPosition($1, $3), + }, + Class: $1, + DoubleColonTkn: $2, + ConstantName: &ast.Identifier{ + Node: ast.Node{ + Position: position.NewTokenPosition($3), + }, + IdentifierTkn: $3, + Value: $3.Value, }, - IdentifierTkn: $3, - Value: $3.Value, } - $$ = &ast.ExprClassConstFetch{ast.Node{}, $1, target} - - // save position - $$.GetNode().Position = position.NewNodeTokenPosition($1, $3) - - // save comments - yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } ; static_class_name_scalar: class_name T_PAAMAYIM_NEKUDOTAYIM T_CLASS { - target := &ast.Identifier{ + $$ = &ast.ExprClassConstFetch{ Node: ast.Node{ - Position: position.NewTokenPosition($3), + Position: position.NewNodeTokenPosition($1, $3), + }, + Class: $1, + DoubleColonTkn: $2, + ConstantName: &ast.Identifier{ + Node: ast.Node{ + Position: position.NewTokenPosition($3), + }, + IdentifierTkn: $3, + Value: $3.Value, }, - IdentifierTkn: $3, - Value: $3.Value, } - $$ = &ast.ExprClassConstFetch{ast.Node{}, $1, target} - - // save position - $$.GetNode().Position = position.NewNodeTokenPosition($1, $3) - - // save comments - yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } ; class_name_scalar: class_name T_PAAMAYIM_NEKUDOTAYIM T_CLASS { - target := &ast.Identifier{ + $$ = &ast.ExprClassConstFetch{ Node: ast.Node{ - Position: position.NewTokenPosition($3), + Position: position.NewNodeTokenPosition($1, $3), + }, + Class: $1, + DoubleColonTkn: $2, + ConstantName: &ast.Identifier{ + Node: ast.Node{ + Position: position.NewTokenPosition($3), + }, + IdentifierTkn: $3, + Value: $3.Value, }, - IdentifierTkn: $3, - Value: $3.Value, } - $$ = &ast.ExprClassConstFetch{ast.Node{}, $1, target} - - // save position - $$.GetNode().Position = position.NewNodeTokenPosition($1, $3) - - // save comments - yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } ; diff --git a/internal/php7/php7.go b/internal/php7/php7.go index a4b4d5d..387a163 100644 --- a/internal/php7/php7.go +++ b/internal/php7/php7.go @@ -344,7 +344,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -// line internal/php7/php7.y:5006 +// line internal/php7/php7.y:5004 // line yacctab:1 var yyExca = [...]int{ @@ -5309,13 +5309,13 @@ yydefault: yyDollar = yyS[yypt-2 : yypt+1] // line internal/php7/php7.y:2868 { - yyVAL.node = &ast.ExprClone{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprClone{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + CloneTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 301: yyDollar = yyS[yypt-3 : yypt+1] @@ -5784,25 +5784,25 @@ yydefault: yyDollar = yyS[yypt-2 : yypt+1] // line internal/php7/php7.y:3269 { - yyVAL.node = &ast.ExprBooleanNot{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprBooleanNot{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + ExclamationTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 338: yyDollar = yyS[yypt-2 : yypt+1] // line internal/php7/php7.y:3279 { - yyVAL.node = &ast.ExprBitwiseNot{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprBitwiseNot{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + TildaTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 339: yyDollar = yyS[yypt-3 : yypt+1] @@ -6745,81 +6745,79 @@ yydefault: yyDollar = yyS[yypt-3 : yypt+1] // line internal/php7/php7.y:4114 { - target := &ast.Identifier{ + yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + }, + Class: yyDollar[1].node, + DoubleColonTkn: yyDollar[2].token, + ConstantName: &ast.Identifier{ + Node: ast.Node{ + Position: position.NewTokenPosition(yyDollar[3].token), + }, + IdentifierTkn: yyDollar[3].token, + Value: yyDollar[3].token.Value, }, - IdentifierTkn: yyDollar[3].token, - Value: yyDollar[3].token.Value, } - yyVAL.node = &ast.ExprClassConstFetch{ast.Node{}, yyDollar[1].node, target} - - // save position - yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token) - - // save comments - yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } case 420: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php7/php7.y:4132 +// line internal/php7/php7.y:4131 { - target := &ast.Identifier{ + yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + }, + Class: yyDollar[1].node, + DoubleColonTkn: yyDollar[2].token, + ConstantName: &ast.Identifier{ + Node: ast.Node{ + Position: position.NewTokenPosition(yyDollar[3].token), + }, + IdentifierTkn: yyDollar[3].token, + Value: yyDollar[3].token.Value, }, - IdentifierTkn: yyDollar[3].token, - Value: yyDollar[3].token.Value, } - yyVAL.node = &ast.ExprClassConstFetch{ast.Node{}, yyDollar[1].node, target} - - // save position - yyVAL.node.GetNode().Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token) - - // save comments - yylex.(*Parser).MoveFreeFloating(yyDollar[1].node, yyVAL.node) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Name, yyDollar[2].token.SkippedTokens) } case 421: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4153 +// line internal/php7/php7.y:4151 { yyVAL.node = yyDollar[1].node } case 422: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4157 +// line internal/php7/php7.y:4155 { yyVAL.node = yyDollar[1].node } case 423: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php7/php7.y:4164 +// line internal/php7/php7.y:4162 { yyVAL.node = nil } case 424: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4168 +// line internal/php7/php7.y:4166 { yyVAL.node = yyDollar[1].node } case 425: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4175 +// line internal/php7/php7.y:4173 { yyVAL.node = yyDollar[1].node } case 426: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4182 +// line internal/php7/php7.y:4180 { yyVAL.node = yyDollar[1].node } case 427: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php7/php7.y:4186 +// line internal/php7/php7.y:4184 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -6836,19 +6834,19 @@ yydefault: } case 428: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4201 +// line internal/php7/php7.y:4199 { yyVAL.node = yyDollar[1].node } case 429: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4208 +// line internal/php7/php7.y:4206 { yyVAL.node = yyDollar[1].node } case 430: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php7/php7.y:4212 +// line internal/php7/php7.y:4210 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -6865,19 +6863,19 @@ yydefault: } case 431: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4227 +// line internal/php7/php7.y:4225 { yyVAL.node = yyDollar[1].node } case 432: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4234 +// line internal/php7/php7.y:4232 { yyVAL.node = yyDollar[1].node } case 433: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php7/php7.y:4238 +// line internal/php7/php7.y:4236 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6891,7 +6889,7 @@ yydefault: } case 434: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php7/php7.y:4250 +// line internal/php7/php7.y:4248 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6905,7 +6903,7 @@ yydefault: } case 435: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php7/php7.y:4262 +// line internal/php7/php7.y:4260 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6919,7 +6917,7 @@ yydefault: } case 436: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php7/php7.y:4274 +// line internal/php7/php7.y:4272 { yyVAL.node = &ast.ExprMethodCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)} @@ -6932,25 +6930,25 @@ yydefault: } case 437: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4285 +// line internal/php7/php7.y:4283 { yyVAL.node = yyDollar[1].node } case 438: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4292 +// line internal/php7/php7.y:4290 { yyVAL.node = yyDollar[1].node } case 439: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4296 +// line internal/php7/php7.y:4294 { yyVAL.node = yyDollar[1].node } case 440: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php7/php7.y:4300 +// line internal/php7/php7.y:4298 { yyVAL.node = &ast.ExprPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6963,7 +6961,7 @@ yydefault: } case 441: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4314 +// line internal/php7/php7.y:4312 { name := &ast.Identifier{ Node: ast.Node{ @@ -6982,7 +6980,7 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php7/php7.y:4331 +// line internal/php7/php7.y:4329 { yyVAL.node = &ast.ExprVariable{ast.Node{}, yyDollar[3].node} @@ -6996,7 +6994,7 @@ yydefault: } case 443: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php7/php7.y:4343 +// line internal/php7/php7.y:4341 { yyVAL.node = &ast.ExprVariable{ast.Node{}, yyDollar[2].node} @@ -7008,7 +7006,7 @@ yydefault: } case 444: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php7/php7.y:4356 +// line internal/php7/php7.y:4354 { yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7021,7 +7019,7 @@ yydefault: } case 445: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php7/php7.y:4367 +// line internal/php7/php7.y:4365 { yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7034,13 +7032,13 @@ yydefault: } case 446: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4381 +// line internal/php7/php7.y:4379 { yyVAL.node = yyDollar[1].node } case 447: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php7/php7.y:4385 +// line internal/php7/php7.y:4383 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -7054,7 +7052,7 @@ yydefault: } case 448: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php7/php7.y:4397 +// line internal/php7/php7.y:4395 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -7068,7 +7066,7 @@ yydefault: } case 449: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php7/php7.y:4409 +// line internal/php7/php7.y:4407 { yyVAL.node = &ast.ExprPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7081,7 +7079,7 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php7/php7.y:4420 +// line internal/php7/php7.y:4418 { yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7094,7 +7092,7 @@ yydefault: } case 451: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php7/php7.y:4431 +// line internal/php7/php7.y:4429 { yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7107,7 +7105,7 @@ yydefault: } case 452: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4445 +// line internal/php7/php7.y:4443 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -7119,7 +7117,7 @@ yydefault: } case 453: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php7/php7.y:4455 +// line internal/php7/php7.y:4453 { yyVAL.node = yyDollar[2].node @@ -7129,13 +7127,13 @@ yydefault: } case 454: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4463 +// line internal/php7/php7.y:4461 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4470 +// line internal/php7/php7.y:4468 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -7147,7 +7145,7 @@ yydefault: } case 456: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php7/php7.y:4480 +// line internal/php7/php7.y:4478 { yyVAL.node = yyDollar[2].node @@ -7157,13 +7155,13 @@ yydefault: } case 457: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4488 +// line internal/php7/php7.y:4486 { yyVAL.node = yyDollar[1].node } case 458: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4495 +// line internal/php7/php7.y:4493 { pairList := yyDollar[1].node.(*ast.ParserSeparatedList) fistPair := pairList.Items[0].(*ast.ExprArrayItem) @@ -7176,19 +7174,19 @@ yydefault: } case 459: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php7/php7.y:4509 +// line internal/php7/php7.y:4507 { yyVAL.node = &ast.ExprArrayItem{} } case 460: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4513 +// line internal/php7/php7.y:4511 { yyVAL.node = yyDollar[1].node } case 461: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php7/php7.y:4520 +// line internal/php7/php7.y:4518 { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node) @@ -7197,7 +7195,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4527 +// line internal/php7/php7.y:4525 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -7205,7 +7203,7 @@ yydefault: } case 463: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php7/php7.y:4536 +// line internal/php7/php7.y:4534 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7218,7 +7216,7 @@ yydefault: } case 464: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4547 +// line internal/php7/php7.y:4545 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7229,7 +7227,7 @@ yydefault: } case 465: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php7/php7.y:4556 +// line internal/php7/php7.y:4554 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7247,7 +7245,7 @@ yydefault: } case 466: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php7/php7.y:4572 +// line internal/php7/php7.y:4570 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7263,7 +7261,7 @@ yydefault: } case 467: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php7/php7.y:4586 +// line internal/php7/php7.y:4584 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7275,7 +7273,7 @@ yydefault: } case 468: yyDollar = yyS[yypt-6 : yypt+1] -// line internal/php7/php7.y:4596 +// line internal/php7/php7.y:4594 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7297,7 +7295,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php7/php7.y:4616 +// line internal/php7/php7.y:4614 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7317,13 +7315,13 @@ yydefault: } case 470: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php7/php7.y:4637 +// line internal/php7/php7.y:4635 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 471: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php7/php7.y:4641 +// line internal/php7/php7.y:4639 { yyVAL.list = append( yyDollar[1].list, @@ -7338,13 +7336,13 @@ yydefault: } case 472: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4654 +// line internal/php7/php7.y:4652 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 473: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php7/php7.y:4658 +// line internal/php7/php7.y:4656 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ @@ -7359,7 +7357,7 @@ yydefault: } case 474: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4674 +// line internal/php7/php7.y:4672 { name := &ast.Identifier{ Node: ast.Node{ @@ -7378,7 +7376,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php7/php7.y:4691 +// line internal/php7/php7.y:4689 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -7403,7 +7401,7 @@ yydefault: } case 476: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php7/php7.y:4714 +// line internal/php7/php7.y:4712 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -7431,7 +7429,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php7/php7.y:4740 +// line internal/php7/php7.y:4738 { variable := &ast.ExprVariable{ast.Node{}, yyDollar[2].node} @@ -7446,7 +7444,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php7/php7.y:4753 +// line internal/php7/php7.y:4751 { name := &ast.Identifier{ Node: ast.Node{ @@ -7468,7 +7466,7 @@ yydefault: } case 479: yyDollar = yyS[yypt-6 : yypt+1] -// line internal/php7/php7.y:4773 +// line internal/php7/php7.y:4771 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -7495,7 +7493,7 @@ yydefault: } case 480: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php7/php7.y:4798 +// line internal/php7/php7.y:4796 { yyVAL.node = yyDollar[2].node @@ -7505,7 +7503,7 @@ yydefault: } case 481: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4809 +// line internal/php7/php7.y:4807 { yyVAL.node = &ast.ScalarString{ Node: ast.Node{ @@ -7517,7 +7515,7 @@ yydefault: } case 482: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4819 +// line internal/php7/php7.y:4817 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string(yyDollar[1].token.Value)); err == nil { @@ -7540,7 +7538,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php7/php7.y:4840 +// line internal/php7/php7.y:4838 { _, err := strconv.Atoi(string(yyDollar[2].token.Value)) isInt := err == nil @@ -7568,7 +7566,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4866 +// line internal/php7/php7.y:4864 { identifier := &ast.Identifier{ Node: ast.Node{ @@ -7587,7 +7585,7 @@ yydefault: } case 485: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php7/php7.y:4886 +// line internal/php7/php7.y:4884 { yyVAL.node = &ast.ExprIsset{ast.Node{}, yyDollar[3].list} @@ -7605,7 +7603,7 @@ yydefault: } case 486: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php7/php7.y:4902 +// line internal/php7/php7.y:4900 { exprBrackets := &ast.ParserBrackets{ Node: ast.Node{ @@ -7627,7 +7625,7 @@ yydefault: } case 487: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php7/php7.y:4922 +// line internal/php7/php7.y:4920 { yyVAL.node = &ast.ExprInclude{ast.Node{}, yyDollar[2].node} @@ -7639,7 +7637,7 @@ yydefault: } case 488: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php7/php7.y:4932 +// line internal/php7/php7.y:4930 { yyVAL.node = &ast.ExprIncludeOnce{ast.Node{}, yyDollar[2].node} @@ -7651,7 +7649,7 @@ yydefault: } case 489: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php7/php7.y:4942 +// line internal/php7/php7.y:4940 { exprBrackets := &ast.ParserBrackets{ Node: ast.Node{ @@ -7673,7 +7671,7 @@ yydefault: } case 490: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php7/php7.y:4962 +// line internal/php7/php7.y:4960 { yyVAL.node = &ast.ExprRequire{ast.Node{}, yyDollar[2].node} @@ -7685,7 +7683,7 @@ yydefault: } case 491: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php7/php7.y:4972 +// line internal/php7/php7.y:4970 { yyVAL.node = &ast.ExprRequireOnce{ast.Node{}, yyDollar[2].node} @@ -7697,13 +7695,13 @@ yydefault: } case 492: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4985 +// line internal/php7/php7.y:4983 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 493: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php7/php7.y:4989 +// line internal/php7/php7.y:4987 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -7712,7 +7710,7 @@ yydefault: } case 494: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php7/php7.y:4999 +// line internal/php7/php7.y:4997 { yyVAL.node = yyDollar[1].node } diff --git a/internal/php7/php7.y b/internal/php7/php7.y index ffe6f94..7b12137 100644 --- a/internal/php7/php7.y +++ b/internal/php7/php7.y @@ -2866,13 +2866,13 @@ expr_without_variable: } | T_CLONE expr { - $$ = &ast.ExprClone{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.ExprClone{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + CloneTkn: $1, + Expr: $2, + } } | variable T_PLUS_EQUAL expr { @@ -3267,23 +3267,23 @@ expr_without_variable: } | '!' expr { - $$ = &ast.ExprBooleanNot{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.ExprBooleanNot{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + ExclamationTkn: $1, + Expr: $2, + } } | '~' expr { - $$ = &ast.ExprBitwiseNot{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.ExprBitwiseNot{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + TildaTkn: $1, + Expr: $2, + } } | expr T_IS_IDENTICAL expr { @@ -4112,39 +4112,37 @@ constant: } | class_name T_PAAMAYIM_NEKUDOTAYIM identifier { - target := &ast.Identifier{ + $$ = &ast.ExprClassConstFetch{ Node: ast.Node{ - Position: position.NewTokenPosition($3), + Position: position.NewNodeTokenPosition($1, $3), + }, + Class: $1, + DoubleColonTkn: $2, + ConstantName: &ast.Identifier{ + Node: ast.Node{ + Position: position.NewTokenPosition($3), + }, + IdentifierTkn: $3, + Value: $3.Value, }, - IdentifierTkn: $3, - Value: $3.Value, } - $$ = &ast.ExprClassConstFetch{ast.Node{}, $1, target} - - // save position - $$.GetNode().Position = position.NewNodeTokenPosition($1, $3) - - // save comments - yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } | variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier { - target := &ast.Identifier{ + $$ = &ast.ExprClassConstFetch{ Node: ast.Node{ - Position: position.NewTokenPosition($3), + Position: position.NewNodeTokenPosition($1, $3), + }, + Class: $1, + DoubleColonTkn: $2, + ConstantName: &ast.Identifier{ + Node: ast.Node{ + Position: position.NewTokenPosition($3), + }, + IdentifierTkn: $3, + Value: $3.Value, }, - IdentifierTkn: $3, - Value: $3.Value, } - $$ = &ast.ExprClassConstFetch{ast.Node{}, $1, target} - - // save position - $$.GetNode().Position = position.NewNodeTokenPosition($1, $3) - - // save comments - yylex.(*Parser).MoveFreeFloating($1, $$) - yylex.(*Parser).setFreeFloating($$, token.Name, $2.SkippedTokens) } ; diff --git a/pkg/ast/node.go b/pkg/ast/node.go index 990171c..31f5458 100644 --- a/pkg/ast/node.go +++ b/pkg/ast/node.go @@ -1000,7 +1000,8 @@ func (n *ExprArrowFunction) Accept(v NodeVisitor) { // ExprBitwiseNot node type ExprBitwiseNot struct { Node - Expr Vertex + TildaTkn *token.Token + Expr Vertex } func (n *ExprBitwiseNot) Accept(v NodeVisitor) { @@ -1010,7 +1011,8 @@ func (n *ExprBitwiseNot) Accept(v NodeVisitor) { // ExprBooleanNot node type ExprBooleanNot struct { Node - Expr Vertex + ExclamationTkn *token.Token + Expr Vertex } func (n *ExprBooleanNot) Accept(v NodeVisitor) { @@ -1020,8 +1022,9 @@ func (n *ExprBooleanNot) Accept(v NodeVisitor) { // ExprClassConstFetch node type ExprClassConstFetch struct { Node - Class Vertex - ConstantName Vertex + Class Vertex + DoubleColonTkn *token.Token + ConstantName Vertex } func (n *ExprClassConstFetch) Accept(v NodeVisitor) { @@ -1031,7 +1034,8 @@ func (n *ExprClassConstFetch) Accept(v NodeVisitor) { // ExprClone node type ExprClone struct { Node - Expr Vertex + CloneTkn *token.Token + Expr Vertex } func (n *ExprClone) Accept(v NodeVisitor) {