diff --git a/internal/php5/parser.go b/internal/php5/parser.go index 5b06343..ee75429 100644 --- a/internal/php5/parser.go +++ b/internal/php5/parser.go @@ -1,8 +1,6 @@ package php5 import ( - "bytes" - "github.com/z7zmey/php-parser/internal/scanner" "github.com/z7zmey/php-parser/pkg/ast" "github.com/z7zmey/php-parser/pkg/errors" @@ -62,110 +60,3 @@ func lastNode(nn []ast.Vertex) ast.Vertex { } return nn[len(nn)-1] } - -func (p *Parser) MoveFreeFloating(src ast.Vertex, dst ast.Vertex) { - if _, ok := src.GetNode().Tokens[token.Start]; !ok { - return - } - - if src.GetNode().Tokens == nil { - return - } - - dstCollection := &dst.GetNode().Tokens - if *dstCollection == nil { - *dstCollection = make(token.Collection) - } - - (*dstCollection)[token.Start] = src.GetNode().Tokens[token.Start] - delete(src.GetNode().Tokens, token.Start) -} - -func (p *Parser) setFreeFloating(dst ast.Vertex, pos token.Position, tokens []*token.Token) { - if len(tokens) == 0 { - return - } - - dstCollection := &dst.GetNode().Tokens - if *dstCollection == nil { - *dstCollection = make(token.Collection) - } - - l := len(tokens) - for _, v := range tokens[0 : l-1] { - (*dstCollection)[pos] = append((*dstCollection)[pos], v) - } -} - -func (p *Parser) setFreeFloatingTokens(dst ast.Vertex, pos token.Position, tokens []*token.Token) { - if len(tokens) == 0 { - return - } - - dstCollection := &dst.GetNode().Tokens - if *dstCollection == nil { - *dstCollection = make(token.Collection) - } - - (*dstCollection)[pos] = make([]*token.Token, 0) - - for _, v := range tokens { - (*dstCollection)[pos] = append((*dstCollection)[pos], v) - } -} - -func (p *Parser) setToken(dst ast.Vertex, pos token.Position, tokens []*token.Token) { - if len(tokens) == 0 { - return - } - - dstCollection := &dst.GetNode().Tokens - if *dstCollection == nil { - *dstCollection = make(token.Collection) - } - - l := len(tokens) - (*dstCollection)[pos] = append((*dstCollection)[pos], tokens[l-1]) -} - -func (p *Parser) splitSemiColonAndPhpCloseTag(htmlNode ast.Vertex, prevNode ast.Vertex) { - if _, ok := prevNode.GetNode().Tokens[token.SemiColon]; !ok { - return - } - - semiColon := prevNode.GetNode().Tokens[token.SemiColon] - delete(prevNode.GetNode().Tokens, token.SemiColon) - if len(semiColon) == 0 { - return - } - - if semiColon[0].Value[0] == ';' { - p.setFreeFloatingTokens(prevNode, token.SemiColon, []*token.Token{ - { - ID: token.ID(';'), - Value: semiColon[0].Value[0:1], - }, - }) - } - - vlen := len(semiColon[0].Value) - tlen := 2 - if bytes.HasSuffix(semiColon[0].Value, []byte("?>\n")) { - tlen = 3 - } - - phpCloseTag := []*token.Token{} - if vlen-tlen > 1 { - phpCloseTag = append(phpCloseTag, &token.Token{ - ID: token.T_WHITESPACE, - Value: semiColon[0].Value[1 : vlen-tlen], - }) - } - - phpCloseTag = append(phpCloseTag, &token.Token{ - ID: T_CLOSE_TAG, - Value: semiColon[0].Value[vlen-tlen:], - }) - - p.setFreeFloatingTokens(htmlNode, token.Start, append(phpCloseTag, htmlNode.GetNode().Tokens[token.Start]...)) -} diff --git a/internal/php5/php5.go b/internal/php5/php5.go index 626fc16..bff63f6 100644 --- a/internal/php5/php5.go +++ b/internal/php5/php5.go @@ -342,7 +342,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -// line internal/php5/php5.y:6563 +// line internal/php5/php5.y:6522 // line yacctab:1 var yyExca = [...]int{ @@ -2330,24 +2330,19 @@ yydefault: yyDollar = yyS[yypt-2 : yypt+1] // line internal/php5/php5.y:282 { - if inlineHtmlNode, ok := yyDollar[2].node.(*ast.StmtInlineHtml); ok && len(yyDollar[1].list) > 0 { - prevNode := lastNode(yyDollar[1].list) - yylex.(*Parser).splitSemiColonAndPhpCloseTag(inlineHtmlNode, prevNode) - } - if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } } case 3: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:293 + // line internal/php5/php5.y:288 { yyVAL.list = []ast.Vertex{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:300 + // line internal/php5/php5.y:295 { yyVAL.list = []ast.Vertex{ &ast.NameNamePart{ @@ -2361,7 +2356,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:312 + // line internal/php5/php5.y:307 { yyVAL.list = append(yyDollar[1].list, &ast.NameNamePart{ Node: ast.Node{ @@ -2374,32 +2369,32 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:326 + // line internal/php5/php5.y:321 { // error yyVAL.node = nil } case 7: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:331 + // line internal/php5/php5.y:326 { yyVAL.node = yyDollar[1].node } case 8: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:335 + // line internal/php5/php5.y:330 { yyVAL.node = yyDollar[1].node } case 9: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:339 + // line internal/php5/php5.y:334 { yyVAL.node = yyDollar[1].node } case 10: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:343 + // line internal/php5/php5.y:338 { yyVAL.node = &ast.StmtHaltCompiler{ Node: ast.Node{ @@ -2413,7 +2408,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:355 + // line internal/php5/php5.y:350 { yyVAL.node = &ast.StmtNamespace{ Node: ast.Node{ @@ -2431,7 +2426,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:371 + // line internal/php5/php5.y:366 { yyVAL.node = &ast.StmtNamespace{ Node: ast.Node{ @@ -2451,7 +2446,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:389 + // line internal/php5/php5.y:384 { yyVAL.node = &ast.StmtNamespace{ Node: ast.Node{ @@ -2465,7 +2460,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:401 + // line internal/php5/php5.y:396 { yyVAL.node = &ast.StmtUse{ Node: ast.Node{ @@ -2478,7 +2473,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:412 + // line internal/php5/php5.y:407 { yyVAL.node = &ast.StmtUse{ Node: ast.Node{ @@ -2498,7 +2493,7 @@ yydefault: } case 16: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:430 + // line internal/php5/php5.y:425 { yyVAL.node = &ast.StmtUse{ Node: ast.Node{ @@ -2518,7 +2513,7 @@ yydefault: } case 17: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:448 + // line internal/php5/php5.y:443 { yyDollar[1].node.(*ast.StmtConstList).SemiColonTkn = yyDollar[2].token yyDollar[1].node.(*ast.StmtConstList).Node.Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token) @@ -2526,7 +2521,7 @@ yydefault: } case 18: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:457 + // line internal/php5/php5.y:452 { yyDollar[1].list[len(yyDollar[1].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[2].token @@ -2534,13 +2529,13 @@ yydefault: } case 19: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:463 + // line internal/php5/php5.y:458 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 20: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:470 + // line internal/php5/php5.y:465 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2556,7 +2551,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:484 + // line internal/php5/php5.y:479 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2580,7 +2575,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:506 + // line internal/php5/php5.y:501 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2597,7 +2592,7 @@ yydefault: } case 23: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:521 + // line internal/php5/php5.y:516 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2622,7 +2617,7 @@ yydefault: } case 24: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:547 + // line internal/php5/php5.y:542 { yyDollar[1].list[len(yyDollar[1].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[2].token @@ -2630,13 +2625,13 @@ yydefault: } case 25: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:553 + // line internal/php5/php5.y:548 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 26: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:560 + // line internal/php5/php5.y:555 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2652,7 +2647,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:574 + // line internal/php5/php5.y:569 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2676,7 +2671,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:596 + // line internal/php5/php5.y:591 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2693,7 +2688,7 @@ yydefault: } case 29: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:611 + // line internal/php5/php5.y:606 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2718,7 +2713,7 @@ yydefault: } case 30: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:637 + // line internal/php5/php5.y:632 { yyDollar[1].list[len(yyDollar[1].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[2].token @@ -2726,13 +2721,13 @@ yydefault: } case 31: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:643 + // line internal/php5/php5.y:638 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 32: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:650 + // line internal/php5/php5.y:645 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2748,7 +2743,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:664 + // line internal/php5/php5.y:659 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2772,7 +2767,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:686 + // line internal/php5/php5.y:681 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2789,7 +2784,7 @@ yydefault: } case 35: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:701 + // line internal/php5/php5.y:696 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -2814,7 +2809,7 @@ yydefault: } case 36: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:727 + // line internal/php5/php5.y:722 { constList := yyDollar[1].node.(*ast.StmtConstList) constList.Node.Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node) @@ -2835,12 +2830,10 @@ yydefault: }) yyVAL.node = yyDollar[1].node - - yylex.(*Parser).setFreeFloating(lastNode(yyVAL.node.(*ast.StmtConstList).Consts).(*ast.StmtConstant).Name, token.Start, yyDollar[3].token.SkippedTokens) } case 37: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:751 + // line internal/php5/php5.y:744 { yyVAL.node = &ast.StmtConstList{ Node: ast.Node{ @@ -2864,56 +2857,49 @@ yydefault: }, }, } - - yylex.(*Parser).setFreeFloating(lastNode(yyVAL.node.(*ast.StmtConstList).Consts).(*ast.StmtConstant).Name, token.Start, yyDollar[2].token.SkippedTokens) } case 38: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:781 + // line internal/php5/php5.y:772 { - if inlineHtmlNode, ok := yyDollar[2].node.(*ast.StmtInlineHtml); ok && len(yyDollar[1].list) > 0 { - prevNode := lastNode(yyDollar[1].list) - yylex.(*Parser).splitSemiColonAndPhpCloseTag(inlineHtmlNode, prevNode) - } - if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } } case 39: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:792 + // line internal/php5/php5.y:778 { yyVAL.list = []ast.Vertex{} } case 40: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:800 + // line internal/php5/php5.y:786 { // error yyVAL.node = nil } case 41: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:805 + // line internal/php5/php5.y:791 { yyVAL.node = yyDollar[1].node } case 42: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:809 + // line internal/php5/php5.y:795 { yyVAL.node = yyDollar[1].node } case 43: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:813 + // line internal/php5/php5.y:799 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:817 + // line internal/php5/php5.y:803 { yyVAL.node = &ast.StmtHaltCompiler{ Node: ast.Node{ @@ -2927,13 +2913,13 @@ yydefault: } case 45: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:833 + // line internal/php5/php5.y:819 { yyVAL.node = yyDollar[1].node } case 46: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:837 + // line internal/php5/php5.y:823 { yyVAL.node = &ast.StmtLabel{ Node: ast.Node{ @@ -2951,7 +2937,7 @@ yydefault: } case 47: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:856 + // line internal/php5/php5.y:842 { yyVAL.node = &ast.StmtStmtList{ Node: ast.Node{ @@ -2964,7 +2950,7 @@ yydefault: } case 48: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:867 + // line internal/php5/php5.y:853 { pos := position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) if yyDollar[5].node != nil { @@ -2988,7 +2974,7 @@ yydefault: } case 49: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:889 + // line internal/php5/php5.y:875 { yyVAL.node = &ast.StmtIf{ Node: ast.Node{ @@ -3014,7 +3000,7 @@ yydefault: } case 50: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:913 + // line internal/php5/php5.y:899 { yyDollar[3].node.(*ast.StmtWhile).WhileTkn = yyDollar[1].token yyDollar[3].node.(*ast.StmtWhile).OpenParenthesisTkn = yyDollar[2].node.(*ast.ParserBrackets).OpenBracketTkn @@ -3026,7 +3012,7 @@ yydefault: } case 51: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:923 + // line internal/php5/php5.y:909 { yyVAL.node = &ast.StmtDo{ Node: ast.Node{ @@ -3043,7 +3029,7 @@ yydefault: } case 52: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:938 + // line internal/php5/php5.y:924 { yyDollar[9].node.(*ast.StmtFor).ForTkn = yyDollar[1].token yyDollar[9].node.(*ast.StmtFor).OpenParenthesisTkn = yyDollar[2].token @@ -3062,7 +3048,7 @@ yydefault: } case 53: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:955 + // line internal/php5/php5.y:941 { yyDollar[3].node.(*ast.StmtSwitch).SwitchTkn = yyDollar[1].token yyDollar[3].node.(*ast.StmtSwitch).OpenParenthesisTkn = yyDollar[2].node.(*ast.ParserBrackets).OpenBracketTkn @@ -3074,7 +3060,7 @@ yydefault: } case 54: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:965 + // line internal/php5/php5.y:951 { yyVAL.node = &ast.StmtBreak{ Node: ast.Node{ @@ -3086,7 +3072,7 @@ yydefault: } case 55: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:975 + // line internal/php5/php5.y:961 { yyVAL.node = &ast.StmtBreak{ Node: ast.Node{ @@ -3099,7 +3085,7 @@ yydefault: } case 56: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:986 + // line internal/php5/php5.y:972 { yyVAL.node = &ast.StmtContinue{ Node: ast.Node{ @@ -3111,7 +3097,7 @@ yydefault: } case 57: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:996 + // line internal/php5/php5.y:982 { yyVAL.node = &ast.StmtContinue{ Node: ast.Node{ @@ -3124,7 +3110,7 @@ yydefault: } case 58: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1007 + // line internal/php5/php5.y:993 { yyVAL.node = &ast.StmtReturn{ Node: ast.Node{ @@ -3136,7 +3122,7 @@ yydefault: } case 59: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1017 + // line internal/php5/php5.y:1003 { yyVAL.node = &ast.StmtReturn{ Node: ast.Node{ @@ -3149,7 +3135,7 @@ yydefault: } case 60: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1028 + // line internal/php5/php5.y:1014 { yyVAL.node = &ast.StmtReturn{ Node: ast.Node{ @@ -3162,7 +3148,7 @@ yydefault: } case 61: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1039 + // line internal/php5/php5.y:1025 { yyVAL.node = &ast.StmtExpression{ Node: ast.Node{ @@ -3174,7 +3160,7 @@ yydefault: } case 62: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1049 + // line internal/php5/php5.y:1035 { yyDollar[2].node.(*ast.StmtGlobal).GlobalTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtGlobal).SemiColonTkn = yyDollar[3].token @@ -3185,7 +3171,7 @@ yydefault: } case 63: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1058 + // line internal/php5/php5.y:1044 { yyDollar[2].node.(*ast.StmtStatic).StaticTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtStatic).SemiColonTkn = yyDollar[3].token @@ -3196,7 +3182,7 @@ yydefault: } case 64: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1067 + // line internal/php5/php5.y:1053 { yyDollar[2].node.(*ast.StmtEcho).EchoTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtEcho).SemiColonTkn = yyDollar[3].token @@ -3206,7 +3192,7 @@ yydefault: } case 65: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1075 + // line internal/php5/php5.y:1061 { yyVAL.node = &ast.StmtInlineHtml{ Node: ast.Node{ @@ -3218,7 +3204,7 @@ yydefault: } case 66: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1085 + // line internal/php5/php5.y:1071 { yyVAL.node = &ast.StmtExpression{ Node: ast.Node{ @@ -3230,7 +3216,7 @@ yydefault: } case 67: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1095 + // line internal/php5/php5.y:1081 { yyDollar[3].node.(*ast.StmtUnset).UnsetTkn = yyDollar[1].token yyDollar[3].node.(*ast.StmtUnset).OpenParenthesisTkn = yyDollar[2].token @@ -3242,7 +3228,7 @@ yydefault: } case 68: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:1105 + // line internal/php5/php5.y:1091 { yyDollar[8].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[8].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3262,7 +3248,7 @@ yydefault: } case 69: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:1123 + // line internal/php5/php5.y:1109 { yyDollar[8].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[8].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3282,7 +3268,7 @@ yydefault: } case 70: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1141 + // line internal/php5/php5.y:1127 { yyDollar[5].node.(*ast.StmtDeclare).DeclareTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtDeclare).OpenParenthesisTkn = yyDollar[2].token @@ -3295,7 +3281,7 @@ yydefault: } case 71: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1152 + // line internal/php5/php5.y:1138 { yyVAL.node = &ast.StmtNop{ Node: ast.Node{ @@ -3306,7 +3292,7 @@ yydefault: } case 72: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:1161 + // line internal/php5/php5.y:1147 { yyVAL.node = &ast.StmtTry{ TryTkn: yyDollar[1].token, @@ -3325,7 +3311,7 @@ yydefault: } case 73: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1178 + // line internal/php5/php5.y:1164 { yyVAL.node = &ast.StmtThrow{ Node: ast.Node{ @@ -3338,7 +3324,7 @@ yydefault: } case 74: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1189 + // line internal/php5/php5.y:1175 { yyVAL.node = &ast.StmtGoto{ Node: ast.Node{ @@ -3357,13 +3343,13 @@ yydefault: } case 75: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1209 + // line internal/php5/php5.y:1195 { yyVAL.list = []ast.Vertex{} } case 76: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:1213 + // line internal/php5/php5.y:1199 { catch := &ast.StmtCatch{ Node: ast.Node{ @@ -3393,13 +3379,13 @@ yydefault: } case 77: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1244 + // line internal/php5/php5.y:1230 { yyVAL.node = nil } case 78: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1248 + // line internal/php5/php5.y:1234 { yyVAL.node = &ast.StmtFinally{ Node: ast.Node{ @@ -3413,31 +3399,31 @@ yydefault: } case 79: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1263 + // line internal/php5/php5.y:1249 { yyVAL.list = yyDollar[1].list } case 80: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1267 + // line internal/php5/php5.y:1253 { yyVAL.list = []ast.Vertex{} } case 81: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1274 + // line internal/php5/php5.y:1260 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 82: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1278 + // line internal/php5/php5.y:1264 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 83: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:1285 + // line internal/php5/php5.y:1271 { yyVAL.node = &ast.StmtCatch{ Node: ast.Node{ @@ -3466,7 +3452,7 @@ yydefault: } case 84: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1315 + // line internal/php5/php5.y:1301 { yyVAL.node = &ast.StmtUnset{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -3474,7 +3460,7 @@ yydefault: } case 85: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1321 + // line internal/php5/php5.y:1307 { 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) @@ -3483,49 +3469,49 @@ yydefault: } case 86: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1331 + // line internal/php5/php5.y:1317 { yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1338 + // line internal/php5/php5.y:1324 { yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1345 + // line internal/php5/php5.y:1331 { yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1352 + // line internal/php5/php5.y:1338 { yyVAL.token = nil } case 90: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1356 + // line internal/php5/php5.y:1342 { yyVAL.token = yyDollar[1].token } case 91: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1363 + // line internal/php5/php5.y:1349 { yyVAL.token = nil } case 92: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1367 + // line internal/php5/php5.y:1353 { yyVAL.token = yyDollar[1].token } case 93: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:1374 + // line internal/php5/php5.y:1360 { yyVAL.node = &ast.StmtFunction{ Node: ast.Node{ @@ -3551,7 +3537,7 @@ yydefault: } case 94: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php5/php5.y:1401 + // line internal/php5/php5.y:1387 { switch n := yyDollar[1].node.(type) { case *ast.StmtClass: @@ -3588,7 +3574,7 @@ yydefault: } case 95: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:1436 + // line internal/php5/php5.y:1422 { yyVAL.node = &ast.StmtInterface{ Node: ast.Node{ @@ -3610,7 +3596,7 @@ yydefault: } case 96: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1460 + // line internal/php5/php5.y:1446 { yyVAL.node = &ast.StmtClass{ Node: ast.Node{ @@ -3621,7 +3607,7 @@ yydefault: } case 97: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1469 + // line internal/php5/php5.y:1455 { yyVAL.node = &ast.StmtClass{ Node: ast.Node{ @@ -3641,7 +3627,7 @@ yydefault: } case 98: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1487 + // line internal/php5/php5.y:1473 { yyVAL.node = &ast.StmtTrait{ Node: ast.Node{ @@ -3652,7 +3638,7 @@ yydefault: } case 99: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1496 + // line internal/php5/php5.y:1482 { yyVAL.node = &ast.StmtClass{ Node: ast.Node{ @@ -3672,13 +3658,13 @@ yydefault: } case 100: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1517 + // line internal/php5/php5.y:1503 { yyVAL.node = nil } case 101: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1521 + // line internal/php5/php5.y:1507 { yyVAL.node = &ast.StmtClassExtends{ Node: ast.Node{ @@ -3690,19 +3676,19 @@ yydefault: } case 102: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1534 + // line internal/php5/php5.y:1520 { yyVAL.token = yyDollar[1].token } case 103: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1541 + // line internal/php5/php5.y:1527 { yyVAL.node = nil } case 104: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1545 + // line internal/php5/php5.y:1531 { yyVAL.node = &ast.StmtInterfaceExtends{ Node: ast.Node{ @@ -3715,13 +3701,13 @@ yydefault: } case 105: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1559 + // line internal/php5/php5.y:1545 { yyVAL.node = nil } case 106: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1563 + // line internal/php5/php5.y:1549 { yyVAL.node = &ast.StmtClassImplements{ Node: ast.Node{ @@ -3734,7 +3720,7 @@ yydefault: } case 107: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1577 + // line internal/php5/php5.y:1563 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -3742,7 +3728,7 @@ yydefault: } case 108: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1583 + // line internal/php5/php5.y:1569 { 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) @@ -3751,13 +3737,13 @@ yydefault: } case 109: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1593 + // line internal/php5/php5.y:1579 { yyVAL.node = nil } case 110: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1597 + // line internal/php5/php5.y:1583 { yyVAL.node = &ast.StmtForeach{ DoubleArrowTkn: yyDollar[1].token, @@ -3766,13 +3752,13 @@ yydefault: } case 111: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1607 + // line internal/php5/php5.y:1593 { yyVAL.node = yyDollar[1].node } case 112: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1611 + // line internal/php5/php5.y:1597 { yyVAL.node = &ast.ExprReference{ Node: ast.Node{ @@ -3784,7 +3770,7 @@ yydefault: } case 113: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1621 + // line internal/php5/php5.y:1607 { pairList := yyDollar[3].node.(*ast.ParserSeparatedList) fistPair := pairList.Items[0].(*ast.ExprArrayItem) @@ -3806,7 +3792,7 @@ yydefault: } case 114: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1644 + // line internal/php5/php5.y:1630 { yyVAL.node = &ast.StmtFor{ Node: ast.Node{ @@ -3817,7 +3803,7 @@ yydefault: } case 115: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1653 + // line internal/php5/php5.y:1639 { yyVAL.node = &ast.StmtFor{ Node: ast.Node{ @@ -3837,7 +3823,7 @@ yydefault: } case 116: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1674 + // line internal/php5/php5.y:1660 { yyVAL.node = &ast.StmtForeach{ Node: ast.Node{ @@ -3848,7 +3834,7 @@ yydefault: } case 117: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1683 + // line internal/php5/php5.y:1669 { yyVAL.node = &ast.StmtForeach{ Node: ast.Node{ @@ -3868,7 +3854,7 @@ yydefault: } case 118: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1705 + // line internal/php5/php5.y:1691 { yyVAL.node = &ast.StmtDeclare{ Node: ast.Node{ @@ -3879,7 +3865,7 @@ yydefault: } case 119: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1714 + // line internal/php5/php5.y:1700 { yyVAL.node = &ast.StmtDeclare{ Node: ast.Node{ @@ -3899,7 +3885,7 @@ yydefault: } case 120: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1736 + // line internal/php5/php5.y:1722 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -3919,12 +3905,10 @@ yydefault: }, }, } - - yylex.(*Parser).setFreeFloating(lastNode(yyVAL.node.(*ast.ParserSeparatedList).Items).(*ast.StmtConstant).Name, token.Start, yyDollar[1].token.SkippedTokens) } case 121: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1759 + // line internal/php5/php5.y:1743 { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ParserSeparatedList).Items = append( @@ -3946,12 +3930,10 @@ yydefault: ) yyVAL.node = yyDollar[1].node - - yylex.(*Parser).setFreeFloating(lastNode(yyVAL.node.(*ast.ParserSeparatedList).Items).(*ast.StmtConstant).Name, token.Start, yyDollar[3].token.SkippedTokens) } case 122: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1788 + // line internal/php5/php5.y:1770 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3964,7 +3946,7 @@ yydefault: } case 123: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1799 + // line internal/php5/php5.y:1781 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3978,7 +3960,7 @@ yydefault: } case 124: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1811 + // line internal/php5/php5.y:1793 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3993,7 +3975,7 @@ yydefault: } case 125: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1824 + // line internal/php5/php5.y:1806 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -4009,13 +3991,13 @@ yydefault: } case 126: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1842 + // line internal/php5/php5.y:1824 { yyVAL.list = nil } case 127: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1846 + // line internal/php5/php5.y:1828 { yyVAL.list = append(yyDollar[1].list, &ast.StmtCase{ Node: ast.Node{ @@ -4029,7 +4011,7 @@ yydefault: } case 128: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1858 + // line internal/php5/php5.y:1840 { yyVAL.list = append(yyDollar[1].list, &ast.StmtDefault{ Node: ast.Node{ @@ -4042,19 +4024,19 @@ yydefault: } case 129: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1873 + // line internal/php5/php5.y:1855 { yyVAL.token = yyDollar[1].token } case 130: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1877 + // line internal/php5/php5.y:1859 { yyVAL.token = yyDollar[1].token } case 131: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:1885 + // line internal/php5/php5.y:1867 { yyVAL.node = &ast.StmtWhile{ Node: ast.Node{ @@ -4065,7 +4047,7 @@ yydefault: } case 132: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1894 + // line internal/php5/php5.y:1876 { yyVAL.node = &ast.StmtWhile{ Node: ast.Node{ @@ -4085,13 +4067,13 @@ yydefault: } case 133: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1917 + // line internal/php5/php5.y:1899 { yyVAL.list = nil } case 134: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:1921 + // line internal/php5/php5.y:1903 { yyVAL.list = append(yyDollar[1].list, &ast.StmtElseIf{ Node: ast.Node{ @@ -4106,13 +4088,13 @@ yydefault: } case 135: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1938 + // line internal/php5/php5.y:1920 { yyVAL.list = nil } case 136: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:1942 + // line internal/php5/php5.y:1924 { yyVAL.list = append(yyDollar[1].list, &ast.StmtElseIf{ Node: ast.Node{ @@ -4134,13 +4116,13 @@ yydefault: } case 137: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1966 + // line internal/php5/php5.y:1948 { yyVAL.node = nil } case 138: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:1970 + // line internal/php5/php5.y:1952 { yyVAL.node = &ast.StmtElse{ Node: ast.Node{ @@ -4152,13 +4134,13 @@ yydefault: } case 139: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:1984 + // line internal/php5/php5.y:1966 { yyVAL.node = nil } case 140: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:1988 + // line internal/php5/php5.y:1970 { yyVAL.node = &ast.StmtElse{ Node: ast.Node{ @@ -4177,19 +4159,19 @@ yydefault: } case 141: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2009 + // line internal/php5/php5.y:1991 { yyVAL.node = yyDollar[1].node } case 142: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2013 + // line internal/php5/php5.y:1995 { yyVAL.node = &ast.ParserSeparatedList{} } case 143: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2020 + // line internal/php5/php5.y:2002 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4197,7 +4179,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2026 + // line internal/php5/php5.y:2008 { 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) @@ -4206,7 +4188,7 @@ yydefault: } case 145: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2036 + // line internal/php5/php5.y:2018 { pos := position.NewTokenPosition(yyDollar[4].token) if yyDollar[1].node != nil { @@ -4240,7 +4222,7 @@ yydefault: } case 146: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:2068 + // line internal/php5/php5.y:2050 { pos := position.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node) if yyDollar[1].node != nil { @@ -4276,13 +4258,13 @@ yydefault: } case 147: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2106 + // line internal/php5/php5.y:2088 { yyVAL.node = nil } case 148: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2110 + // line internal/php5/php5.y:2092 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4294,7 +4276,7 @@ yydefault: } case 149: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2120 + // line internal/php5/php5.y:2102 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4306,13 +4288,13 @@ yydefault: } case 150: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2130 + // line internal/php5/php5.y:2112 { yyVAL.node = yyDollar[1].node } case 151: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2138 + // line internal/php5/php5.y:2120 { yyVAL.node = &ast.ArgumentList{ Node: ast.Node{ @@ -4324,7 +4306,7 @@ yydefault: } case 152: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2148 + // line internal/php5/php5.y:2130 { argumentList := yyDollar[2].node.(*ast.ArgumentList) argumentList.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) @@ -4335,7 +4317,7 @@ yydefault: } case 153: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2157 + // line internal/php5/php5.y:2139 { yyVAL.node = &ast.ArgumentList{ Node: ast.Node{ @@ -4355,7 +4337,7 @@ yydefault: } case 154: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2179 + // line internal/php5/php5.y:2161 { yyVAL.node = &ast.ArgumentList{ Arguments: []ast.Vertex{yyDollar[1].node}, @@ -4363,7 +4345,7 @@ yydefault: } case 155: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2185 + // line internal/php5/php5.y:2167 { 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) @@ -4372,7 +4354,7 @@ yydefault: } case 156: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2195 + // line internal/php5/php5.y:2177 { yyVAL.node = &ast.Argument{ Node: ast.Node{ @@ -4383,7 +4365,7 @@ yydefault: } case 157: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2204 + // line internal/php5/php5.y:2186 { yyVAL.node = &ast.Argument{ Node: ast.Node{ @@ -4394,7 +4376,7 @@ yydefault: } case 158: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2213 + // line internal/php5/php5.y:2195 { yyVAL.node = &ast.Argument{ Node: ast.Node{ @@ -4406,7 +4388,7 @@ yydefault: } case 159: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2223 + // line internal/php5/php5.y:2205 { yyVAL.node = &ast.Argument{ Node: ast.Node{ @@ -4418,7 +4400,7 @@ yydefault: } case 160: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2236 + // line internal/php5/php5.y:2218 { 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) @@ -4427,7 +4409,7 @@ yydefault: } case 161: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2243 + // line internal/php5/php5.y:2225 { yyVAL.node = &ast.StmtGlobal{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -4435,7 +4417,7 @@ yydefault: } case 162: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2253 + // line internal/php5/php5.y:2235 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -4452,7 +4434,7 @@ yydefault: } case 163: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2268 + // line internal/php5/php5.y:2250 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -4464,7 +4446,7 @@ yydefault: } case 164: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2278 + // line internal/php5/php5.y:2260 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -4483,7 +4465,7 @@ yydefault: } case 165: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2299 + // line internal/php5/php5.y:2281 { yyDollar[1].node.(*ast.StmtStatic).Vars = append(yyDollar[1].node.(*ast.StmtStatic).Vars, &ast.StmtStaticVar{ Node: ast.Node{ @@ -4508,7 +4490,7 @@ yydefault: } case 166: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:2322 + // line internal/php5/php5.y:2304 { yyDollar[1].node.(*ast.StmtStatic).Vars = append(yyDollar[1].node.(*ast.StmtStatic).Vars, &ast.StmtStaticVar{ Node: ast.Node{ @@ -4535,7 +4517,7 @@ yydefault: } case 167: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2347 + // line internal/php5/php5.y:2329 { yyVAL.node = &ast.StmtStatic{ Vars: []ast.Vertex{ @@ -4561,7 +4543,7 @@ yydefault: } case 168: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2371 + // line internal/php5/php5.y:2353 { yyVAL.node = &ast.StmtStatic{ Vars: []ast.Vertex{ @@ -4589,19 +4571,19 @@ yydefault: } case 169: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2401 + // line internal/php5/php5.y:2383 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 170: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2405 + // line internal/php5/php5.y:2387 { yyVAL.list = []ast.Vertex{} } case 171: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2413 + // line internal/php5/php5.y:2395 { yyVAL.node = &ast.StmtPropertyList{ Node: ast.Node{ @@ -4615,7 +4597,7 @@ yydefault: } case 172: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2425 + // line internal/php5/php5.y:2407 { yyDollar[1].node.(*ast.StmtClassConstList).SemiColonTkn = yyDollar[2].token yyDollar[1].node.(*ast.StmtClassConstList).Node.Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token) @@ -4623,13 +4605,13 @@ yydefault: } case 173: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2431 + // line internal/php5/php5.y:2413 { yyVAL.node = yyDollar[1].node } case 174: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php5/php5.y:2435 + // line internal/php5/php5.y:2417 { pos := position.NewTokenNodePosition(yyDollar[2].token, yyDollar[8].node) if yyDollar[1].list != nil { @@ -4659,7 +4641,7 @@ yydefault: } case 175: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2466 + // line internal/php5/php5.y:2448 { yyVAL.node = &ast.StmtTraitUse{ Node: ast.Node{ @@ -4673,7 +4655,7 @@ yydefault: } case 176: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2481 + // line internal/php5/php5.y:2463 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4681,7 +4663,7 @@ yydefault: } case 177: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2487 + // line internal/php5/php5.y:2469 { 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) @@ -4690,7 +4672,7 @@ yydefault: } case 178: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2497 + // line internal/php5/php5.y:2479 { yyVAL.node = &ast.StmtNop{ Node: ast.Node{ @@ -4701,7 +4683,7 @@ yydefault: } case 179: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2506 + // line internal/php5/php5.y:2488 { yyVAL.node = &ast.StmtTraitAdaptationList{ Node: ast.Node{ @@ -4714,31 +4696,31 @@ yydefault: } case 180: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2520 + // line internal/php5/php5.y:2502 { yyVAL.list = nil } case 181: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2524 + // line internal/php5/php5.y:2506 { yyVAL.list = yyDollar[1].list } case 182: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2531 + // line internal/php5/php5.y:2513 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 183: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2535 + // line internal/php5/php5.y:2517 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 184: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2542 + // line internal/php5/php5.y:2524 { yyDollar[1].node.(*ast.StmtTraitUsePrecedence).SemiColonTkn = yyDollar[2].token @@ -4746,7 +4728,7 @@ yydefault: } case 185: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2548 + // line internal/php5/php5.y:2530 { yyDollar[1].node.(*ast.StmtTraitUseAlias).SemiColonTkn = yyDollar[2].token @@ -4754,7 +4736,7 @@ yydefault: } case 186: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2557 + // line internal/php5/php5.y:2539 { yyVAL.node = &ast.StmtTraitUsePrecedence{ Node: ast.Node{ @@ -4768,7 +4750,7 @@ yydefault: } case 187: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2572 + // line internal/php5/php5.y:2554 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4776,7 +4758,7 @@ yydefault: } case 188: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2578 + // line internal/php5/php5.y:2560 { 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) @@ -4785,7 +4767,7 @@ yydefault: } case 189: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2588 + // line internal/php5/php5.y:2570 { yyVAL.node = &ast.StmtTraitMethodRef{ Node: ast.Node{ @@ -4802,13 +4784,13 @@ yydefault: } case 190: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2603 + // line internal/php5/php5.y:2585 { yyVAL.node = yyDollar[1].node } case 191: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2610 + // line internal/php5/php5.y:2592 { yyVAL.node = &ast.StmtTraitMethodRef{ Node: ast.Node{ @@ -4827,7 +4809,7 @@ yydefault: } case 192: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2630 + // line internal/php5/php5.y:2612 { yyVAL.node = &ast.StmtTraitUseAlias{ Node: ast.Node{ @@ -4847,7 +4829,7 @@ yydefault: } case 193: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2648 + // line internal/php5/php5.y:2630 { yyVAL.node = &ast.StmtTraitUseAlias{ Node: ast.Node{ @@ -4860,19 +4842,19 @@ yydefault: } case 194: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2662 + // line internal/php5/php5.y:2644 { yyVAL.node = nil } case 195: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2666 + // line internal/php5/php5.y:2648 { yyVAL.node = yyDollar[1].node } case 196: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2673 + // line internal/php5/php5.y:2655 { yyVAL.node = &ast.StmtNop{ Node: ast.Node{ @@ -4883,7 +4865,7 @@ yydefault: } case 197: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2682 + // line internal/php5/php5.y:2664 { yyVAL.node = &ast.StmtStmtList{ Node: ast.Node{ @@ -4896,13 +4878,13 @@ yydefault: } case 198: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2696 + // line internal/php5/php5.y:2678 { yyVAL.list = yyDollar[1].list } case 199: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2700 + // line internal/php5/php5.y:2682 { yyVAL.list = []ast.Vertex{ &ast.Identifier{ @@ -4916,31 +4898,31 @@ yydefault: } case 200: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2715 + // line internal/php5/php5.y:2697 { yyVAL.list = nil } case 201: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2719 + // line internal/php5/php5.y:2701 { yyVAL.list = yyDollar[1].list } case 202: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2726 + // line internal/php5/php5.y:2708 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 203: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:2730 + // line internal/php5/php5.y:2712 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 204: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2737 + // line internal/php5/php5.y:2719 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4952,7 +4934,7 @@ yydefault: } case 205: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2747 + // line internal/php5/php5.y:2729 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4964,7 +4946,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2757 + // line internal/php5/php5.y:2739 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4976,7 +4958,7 @@ yydefault: } case 207: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2767 + // line internal/php5/php5.y:2749 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4988,7 +4970,7 @@ yydefault: } case 208: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2777 + // line internal/php5/php5.y:2759 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5000,7 +4982,7 @@ yydefault: } case 209: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2787 + // line internal/php5/php5.y:2769 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5012,7 +4994,7 @@ yydefault: } case 210: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2800 + // line internal/php5/php5.y:2782 { item := &ast.StmtProperty{ Node: ast.Node{ @@ -5039,7 +5021,7 @@ yydefault: } case 211: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:2825 + // line internal/php5/php5.y:2807 { item := &ast.StmtProperty{ Node: ast.Node{ @@ -5068,7 +5050,7 @@ yydefault: } case 212: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2852 + // line internal/php5/php5.y:2834 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -5095,7 +5077,7 @@ yydefault: } case 213: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2877 + // line internal/php5/php5.y:2859 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -5123,7 +5105,7 @@ yydefault: } case 214: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:2906 + // line internal/php5/php5.y:2888 { constList := yyDollar[1].node.(*ast.StmtClassConstList) constList.Node.Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node) @@ -5144,12 +5126,10 @@ yydefault: }) yyVAL.node = yyDollar[1].node - - yylex.(*Parser).setFreeFloating(lastNode(yyVAL.node.(*ast.StmtClassConstList).Consts).(*ast.StmtConstant).Name, token.Start, yyDollar[3].token.SkippedTokens) } case 215: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:2930 + // line internal/php5/php5.y:2910 { yyVAL.node = &ast.StmtClassConstList{ Node: ast.Node{ @@ -5173,12 +5153,10 @@ yydefault: }, }, } - - yylex.(*Parser).setFreeFloating(lastNode(yyVAL.node.(*ast.StmtClassConstList).Consts).(*ast.StmtConstant).Name, token.Start, yyDollar[2].token.SkippedTokens) } case 216: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2960 + // line internal/php5/php5.y:2938 { 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) @@ -5187,7 +5165,7 @@ yydefault: } case 217: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2967 + // line internal/php5/php5.y:2945 { yyVAL.node = &ast.StmtEcho{ Exprs: []ast.Vertex{yyDollar[1].node}, @@ -5195,19 +5173,19 @@ yydefault: } case 218: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:2977 + // line internal/php5/php5.y:2955 { yyVAL.node = &ast.ParserSeparatedList{} } case 219: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2981 + // line internal/php5/php5.y:2959 { yyVAL.node = yyDollar[1].node } case 220: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:2988 + // line internal/php5/php5.y:2966 { 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) @@ -5216,7 +5194,7 @@ yydefault: } case 221: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:2995 + // line internal/php5/php5.y:2973 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -5224,19 +5202,19 @@ yydefault: } case 222: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3004 + // line internal/php5/php5.y:2982 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 223: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3008 + // line internal/php5/php5.y:2986 { yyVAL.list = yyDollar[1].list } case 224: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3015 + // line internal/php5/php5.y:2993 { fetch := &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -5252,7 +5230,7 @@ yydefault: } case 225: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3029 + // line internal/php5/php5.y:3007 { fetch := &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -5268,37 +5246,37 @@ yydefault: } case 226: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3046 + // line internal/php5/php5.y:3024 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 227: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3050 + // line internal/php5/php5.y:3028 { yyVAL.list = yyDollar[1].list } case 228: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3054 + // line internal/php5/php5.y:3032 { yyVAL.list = yyDollar[1].list } case 229: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:3061 + // line internal/php5/php5.y:3039 { yyVAL.list = nil } case 230: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3065 + // line internal/php5/php5.y:3043 { yyVAL.list = yyDollar[1].list } case 231: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3072 + // line internal/php5/php5.y:3050 { if yyDollar[3].node != nil { yyVAL.node = &ast.ExprNew{ @@ -5323,7 +5301,7 @@ yydefault: } case 232: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:3098 + // line internal/php5/php5.y:3076 { yyVAL.node = &ast.ExprAssign{ Node: ast.Node{ @@ -5345,7 +5323,7 @@ yydefault: } case 233: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3118 + // line internal/php5/php5.y:3096 { yyVAL.node = &ast.ExprAssign{ Node: ast.Node{ @@ -5358,7 +5336,7 @@ yydefault: } case 234: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3129 + // line internal/php5/php5.y:3107 { yyVAL.node = &ast.ExprAssignReference{ Node: ast.Node{ @@ -5372,7 +5350,7 @@ yydefault: } case 235: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:3141 + // line internal/php5/php5.y:3119 { var _new *ast.ExprNew if yyDollar[3].token != nil { @@ -5409,7 +5387,7 @@ yydefault: } case 236: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3176 + // line internal/php5/php5.y:3154 { yyVAL.node = &ast.ExprClone{ Node: ast.Node{ @@ -5421,7 +5399,7 @@ yydefault: } case 237: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3186 + // line internal/php5/php5.y:3164 { yyVAL.node = &ast.ExprAssignPlus{ Node: ast.Node{ @@ -5434,7 +5412,7 @@ yydefault: } case 238: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3197 + // line internal/php5/php5.y:3175 { yyVAL.node = &ast.ExprAssignMinus{ Node: ast.Node{ @@ -5447,7 +5425,7 @@ yydefault: } case 239: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3208 + // line internal/php5/php5.y:3186 { yyVAL.node = &ast.ExprAssignMul{ Node: ast.Node{ @@ -5460,7 +5438,7 @@ yydefault: } case 240: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3219 + // line internal/php5/php5.y:3197 { yyVAL.node = &ast.ExprAssignPow{ Node: ast.Node{ @@ -5473,7 +5451,7 @@ yydefault: } case 241: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3230 + // line internal/php5/php5.y:3208 { yyVAL.node = &ast.ExprAssignDiv{ Node: ast.Node{ @@ -5486,7 +5464,7 @@ yydefault: } case 242: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3241 + // line internal/php5/php5.y:3219 { yyVAL.node = &ast.ExprAssignConcat{ Node: ast.Node{ @@ -5499,7 +5477,7 @@ yydefault: } case 243: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3252 + // line internal/php5/php5.y:3230 { yyVAL.node = &ast.ExprAssignMod{ Node: ast.Node{ @@ -5512,7 +5490,7 @@ yydefault: } case 244: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3263 + // line internal/php5/php5.y:3241 { yyVAL.node = &ast.ExprAssignBitwiseAnd{ Node: ast.Node{ @@ -5525,7 +5503,7 @@ yydefault: } case 245: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3274 + // line internal/php5/php5.y:3252 { yyVAL.node = &ast.ExprAssignBitwiseOr{ Node: ast.Node{ @@ -5538,7 +5516,7 @@ yydefault: } case 246: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3285 + // line internal/php5/php5.y:3263 { yyVAL.node = &ast.ExprAssignBitwiseXor{ Node: ast.Node{ @@ -5551,7 +5529,7 @@ yydefault: } case 247: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3296 + // line internal/php5/php5.y:3274 { yyVAL.node = &ast.ExprAssignShiftLeft{ Node: ast.Node{ @@ -5564,7 +5542,7 @@ yydefault: } case 248: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3307 + // line internal/php5/php5.y:3285 { yyVAL.node = &ast.ExprAssignShiftRight{ Node: ast.Node{ @@ -5577,7 +5555,7 @@ yydefault: } case 249: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3318 + // line internal/php5/php5.y:3296 { yyVAL.node = &ast.ExprPostInc{ Node: ast.Node{ @@ -5589,7 +5567,7 @@ yydefault: } case 250: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3328 + // line internal/php5/php5.y:3306 { yyVAL.node = &ast.ExprPreInc{ Node: ast.Node{ @@ -5601,7 +5579,7 @@ yydefault: } case 251: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3338 + // line internal/php5/php5.y:3316 { yyVAL.node = &ast.ExprPostDec{ Node: ast.Node{ @@ -5613,7 +5591,7 @@ yydefault: } case 252: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3348 + // line internal/php5/php5.y:3326 { yyVAL.node = &ast.ExprPreDec{ Node: ast.Node{ @@ -5625,7 +5603,7 @@ yydefault: } case 253: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3358 + // line internal/php5/php5.y:3336 { yyVAL.node = &ast.ExprBinaryBooleanOr{ Node: ast.Node{ @@ -5638,7 +5616,7 @@ yydefault: } case 254: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3369 + // line internal/php5/php5.y:3347 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ Node: ast.Node{ @@ -5651,7 +5629,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3380 + // line internal/php5/php5.y:3358 { yyVAL.node = &ast.ExprBinaryLogicalOr{ Node: ast.Node{ @@ -5664,7 +5642,7 @@ yydefault: } case 256: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3391 + // line internal/php5/php5.y:3369 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ Node: ast.Node{ @@ -5677,7 +5655,7 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3402 + // line internal/php5/php5.y:3380 { yyVAL.node = &ast.ExprBinaryLogicalXor{ Node: ast.Node{ @@ -5690,7 +5668,7 @@ yydefault: } case 258: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3413 + // line internal/php5/php5.y:3391 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ Node: ast.Node{ @@ -5703,7 +5681,7 @@ yydefault: } case 259: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3424 + // line internal/php5/php5.y:3402 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ Node: ast.Node{ @@ -5716,7 +5694,7 @@ yydefault: } case 260: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3435 + // line internal/php5/php5.y:3413 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ Node: ast.Node{ @@ -5729,7 +5707,7 @@ yydefault: } case 261: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3446 + // line internal/php5/php5.y:3424 { yyVAL.node = &ast.ExprBinaryConcat{ Node: ast.Node{ @@ -5742,7 +5720,7 @@ yydefault: } case 262: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3457 + // line internal/php5/php5.y:3435 { yyVAL.node = &ast.ExprBinaryPlus{ Node: ast.Node{ @@ -5755,7 +5733,7 @@ yydefault: } case 263: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3468 + // line internal/php5/php5.y:3446 { yyVAL.node = &ast.ExprBinaryMinus{ Node: ast.Node{ @@ -5768,7 +5746,7 @@ yydefault: } case 264: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3479 + // line internal/php5/php5.y:3457 { yyVAL.node = &ast.ExprBinaryMul{ Node: ast.Node{ @@ -5781,7 +5759,7 @@ yydefault: } case 265: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3490 + // line internal/php5/php5.y:3468 { yyVAL.node = &ast.ExprBinaryPow{ Node: ast.Node{ @@ -5794,7 +5772,7 @@ yydefault: } case 266: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3501 + // line internal/php5/php5.y:3479 { yyVAL.node = &ast.ExprBinaryDiv{ Node: ast.Node{ @@ -5807,7 +5785,7 @@ yydefault: } case 267: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3512 + // line internal/php5/php5.y:3490 { yyVAL.node = &ast.ExprBinaryMod{ Node: ast.Node{ @@ -5820,7 +5798,7 @@ yydefault: } case 268: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3523 + // line internal/php5/php5.y:3501 { yyVAL.node = &ast.ExprBinaryShiftLeft{ Node: ast.Node{ @@ -5833,7 +5811,7 @@ yydefault: } case 269: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3534 + // line internal/php5/php5.y:3512 { yyVAL.node = &ast.ExprBinaryShiftRight{ Node: ast.Node{ @@ -5846,7 +5824,7 @@ yydefault: } case 270: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3545 + // line internal/php5/php5.y:3523 { yyVAL.node = &ast.ExprUnaryPlus{ Node: ast.Node{ @@ -5858,7 +5836,7 @@ yydefault: } case 271: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3555 + // line internal/php5/php5.y:3533 { yyVAL.node = &ast.ExprUnaryMinus{ Node: ast.Node{ @@ -5870,7 +5848,7 @@ yydefault: } case 272: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3565 + // line internal/php5/php5.y:3543 { yyVAL.node = &ast.ExprBooleanNot{ Node: ast.Node{ @@ -5882,7 +5860,7 @@ yydefault: } case 273: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3575 + // line internal/php5/php5.y:3553 { yyVAL.node = &ast.ExprBitwiseNot{ Node: ast.Node{ @@ -5894,7 +5872,7 @@ yydefault: } case 274: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3585 + // line internal/php5/php5.y:3563 { yyVAL.node = &ast.ExprBinaryIdentical{ Node: ast.Node{ @@ -5907,7 +5885,7 @@ yydefault: } case 275: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3596 + // line internal/php5/php5.y:3574 { yyVAL.node = &ast.ExprBinaryNotIdentical{ Node: ast.Node{ @@ -5920,7 +5898,7 @@ yydefault: } case 276: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3607 + // line internal/php5/php5.y:3585 { yyVAL.node = &ast.ExprBinaryEqual{ Node: ast.Node{ @@ -5933,7 +5911,7 @@ yydefault: } case 277: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3618 + // line internal/php5/php5.y:3596 { yyVAL.node = &ast.ExprBinaryNotEqual{ Node: ast.Node{ @@ -5943,11 +5921,10 @@ yydefault: OpTkn: yyDollar[2].token, Right: yyDollar[3].node, } - yylex.(*Parser).setToken(yyVAL.node, token.Equal, yyDollar[2].token.SkippedTokens) } case 278: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3630 + // line internal/php5/php5.y:3607 { yyVAL.node = &ast.ExprBinarySmaller{ Node: ast.Node{ @@ -5960,7 +5937,7 @@ yydefault: } case 279: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3641 + // line internal/php5/php5.y:3618 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ Node: ast.Node{ @@ -5973,7 +5950,7 @@ yydefault: } case 280: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3652 + // line internal/php5/php5.y:3629 { yyVAL.node = &ast.ExprBinaryGreater{ Node: ast.Node{ @@ -5986,7 +5963,7 @@ yydefault: } case 281: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3663 + // line internal/php5/php5.y:3640 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ Node: ast.Node{ @@ -5999,7 +5976,7 @@ yydefault: } case 282: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3674 + // line internal/php5/php5.y:3651 { yyVAL.node = &ast.ExprInstanceOf{ Node: ast.Node{ @@ -6012,25 +5989,28 @@ yydefault: } case 283: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3685 + // line internal/php5/php5.y:3662 { yyVAL.node = yyDollar[1].node } case 284: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3689 + // line internal/php5/php5.y:3666 { yyVAL.node = yyDollar[1].node } case 285: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3693 + // line internal/php5/php5.y:3670 { - yyVAL.node = yyDollar[2].node - - // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, append(yyDollar[1].token.SkippedTokens, yyVAL.node.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyVAL.node.GetNode().Tokens[token.End], yyDollar[3].token.SkippedTokens...)) + yyVAL.node = &ast.ParserBrackets{ + Node: ast.Node{ + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + }, + OpenBracketTkn: yyDollar[1].token, + Child: yyDollar[2].node, + CloseBracketTkn: yyDollar[3].token, + } for _, n := range yyDollar[4].list { switch nn := n.(type) { @@ -6058,7 +6038,7 @@ yydefault: } case 286: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:3725 + // line internal/php5/php5.y:3705 { yyVAL.node = &ast.ExprTernary{ Node: ast.Node{ @@ -6073,7 +6053,7 @@ yydefault: } case 287: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3738 + // line internal/php5/php5.y:3718 { yyVAL.node = &ast.ExprTernary{ Node: ast.Node{ @@ -6087,13 +6067,13 @@ yydefault: } case 288: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3750 + // line internal/php5/php5.y:3730 { yyVAL.node = yyDollar[1].node } case 289: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3754 + // line internal/php5/php5.y:3734 { yyVAL.node = &ast.ExprCastInt{ Node: ast.Node{ @@ -6105,7 +6085,7 @@ yydefault: } case 290: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3764 + // line internal/php5/php5.y:3744 { yyVAL.node = &ast.ExprCastDouble{ Node: ast.Node{ @@ -6117,7 +6097,7 @@ yydefault: } case 291: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3774 + // line internal/php5/php5.y:3754 { yyVAL.node = &ast.ExprCastString{ Node: ast.Node{ @@ -6129,7 +6109,7 @@ yydefault: } case 292: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3784 + // line internal/php5/php5.y:3764 { yyVAL.node = &ast.ExprCastArray{ Node: ast.Node{ @@ -6141,7 +6121,7 @@ yydefault: } case 293: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3794 + // line internal/php5/php5.y:3774 { yyVAL.node = &ast.ExprCastObject{ Node: ast.Node{ @@ -6153,7 +6133,7 @@ yydefault: } case 294: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3804 + // line internal/php5/php5.y:3784 { yyVAL.node = &ast.ExprCastBool{ Node: ast.Node{ @@ -6165,7 +6145,7 @@ yydefault: } case 295: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3814 + // line internal/php5/php5.y:3794 { yyVAL.node = &ast.ExprCastUnset{ Node: ast.Node{ @@ -6177,7 +6157,7 @@ yydefault: } case 296: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3824 + // line internal/php5/php5.y:3804 { exit := &ast.ExprExit{ DieTkn: yyDollar[1].token, @@ -6196,7 +6176,7 @@ yydefault: } case 297: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3841 + // line internal/php5/php5.y:3821 { yyVAL.node = &ast.ExprErrorSuppress{ Node: ast.Node{ @@ -6208,25 +6188,25 @@ yydefault: } case 298: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3851 + // line internal/php5/php5.y:3831 { yyVAL.node = yyDollar[1].node } case 299: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3855 + // line internal/php5/php5.y:3835 { yyVAL.node = yyDollar[1].node } case 300: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3859 + // line internal/php5/php5.y:3839 { yyVAL.node = yyDollar[1].node } case 301: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:3863 + // line internal/php5/php5.y:3843 { yyVAL.node = &ast.ExprShellExec{ Node: ast.Node{ @@ -6239,7 +6219,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3874 + // line internal/php5/php5.y:3854 { yyVAL.node = &ast.ExprPrint{ Node: ast.Node{ @@ -6251,7 +6231,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:3884 + // line internal/php5/php5.y:3864 { yyVAL.node = &ast.ExprYield{ Node: ast.Node{ @@ -6262,7 +6242,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php5/php5.y:3893 + // line internal/php5/php5.y:3873 { yyVAL.node = &ast.ExprClosure{ Node: ast.Node{ @@ -6282,7 +6262,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-10 : yypt+1] - // line internal/php5/php5.y:3911 + // line internal/php5/php5.y:3891 { yyVAL.node = &ast.ExprClosure{ Node: ast.Node{ @@ -6303,7 +6283,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3933 + // line internal/php5/php5.y:3913 { yyVAL.node = &ast.ExprYield{ Node: ast.Node{ @@ -6315,7 +6295,7 @@ yydefault: } case 307: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:3943 + // line internal/php5/php5.y:3923 { yyVAL.node = &ast.ExprYield{ Node: ast.Node{ @@ -6327,7 +6307,7 @@ yydefault: } case 308: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3953 + // line internal/php5/php5.y:3933 { yyVAL.node = &ast.ExprYield{ Node: ast.Node{ @@ -6341,7 +6321,7 @@ yydefault: } case 309: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3965 + // line internal/php5/php5.y:3945 { yyVAL.node = &ast.ExprYield{ Node: ast.Node{ @@ -6355,7 +6335,7 @@ yydefault: } case 310: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3980 + // line internal/php5/php5.y:3960 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6369,7 +6349,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:3992 + // line internal/php5/php5.y:3972 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6383,7 +6363,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4004 + // line internal/php5/php5.y:3984 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6403,7 +6383,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4022 + // line internal/php5/php5.y:4002 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6417,7 +6397,7 @@ yydefault: } case 314: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4037 + // line internal/php5/php5.y:4017 { yyVAL.node = &ast.ExprArray{ Node: ast.Node{ @@ -6432,7 +6412,7 @@ yydefault: } case 315: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4050 + // line internal/php5/php5.y:4030 { yyVAL.node = &ast.ExprArray{ Node: ast.Node{ @@ -6446,19 +6426,19 @@ yydefault: } case 316: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4065 + // line internal/php5/php5.y:4045 { yyVAL.token = yyDollar[1].token } case 317: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4072 + // line internal/php5/php5.y:4052 { yyVAL.ClosureUse = nil } case 318: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4076 + // line internal/php5/php5.y:4056 { yyVAL.ClosureUse = &ast.ExprClosureUse{ Node: ast.Node{ @@ -6473,7 +6453,7 @@ yydefault: } case 319: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4092 + // line internal/php5/php5.y:4072 { variable := &ast.ExprVariable{ Node: ast.Node{ @@ -6495,7 +6475,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4112 + // line internal/php5/php5.y:4092 { reference := &ast.ExprReference{ Node: ast.Node{ @@ -6523,7 +6503,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4138 + // line internal/php5/php5.y:4118 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -6544,7 +6524,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4157 + // line internal/php5/php5.y:4137 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -6571,7 +6551,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4185 + // line internal/php5/php5.y:4165 { yyVAL.node = &ast.ExprFunctionCall{ Node: ast.Node{ @@ -6591,7 +6571,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4203 + // line internal/php5/php5.y:4183 { yyVAL.node = &ast.ExprFunctionCall{ Node: ast.Node{ @@ -6613,7 +6593,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4223 + // line internal/php5/php5.y:4203 { yyVAL.node = &ast.ExprFunctionCall{ Node: ast.Node{ @@ -6634,7 +6614,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4242 + // line internal/php5/php5.y:4222 { yyVAL.node = &ast.ExprStaticCall{ Node: ast.Node{ @@ -6651,7 +6631,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4257 + // line internal/php5/php5.y:4237 { yyVAL.node = &ast.ExprStaticCall{ Node: ast.Node{ @@ -6668,7 +6648,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4272 + // line internal/php5/php5.y:4252 { yyVAL.node = &ast.ExprStaticCall{ Node: ast.Node{ @@ -6685,7 +6665,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4287 + // line internal/php5/php5.y:4267 { yyVAL.node = &ast.ExprStaticCall{ Node: ast.Node{ @@ -6702,7 +6682,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4302 + // line internal/php5/php5.y:4282 { yyVAL.node = &ast.ExprFunctionCall{ Node: ast.Node{ @@ -6717,7 +6697,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4318 + // line internal/php5/php5.y:4298 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -6729,7 +6709,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4328 + // line internal/php5/php5.y:4308 { yyVAL.node = &ast.NameName{ Node: ast.Node{ @@ -6740,7 +6720,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4337 + // line internal/php5/php5.y:4317 { yyVAL.node = &ast.NameRelative{ Node: ast.Node{ @@ -6753,7 +6733,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4348 + // line internal/php5/php5.y:4328 { yyVAL.node = &ast.NameFullyQualified{ Node: ast.Node{ @@ -6765,7 +6745,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4361 + // line internal/php5/php5.y:4341 { yyVAL.node = &ast.NameName{ Node: ast.Node{ @@ -6776,7 +6756,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4370 + // line internal/php5/php5.y:4350 { yyVAL.node = &ast.NameRelative{ Node: ast.Node{ @@ -6789,7 +6769,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4381 + // line internal/php5/php5.y:4361 { yyVAL.node = &ast.NameFullyQualified{ Node: ast.Node{ @@ -6801,24 +6781,23 @@ yydefault: } case 338: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4394 + // line internal/php5/php5.y:4374 { yyVAL.node = yyDollar[1].node } case 339: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4398 + // line internal/php5/php5.y:4378 { yyVAL.node = yyDollar[1].node } case 340: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4405 + // line internal/php5/php5.y:4385 { yyVAL.node = yyDollar[1].node - // save comments - yylex.(*Parser).setFreeFloating(yyDollar[3].list[0], token.Var, yyDollar[2].token.SkippedTokens) + yyDollar[3].list[0].(*ast.ExprPropertyFetch).ObjectOperatorTkn = yyDollar[2].token for _, n := range yyDollar[3].list { switch nn := n.(type) { @@ -6826,13 +6805,11 @@ yydefault: nn.Var = yyVAL.node yyVAL.node.GetNode().Position = position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn - yylex.(*Parser).MoveFreeFloating(nn.Var, yyVAL.node) case *ast.ExprPropertyFetch: nn.Var = yyVAL.node yyVAL.node.GetNode().Position = position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn - yylex.(*Parser).MoveFreeFloating(nn.Var, yyVAL.node) } } @@ -6842,37 +6819,35 @@ yydefault: nn.Var = yyVAL.node yyVAL.node.GetNode().Position = position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn - yylex.(*Parser).MoveFreeFloating(nn.Var, yyVAL.node) case *ast.ExprPropertyFetch: nn.Var = yyVAL.node yyVAL.node.GetNode().Position = position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn - yylex.(*Parser).MoveFreeFloating(nn.Var, yyVAL.node) } } } case 341: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4444 + // line internal/php5/php5.y:4419 { yyVAL.node = yyDollar[1].node } case 342: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4452 + // line internal/php5/php5.y:4427 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 343: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4456 + // line internal/php5/php5.y:4431 { yyVAL.list = []ast.Vertex{} } case 344: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4464 + // line internal/php5/php5.y:4439 { yyDollar[2].list[0].(*ast.ExprPropertyFetch).ObjectOperatorTkn = yyDollar[1].token @@ -6880,13 +6855,13 @@ yydefault: } case 345: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4473 + // line internal/php5/php5.y:4448 { yyVAL.node = nil } case 346: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4477 + // line internal/php5/php5.y:4452 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -6895,26 +6870,22 @@ yydefault: OpenBracketTkn: yyDollar[1].token, CloseBracketTkn: yyDollar[2].token, } - - // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[2].token.SkippedTokens) } case 347: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4491 + // line internal/php5/php5.y:4462 { yyVAL.node = yyDollar[1].node } case 348: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4498 + // line internal/php5/php5.y:4469 { yyVAL.list = []ast.Vertex{} } case 349: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4502 + // line internal/php5/php5.y:4473 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ @@ -6928,25 +6899,25 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4514 + // line internal/php5/php5.y:4485 { yyVAL.list = yyDollar[1].list } case 351: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:4521 + // line internal/php5/php5.y:4492 { yyVAL.node = nil } case 352: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4525 + // line internal/php5/php5.y:4496 { yyVAL.node = yyDollar[1].node } case 353: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4532 + // line internal/php5/php5.y:4503 { yyVAL.node = &ast.ScalarLnumber{ Node: ast.Node{ @@ -6958,7 +6929,7 @@ yydefault: } case 354: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4542 + // line internal/php5/php5.y:4513 { yyVAL.node = &ast.ScalarDnumber{ Node: ast.Node{ @@ -6970,7 +6941,7 @@ yydefault: } case 355: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4552 + // line internal/php5/php5.y:4523 { yyVAL.node = &ast.ScalarString{ Node: ast.Node{ @@ -6982,7 +6953,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4562 + // line internal/php5/php5.y:4533 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6994,7 +6965,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4572 + // line internal/php5/php5.y:4543 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7006,7 +6977,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4582 + // line internal/php5/php5.y:4553 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7018,7 +6989,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4592 + // line internal/php5/php5.y:4563 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7030,7 +7001,7 @@ yydefault: } case 360: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4602 + // line internal/php5/php5.y:4573 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7042,7 +7013,7 @@ yydefault: } case 361: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4612 + // line internal/php5/php5.y:4583 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7054,7 +7025,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4622 + // line internal/php5/php5.y:4593 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7066,7 +7037,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4632 + // line internal/php5/php5.y:4603 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -7087,7 +7058,7 @@ yydefault: } case 364: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4651 + // line internal/php5/php5.y:4622 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -7099,7 +7070,7 @@ yydefault: } case 365: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4664 + // line internal/php5/php5.y:4635 { yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ @@ -7118,25 +7089,25 @@ yydefault: } case 366: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4684 + // line internal/php5/php5.y:4655 { yyVAL.node = yyDollar[1].node } case 367: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4691 + // line internal/php5/php5.y:4662 { yyVAL.node = yyDollar[1].node } case 368: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4695 + // line internal/php5/php5.y:4666 { yyVAL.node = yyDollar[1].node } case 369: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4699 + // line internal/php5/php5.y:4670 { yyVAL.node = &ast.ExprConstFetch{ Node: ast.Node{ @@ -7152,7 +7123,7 @@ yydefault: } case 370: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4713 + // line internal/php5/php5.y:4684 { yyVAL.node = &ast.ExprConstFetch{ Node: ast.Node{ @@ -7170,7 +7141,7 @@ yydefault: } case 371: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4729 + // line internal/php5/php5.y:4700 { yyVAL.node = &ast.ExprConstFetch{ Node: ast.Node{ @@ -7187,7 +7158,7 @@ yydefault: } case 372: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4744 + // line internal/php5/php5.y:4715 { yyVAL.node = &ast.ExprArray{ Node: ast.Node{ @@ -7202,7 +7173,7 @@ yydefault: } case 373: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4757 + // line internal/php5/php5.y:4728 { yyVAL.node = &ast.ExprArray{ Node: ast.Node{ @@ -7216,13 +7187,13 @@ yydefault: } case 374: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4769 + // line internal/php5/php5.y:4740 { yyVAL.node = yyDollar[1].node } case 375: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4773 + // line internal/php5/php5.y:4744 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7234,13 +7205,13 @@ yydefault: } case 376: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:4783 + // line internal/php5/php5.y:4754 { yyVAL.node = yyDollar[1].node } case 377: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:4790 + // line internal/php5/php5.y:4761 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -7254,7 +7225,7 @@ yydefault: } case 378: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4802 + // line internal/php5/php5.y:4773 { yyVAL.node = &ast.ExprBinaryPlus{ Node: ast.Node{ @@ -7267,7 +7238,7 @@ yydefault: } case 379: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4813 + // line internal/php5/php5.y:4784 { yyVAL.node = &ast.ExprBinaryMinus{ Node: ast.Node{ @@ -7280,7 +7251,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4824 + // line internal/php5/php5.y:4795 { yyVAL.node = &ast.ExprBinaryMul{ Node: ast.Node{ @@ -7293,7 +7264,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4835 + // line internal/php5/php5.y:4806 { yyVAL.node = &ast.ExprBinaryPow{ Node: ast.Node{ @@ -7306,7 +7277,7 @@ yydefault: } case 382: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4846 + // line internal/php5/php5.y:4817 { yyVAL.node = &ast.ExprBinaryDiv{ Node: ast.Node{ @@ -7319,7 +7290,7 @@ yydefault: } case 383: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4857 + // line internal/php5/php5.y:4828 { yyVAL.node = &ast.ExprBinaryMod{ Node: ast.Node{ @@ -7332,7 +7303,7 @@ yydefault: } case 384: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4868 + // line internal/php5/php5.y:4839 { yyVAL.node = &ast.ExprBooleanNot{ Node: ast.Node{ @@ -7344,7 +7315,7 @@ yydefault: } case 385: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:4878 + // line internal/php5/php5.y:4849 { yyVAL.node = &ast.ExprBitwiseNot{ Node: ast.Node{ @@ -7356,7 +7327,7 @@ yydefault: } case 386: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4888 + // line internal/php5/php5.y:4859 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ Node: ast.Node{ @@ -7369,7 +7340,7 @@ yydefault: } case 387: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4899 + // line internal/php5/php5.y:4870 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ Node: ast.Node{ @@ -7382,7 +7353,7 @@ yydefault: } case 388: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4910 + // line internal/php5/php5.y:4881 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ Node: ast.Node{ @@ -7395,7 +7366,7 @@ yydefault: } case 389: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4921 + // line internal/php5/php5.y:4892 { yyVAL.node = &ast.ExprBinaryShiftLeft{ Node: ast.Node{ @@ -7408,7 +7379,7 @@ yydefault: } case 390: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4932 + // line internal/php5/php5.y:4903 { yyVAL.node = &ast.ExprBinaryShiftRight{ Node: ast.Node{ @@ -7421,7 +7392,7 @@ yydefault: } case 391: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4943 + // line internal/php5/php5.y:4914 { yyVAL.node = &ast.ExprBinaryConcat{ Node: ast.Node{ @@ -7434,7 +7405,7 @@ yydefault: } case 392: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4954 + // line internal/php5/php5.y:4925 { yyVAL.node = &ast.ExprBinaryLogicalXor{ Node: ast.Node{ @@ -7447,7 +7418,7 @@ yydefault: } case 393: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4965 + // line internal/php5/php5.y:4936 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ Node: ast.Node{ @@ -7460,7 +7431,7 @@ yydefault: } case 394: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4976 + // line internal/php5/php5.y:4947 { yyVAL.node = &ast.ExprBinaryLogicalOr{ Node: ast.Node{ @@ -7473,7 +7444,7 @@ yydefault: } case 395: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4987 + // line internal/php5/php5.y:4958 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ Node: ast.Node{ @@ -7486,7 +7457,7 @@ yydefault: } case 396: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:4998 + // line internal/php5/php5.y:4969 { yyVAL.node = &ast.ExprBinaryBooleanOr{ Node: ast.Node{ @@ -7499,7 +7470,7 @@ yydefault: } case 397: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5009 + // line internal/php5/php5.y:4980 { yyVAL.node = &ast.ExprBinaryIdentical{ Node: ast.Node{ @@ -7512,7 +7483,7 @@ yydefault: } case 398: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5020 + // line internal/php5/php5.y:4991 { yyVAL.node = &ast.ExprBinaryNotIdentical{ Node: ast.Node{ @@ -7525,7 +7496,7 @@ yydefault: } case 399: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5031 + // line internal/php5/php5.y:5002 { yyVAL.node = &ast.ExprBinaryEqual{ Node: ast.Node{ @@ -7538,7 +7509,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5042 + // line internal/php5/php5.y:5013 { yyVAL.node = &ast.ExprBinaryNotEqual{ Node: ast.Node{ @@ -7548,11 +7519,10 @@ yydefault: OpTkn: yyDollar[2].token, Right: yyDollar[3].node, } - yylex.(*Parser).setToken(yyVAL.node, token.Equal, yyDollar[2].token.SkippedTokens) } case 401: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5054 + // line internal/php5/php5.y:5024 { yyVAL.node = &ast.ExprBinarySmaller{ Node: ast.Node{ @@ -7565,7 +7535,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5065 + // line internal/php5/php5.y:5035 { yyVAL.node = &ast.ExprBinaryGreater{ Node: ast.Node{ @@ -7578,7 +7548,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5076 + // line internal/php5/php5.y:5046 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ Node: ast.Node{ @@ -7591,7 +7561,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5087 + // line internal/php5/php5.y:5057 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ Node: ast.Node{ @@ -7604,7 +7574,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5098 + // line internal/php5/php5.y:5068 { yyVAL.node = &ast.ExprTernary{ Node: ast.Node{ @@ -7618,7 +7588,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:5110 + // line internal/php5/php5.y:5080 { yyVAL.node = &ast.ExprTernary{ Node: ast.Node{ @@ -7633,7 +7603,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5123 + // line internal/php5/php5.y:5093 { yyVAL.node = &ast.ExprUnaryPlus{ Node: ast.Node{ @@ -7645,7 +7615,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5133 + // line internal/php5/php5.y:5103 { yyVAL.node = &ast.ExprUnaryMinus{ Node: ast.Node{ @@ -7657,23 +7627,26 @@ yydefault: } case 409: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5143 + // line internal/php5/php5.y:5113 { - yyVAL.node = yyDollar[2].node - - // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, append(yyDollar[1].token.SkippedTokens, yyVAL.node.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyVAL.node.GetNode().Tokens[token.End], yyDollar[3].token.SkippedTokens...)) + yyVAL.node = &ast.ParserBrackets{ + Node: ast.Node{ + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + }, + OpenBracketTkn: yyDollar[1].token, + Child: yyDollar[2].node, + CloseBracketTkn: yyDollar[3].token, + } } case 410: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5154 + // line internal/php5/php5.y:5127 { yyVAL.node = yyDollar[1].node } case 411: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5158 + // line internal/php5/php5.y:5131 { yyVAL.node = &ast.ExprConstFetch{ Node: ast.Node{ @@ -7689,7 +7662,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5172 + // line internal/php5/php5.y:5145 { yyVAL.node = &ast.ExprConstFetch{ Node: ast.Node{ @@ -7707,7 +7680,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5188 + // line internal/php5/php5.y:5161 { yyVAL.node = &ast.ExprConstFetch{ Node: ast.Node{ @@ -7724,7 +7697,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5206 + // line internal/php5/php5.y:5179 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -7741,25 +7714,25 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5221 + // line internal/php5/php5.y:5194 { yyVAL.node = yyDollar[1].node } case 416: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5225 + // line internal/php5/php5.y:5198 { yyVAL.node = yyDollar[1].node } case 417: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5229 + // line internal/php5/php5.y:5202 { yyVAL.node = yyDollar[1].node } case 418: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5233 + // line internal/php5/php5.y:5206 { yyVAL.node = &ast.ScalarEncapsed{ Node: ast.Node{ @@ -7772,7 +7745,7 @@ yydefault: } case 419: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5244 + // line internal/php5/php5.y:5217 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -7785,7 +7758,7 @@ yydefault: } case 420: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5255 + // line internal/php5/php5.y:5228 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7797,13 +7770,13 @@ yydefault: } case 421: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5268 + // line internal/php5/php5.y:5241 { yyVAL.node = &ast.ParserSeparatedList{} } case 422: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5272 + // line internal/php5/php5.y:5245 { if yyDollar[2].token != nil { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) @@ -7814,19 +7787,19 @@ yydefault: } case 423: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5284 + // line internal/php5/php5.y:5257 { yyVAL.token = nil } case 424: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5288 + // line internal/php5/php5.y:5261 { yyVAL.token = yyDollar[1].token } case 425: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:5295 + // line internal/php5/php5.y:5268 { arrayItem := &ast.ExprArrayItem{ Node: ast.Node{ @@ -7844,7 +7817,7 @@ yydefault: } case 426: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5311 + // line internal/php5/php5.y:5284 { arrayItem := &ast.ExprArrayItem{ Node: ast.Node{ @@ -7860,7 +7833,7 @@ yydefault: } case 427: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5325 + // line internal/php5/php5.y:5298 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -7877,7 +7850,7 @@ yydefault: } case 428: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5340 + // line internal/php5/php5.y:5313 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -7892,19 +7865,19 @@ yydefault: } case 429: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5356 + // line internal/php5/php5.y:5329 { yyVAL.node = yyDollar[1].node } case 430: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5360 + // line internal/php5/php5.y:5333 { yyVAL.node = yyDollar[1].node } case 431: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5367 + // line internal/php5/php5.y:5340 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -7914,14 +7887,10 @@ yydefault: Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, } - - // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 432: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5382 + // line internal/php5/php5.y:5351 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -7931,32 +7900,28 @@ yydefault: Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, } - - // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 433: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5401 + // line internal/php5/php5.y:5366 { yyVAL.node = yyDollar[1].node } case 434: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5409 + // line internal/php5/php5.y:5374 { yyVAL.node = yyDollar[1].node } case 435: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5416 + // line internal/php5/php5.y:5381 { yyVAL.node = yyDollar[1].node } case 436: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:5423 + // line internal/php5/php5.y:5388 { yyVAL.node = yyDollar[1].node @@ -8035,25 +8000,25 @@ yydefault: } case 437: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5500 + // line internal/php5/php5.y:5465 { yyVAL.node = yyDollar[1].node } case 438: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5507 + // line internal/php5/php5.y:5472 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 439: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5511 + // line internal/php5/php5.y:5476 { yyVAL.list = []ast.Vertex{} } case 440: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5519 + // line internal/php5/php5.y:5484 { println("FOOFOOFOOFOOFOOFOOFOOFOOFOO") yyDollar[2].list[0].(*ast.ExprPropertyFetch).ObjectOperatorTkn = yyDollar[1].token @@ -8085,7 +8050,7 @@ yydefault: } case 441: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5551 + // line internal/php5/php5.y:5516 { fetch := &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8101,7 +8066,7 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5565 + // line internal/php5/php5.y:5530 { fetch := &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8117,7 +8082,7 @@ yydefault: } case 443: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5582 + // line internal/php5/php5.y:5547 { yyVAL.node = &ast.ExprMethodCall{ Node: ast.Node{ @@ -8131,31 +8096,31 @@ yydefault: } case 444: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5597 + // line internal/php5/php5.y:5562 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 445: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5601 + // line internal/php5/php5.y:5566 { yyVAL.list = yyDollar[1].list } case 446: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5605 + // line internal/php5/php5.y:5570 { yyVAL.list = nil } case 447: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5612 + // line internal/php5/php5.y:5577 { yyVAL.node = yyDollar[1].node } case 448: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5616 + // line internal/php5/php5.y:5581 { for i := len(yyDollar[1].list) - 1; i >= 0; i-- { yyDollar[1].list[i].(*ast.ExprVariable).VarName = yyDollar[2].node @@ -8167,7 +8132,7 @@ yydefault: } case 449: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5629 + // line internal/php5/php5.y:5594 { yyVAL.node = &ast.ExprStaticPropertyFetch{ Node: ast.Node{ @@ -8180,7 +8145,7 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5640 + // line internal/php5/php5.y:5605 { yyVAL.node = &ast.ExprStaticPropertyFetch{ Node: ast.Node{ @@ -8193,13 +8158,13 @@ yydefault: } case 451: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5654 + // line internal/php5/php5.y:5619 { yyVAL.node = yyDollar[1].node } case 452: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5661 + // line internal/php5/php5.y:5626 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8213,7 +8178,7 @@ yydefault: } case 453: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5673 + // line internal/php5/php5.y:5638 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8227,31 +8192,31 @@ yydefault: } case 454: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5688 + // line internal/php5/php5.y:5653 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5692 + // line internal/php5/php5.y:5657 { yyVAL.node = yyDollar[1].node } case 456: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5696 + // line internal/php5/php5.y:5661 { yyVAL.node = yyDollar[1].node } case 457: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5704 + // line internal/php5/php5.y:5669 { yyVAL.node = yyDollar[1].node } case 458: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5708 + // line internal/php5/php5.y:5673 { for i := len(yyDollar[1].list) - 1; i >= 0; i-- { yyDollar[1].list[i].(*ast.ExprVariable).VarName = yyDollar[2].node @@ -8263,13 +8228,13 @@ yydefault: } case 459: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5718 + // line internal/php5/php5.y:5683 { yyVAL.node = yyDollar[1].node } case 460: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5725 + // line internal/php5/php5.y:5690 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8283,7 +8248,7 @@ yydefault: } case 461: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5737 + // line internal/php5/php5.y:5702 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8297,13 +8262,13 @@ yydefault: } case 462: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5749 + // line internal/php5/php5.y:5714 { yyVAL.node = yyDollar[1].node } case 463: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5757 + // line internal/php5/php5.y:5722 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -8320,7 +8285,7 @@ yydefault: } case 464: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5772 + // line internal/php5/php5.y:5737 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -8339,25 +8304,25 @@ yydefault: } case 465: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5792 + // line internal/php5/php5.y:5757 { yyVAL.node = nil } case 466: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5796 + // line internal/php5/php5.y:5761 { yyVAL.node = yyDollar[1].node } case 467: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5804 + // line internal/php5/php5.y:5769 { yyVAL.list = yyDollar[1].list } case 468: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5808 + // line internal/php5/php5.y:5773 { yyVAL.list = []ast.Vertex{ &ast.ExprPropertyFetch{ @@ -8370,7 +8335,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5822 + // line internal/php5/php5.y:5787 { fetch := &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8386,7 +8351,7 @@ yydefault: } case 470: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5836 + // line internal/php5/php5.y:5801 { fetch := &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8402,7 +8367,7 @@ yydefault: } case 471: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5850 + // line internal/php5/php5.y:5815 { yyVAL.list = []ast.Vertex{ &ast.ExprPropertyFetch{ @@ -8415,7 +8380,7 @@ yydefault: } case 472: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5864 + // line internal/php5/php5.y:5829 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -8427,20 +8392,20 @@ yydefault: } case 473: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5874 + // line internal/php5/php5.y:5839 { - yyVAL.node = yyDollar[2].node - - // save position - yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) - - // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, append(yyDollar[1].token.SkippedTokens, yyVAL.node.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyVAL.node.GetNode().Tokens[token.End], yyDollar[3].token.SkippedTokens...)) + yyVAL.node = &ast.ParserBrackets{ + Node: ast.Node{ + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + }, + OpenBracketTkn: yyDollar[1].token, + Child: yyDollar[2].node, + CloseBracketTkn: yyDollar[3].token, + } } case 474: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5888 + // line internal/php5/php5.y:5853 { yyVAL.list = []ast.Vertex{ &ast.ExprVariable{ @@ -8453,7 +8418,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5899 + // line internal/php5/php5.y:5864 { yyVAL.list = append(yyDollar[1].list, &ast.ExprVariable{ Node: ast.Node{ @@ -8464,7 +8429,7 @@ yydefault: } case 476: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:5911 + // line internal/php5/php5.y:5876 { 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) @@ -8473,7 +8438,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5918 + // line internal/php5/php5.y:5883 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -8481,7 +8446,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:5928 + // line internal/php5/php5.y:5893 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -8492,7 +8457,7 @@ yydefault: } case 479: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:5937 + // line internal/php5/php5.y:5902 { pairList := yyDollar[3].node.(*ast.ParserSeparatedList) fistPair := pairList.Items[0].(*ast.ExprArrayItem) @@ -8519,19 +8484,19 @@ yydefault: } case 480: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5962 + // line internal/php5/php5.y:5927 { yyVAL.node = &ast.ExprArrayItem{} } case 481: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php5/php5.y:5970 + // line internal/php5/php5.y:5935 { yyVAL.node = &ast.ParserSeparatedList{} } case 482: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:5974 + // line internal/php5/php5.y:5939 { if yyDollar[2].token != nil { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) @@ -8542,7 +8507,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php5/php5.y:5986 + // line internal/php5/php5.y:5951 { arrayItem := &ast.ExprArrayItem{ Node: ast.Node{ @@ -8560,7 +8525,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6002 + // line internal/php5/php5.y:5967 { arrayItem := &ast.ExprArrayItem{ Node: ast.Node{ @@ -8576,7 +8541,7 @@ yydefault: } case 485: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6016 + // line internal/php5/php5.y:5981 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -8593,7 +8558,7 @@ yydefault: } case 486: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6031 + // line internal/php5/php5.y:5996 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -8608,7 +8573,7 @@ yydefault: } case 487: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:6044 + // line internal/php5/php5.y:6009 { arrayItem := &ast.ExprArrayItem{ Node: ast.Node{ @@ -8632,7 +8597,7 @@ yydefault: } case 488: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6066 + // line internal/php5/php5.y:6031 { arrayItem := &ast.ExprArrayItem{ Node: ast.Node{ @@ -8654,7 +8619,7 @@ yydefault: } case 489: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6086 + // line internal/php5/php5.y:6051 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -8677,7 +8642,7 @@ yydefault: } case 490: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6107 + // line internal/php5/php5.y:6072 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -8698,13 +8663,13 @@ yydefault: } case 491: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6129 + // line internal/php5/php5.y:6094 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 492: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6133 + // line internal/php5/php5.y:6098 { yyVAL.list = append( yyDollar[1].list, @@ -8719,13 +8684,13 @@ yydefault: } case 493: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6146 + // line internal/php5/php5.y:6111 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 494: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6150 + // line internal/php5/php5.y:6115 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ @@ -8740,7 +8705,7 @@ yydefault: } case 495: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6166 + // line internal/php5/php5.y:6131 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -8757,7 +8722,7 @@ yydefault: } case 496: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6181 + // line internal/php5/php5.y:6146 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8782,7 +8747,7 @@ yydefault: } case 497: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6204 + // line internal/php5/php5.y:6169 { yyVAL.node = &ast.ExprPropertyFetch{ Node: ast.Node{ @@ -8812,7 +8777,7 @@ yydefault: } case 498: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6232 + // line internal/php5/php5.y:6197 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -8830,7 +8795,7 @@ yydefault: } case 499: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6248 + // line internal/php5/php5.y:6213 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -8854,7 +8819,7 @@ yydefault: } case 500: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php5/php5.y:6270 + // line internal/php5/php5.y:6235 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -8886,7 +8851,7 @@ yydefault: } case 501: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6300 + // line internal/php5/php5.y:6265 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -8899,7 +8864,7 @@ yydefault: } case 502: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6314 + // line internal/php5/php5.y:6279 { yyVAL.node = &ast.ScalarString{ Node: ast.Node{ @@ -8911,7 +8876,7 @@ yydefault: } case 503: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6324 + // line internal/php5/php5.y:6289 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string(yyDollar[1].token.Value)); err == nil { @@ -8931,16 +8896,10 @@ yydefault: Value: yyDollar[1].token.Value, } } - - // save position - yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) } case 504: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6351 + // line internal/php5/php5.y:6310 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -8957,7 +8916,7 @@ yydefault: } case 505: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6369 + // line internal/php5/php5.y:6328 { yyVAL.node = &ast.ExprIsset{ Node: ast.Node{ @@ -8972,7 +8931,7 @@ yydefault: } case 506: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6382 + // line internal/php5/php5.y:6341 { yyVAL.node = &ast.ExprEmpty{ Node: ast.Node{ @@ -8986,7 +8945,7 @@ yydefault: } case 507: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6394 + // line internal/php5/php5.y:6353 { yyVAL.node = &ast.ExprEmpty{ Node: ast.Node{ @@ -9000,7 +8959,7 @@ yydefault: } case 508: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6406 + // line internal/php5/php5.y:6365 { yyVAL.node = &ast.ExprInclude{ Node: ast.Node{ @@ -9012,7 +8971,7 @@ yydefault: } case 509: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6416 + // line internal/php5/php5.y:6375 { yyVAL.node = &ast.ExprIncludeOnce{ Node: ast.Node{ @@ -9024,7 +8983,7 @@ yydefault: } case 510: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php5/php5.y:6426 + // line internal/php5/php5.y:6385 { yyVAL.node = &ast.ExprEval{ Node: ast.Node{ @@ -9038,7 +8997,7 @@ yydefault: } case 511: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6438 + // line internal/php5/php5.y:6397 { yyVAL.node = &ast.ExprRequire{ Node: ast.Node{ @@ -9050,7 +9009,7 @@ yydefault: } case 512: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php5/php5.y:6448 + // line internal/php5/php5.y:6407 { yyVAL.node = &ast.ExprRequireOnce{ Node: ast.Node{ @@ -9062,7 +9021,7 @@ yydefault: } case 513: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6461 + // line internal/php5/php5.y:6420 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -9070,7 +9029,7 @@ yydefault: } case 514: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6467 + // line internal/php5/php5.y:6426 { 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) @@ -9079,19 +9038,19 @@ yydefault: } case 515: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6477 + // line internal/php5/php5.y:6436 { yyVAL.node = yyDollar[1].node } case 516: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php5/php5.y:6481 + // line internal/php5/php5.y:6440 { yyVAL.node = yyDollar[1].node } case 517: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6488 + // line internal/php5/php5.y:6447 { yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ @@ -9110,7 +9069,7 @@ yydefault: } case 518: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6505 + // line internal/php5/php5.y:6464 { yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ @@ -9129,7 +9088,7 @@ yydefault: } case 519: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6525 + // line internal/php5/php5.y:6484 { yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ @@ -9148,7 +9107,7 @@ yydefault: } case 520: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php5/php5.y:6545 + // line internal/php5/php5.y:6504 { yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ diff --git a/internal/php5/php5.y b/internal/php5/php5.y index 48045f0..2a24915 100644 --- a/internal/php5/php5.y +++ b/internal/php5/php5.y @@ -280,11 +280,6 @@ start: top_statement_list: top_statement_list top_statement { - if inlineHtmlNode, ok := $2.(*ast.StmtInlineHtml); ok && len($1) > 0 { - prevNode := lastNode($1) - yylex.(*Parser).splitSemiColonAndPhpCloseTag(inlineHtmlNode, prevNode) - } - if $2 != nil { $$ = append($1, $2) } @@ -744,8 +739,6 @@ constant_declaration: }) $$ = $1 - - yylex.(*Parser).setFreeFloating(lastNode($$.(*ast.StmtConstList).Consts).(*ast.StmtConstant).Name, token.Start, $3.SkippedTokens) } | T_CONST T_STRING '=' static_scalar { @@ -771,19 +764,12 @@ constant_declaration: }, }, } - - yylex.(*Parser).setFreeFloating(lastNode($$.(*ast.StmtConstList).Consts).(*ast.StmtConstant).Name, token.Start, $2.SkippedTokens) } ; inner_statement_list: inner_statement_list inner_statement { - if inlineHtmlNode, ok := $2.(*ast.StmtInlineHtml); ok && len($1) > 0 { - prevNode := lastNode($1) - yylex.(*Parser).splitSemiColonAndPhpCloseTag(inlineHtmlNode, prevNode) - } - if $2 != nil { $$ = append($1, $2) } @@ -1752,8 +1738,6 @@ declare_list: }, }, } - - yylex.(*Parser).setFreeFloating(lastNode($$.(*ast.ParserSeparatedList).Items).(*ast.StmtConstant).Name, token.Start, $1.SkippedTokens) } | declare_list ',' T_STRING '=' static_scalar { @@ -1777,8 +1761,6 @@ declare_list: ) $$ = $1 - - yylex.(*Parser).setFreeFloating(lastNode($$.(*ast.ParserSeparatedList).Items).(*ast.StmtConstant).Name, token.Start, $3.SkippedTokens) } ; @@ -2923,8 +2905,6 @@ class_constant_declaration: }) $$ = $1 - - yylex.(*Parser).setFreeFloating(lastNode($$.(*ast.StmtClassConstList).Consts).(*ast.StmtConstant).Name, token.Start, $3.SkippedTokens) } | T_CONST T_STRING '=' static_scalar { @@ -2950,8 +2930,6 @@ class_constant_declaration: }, }, } - - yylex.(*Parser).setFreeFloating(lastNode($$.(*ast.StmtClassConstList).Consts).(*ast.StmtConstant).Name, token.Start, $2.SkippedTokens) } ; @@ -3624,7 +3602,6 @@ expr_without_variable: OpTkn: $2, Right: $3, } - yylex.(*Parser).setToken($$, token.Equal, $2.SkippedTokens) } | expr '<' expr { @@ -4416,13 +4393,11 @@ dynamic_class_name_reference: nn.Var = $$ $$.GetNode().Position = position.NewNodesPosition($$, nn) $$ = nn - yylex.(*Parser).MoveFreeFloating(nn.Var, $$) case *ast.ExprPropertyFetch: nn.Var = $$ $$.GetNode().Position = position.NewNodesPosition($$, nn) $$ = nn - yylex.(*Parser).MoveFreeFloating(nn.Var, $$) } } @@ -4432,13 +4407,11 @@ dynamic_class_name_reference: nn.Var = $$ $$.GetNode().Position = position.NewNodesPosition($$, nn) $$ = nn - yylex.(*Parser).MoveFreeFloating(nn.Var, $$) case *ast.ExprPropertyFetch: nn.Var = $$ $$.GetNode().Position = position.NewNodesPosition($$, nn) $$ = nn - yylex.(*Parser).MoveFreeFloating(nn.Var, $$) } } } @@ -5046,7 +5019,6 @@ static_operation: OpTkn: $2, Right: $3, } - yylex.(*Parser).setToken($$, token.Equal, $2.SkippedTokens) } | static_scalar_value '<' static_scalar_value { @@ -6333,12 +6305,6 @@ encaps_var_offset: Value: $1.Value, } } - - // save position - $$.GetNode().Position = position.NewTokenPosition($1) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) } | T_VARIABLE { diff --git a/internal/php7/parser.go b/internal/php7/parser.go index 32f3fa5..f49ecd8 100644 --- a/internal/php7/parser.go +++ b/internal/php7/parser.go @@ -1,8 +1,6 @@ package php7 import ( - "bytes" - "github.com/z7zmey/php-parser/internal/scanner" "github.com/z7zmey/php-parser/pkg/ast" "github.com/z7zmey/php-parser/pkg/errors" @@ -62,110 +60,3 @@ func lastNode(nn []ast.Vertex) ast.Vertex { } return nn[len(nn)-1] } - -func (p *Parser) MoveFreeFloating(src ast.Vertex, dst ast.Vertex) { - if _, ok := src.GetNode().Tokens[token.Start]; !ok { - return - } - - if src.GetNode().Tokens == nil { - return - } - - dstCollection := &dst.GetNode().Tokens - if *dstCollection == nil { - *dstCollection = make(token.Collection) - } - - (*dstCollection)[token.Start] = src.GetNode().Tokens[token.Start] - delete(src.GetNode().Tokens, token.Start) -} - -func (p *Parser) setFreeFloating(dst ast.Vertex, pos token.Position, tokens []*token.Token) { - if len(tokens) == 0 { - return - } - - dstCollection := &dst.GetNode().Tokens - if *dstCollection == nil { - *dstCollection = make(token.Collection) - } - - l := len(tokens) - for _, v := range tokens[0 : l-1] { - (*dstCollection)[pos] = append((*dstCollection)[pos], v) - } -} - -func (p *Parser) setFreeFloatingTokens(dst ast.Vertex, pos token.Position, tokens []*token.Token) { - if len(tokens) == 0 { - return - } - - dstCollection := &dst.GetNode().Tokens - if *dstCollection == nil { - *dstCollection = make(token.Collection) - } - - (*dstCollection)[pos] = make([]*token.Token, 0) - - for _, v := range tokens { - (*dstCollection)[pos] = append((*dstCollection)[pos], v) - } -} - -func (p *Parser) setToken(dst ast.Vertex, pos token.Position, tokens []*token.Token) { - if len(tokens) == 0 { - return - } - - dstCollection := &dst.GetNode().Tokens - if *dstCollection == nil { - *dstCollection = make(token.Collection) - } - - l := len(tokens) - (*dstCollection)[pos] = append((*dstCollection)[pos], tokens[l-1]) -} - -func (p *Parser) splitSemiColonAndPhpCloseTag(htmlNode ast.Vertex, prevNode ast.Vertex) { - if _, ok := prevNode.GetNode().Tokens[token.SemiColon]; !ok { - return - } - - semiColon := prevNode.GetNode().Tokens[token.SemiColon] - delete(prevNode.GetNode().Tokens, token.SemiColon) - if len(semiColon) == 0 { - return - } - - if semiColon[0].Value[0] == ';' { - p.setFreeFloatingTokens(prevNode, token.SemiColon, []*token.Token{ - { - ID: token.ID(';'), - Value: semiColon[0].Value[0:1], - }, - }) - } - - vlen := len(semiColon[0].Value) - tlen := 2 - if bytes.HasSuffix(semiColon[0].Value, []byte("?>\n")) { - tlen = 3 - } - - phpCloseTag := []*token.Token{} - if vlen-tlen > 1 { - phpCloseTag = append(phpCloseTag, &token.Token{ - ID: token.T_WHITESPACE, - Value: semiColon[0].Value[1 : vlen-tlen], - }) - } - - phpCloseTag = append(phpCloseTag, &token.Token{ - ID: T_CLOSE_TAG, - Value: semiColon[0].Value[vlen-tlen:], - }) - - p.setFreeFloatingTokens(htmlNode, token.Start, append(phpCloseTag, htmlNode.GetNode().Tokens[token.Start]...)) -} diff --git a/internal/php7/php7.go b/internal/php7/php7.go index 35f39c1..c592f8c 100644 --- a/internal/php7/php7.go +++ b/internal/php7/php7.go @@ -343,7 +343,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -// line internal/php7/php7.y:4992 +// line internal/php7/php7.y:4968 // line yacctab:1 var yyExca = [...]int{ @@ -2586,24 +2586,19 @@ yydefault: yyDollar = yyS[yypt-2 : yypt+1] // line internal/php7/php7.y:331 { - if inlineHtmlNode, ok := yyDollar[2].node.(*ast.StmtInlineHtml); ok && len(yyDollar[1].list) > 0 { - prevNode := lastNode(yyDollar[1].list) - yylex.(*Parser).splitSemiColonAndPhpCloseTag(inlineHtmlNode, prevNode) - } - if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } } case 80: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:342 + // line internal/php7/php7.y:337 { yyVAL.list = []ast.Vertex{} } case 81: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:349 + // line internal/php7/php7.y:344 { yyVAL.list = []ast.Vertex{ &ast.NameNamePart{ @@ -2617,7 +2612,7 @@ yydefault: } case 82: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:361 + // line internal/php7/php7.y:356 { yyVAL.list = append(yyDollar[1].list, &ast.NameNamePart{ Node: ast.Node{ @@ -2630,7 +2625,7 @@ yydefault: } case 83: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:375 + // line internal/php7/php7.y:370 { yyVAL.node = &ast.NameName{ Node: ast.Node{ @@ -2641,7 +2636,7 @@ yydefault: } case 84: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:384 + // line internal/php7/php7.y:379 { yyVAL.node = &ast.NameRelative{ Node: ast.Node{ @@ -2654,7 +2649,7 @@ yydefault: } case 85: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:395 + // line internal/php7/php7.y:390 { yyVAL.node = &ast.NameFullyQualified{ Node: ast.Node{ @@ -2666,44 +2661,44 @@ yydefault: } case 86: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:408 + // line internal/php7/php7.y:403 { // error yyVAL.node = nil } case 87: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:413 + // line internal/php7/php7.y:408 { yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:417 + // line internal/php7/php7.y:412 { yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:421 + // line internal/php7/php7.y:416 { yyVAL.node = yyDollar[1].node } case 90: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:425 + // line internal/php7/php7.y:420 { yyVAL.node = yyDollar[1].node } case 91: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:429 + // line internal/php7/php7.y:424 { yyVAL.node = yyDollar[1].node } case 92: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:433 + // line internal/php7/php7.y:428 { yyVAL.node = &ast.StmtHaltCompiler{ Node: ast.Node{ @@ -2717,7 +2712,7 @@ yydefault: } case 93: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:445 + // line internal/php7/php7.y:440 { yyVAL.node = &ast.StmtNamespace{ Node: ast.Node{ @@ -2735,7 +2730,7 @@ yydefault: } case 94: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:461 + // line internal/php7/php7.y:456 { yyVAL.node = &ast.StmtNamespace{ Node: ast.Node{ @@ -2755,7 +2750,7 @@ yydefault: } case 95: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:479 + // line internal/php7/php7.y:474 { yyVAL.node = &ast.StmtNamespace{ Node: ast.Node{ @@ -2769,7 +2764,7 @@ yydefault: } case 96: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:491 + // line internal/php7/php7.y:486 { use := yyDollar[2].node.(*ast.StmtGroupUse) @@ -2781,7 +2776,7 @@ yydefault: } case 97: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:501 + // line internal/php7/php7.y:496 { use := yyDollar[3].node.(*ast.StmtGroupUse) @@ -2794,7 +2789,7 @@ yydefault: } case 98: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:512 + // line internal/php7/php7.y:507 { yyVAL.node = &ast.StmtUse{ Node: ast.Node{ @@ -2807,7 +2802,7 @@ yydefault: } case 99: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:523 + // line internal/php7/php7.y:518 { yyVAL.node = &ast.StmtUse{ Node: ast.Node{ @@ -2821,7 +2816,7 @@ yydefault: } case 100: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:535 + // line internal/php7/php7.y:530 { yyVAL.node = &ast.StmtConstList{ Node: ast.Node{ @@ -2835,7 +2830,7 @@ yydefault: } case 101: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:550 + // line internal/php7/php7.y:545 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -2847,7 +2842,7 @@ yydefault: } case 102: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:560 + // line internal/php7/php7.y:555 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -2859,7 +2854,7 @@ yydefault: } case 103: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:573 + // line internal/php7/php7.y:568 { if len(yyDollar[4].list) > 0 { yyDollar[4].list[len(yyDollar[4].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[5].token @@ -2883,7 +2878,7 @@ yydefault: } case 104: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:595 + // line internal/php7/php7.y:590 { yyDollar[5].list[len(yyDollar[5].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[6].token @@ -2906,7 +2901,7 @@ yydefault: } case 105: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:619 + // line internal/php7/php7.y:614 { yyDollar[4].list[len(yyDollar[4].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[5].token @@ -2928,7 +2923,7 @@ yydefault: } case 106: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:639 + // line internal/php7/php7.y:634 { yyDollar[5].list[len(yyDollar[5].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[6].token @@ -2951,19 +2946,19 @@ yydefault: } case 107: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:663 + // line internal/php7/php7.y:658 { yyVAL.token = nil } case 108: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:667 + // line internal/php7/php7.y:662 { yyVAL.token = yyDollar[1].token } case 109: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:674 + // line internal/php7/php7.y:669 { yyDollar[1].list[len(yyDollar[1].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[2].token @@ -2971,13 +2966,13 @@ yydefault: } case 110: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:680 + // line internal/php7/php7.y:675 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 111: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:687 + // line internal/php7/php7.y:682 { yyDollar[1].list[len(yyDollar[1].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[2].token @@ -2985,13 +2980,13 @@ yydefault: } case 112: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:693 + // line internal/php7/php7.y:688 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 113: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:700 + // line internal/php7/php7.y:695 { yyDollar[1].list[len(yyDollar[1].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[2].token @@ -2999,19 +2994,19 @@ yydefault: } case 114: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:706 + // line internal/php7/php7.y:701 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 115: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:713 + // line internal/php7/php7.y:708 { yyVAL.node = yyDollar[1].node } case 116: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:717 + // line internal/php7/php7.y:712 { decl := yyDollar[2].node.(*ast.StmtUseDeclaration) decl.Type = yyDollar[1].node @@ -3021,7 +3016,7 @@ yydefault: } case 117: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:728 + // line internal/php7/php7.y:723 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -3037,7 +3032,7 @@ yydefault: } case 118: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:742 + // line internal/php7/php7.y:737 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -3061,13 +3056,13 @@ yydefault: } case 119: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:767 + // line internal/php7/php7.y:762 { yyVAL.node = yyDollar[1].node } case 120: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:771 + // line internal/php7/php7.y:766 { decl := yyDollar[2].node.(*ast.StmtUseDeclaration) decl.NsSeparatorTkn = yyDollar[1].token @@ -3077,7 +3072,7 @@ yydefault: } case 121: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:782 + // line internal/php7/php7.y:777 { 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) @@ -3086,7 +3081,7 @@ yydefault: } case 122: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:789 + // line internal/php7/php7.y:784 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -3094,63 +3089,58 @@ yydefault: } case 123: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:798 + // line internal/php7/php7.y:793 { - if inlineHtmlNode, ok := yyDollar[2].node.(*ast.StmtInlineHtml); ok && len(yyDollar[1].list) > 0 { - prevNode := lastNode(yyDollar[1].list) - yylex.(*Parser).splitSemiColonAndPhpCloseTag(inlineHtmlNode, prevNode) - } - if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } } case 124: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:809 + // line internal/php7/php7.y:799 { yyVAL.list = []ast.Vertex{} } case 125: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:816 + // line internal/php7/php7.y:806 { // error yyVAL.node = nil } case 126: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:821 + // line internal/php7/php7.y:811 { yyVAL.node = yyDollar[1].node } case 127: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:825 + // line internal/php7/php7.y:815 { yyVAL.node = yyDollar[1].node } case 128: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:829 + // line internal/php7/php7.y:819 { yyVAL.node = yyDollar[1].node } case 129: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:833 + // line internal/php7/php7.y:823 { yyVAL.node = yyDollar[1].node } case 130: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:837 + // line internal/php7/php7.y:827 { yyVAL.node = yyDollar[1].node } case 131: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:841 + // line internal/php7/php7.y:831 { yyVAL.node = &ast.StmtHaltCompiler{ Node: ast.Node{ @@ -3164,7 +3154,7 @@ yydefault: } case 132: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:855 + // line internal/php7/php7.y:845 { yyVAL.node = &ast.StmtStmtList{ Node: ast.Node{ @@ -3177,19 +3167,19 @@ yydefault: } case 133: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:866 + // line internal/php7/php7.y:856 { yyVAL.node = yyDollar[1].node } case 134: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:870 + // line internal/php7/php7.y:860 { yyVAL.node = yyDollar[1].node } case 135: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:874 + // line internal/php7/php7.y:864 { yyDollar[5].node.(*ast.StmtWhile).WhileTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtWhile).OpenParenthesisTkn = yyDollar[2].token @@ -3201,7 +3191,7 @@ yydefault: } case 136: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:884 + // line internal/php7/php7.y:874 { yyVAL.node = &ast.StmtDo{ Node: ast.Node{ @@ -3218,7 +3208,7 @@ yydefault: } case 137: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:899 + // line internal/php7/php7.y:889 { yyDollar[9].node.(*ast.StmtFor).ForTkn = yyDollar[1].token yyDollar[9].node.(*ast.StmtFor).OpenParenthesisTkn = yyDollar[2].token @@ -3237,7 +3227,7 @@ yydefault: } case 138: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:916 + // line internal/php7/php7.y:906 { yyDollar[5].node.(*ast.StmtSwitch).SwitchTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtSwitch).OpenParenthesisTkn = yyDollar[2].token @@ -3249,7 +3239,7 @@ yydefault: } case 139: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:926 + // line internal/php7/php7.y:916 { yyVAL.node = &ast.StmtBreak{ Node: ast.Node{ @@ -3262,7 +3252,7 @@ yydefault: } case 140: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:937 + // line internal/php7/php7.y:927 { yyVAL.node = &ast.StmtContinue{ Node: ast.Node{ @@ -3275,7 +3265,7 @@ yydefault: } case 141: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:948 + // line internal/php7/php7.y:938 { yyVAL.node = &ast.StmtReturn{ Node: ast.Node{ @@ -3288,7 +3278,7 @@ yydefault: } case 142: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:959 + // line internal/php7/php7.y:949 { yyDollar[2].node.(*ast.StmtGlobal).GlobalTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtGlobal).SemiColonTkn = yyDollar[3].token @@ -3298,7 +3288,7 @@ yydefault: } case 143: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:967 + // line internal/php7/php7.y:957 { yyDollar[2].node.(*ast.StmtStatic).StaticTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtStatic).SemiColonTkn = yyDollar[3].token @@ -3308,7 +3298,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:975 + // line internal/php7/php7.y:965 { yyDollar[2].node.(*ast.StmtEcho).EchoTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtEcho).SemiColonTkn = yyDollar[3].token @@ -3318,7 +3308,7 @@ yydefault: } case 145: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:983 + // line internal/php7/php7.y:973 { yyVAL.node = &ast.StmtInlineHtml{ Node: ast.Node{ @@ -3330,7 +3320,7 @@ yydefault: } case 146: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:993 + // line internal/php7/php7.y:983 { yyVAL.node = &ast.StmtExpression{ Node: ast.Node{ @@ -3342,7 +3332,7 @@ yydefault: } case 147: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1003 + // line internal/php7/php7.y:993 { yyDollar[3].node.(*ast.StmtUnset).UnsetTkn = yyDollar[1].token yyDollar[3].node.(*ast.StmtUnset).OpenParenthesisTkn = yyDollar[2].token @@ -3355,7 +3345,7 @@ yydefault: } case 148: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:1014 + // line internal/php7/php7.y:1004 { yyDollar[7].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[7].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3369,7 +3359,7 @@ yydefault: } case 149: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:1026 + // line internal/php7/php7.y:1016 { yyDollar[9].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[9].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3385,7 +3375,7 @@ yydefault: } case 150: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1040 + // line internal/php7/php7.y:1030 { yyDollar[5].node.(*ast.StmtDeclare).DeclareTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtDeclare).OpenParenthesisTkn = yyDollar[2].token @@ -3398,7 +3388,7 @@ yydefault: } case 151: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1051 + // line internal/php7/php7.y:1041 { yyVAL.node = &ast.StmtNop{ Node: ast.Node{ @@ -3409,7 +3399,7 @@ yydefault: } case 152: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1060 + // line internal/php7/php7.y:1050 { yyVAL.node = &ast.StmtTry{ TryTkn: yyDollar[1].token, @@ -3428,7 +3418,7 @@ yydefault: } case 153: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1077 + // line internal/php7/php7.y:1067 { yyVAL.node = &ast.StmtThrow{ Node: ast.Node{ @@ -3441,7 +3431,7 @@ yydefault: } case 154: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1088 + // line internal/php7/php7.y:1078 { yyVAL.node = &ast.StmtGoto{ Node: ast.Node{ @@ -3460,7 +3450,7 @@ yydefault: } case 155: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1105 + // line internal/php7/php7.y:1095 { yyVAL.node = &ast.StmtLabel{ Node: ast.Node{ @@ -3478,13 +3468,13 @@ yydefault: } case 156: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1123 + // line internal/php7/php7.y:1113 { yyVAL.list = []ast.Vertex{} } case 157: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:1127 + // line internal/php7/php7.y:1117 { catch := yyDollar[4].node.(*ast.StmtCatch) catch.CatchTkn = yyDollar[2].token @@ -3511,7 +3501,7 @@ yydefault: } case 158: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1154 + // line internal/php7/php7.y:1144 { yyVAL.node = &ast.StmtCatch{ Types: []ast.Vertex{yyDollar[1].node}, @@ -3519,7 +3509,7 @@ yydefault: } case 159: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1160 + // line internal/php7/php7.y:1150 { yyDollar[1].node.(*ast.StmtCatch).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtCatch).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.StmtCatch).Types = append(yyDollar[1].node.(*ast.StmtCatch).Types, yyDollar[3].node) @@ -3528,13 +3518,13 @@ yydefault: } case 160: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1170 + // line internal/php7/php7.y:1160 { yyVAL.node = nil } case 161: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1174 + // line internal/php7/php7.y:1164 { yyVAL.node = &ast.StmtFinally{ Node: ast.Node{ @@ -3548,7 +3538,7 @@ yydefault: } case 162: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1189 + // line internal/php7/php7.y:1179 { yyVAL.node = &ast.StmtUnset{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -3556,7 +3546,7 @@ yydefault: } case 163: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1195 + // line internal/php7/php7.y:1185 { 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) @@ -3565,13 +3555,13 @@ yydefault: } case 164: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1205 + // line internal/php7/php7.y:1195 { yyVAL.node = yyDollar[1].node } case 165: yyDollar = yyS[yypt-11 : yypt+1] - // line internal/php7/php7.y:1212 + // line internal/php7/php7.y:1202 { yyVAL.node = &ast.StmtFunction{ Node: ast.Node{ @@ -3599,31 +3589,31 @@ yydefault: } case 166: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1241 + // line internal/php7/php7.y:1231 { yyVAL.token = nil } case 167: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1245 + // line internal/php7/php7.y:1235 { yyVAL.token = yyDollar[1].token } case 168: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1252 + // line internal/php7/php7.y:1242 { yyVAL.token = nil } case 169: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1256 + // line internal/php7/php7.y:1246 { yyVAL.token = yyDollar[1].token } case 170: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:1263 + // line internal/php7/php7.y:1253 { yyVAL.node = &ast.StmtClass{ Node: ast.Node{ @@ -3647,7 +3637,7 @@ yydefault: } case 171: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php7/php7.y:1285 + // line internal/php7/php7.y:1275 { yyVAL.node = &ast.StmtClass{ Node: ast.Node{ @@ -3670,19 +3660,19 @@ yydefault: } case 172: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1309 + // line internal/php7/php7.y:1299 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 173: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1313 + // line internal/php7/php7.y:1303 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 174: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1320 + // line internal/php7/php7.y:1310 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -3694,7 +3684,7 @@ yydefault: } case 175: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1330 + // line internal/php7/php7.y:1320 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -3706,7 +3696,7 @@ yydefault: } case 176: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1343 + // line internal/php7/php7.y:1333 { yyVAL.node = &ast.StmtTrait{ Node: ast.Node{ @@ -3727,7 +3717,7 @@ yydefault: } case 177: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:1365 + // line internal/php7/php7.y:1355 { yyVAL.node = &ast.StmtInterface{ Node: ast.Node{ @@ -3749,13 +3739,13 @@ yydefault: } case 178: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1388 + // line internal/php7/php7.y:1378 { yyVAL.node = nil } case 179: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1392 + // line internal/php7/php7.y:1382 { yyVAL.node = &ast.StmtClassExtends{ Node: ast.Node{ @@ -3767,13 +3757,13 @@ yydefault: } case 180: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1405 + // line internal/php7/php7.y:1395 { yyVAL.node = nil } case 181: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1409 + // line internal/php7/php7.y:1399 { yyVAL.node = &ast.StmtInterfaceExtends{ Node: ast.Node{ @@ -3786,13 +3776,13 @@ yydefault: } case 182: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1423 + // line internal/php7/php7.y:1413 { yyVAL.node = nil } case 183: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1427 + // line internal/php7/php7.y:1417 { yyVAL.node = &ast.StmtClassImplements{ Node: ast.Node{ @@ -3805,13 +3795,13 @@ yydefault: } case 184: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1441 + // line internal/php7/php7.y:1431 { yyVAL.node = yyDollar[1].node } case 185: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1445 + // line internal/php7/php7.y:1435 { yyVAL.node = &ast.ExprReference{ Node: ast.Node{ @@ -3823,7 +3813,7 @@ yydefault: } case 186: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1455 + // line internal/php7/php7.y:1445 { yyVAL.node = &ast.ExprList{ Node: ast.Node{ @@ -3838,7 +3828,7 @@ yydefault: } case 187: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1468 + // line internal/php7/php7.y:1458 { yyVAL.node = &ast.ExprList{ Node: ast.Node{ @@ -3852,7 +3842,7 @@ yydefault: } case 188: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1483 + // line internal/php7/php7.y:1473 { yyVAL.node = &ast.StmtFor{ Node: ast.Node{ @@ -3863,7 +3853,7 @@ yydefault: } case 189: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1492 + // line internal/php7/php7.y:1482 { yyVAL.node = &ast.StmtFor{ Node: ast.Node{ @@ -3883,7 +3873,7 @@ yydefault: } case 190: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1513 + // line internal/php7/php7.y:1503 { yyVAL.node = &ast.StmtForeach{ Node: ast.Node{ @@ -3894,7 +3884,7 @@ yydefault: } case 191: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1522 + // line internal/php7/php7.y:1512 { yyVAL.node = &ast.StmtForeach{ Node: ast.Node{ @@ -3914,7 +3904,7 @@ yydefault: } case 192: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1543 + // line internal/php7/php7.y:1533 { yyVAL.node = &ast.StmtDeclare{ Node: ast.Node{ @@ -3925,7 +3915,7 @@ yydefault: } case 193: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1552 + // line internal/php7/php7.y:1542 { yyVAL.node = &ast.StmtDeclare{ Node: ast.Node{ @@ -3945,7 +3935,7 @@ yydefault: } case 194: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1573 + // line internal/php7/php7.y:1563 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3958,7 +3948,7 @@ yydefault: } case 195: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1584 + // line internal/php7/php7.y:1574 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3972,7 +3962,7 @@ yydefault: } case 196: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1596 + // line internal/php7/php7.y:1586 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3987,7 +3977,7 @@ yydefault: } case 197: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1609 + // line internal/php7/php7.y:1599 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -4003,13 +3993,13 @@ yydefault: } case 198: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1626 + // line internal/php7/php7.y:1616 { yyVAL.list = nil } case 199: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1630 + // line internal/php7/php7.y:1620 { yyVAL.list = append(yyDollar[1].list, &ast.StmtCase{ Node: ast.Node{ @@ -4023,7 +4013,7 @@ yydefault: } case 200: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1642 + // line internal/php7/php7.y:1632 { yyVAL.list = append(yyDollar[1].list, &ast.StmtDefault{ Node: ast.Node{ @@ -4036,19 +4026,19 @@ yydefault: } case 201: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1656 + // line internal/php7/php7.y:1646 { yyVAL.token = yyDollar[1].token } case 202: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1660 + // line internal/php7/php7.y:1650 { yyVAL.token = yyDollar[1].token } case 203: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1667 + // line internal/php7/php7.y:1657 { yyVAL.node = &ast.StmtWhile{ Node: ast.Node{ @@ -4059,7 +4049,7 @@ yydefault: } case 204: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1676 + // line internal/php7/php7.y:1666 { yyVAL.node = &ast.StmtWhile{ Node: ast.Node{ @@ -4079,7 +4069,7 @@ yydefault: } case 205: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1697 + // line internal/php7/php7.y:1687 { yyVAL.node = &ast.StmtIf{ Node: ast.Node{ @@ -4094,7 +4084,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1710 + // line internal/php7/php7.y:1700 { yyDollar[1].node.(*ast.StmtIf).ElseIf = append(yyDollar[1].node.(*ast.StmtIf).ElseIf, &ast.StmtElseIf{ Node: ast.Node{ @@ -4113,13 +4103,13 @@ yydefault: } case 207: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1730 + // line internal/php7/php7.y:1720 { yyVAL.node = yyDollar[1].node } case 208: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1734 + // line internal/php7/php7.y:1724 { yyDollar[1].node.(*ast.StmtIf).Else = &ast.StmtElse{ Node: ast.Node{ @@ -4135,7 +4125,7 @@ yydefault: } case 209: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1751 + // line internal/php7/php7.y:1741 { yyVAL.node = &ast.StmtIf{ Node: ast.Node{ @@ -4157,7 +4147,7 @@ yydefault: } case 210: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:1771 + // line internal/php7/php7.y:1761 { yyDollar[1].node.(*ast.StmtIf).ElseIf = append(yyDollar[1].node.(*ast.StmtIf).ElseIf, &ast.StmtElseIf{ Node: ast.Node{ @@ -4181,7 +4171,7 @@ yydefault: } case 211: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1796 + // line internal/php7/php7.y:1786 { yyDollar[1].node.(*ast.StmtIf).EndIfTkn = yyDollar[2].token yyDollar[1].node.(*ast.StmtIf).SemiColonTkn = yyDollar[3].token @@ -4191,7 +4181,7 @@ yydefault: } case 212: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1804 + // line internal/php7/php7.y:1794 { yyDollar[1].node.(*ast.StmtIf).Else = &ast.StmtElse{ Node: ast.Node{ @@ -4215,19 +4205,19 @@ yydefault: } case 213: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1829 + // line internal/php7/php7.y:1819 { yyVAL.node = yyDollar[1].node } case 214: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1833 + // line internal/php7/php7.y:1823 { yyVAL.node = &ast.ParserSeparatedList{} } case 215: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1840 + // line internal/php7/php7.y:1830 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4235,7 +4225,7 @@ yydefault: } case 216: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1846 + // line internal/php7/php7.y:1836 { 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) @@ -4244,7 +4234,7 @@ yydefault: } case 217: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1856 + // line internal/php7/php7.y:1846 { pos := position.NewTokenPosition(yyDollar[4].token) if yyDollar[1].node != nil { @@ -4278,7 +4268,7 @@ yydefault: } case 218: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1888 + // line internal/php7/php7.y:1878 { pos := position.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node) if yyDollar[1].node != nil { @@ -4314,25 +4304,25 @@ yydefault: } case 219: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1925 + // line internal/php7/php7.y:1915 { yyVAL.node = nil } case 220: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1929 + // line internal/php7/php7.y:1919 { yyVAL.node = yyDollar[1].node } case 221: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1936 + // line internal/php7/php7.y:1926 { yyVAL.node = yyDollar[1].node } case 222: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1940 + // line internal/php7/php7.y:1930 { yyVAL.node = &ast.Nullable{ Node: ast.Node{ @@ -4344,7 +4334,7 @@ yydefault: } case 223: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1953 + // line internal/php7/php7.y:1943 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4356,7 +4346,7 @@ yydefault: } case 224: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1963 + // line internal/php7/php7.y:1953 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4368,19 +4358,19 @@ yydefault: } case 225: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1973 + // line internal/php7/php7.y:1963 { yyVAL.node = yyDollar[1].node } case 226: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1980 + // line internal/php7/php7.y:1970 { yyVAL.node = nil } case 227: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1984 + // line internal/php7/php7.y:1974 { yyVAL.node = &ast.ReturnType{ ColonTkn: yyDollar[1].token, @@ -4389,7 +4379,7 @@ yydefault: } case 228: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1994 + // line internal/php7/php7.y:1984 { yyVAL.node = &ast.ArgumentList{ Node: ast.Node{ @@ -4401,7 +4391,7 @@ yydefault: } case 229: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2004 + // line internal/php7/php7.y:1994 { argumentList := yyDollar[2].node.(*ast.ArgumentList) argumentList.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) @@ -4413,7 +4403,7 @@ yydefault: } case 230: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2017 + // line internal/php7/php7.y:2007 { yyVAL.node = &ast.ArgumentList{ Arguments: []ast.Vertex{yyDollar[1].node}, @@ -4421,7 +4411,7 @@ yydefault: } case 231: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2023 + // line internal/php7/php7.y:2013 { 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) @@ -4430,7 +4420,7 @@ yydefault: } case 232: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2033 + // line internal/php7/php7.y:2023 { yyVAL.node = &ast.Argument{ Node: ast.Node{ @@ -4441,7 +4431,7 @@ yydefault: } case 233: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2042 + // line internal/php7/php7.y:2032 { yyVAL.node = &ast.Argument{ Node: ast.Node{ @@ -4453,7 +4443,7 @@ yydefault: } case 234: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2055 + // line internal/php7/php7.y:2045 { 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) @@ -4462,7 +4452,7 @@ yydefault: } case 235: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2062 + // line internal/php7/php7.y:2052 { yyVAL.node = &ast.StmtGlobal{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -4470,13 +4460,13 @@ yydefault: } case 236: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2071 + // line internal/php7/php7.y:2061 { yyVAL.node = yyDollar[1].node } case 237: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2078 + // line internal/php7/php7.y:2068 { yyDollar[1].node.(*ast.StmtStatic).Vars = append(yyDollar[1].node.(*ast.StmtStatic).Vars, yyDollar[3].node) yyDollar[1].node.(*ast.StmtStatic).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtStatic).SeparatorTkns, yyDollar[2].token) @@ -4485,7 +4475,7 @@ yydefault: } case 238: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2085 + // line internal/php7/php7.y:2075 { yyVAL.node = &ast.StmtStatic{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -4493,7 +4483,7 @@ yydefault: } case 239: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2094 + // line internal/php7/php7.y:2084 { yyVAL.node = &ast.StmtStaticVar{ @@ -4516,7 +4506,7 @@ yydefault: } case 240: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2115 + // line internal/php7/php7.y:2105 { yyVAL.node = &ast.StmtStaticVar{ Node: ast.Node{ @@ -4540,19 +4530,19 @@ yydefault: } case 241: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2140 + // line internal/php7/php7.y:2130 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 242: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2144 + // line internal/php7/php7.y:2134 { yyVAL.list = []ast.Vertex{} } case 243: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2151 + // line internal/php7/php7.y:2141 { yyVAL.node = &ast.StmtPropertyList{ Node: ast.Node{ @@ -4567,7 +4557,7 @@ yydefault: } case 244: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2164 + // line internal/php7/php7.y:2154 { yyVAL.node = &ast.StmtClassConstList{ Node: ast.Node{ @@ -4581,7 +4571,7 @@ yydefault: } case 245: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2176 + // line internal/php7/php7.y:2166 { yyVAL.node = &ast.StmtTraitUse{ Node: ast.Node{ @@ -4595,7 +4585,7 @@ yydefault: } case 246: yyDollar = yyS[yypt-10 : yypt+1] - // line internal/php7/php7.y:2188 + // line internal/php7/php7.y:2178 { pos := position.NewTokenNodePosition(yyDollar[2].token, yyDollar[10].node) if yyDollar[1].list != nil { @@ -4627,7 +4617,7 @@ yydefault: } case 247: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2221 + // line internal/php7/php7.y:2211 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4635,7 +4625,7 @@ yydefault: } case 248: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2227 + // line internal/php7/php7.y:2217 { 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) @@ -4644,7 +4634,7 @@ yydefault: } case 249: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2237 + // line internal/php7/php7.y:2227 { yyVAL.node = &ast.StmtNop{ Node: ast.Node{ @@ -4655,7 +4645,7 @@ yydefault: } case 250: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2246 + // line internal/php7/php7.y:2236 { yyVAL.node = &ast.StmtTraitAdaptationList{ Node: ast.Node{ @@ -4667,7 +4657,7 @@ yydefault: } case 251: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2256 + // line internal/php7/php7.y:2246 { yyVAL.node = &ast.StmtTraitAdaptationList{ Node: ast.Node{ @@ -4680,19 +4670,19 @@ yydefault: } case 252: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2270 + // line internal/php7/php7.y:2260 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 253: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2274 + // line internal/php7/php7.y:2264 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 254: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2281 + // line internal/php7/php7.y:2271 { yyDollar[1].node.(*ast.StmtTraitUsePrecedence).SemiColonTkn = yyDollar[2].token @@ -4700,7 +4690,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2287 + // line internal/php7/php7.y:2277 { yyDollar[1].node.(*ast.StmtTraitUseAlias).SemiColonTkn = yyDollar[2].token @@ -4708,7 +4698,7 @@ yydefault: } case 256: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2296 + // line internal/php7/php7.y:2286 { yyVAL.node = &ast.StmtTraitUsePrecedence{ Node: ast.Node{ @@ -4722,7 +4712,7 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2311 + // line internal/php7/php7.y:2301 { yyVAL.node = &ast.StmtTraitUseAlias{ Node: ast.Node{ @@ -4741,7 +4731,7 @@ yydefault: } case 258: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2328 + // line internal/php7/php7.y:2318 { yyVAL.node = &ast.StmtTraitUseAlias{ Node: ast.Node{ @@ -4760,7 +4750,7 @@ yydefault: } case 259: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2345 + // line internal/php7/php7.y:2335 { yyVAL.node = &ast.StmtTraitUseAlias{ Node: ast.Node{ @@ -4780,7 +4770,7 @@ yydefault: } case 260: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2363 + // line internal/php7/php7.y:2353 { yyVAL.node = &ast.StmtTraitUseAlias{ Node: ast.Node{ @@ -4793,7 +4783,7 @@ yydefault: } case 261: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2377 + // line internal/php7/php7.y:2367 { yyVAL.node = &ast.StmtTraitMethodRef{ Node: ast.Node{ @@ -4810,13 +4800,13 @@ yydefault: } case 262: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2392 + // line internal/php7/php7.y:2382 { yyVAL.node = yyDollar[1].node } case 263: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2399 + // line internal/php7/php7.y:2389 { yyVAL.node = &ast.StmtTraitMethodRef{ Node: ast.Node{ @@ -4835,7 +4825,7 @@ yydefault: } case 264: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2419 + // line internal/php7/php7.y:2409 { yyVAL.node = &ast.StmtNop{ Node: ast.Node{ @@ -4846,7 +4836,7 @@ yydefault: } case 265: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2428 + // line internal/php7/php7.y:2418 { yyVAL.node = &ast.StmtStmtList{ Node: ast.Node{ @@ -4859,13 +4849,13 @@ yydefault: } case 266: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2442 + // line internal/php7/php7.y:2432 { yyVAL.list = yyDollar[1].list } case 267: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2446 + // line internal/php7/php7.y:2436 { yyVAL.list = []ast.Vertex{ &ast.Identifier{ @@ -4879,31 +4869,31 @@ yydefault: } case 268: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2461 + // line internal/php7/php7.y:2451 { yyVAL.list = nil } case 269: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2465 + // line internal/php7/php7.y:2455 { yyVAL.list = yyDollar[1].list } case 270: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2472 + // line internal/php7/php7.y:2462 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 271: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2476 + // line internal/php7/php7.y:2466 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 272: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2483 + // line internal/php7/php7.y:2473 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4915,7 +4905,7 @@ yydefault: } case 273: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2493 + // line internal/php7/php7.y:2483 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4927,7 +4917,7 @@ yydefault: } case 274: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2503 + // line internal/php7/php7.y:2493 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4939,7 +4929,7 @@ yydefault: } case 275: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2513 + // line internal/php7/php7.y:2503 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4951,7 +4941,7 @@ yydefault: } case 276: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2523 + // line internal/php7/php7.y:2513 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4963,7 +4953,7 @@ yydefault: } case 277: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2533 + // line internal/php7/php7.y:2523 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4975,7 +4965,7 @@ yydefault: } case 278: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2546 + // line internal/php7/php7.y:2536 { 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) @@ -4984,7 +4974,7 @@ yydefault: } case 279: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2553 + // line internal/php7/php7.y:2543 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4992,7 +4982,7 @@ yydefault: } case 280: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2562 + // line internal/php7/php7.y:2552 { yyVAL.node = &ast.StmtProperty{ Node: ast.Node{ @@ -5015,7 +5005,7 @@ yydefault: } case 281: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2583 + // line internal/php7/php7.y:2573 { yyVAL.node = &ast.StmtProperty{ Node: ast.Node{ @@ -5039,7 +5029,7 @@ yydefault: } case 282: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2608 + // line internal/php7/php7.y:2598 { lastNode(yyDollar[1].list).(*ast.StmtConstant).CommaTkn = yyDollar[2].token @@ -5047,13 +5037,13 @@ yydefault: } case 283: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2614 + // line internal/php7/php7.y:2604 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 284: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2621 + // line internal/php7/php7.y:2611 { yyVAL.node = &ast.StmtConstant{ Node: ast.Node{ @@ -5069,12 +5059,10 @@ yydefault: EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, } - - yylex.(*Parser).setFreeFloating(yyVAL.node.(*ast.StmtConstant).Name, token.Start, yyDollar[1].token.SkippedTokens) } case 285: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2643 + // line internal/php7/php7.y:2631 { yyVAL.node = &ast.StmtConstant{ Node: ast.Node{ @@ -5090,12 +5078,10 @@ yydefault: EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, } - - yylex.(*Parser).setFreeFloating(yyVAL.node.(*ast.StmtConstant).Name, token.Start, yyDollar[1].token.SkippedTokens) } case 286: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2665 + // line internal/php7/php7.y:2651 { 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) @@ -5104,7 +5090,7 @@ yydefault: } case 287: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2672 + // line internal/php7/php7.y:2658 { yyVAL.node = &ast.StmtEcho{ Exprs: []ast.Vertex{yyDollar[1].node}, @@ -5112,25 +5098,25 @@ yydefault: } case 288: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2681 + // line internal/php7/php7.y:2667 { yyVAL.node = yyDollar[1].node } case 289: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2688 + // line internal/php7/php7.y:2674 { yyVAL.node = &ast.ParserSeparatedList{} } case 290: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2692 + // line internal/php7/php7.y:2678 { yyVAL.node = yyDollar[1].node } case 291: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2699 + // line internal/php7/php7.y:2685 { 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) @@ -5139,7 +5125,7 @@ yydefault: } case 292: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2706 + // line internal/php7/php7.y:2692 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -5147,7 +5133,7 @@ yydefault: } case 293: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php7/php7.y:2715 + // line internal/php7/php7.y:2701 { yyVAL.node = &ast.StmtClass{ Node: ast.Node{ @@ -5167,7 +5153,7 @@ yydefault: } case 294: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2736 + // line internal/php7/php7.y:2722 { if yyDollar[3].node != nil { yyVAL.node = &ast.ExprNew{ @@ -5193,7 +5179,7 @@ yydefault: } case 295: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2760 + // line internal/php7/php7.y:2746 { yyVAL.node = &ast.ExprNew{ Node: ast.Node{ @@ -5205,7 +5191,7 @@ yydefault: } case 296: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:2773 + // line internal/php7/php7.y:2759 { yyVAL.node = &ast.ExprAssign{ Node: ast.Node{ @@ -5227,7 +5213,7 @@ yydefault: } case 297: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:2793 + // line internal/php7/php7.y:2779 { yyVAL.node = &ast.ExprAssign{ Node: ast.Node{ @@ -5248,7 +5234,7 @@ yydefault: } case 298: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2812 + // line internal/php7/php7.y:2798 { yyVAL.node = &ast.ExprAssign{ Node: ast.Node{ @@ -5261,7 +5247,7 @@ yydefault: } case 299: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2823 + // line internal/php7/php7.y:2809 { yyVAL.node = &ast.ExprAssignReference{ Node: ast.Node{ @@ -5275,7 +5261,7 @@ yydefault: } case 300: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2835 + // line internal/php7/php7.y:2821 { yyVAL.node = &ast.ExprClone{ Node: ast.Node{ @@ -5287,7 +5273,7 @@ yydefault: } case 301: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2845 + // line internal/php7/php7.y:2831 { yyVAL.node = &ast.ExprAssignPlus{ Node: ast.Node{ @@ -5300,7 +5286,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2856 + // line internal/php7/php7.y:2842 { yyVAL.node = &ast.ExprAssignMinus{ Node: ast.Node{ @@ -5313,7 +5299,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2867 + // line internal/php7/php7.y:2853 { yyVAL.node = &ast.ExprAssignMul{ Node: ast.Node{ @@ -5326,7 +5312,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2878 + // line internal/php7/php7.y:2864 { yyVAL.node = &ast.ExprAssignPow{ Node: ast.Node{ @@ -5339,7 +5325,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2889 + // line internal/php7/php7.y:2875 { yyVAL.node = &ast.ExprAssignDiv{ Node: ast.Node{ @@ -5352,7 +5338,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2900 + // line internal/php7/php7.y:2886 { yyVAL.node = &ast.ExprAssignConcat{ Node: ast.Node{ @@ -5365,7 +5351,7 @@ yydefault: } case 307: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2911 + // line internal/php7/php7.y:2897 { yyVAL.node = &ast.ExprAssignMod{ Node: ast.Node{ @@ -5378,7 +5364,7 @@ yydefault: } case 308: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2922 + // line internal/php7/php7.y:2908 { yyVAL.node = &ast.ExprAssignBitwiseAnd{ Node: ast.Node{ @@ -5391,7 +5377,7 @@ yydefault: } case 309: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2933 + // line internal/php7/php7.y:2919 { yyVAL.node = &ast.ExprAssignBitwiseOr{ Node: ast.Node{ @@ -5404,7 +5390,7 @@ yydefault: } case 310: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2944 + // line internal/php7/php7.y:2930 { yyVAL.node = &ast.ExprAssignBitwiseXor{ Node: ast.Node{ @@ -5417,7 +5403,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2955 + // line internal/php7/php7.y:2941 { yyVAL.node = &ast.ExprAssignShiftLeft{ Node: ast.Node{ @@ -5430,7 +5416,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2966 + // line internal/php7/php7.y:2952 { yyVAL.node = &ast.ExprAssignShiftRight{ Node: ast.Node{ @@ -5443,7 +5429,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2977 + // line internal/php7/php7.y:2963 { yyVAL.node = &ast.ExprAssignCoalesce{ Node: ast.Node{ @@ -5456,7 +5442,7 @@ yydefault: } case 314: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2988 + // line internal/php7/php7.y:2974 { yyVAL.node = &ast.ExprPostInc{ Node: ast.Node{ @@ -5468,7 +5454,7 @@ yydefault: } case 315: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2998 + // line internal/php7/php7.y:2984 { yyVAL.node = &ast.ExprPreInc{ Node: ast.Node{ @@ -5480,7 +5466,7 @@ yydefault: } case 316: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3008 + // line internal/php7/php7.y:2994 { yyVAL.node = &ast.ExprPostDec{ Node: ast.Node{ @@ -5492,7 +5478,7 @@ yydefault: } case 317: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3018 + // line internal/php7/php7.y:3004 { yyVAL.node = &ast.ExprPreDec{ Node: ast.Node{ @@ -5504,7 +5490,7 @@ yydefault: } case 318: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3028 + // line internal/php7/php7.y:3014 { yyVAL.node = &ast.ExprBinaryBooleanOr{ Node: ast.Node{ @@ -5517,7 +5503,7 @@ yydefault: } case 319: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3039 + // line internal/php7/php7.y:3025 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ Node: ast.Node{ @@ -5530,7 +5516,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3050 + // line internal/php7/php7.y:3036 { yyVAL.node = &ast.ExprBinaryLogicalOr{ Node: ast.Node{ @@ -5543,7 +5529,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3061 + // line internal/php7/php7.y:3047 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ Node: ast.Node{ @@ -5556,7 +5542,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3072 + // line internal/php7/php7.y:3058 { yyVAL.node = &ast.ExprBinaryLogicalXor{ Node: ast.Node{ @@ -5569,7 +5555,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3083 + // line internal/php7/php7.y:3069 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ Node: ast.Node{ @@ -5582,7 +5568,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3094 + // line internal/php7/php7.y:3080 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ Node: ast.Node{ @@ -5595,7 +5581,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3105 + // line internal/php7/php7.y:3091 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ Node: ast.Node{ @@ -5608,7 +5594,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3116 + // line internal/php7/php7.y:3102 { yyVAL.node = &ast.ExprBinaryConcat{ Node: ast.Node{ @@ -5621,7 +5607,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3127 + // line internal/php7/php7.y:3113 { yyVAL.node = &ast.ExprBinaryPlus{ Node: ast.Node{ @@ -5634,7 +5620,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3138 + // line internal/php7/php7.y:3124 { yyVAL.node = &ast.ExprBinaryMinus{ Node: ast.Node{ @@ -5647,7 +5633,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3149 + // line internal/php7/php7.y:3135 { yyVAL.node = &ast.ExprBinaryMul{ Node: ast.Node{ @@ -5660,7 +5646,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3160 + // line internal/php7/php7.y:3146 { yyVAL.node = &ast.ExprBinaryPow{ Node: ast.Node{ @@ -5673,7 +5659,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3171 + // line internal/php7/php7.y:3157 { yyVAL.node = &ast.ExprBinaryDiv{ Node: ast.Node{ @@ -5686,7 +5672,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3182 + // line internal/php7/php7.y:3168 { yyVAL.node = &ast.ExprBinaryMod{ Node: ast.Node{ @@ -5699,7 +5685,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3193 + // line internal/php7/php7.y:3179 { yyVAL.node = &ast.ExprBinaryShiftLeft{ Node: ast.Node{ @@ -5712,7 +5698,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3204 + // line internal/php7/php7.y:3190 { yyVAL.node = &ast.ExprBinaryShiftRight{ Node: ast.Node{ @@ -5725,7 +5711,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3215 + // line internal/php7/php7.y:3201 { yyVAL.node = &ast.ExprUnaryPlus{ Node: ast.Node{ @@ -5737,7 +5723,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3225 + // line internal/php7/php7.y:3211 { yyVAL.node = &ast.ExprUnaryMinus{ Node: ast.Node{ @@ -5749,7 +5735,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3235 + // line internal/php7/php7.y:3221 { yyVAL.node = &ast.ExprBooleanNot{ Node: ast.Node{ @@ -5761,7 +5747,7 @@ yydefault: } case 338: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3245 + // line internal/php7/php7.y:3231 { yyVAL.node = &ast.ExprBitwiseNot{ Node: ast.Node{ @@ -5773,7 +5759,7 @@ yydefault: } case 339: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3255 + // line internal/php7/php7.y:3241 { yyVAL.node = &ast.ExprBinaryIdentical{ Node: ast.Node{ @@ -5786,7 +5772,7 @@ yydefault: } case 340: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3266 + // line internal/php7/php7.y:3252 { yyVAL.node = &ast.ExprBinaryNotIdentical{ Node: ast.Node{ @@ -5799,7 +5785,7 @@ yydefault: } case 341: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3277 + // line internal/php7/php7.y:3263 { yyVAL.node = &ast.ExprBinaryEqual{ Node: ast.Node{ @@ -5812,7 +5798,7 @@ yydefault: } case 342: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3288 + // line internal/php7/php7.y:3274 { yyVAL.node = &ast.ExprBinaryNotEqual{ Node: ast.Node{ @@ -5825,7 +5811,7 @@ yydefault: } case 343: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3299 + // line internal/php7/php7.y:3285 { yyVAL.node = &ast.ExprBinarySmaller{ Node: ast.Node{ @@ -5838,7 +5824,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3310 + // line internal/php7/php7.y:3296 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ Node: ast.Node{ @@ -5851,7 +5837,7 @@ yydefault: } case 345: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3321 + // line internal/php7/php7.y:3307 { yyVAL.node = &ast.ExprBinaryGreater{ Node: ast.Node{ @@ -5864,7 +5850,7 @@ yydefault: } case 346: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3332 + // line internal/php7/php7.y:3318 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ Node: ast.Node{ @@ -5877,7 +5863,7 @@ yydefault: } case 347: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3343 + // line internal/php7/php7.y:3329 { yyVAL.node = &ast.ExprBinarySpaceship{ Node: ast.Node{ @@ -5890,7 +5876,7 @@ yydefault: } case 348: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3354 + // line internal/php7/php7.y:3340 { yyVAL.node = &ast.ExprInstanceOf{ Node: ast.Node{ @@ -5903,7 +5889,7 @@ yydefault: } case 349: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3365 + // line internal/php7/php7.y:3351 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -5913,20 +5899,16 @@ yydefault: Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, } - - // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 350: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3380 + // line internal/php7/php7.y:3362 { yyVAL.node = yyDollar[1].node } case 351: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:3384 + // line internal/php7/php7.y:3366 { yyVAL.node = &ast.ExprTernary{ Node: ast.Node{ @@ -5941,7 +5923,7 @@ yydefault: } case 352: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3397 + // line internal/php7/php7.y:3379 { yyVAL.node = &ast.ExprTernary{ Node: ast.Node{ @@ -5955,7 +5937,7 @@ yydefault: } case 353: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3409 + // line internal/php7/php7.y:3391 { yyVAL.node = &ast.ExprBinaryCoalesce{ Node: ast.Node{ @@ -5968,13 +5950,13 @@ yydefault: } case 354: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3420 + // line internal/php7/php7.y:3402 { yyVAL.node = yyDollar[1].node } case 355: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3424 + // line internal/php7/php7.y:3406 { yyVAL.node = &ast.ExprCastInt{ Node: ast.Node{ @@ -5986,7 +5968,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3434 + // line internal/php7/php7.y:3416 { yyVAL.node = &ast.ExprCastDouble{ Node: ast.Node{ @@ -5998,7 +5980,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3444 + // line internal/php7/php7.y:3426 { yyVAL.node = &ast.ExprCastString{ Node: ast.Node{ @@ -6010,7 +5992,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3454 + // line internal/php7/php7.y:3436 { yyVAL.node = &ast.ExprCastArray{ Node: ast.Node{ @@ -6022,7 +6004,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3464 + // line internal/php7/php7.y:3446 { yyVAL.node = &ast.ExprCastObject{ Node: ast.Node{ @@ -6034,7 +6016,7 @@ yydefault: } case 360: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3474 + // line internal/php7/php7.y:3456 { yyVAL.node = &ast.ExprCastBool{ Node: ast.Node{ @@ -6046,7 +6028,7 @@ yydefault: } case 361: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3484 + // line internal/php7/php7.y:3466 { yyVAL.node = &ast.ExprCastUnset{ Node: ast.Node{ @@ -6058,7 +6040,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3494 + // line internal/php7/php7.y:3476 { exit := &ast.ExprExit{ DieTkn: yyDollar[1].token, @@ -6077,7 +6059,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3511 + // line internal/php7/php7.y:3493 { yyVAL.node = &ast.ExprErrorSuppress{ Node: ast.Node{ @@ -6089,13 +6071,13 @@ yydefault: } case 364: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3521 + // line internal/php7/php7.y:3503 { yyVAL.node = yyDollar[1].node } case 365: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3525 + // line internal/php7/php7.y:3507 { yyVAL.node = &ast.ExprShellExec{ Node: ast.Node{ @@ -6108,7 +6090,7 @@ yydefault: } case 366: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3536 + // line internal/php7/php7.y:3518 { yyVAL.node = &ast.ExprPrint{ Node: ast.Node{ @@ -6120,7 +6102,7 @@ yydefault: } case 367: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3546 + // line internal/php7/php7.y:3528 { yyVAL.node = &ast.ExprYield{ Node: ast.Node{ @@ -6131,7 +6113,7 @@ yydefault: } case 368: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3555 + // line internal/php7/php7.y:3537 { yyVAL.node = &ast.ExprYield{ Node: ast.Node{ @@ -6143,7 +6125,7 @@ yydefault: } case 369: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3565 + // line internal/php7/php7.y:3547 { yyVAL.node = &ast.ExprYield{ Node: ast.Node{ @@ -6157,7 +6139,7 @@ yydefault: } case 370: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3577 + // line internal/php7/php7.y:3559 { yyVAL.node = &ast.ExprYieldFrom{ Node: ast.Node{ @@ -6169,13 +6151,13 @@ yydefault: } case 371: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3587 + // line internal/php7/php7.y:3569 { yyVAL.node = yyDollar[1].node } case 372: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3591 + // line internal/php7/php7.y:3573 { switch n := yyDollar[2].node.(type) { case *ast.ExprClosure: @@ -6190,7 +6172,7 @@ yydefault: } case 373: yyDollar = yyS[yypt-11 : yypt+1] - // line internal/php7/php7.y:3607 + // line internal/php7/php7.y:3589 { yyVAL.node = &ast.ExprClosure{ Node: ast.Node{ @@ -6212,7 +6194,7 @@ yydefault: } case 374: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:3627 + // line internal/php7/php7.y:3609 { yyVAL.node = &ast.ExprArrowFunction{ Node: ast.Node{ @@ -6232,25 +6214,25 @@ yydefault: } case 376: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3652 + // line internal/php7/php7.y:3634 { yyVAL.token = nil } case 377: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3656 + // line internal/php7/php7.y:3638 { yyVAL.token = yyDollar[1].token } case 378: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3663 + // line internal/php7/php7.y:3645 { yyVAL.ClosureUse = nil } case 379: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3667 + // line internal/php7/php7.y:3649 { yyVAL.ClosureUse = &ast.ExprClosureUse{ Node: ast.Node{ @@ -6265,7 +6247,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3683 + // line internal/php7/php7.y:3665 { 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) @@ -6274,7 +6256,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3690 + // line internal/php7/php7.y:3672 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -6282,7 +6264,7 @@ yydefault: } case 382: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3699 + // line internal/php7/php7.y:3681 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -6299,7 +6281,7 @@ yydefault: } case 383: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3714 + // line internal/php7/php7.y:3696 { yyVAL.node = &ast.ExprReference{ Node: ast.Node{ @@ -6322,7 +6304,7 @@ yydefault: } case 384: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3738 + // line internal/php7/php7.y:3720 { yyVAL.node = &ast.ExprFunctionCall{ Node: ast.Node{ @@ -6337,7 +6319,7 @@ yydefault: } case 385: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3751 + // line internal/php7/php7.y:3733 { yyVAL.node = &ast.ExprStaticCall{ Node: ast.Node{ @@ -6354,7 +6336,7 @@ yydefault: } case 386: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3766 + // line internal/php7/php7.y:3748 { yyVAL.node = &ast.ExprStaticCall{ Node: ast.Node{ @@ -6371,7 +6353,7 @@ yydefault: } case 387: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3781 + // line internal/php7/php7.y:3763 { yyVAL.node = &ast.ExprFunctionCall{ Node: ast.Node{ @@ -6386,7 +6368,7 @@ yydefault: } case 388: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3797 + // line internal/php7/php7.y:3779 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -6398,31 +6380,31 @@ yydefault: } case 389: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3807 + // line internal/php7/php7.y:3789 { yyVAL.node = yyDollar[1].node } case 390: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3814 + // line internal/php7/php7.y:3796 { yyVAL.node = yyDollar[1].node } case 391: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3818 + // line internal/php7/php7.y:3800 { yyVAL.node = yyDollar[1].node } case 392: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3825 + // line internal/php7/php7.y:3807 { yyVAL.node = nil } case 393: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3829 + // line internal/php7/php7.y:3811 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -6432,20 +6414,16 @@ yydefault: Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, } - - // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 394: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3847 + // line internal/php7/php7.y:3825 { yyVAL.list = []ast.Vertex{} } case 395: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3851 + // line internal/php7/php7.y:3829 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ @@ -6459,25 +6437,25 @@ yydefault: } case 396: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3863 + // line internal/php7/php7.y:3841 { yyVAL.list = yyDollar[1].list } case 397: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3870 + // line internal/php7/php7.y:3848 { yyVAL.node = nil } case 398: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3874 + // line internal/php7/php7.y:3852 { yyVAL.node = yyDollar[1].node } case 399: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3881 + // line internal/php7/php7.y:3859 { yyVAL.node = &ast.ExprArray{ Node: ast.Node{ @@ -6492,7 +6470,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3894 + // line internal/php7/php7.y:3872 { yyVAL.node = &ast.ExprArray{ Node: ast.Node{ @@ -6506,7 +6484,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3906 + // line internal/php7/php7.y:3884 { yyVAL.node = &ast.ScalarString{ Node: ast.Node{ @@ -6518,7 +6496,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3919 + // line internal/php7/php7.y:3897 { yyVAL.node = &ast.ScalarLnumber{ Node: ast.Node{ @@ -6530,7 +6508,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3929 + // line internal/php7/php7.y:3907 { yyVAL.node = &ast.ScalarDnumber{ Node: ast.Node{ @@ -6542,7 +6520,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3939 + // line internal/php7/php7.y:3917 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6554,7 +6532,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3949 + // line internal/php7/php7.y:3927 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6566,7 +6544,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3959 + // line internal/php7/php7.y:3937 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6578,7 +6556,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3969 + // line internal/php7/php7.y:3947 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6590,7 +6568,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3979 + // line internal/php7/php7.y:3957 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6602,7 +6580,7 @@ yydefault: } case 409: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3989 + // line internal/php7/php7.y:3967 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6614,7 +6592,7 @@ yydefault: } case 410: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3999 + // line internal/php7/php7.y:3977 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6626,7 +6604,7 @@ yydefault: } case 411: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4009 + // line internal/php7/php7.y:3987 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6638,7 +6616,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4019 + // line internal/php7/php7.y:3997 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -6659,7 +6637,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4038 + // line internal/php7/php7.y:4016 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -6671,7 +6649,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4048 + // line internal/php7/php7.y:4026 { yyVAL.node = &ast.ScalarEncapsed{ Node: ast.Node{ @@ -6684,7 +6662,7 @@ yydefault: } case 415: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4059 + // line internal/php7/php7.y:4037 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -6697,19 +6675,19 @@ yydefault: } case 416: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4070 + // line internal/php7/php7.y:4048 { yyVAL.node = yyDollar[1].node } case 417: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4074 + // line internal/php7/php7.y:4052 { yyVAL.node = yyDollar[1].node } case 418: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4081 + // line internal/php7/php7.y:4059 { yyVAL.node = &ast.ExprConstFetch{ Node: ast.Node{ @@ -6720,7 +6698,7 @@ yydefault: } case 419: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4090 + // line internal/php7/php7.y:4068 { yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ @@ -6739,7 +6717,7 @@ yydefault: } case 420: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4107 + // line internal/php7/php7.y:4085 { yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ @@ -6758,41 +6736,66 @@ yydefault: } case 421: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4127 + // line internal/php7/php7.y:4105 { yyVAL.node = yyDollar[1].node } case 422: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4131 + // line internal/php7/php7.y:4109 { yyVAL.node = yyDollar[1].node } case 423: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:4138 + // line internal/php7/php7.y:4116 { yyVAL.node = nil } case 424: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4142 + // line internal/php7/php7.y:4120 { yyVAL.node = yyDollar[1].node } case 425: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4149 + // line internal/php7/php7.y:4127 { yyVAL.node = yyDollar[1].node } case 426: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4156 + // line internal/php7/php7.y:4134 { yyVAL.node = yyDollar[1].node } case 427: + yyDollar = yyS[yypt-3 : yypt+1] + // line internal/php7/php7.y:4138 + { + yyVAL.node = &ast.ParserBrackets{ + Node: ast.Node{ + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + }, + OpenBracketTkn: yyDollar[1].token, + Child: yyDollar[2].node, + CloseBracketTkn: yyDollar[3].token, + } + } + case 428: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php7/php7.y:4149 + { + yyVAL.node = yyDollar[1].node + } + case 429: + yyDollar = yyS[yypt-1 : yypt+1] + // line internal/php7/php7.y:4156 + { + yyVAL.node = yyDollar[1].node + } + case 430: yyDollar = yyS[yypt-3 : yypt+1] // line internal/php7/php7.y:4160 { @@ -6804,55 +6807,22 @@ yydefault: Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, } - - // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) - } - case 428: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4175 - { - yyVAL.node = yyDollar[1].node - } - case 429: - yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4182 - { - yyVAL.node = yyDollar[1].node - } - case 430: - yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4186 - { - yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, - OpenBracketTkn: yyDollar[1].token, - Child: yyDollar[2].node, - CloseBracketTkn: yyDollar[3].token, - } - - // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, yyDollar[3].token.SkippedTokens) } case 431: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4201 + // line internal/php7/php7.y:4171 { yyVAL.node = yyDollar[1].node } case 432: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4208 + // line internal/php7/php7.y:4178 { yyVAL.node = yyDollar[1].node } case 433: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4212 + // line internal/php7/php7.y:4182 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6866,7 +6836,7 @@ yydefault: } case 434: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4224 + // line internal/php7/php7.y:4194 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6880,7 +6850,7 @@ yydefault: } case 435: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4236 + // line internal/php7/php7.y:4206 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6894,7 +6864,7 @@ yydefault: } case 436: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4248 + // line internal/php7/php7.y:4218 { yyVAL.node = &ast.ExprMethodCall{ Node: ast.Node{ @@ -6911,25 +6881,25 @@ yydefault: } case 437: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4263 + // line internal/php7/php7.y:4233 { yyVAL.node = yyDollar[1].node } case 438: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4270 + // line internal/php7/php7.y:4240 { yyVAL.node = yyDollar[1].node } case 439: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4274 + // line internal/php7/php7.y:4244 { yyVAL.node = yyDollar[1].node } case 440: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4278 + // line internal/php7/php7.y:4248 { yyVAL.node = &ast.ExprPropertyFetch{ Node: ast.Node{ @@ -6942,7 +6912,7 @@ yydefault: } case 441: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4292 + // line internal/php7/php7.y:4262 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -6959,7 +6929,7 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4307 + // line internal/php7/php7.y:4277 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -6978,7 +6948,7 @@ yydefault: } case 443: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4324 + // line internal/php7/php7.y:4294 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -6990,7 +6960,7 @@ yydefault: } case 444: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4337 + // line internal/php7/php7.y:4307 { yyVAL.node = &ast.ExprStaticPropertyFetch{ Node: ast.Node{ @@ -7003,7 +6973,7 @@ yydefault: } case 445: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4348 + // line internal/php7/php7.y:4318 { yyVAL.node = &ast.ExprStaticPropertyFetch{ Node: ast.Node{ @@ -7016,13 +6986,13 @@ yydefault: } case 446: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4362 + // line internal/php7/php7.y:4332 { yyVAL.node = yyDollar[1].node } case 447: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4366 + // line internal/php7/php7.y:4336 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -7036,7 +7006,7 @@ yydefault: } case 448: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4378 + // line internal/php7/php7.y:4348 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -7050,7 +7020,7 @@ yydefault: } case 449: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4390 + // line internal/php7/php7.y:4360 { yyVAL.node = &ast.ExprPropertyFetch{ Node: ast.Node{ @@ -7063,7 +7033,7 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4401 + // line internal/php7/php7.y:4371 { yyVAL.node = &ast.ExprStaticPropertyFetch{ Node: ast.Node{ @@ -7076,7 +7046,7 @@ yydefault: } case 451: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4412 + // line internal/php7/php7.y:4382 { yyVAL.node = &ast.ExprStaticPropertyFetch{ Node: ast.Node{ @@ -7089,7 +7059,7 @@ yydefault: } case 452: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4426 + // line internal/php7/php7.y:4396 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -7101,23 +7071,26 @@ yydefault: } case 453: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4436 + // line internal/php7/php7.y:4406 { - yyVAL.node = yyDollar[2].node - - // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, append(yyDollar[1].token.SkippedTokens, yyVAL.node.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyVAL.node.GetNode().Tokens[token.End], yyDollar[3].token.SkippedTokens...)) + yyVAL.node = &ast.ParserBrackets{ + Node: ast.Node{ + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + }, + OpenBracketTkn: yyDollar[1].token, + Child: yyDollar[2].node, + CloseBracketTkn: yyDollar[3].token, + } } case 454: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4444 + // line internal/php7/php7.y:4417 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4451 + // line internal/php7/php7.y:4424 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -7129,23 +7102,26 @@ yydefault: } case 456: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4461 + // line internal/php7/php7.y:4434 { - yyVAL.node = yyDollar[2].node - - // save comments - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.Start, append(yyDollar[1].token.SkippedTokens, yyVAL.node.GetNode().Tokens[token.Start]...)) - yylex.(*Parser).setFreeFloatingTokens(yyVAL.node, token.End, append(yyVAL.node.GetNode().Tokens[token.End], yyDollar[3].token.SkippedTokens...)) + yyVAL.node = &ast.ParserBrackets{ + Node: ast.Node{ + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + }, + OpenBracketTkn: yyDollar[1].token, + Child: yyDollar[2].node, + CloseBracketTkn: yyDollar[3].token, + } } case 457: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4469 + // line internal/php7/php7.y:4445 { yyVAL.node = yyDollar[1].node } case 458: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4476 + // line internal/php7/php7.y:4452 { pairList := yyDollar[1].node.(*ast.ParserSeparatedList) fistPair := pairList.Items[0].(*ast.ExprArrayItem) @@ -7158,19 +7134,19 @@ yydefault: } case 459: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:4490 + // line internal/php7/php7.y:4466 { yyVAL.node = &ast.ExprArrayItem{} } case 460: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4494 + // line internal/php7/php7.y:4470 { yyVAL.node = yyDollar[1].node } case 461: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4501 + // line internal/php7/php7.y:4477 { 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) @@ -7179,7 +7155,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4508 + // line internal/php7/php7.y:4484 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -7187,7 +7163,7 @@ yydefault: } case 463: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4517 + // line internal/php7/php7.y:4493 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7200,7 +7176,7 @@ yydefault: } case 464: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4528 + // line internal/php7/php7.y:4504 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7211,7 +7187,7 @@ yydefault: } case 465: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4537 + // line internal/php7/php7.y:4513 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7230,7 +7206,7 @@ yydefault: } case 466: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4554 + // line internal/php7/php7.y:4530 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7247,7 +7223,7 @@ yydefault: } case 467: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4569 + // line internal/php7/php7.y:4545 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7259,7 +7235,7 @@ yydefault: } case 468: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:4579 + // line internal/php7/php7.y:4555 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7281,7 +7257,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4599 + // line internal/php7/php7.y:4575 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7301,13 +7277,13 @@ yydefault: } case 470: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4620 + // line internal/php7/php7.y:4596 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 471: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4624 + // line internal/php7/php7.y:4600 { yyVAL.list = append( yyDollar[1].list, @@ -7322,13 +7298,13 @@ yydefault: } case 472: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4637 + // line internal/php7/php7.y:4613 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 473: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4641 + // line internal/php7/php7.y:4617 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ @@ -7343,7 +7319,7 @@ yydefault: } case 474: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4657 + // line internal/php7/php7.y:4633 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -7360,7 +7336,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4672 + // line internal/php7/php7.y:4648 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -7385,7 +7361,7 @@ yydefault: } case 476: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4695 + // line internal/php7/php7.y:4671 { yyVAL.node = &ast.ExprPropertyFetch{ Node: ast.Node{ @@ -7415,7 +7391,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4723 + // line internal/php7/php7.y:4699 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -7433,7 +7409,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4739 + // line internal/php7/php7.y:4715 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -7457,7 +7433,7 @@ yydefault: } case 479: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:4761 + // line internal/php7/php7.y:4737 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -7489,7 +7465,7 @@ yydefault: } case 480: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4791 + // line internal/php7/php7.y:4767 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -7502,7 +7478,7 @@ yydefault: } case 481: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4805 + // line internal/php7/php7.y:4781 { yyVAL.node = &ast.ScalarString{ Node: ast.Node{ @@ -7514,7 +7490,7 @@ yydefault: } case 482: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4815 + // line internal/php7/php7.y:4791 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string(yyDollar[1].token.Value)); err == nil { @@ -7537,7 +7513,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4836 + // line internal/php7/php7.y:4812 { _, err := strconv.Atoi(string(yyDollar[2].token.Value)) isInt := err == nil @@ -7570,7 +7546,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4867 + // line internal/php7/php7.y:4843 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -7587,7 +7563,7 @@ yydefault: } case 485: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:4885 + // line internal/php7/php7.y:4861 { if yyDollar[4].token != nil { yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[4].token) @@ -7606,7 +7582,7 @@ yydefault: } case 486: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4902 + // line internal/php7/php7.y:4878 { yyVAL.node = &ast.ExprEmpty{ Node: ast.Node{ @@ -7620,7 +7596,7 @@ yydefault: } case 487: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4914 + // line internal/php7/php7.y:4890 { yyVAL.node = &ast.ExprInclude{ Node: ast.Node{ @@ -7632,7 +7608,7 @@ yydefault: } case 488: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4924 + // line internal/php7/php7.y:4900 { yyVAL.node = &ast.ExprIncludeOnce{ Node: ast.Node{ @@ -7644,7 +7620,7 @@ yydefault: } case 489: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4934 + // line internal/php7/php7.y:4910 { yyVAL.node = &ast.ExprEval{ Node: ast.Node{ @@ -7658,7 +7634,7 @@ yydefault: } case 490: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4946 + // line internal/php7/php7.y:4922 { yyVAL.node = &ast.ExprRequire{ Node: ast.Node{ @@ -7670,7 +7646,7 @@ yydefault: } case 491: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4956 + // line internal/php7/php7.y:4932 { yyVAL.node = &ast.ExprRequireOnce{ Node: ast.Node{ @@ -7682,7 +7658,7 @@ yydefault: } case 492: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4969 + // line internal/php7/php7.y:4945 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -7690,7 +7666,7 @@ yydefault: } case 493: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4975 + // line internal/php7/php7.y:4951 { 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) @@ -7699,7 +7675,7 @@ yydefault: } case 494: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4985 + // line internal/php7/php7.y:4961 { yyVAL.node = yyDollar[1].node } diff --git a/internal/php7/php7.y b/internal/php7/php7.y index 338a084..bb74f7b 100644 --- a/internal/php7/php7.y +++ b/internal/php7/php7.y @@ -329,11 +329,6 @@ identifier: top_statement_list: top_statement_list top_statement { - if inlineHtmlNode, ok := $2.(*ast.StmtInlineHtml); ok && len($1) > 0 { - prevNode := lastNode($1) - yylex.(*Parser).splitSemiColonAndPhpCloseTag(inlineHtmlNode, prevNode) - } - if $2 != nil { $$ = append($1, $2) } @@ -796,11 +791,6 @@ const_list: inner_statement_list: inner_statement_list inner_statement { - if inlineHtmlNode, ok := $2.(*ast.StmtInlineHtml); ok && len($1) > 0 { - prevNode := lastNode($1) - yylex.(*Parser).splitSemiColonAndPhpCloseTag(inlineHtmlNode, prevNode) - } - if $2 != nil { $$ = append($1, $2) } @@ -2633,8 +2623,6 @@ class_const_decl: EqualTkn: $2, Expr: $3, } - - yylex.(*Parser).setFreeFloating($$.(*ast.StmtConstant).Name, token.Start, $1.SkippedTokens) } ; @@ -2655,8 +2643,6 @@ const_decl: EqualTkn: $2, Expr: $3, } - - yylex.(*Parser).setFreeFloating($$.(*ast.StmtConstant).Name, token.Start, $1.SkippedTokens) } ;