diff --git a/cmd/php-parser/main.go b/cmd/php-parser/main.go index 1cd927c..554dcf9 100644 --- a/cmd/php-parser/main.go +++ b/cmd/php-parser/main.go @@ -1,7 +1,6 @@ package main import ( - "bytes" "flag" "io" "io/ioutil" @@ -21,7 +20,6 @@ import ( "github.com/z7zmey/php-parser/pkg/ast/visitor" "github.com/z7zmey/php-parser/pkg/errors" "github.com/z7zmey/php-parser/pkg/parser" - "github.com/z7zmey/php-parser/pkg/printer" ) var wg sync.WaitGroup @@ -165,12 +163,12 @@ func printerWorker(r <-chan result) { } if *printBack { - o := bytes.NewBuffer([]byte{}) - p := printer.NewPrinter(o) - p.Print(res.rootNode) - - err := ioutil.WriteFile(res.path, o.Bytes(), 0644) - checkErr(err) + //o := bytes.NewBuffer([]byte{}) + //p := printer.NewPrinter(o) + //p.Print(res.rootNode) + // + //err := ioutil.WriteFile(res.path, o.Bytes(), 0644) + //checkErr(err) } if *showResolvedNs { diff --git a/internal/php5/php5.go b/internal/php5/php5.go index 0ad9abe..cf203cf 100644 --- a/internal/php5/php5.go +++ b/internal/php5/php5.go @@ -340,7 +340,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -// line internal/php5/php5.y:6567 +// line internal/php5/php5.y:5637 // line yacctab:1 var yyExca = [...]int{ @@ -2314,19 +2314,17 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:267 + // line internal/php5/php5.y:267 { yylex.(*Parser).rootNode = &ast.Root{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].list), - }, - Stmts: yyDollar[1].list, - EndTkn: yylex.(*Parser).currentToken, + Position: position.NewNodeListPosition(yyDollar[1].list), + Stmts: yyDollar[1].list, + EndTkn: yylex.(*Parser).currentToken, } } case 2: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:280 + // line internal/php5/php5.y:278 { if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -2334,20 +2332,18 @@ yydefault: } case 3: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:286 + // line internal/php5/php5.y:284 { yyVAL.list = []ast.Vertex{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:293 + // line internal/php5/php5.y:291 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.NameNamePart{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), StringTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -2356,12 +2352,10 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:307 + // line internal/php5/php5.y:303 { part := &ast.NameNamePart{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), StringTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, } @@ -2373,37 +2367,35 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:325 + // line internal/php5/php5.y:319 { // error yyVAL.node = nil } case 7: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:330 + // line internal/php5/php5.y:324 { yyVAL.node = yyDollar[1].node } case 8: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:334 + // line internal/php5/php5.y:328 { yyVAL.node = yyDollar[1].node } case 9: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:338 + // line internal/php5/php5.y:332 { yyVAL.node = yyDollar[1].node } case 10: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:342 + // line internal/php5/php5.y:336 { yyVAL.node = &ast.StmtHaltCompiler{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), HaltCompilerTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, CloseParenthesisTkn: yyDollar[3].token, @@ -2412,17 +2404,13 @@ yydefault: } case 11: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:354 + // line internal/php5/php5.y:346 { yyVAL.node = &ast.StmtNamespace{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, - NsTkn: yyDollar[1].token, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + NsTkn: yyDollar[1].token, Name: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2431,17 +2419,13 @@ yydefault: } case 12: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:371 + // line internal/php5/php5.y:359 { yyVAL.node = &ast.StmtNamespace{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), - }, - NsTkn: yyDollar[1].token, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), + NsTkn: yyDollar[1].token, Name: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2452,12 +2436,10 @@ yydefault: } case 13: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:390 + // line internal/php5/php5.y:374 { yyVAL.node = &ast.StmtNamespace{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), NsTkn: yyDollar[1].token, OpenCurlyBracket: yyDollar[2].token, Stmts: yyDollar[3].list, @@ -2466,12 +2448,10 @@ yydefault: } case 14: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:402 + // line internal/php5/php5.y:384 { yyVAL.node = &ast.StmtUse{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), UseTkn: yyDollar[1].token, UseDeclarations: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -2480,17 +2460,13 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:414 + // line internal/php5/php5.y:394 { yyVAL.node = &ast.StmtUse{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, - UseTkn: yyDollar[1].token, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + UseTkn: yyDollar[1].token, Type: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -2501,17 +2477,13 @@ yydefault: } case 16: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:433 + // line internal/php5/php5.y:409 { yyVAL.node = &ast.StmtUse{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, - UseTkn: yyDollar[1].token, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), + UseTkn: yyDollar[1].token, Type: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -2522,15 +2494,15 @@ yydefault: } case 17: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:452 + // line internal/php5/php5.y:424 { yyDollar[1].node.(*ast.StmtConstList).SemiColonTkn = yyDollar[2].token - yyDollar[1].node.(*ast.StmtConstList).Node.Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token) + yyDollar[1].node.(*ast.StmtConstList).Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token) yyVAL.node = yyDollar[1].node } case 18: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:461 + // line internal/php5/php5.y:433 { 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) @@ -2539,7 +2511,7 @@ yydefault: } case 19: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:468 + // line internal/php5/php5.y:440 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -2547,16 +2519,12 @@ yydefault: } case 20: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:477 + // line internal/php5/php5.y:449 { yyVAL.node = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2564,24 +2532,18 @@ yydefault: } case 21: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:492 + // line internal/php5/php5.y:460 { yyVAL.node = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].token), - }, + Position: position.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].token), Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: yyDollar[2].token, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -2589,17 +2551,13 @@ yydefault: } case 22: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:515 + // line internal/php5/php5.y:477 { yyVAL.node = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: yyDollar[1].token, Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2607,25 +2565,19 @@ yydefault: } case 23: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:531 + // line internal/php5/php5.y:489 { yyVAL.node = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), NsSeparatorTkn: yyDollar[1].token, Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: yyDollar[3].token, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -2633,7 +2585,7 @@ yydefault: } case 24: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:558 + // line internal/php5/php5.y:510 { 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) @@ -2642,7 +2594,7 @@ yydefault: } case 25: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:565 + // line internal/php5/php5.y:517 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -2650,16 +2602,12 @@ yydefault: } case 26: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:574 + // line internal/php5/php5.y:526 { yyVAL.node = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2667,24 +2615,18 @@ yydefault: } case 27: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:589 + // line internal/php5/php5.y:537 { yyVAL.node = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].token), - }, + Position: position.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].token), Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: yyDollar[2].token, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -2692,17 +2634,13 @@ yydefault: } case 28: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:612 + // line internal/php5/php5.y:554 { yyVAL.node = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: yyDollar[1].token, Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2710,25 +2648,19 @@ yydefault: } case 29: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:628 + // line internal/php5/php5.y:566 { yyVAL.node = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), NsSeparatorTkn: yyDollar[1].token, Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: yyDollar[3].token, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -2736,7 +2668,7 @@ yydefault: } case 30: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:655 + // line internal/php5/php5.y:587 { 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) @@ -2745,7 +2677,7 @@ yydefault: } case 31: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:662 + // line internal/php5/php5.y:594 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -2753,16 +2685,12 @@ yydefault: } case 32: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:671 + // line internal/php5/php5.y:603 { yyVAL.node = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2770,24 +2698,18 @@ yydefault: } case 33: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:686 + // line internal/php5/php5.y:614 { yyVAL.node = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].token), - }, + Position: position.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].token), Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: yyDollar[2].token, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -2795,17 +2717,13 @@ yydefault: } case 34: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:709 + // line internal/php5/php5.y:631 { yyVAL.node = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: yyDollar[1].token, Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2813,25 +2731,19 @@ yydefault: } case 35: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:725 + // line internal/php5/php5.y:643 { yyVAL.node = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), NsSeparatorTkn: yyDollar[1].token, Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: yyDollar[3].token, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -2839,19 +2751,15 @@ yydefault: } case 36: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:752 + // line internal/php5/php5.y:664 { constList := yyDollar[1].node.(*ast.StmtConstList) - constList.Node.Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node) + constList.Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node) constList.SeparatorTkns = append(constList.SeparatorTkns, yyDollar[2].token) constList.Consts = append(constList.Consts, &ast.StmtConstant{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), - }, + Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), Name: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -2863,22 +2771,16 @@ yydefault: } case 37: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:774 + // line internal/php5/php5.y:682 { yyVAL.node = &ast.StmtConstList{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), ConstTkn: yyDollar[1].token, Consts: []ast.Vertex{ &ast.StmtConstant{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node), - }, + Position: position.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node), Name: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -2890,7 +2792,7 @@ yydefault: } case 38: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:802 + // line internal/php5/php5.y:704 { if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -2898,43 +2800,41 @@ yydefault: } case 39: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:808 + // line internal/php5/php5.y:710 { yyVAL.list = []ast.Vertex{} } case 40: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:816 + // line internal/php5/php5.y:718 { // error yyVAL.node = nil } case 41: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:821 + // line internal/php5/php5.y:723 { yyVAL.node = yyDollar[1].node } case 42: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:825 + // line internal/php5/php5.y:727 { yyVAL.node = yyDollar[1].node } case 43: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:829 + // line internal/php5/php5.y:731 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:833 + // line internal/php5/php5.y:735 { yyVAL.node = &ast.StmtHaltCompiler{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), HaltCompilerTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, CloseParenthesisTkn: yyDollar[3].token, @@ -2943,22 +2843,18 @@ yydefault: } case 45: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:849 + // line internal/php5/php5.y:749 { yyVAL.node = yyDollar[1].node } case 46: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:853 + // line internal/php5/php5.y:753 { yyVAL.node = &ast.StmtLabel{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), LabelName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -2967,12 +2863,10 @@ yydefault: } case 47: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:872 + // line internal/php5/php5.y:768 { yyVAL.node = &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenCurlyBracket: yyDollar[1].token, Stmts: yyDollar[2].list, CloseCurlyBracket: yyDollar[3].token, @@ -2980,7 +2874,7 @@ yydefault: } case 48: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:883 + // line internal/php5/php5.y:777 { pos := position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) if yyDollar[5].node != nil { @@ -2990,9 +2884,7 @@ yydefault: } yyVAL.node = &ast.StmtIf{ - Node: ast.Node{ - Position: pos, - }, + Position: pos, IfTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].node.(*ast.ParserBrackets).OpenBracketTkn, Cond: yyDollar[2].node.(*ast.ParserBrackets).Child, @@ -3004,12 +2896,10 @@ yydefault: } case 49: yyDollar = yyS[yypt-8 : yypt+1] -// line internal/php5/php5.y:905 + // line internal/php5/php5.y:797 { yyVAL.node = &ast.StmtIf{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), Alt: true, IfTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].node.(*ast.ParserBrackets).OpenBracketTkn, @@ -3017,10 +2907,8 @@ yydefault: CloseParenthesisTkn: yyDollar[2].node.(*ast.ParserBrackets).CloseBracketTkn, ColonTkn: yyDollar[3].token, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[4].list), - }, - Stmts: yyDollar[4].list, + Position: position.NewNodeListPosition(yyDollar[4].list), + Stmts: yyDollar[4].list, }, ElseIf: yyDollar[5].list, Else: yyDollar[6].node, @@ -3030,24 +2918,22 @@ yydefault: } case 50: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:929 + // line internal/php5/php5.y:817 { yyDollar[3].node.(*ast.StmtWhile).WhileTkn = yyDollar[1].token yyDollar[3].node.(*ast.StmtWhile).OpenParenthesisTkn = yyDollar[2].node.(*ast.ParserBrackets).OpenBracketTkn yyDollar[3].node.(*ast.StmtWhile).Cond = yyDollar[2].node.(*ast.ParserBrackets).Child yyDollar[3].node.(*ast.StmtWhile).CloseParenthesisTkn = yyDollar[2].node.(*ast.ParserBrackets).CloseBracketTkn - yyDollar[3].node.(*ast.StmtWhile).Node.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) + yyDollar[3].node.(*ast.StmtWhile).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) yyVAL.node = yyDollar[3].node } case 51: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:939 + // line internal/php5/php5.y:827 { yyVAL.node = &ast.StmtDo{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), DoTkn: yyDollar[1].token, Stmt: yyDollar[2].node, WhileTkn: yyDollar[3].token, @@ -3059,7 +2945,7 @@ yydefault: } case 52: yyDollar = yyS[yypt-9 : yypt+1] -// line internal/php5/php5.y:954 + // line internal/php5/php5.y:840 { yyDollar[9].node.(*ast.StmtFor).ForTkn = yyDollar[1].token yyDollar[9].node.(*ast.StmtFor).OpenParenthesisTkn = yyDollar[2].token @@ -3072,42 +2958,38 @@ yydefault: yyDollar[9].node.(*ast.StmtFor).Loop = yyDollar[7].node.(*ast.ParserSeparatedList).Items yyDollar[9].node.(*ast.StmtFor).LoopSeparatorTkns = yyDollar[7].node.(*ast.ParserSeparatedList).SeparatorTkns yyDollar[9].node.(*ast.StmtFor).CloseParenthesisTkn = yyDollar[8].token - yyDollar[9].node.(*ast.StmtFor).Node.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node) + yyDollar[9].node.(*ast.StmtFor).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node) yyVAL.node = yyDollar[9].node } case 53: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:971 + // line internal/php5/php5.y:857 { yyDollar[3].node.(*ast.StmtSwitch).SwitchTkn = yyDollar[1].token yyDollar[3].node.(*ast.StmtSwitch).OpenParenthesisTkn = yyDollar[2].node.(*ast.ParserBrackets).OpenBracketTkn yyDollar[3].node.(*ast.StmtSwitch).Cond = yyDollar[2].node.(*ast.ParserBrackets).Child yyDollar[3].node.(*ast.StmtSwitch).CloseParenthesisTkn = yyDollar[2].node.(*ast.ParserBrackets).CloseBracketTkn - yyDollar[3].node.(*ast.StmtSwitch).Node.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) + yyDollar[3].node.(*ast.StmtSwitch).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node) yyVAL.node = yyDollar[3].node } case 54: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:981 + // line internal/php5/php5.y:867 { yyVAL.node = &ast.StmtBreak{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), BreakTkn: yyDollar[1].token, SemiColonTkn: yyDollar[2].token, } } case 55: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:991 + // line internal/php5/php5.y:875 { yyVAL.node = &ast.StmtBreak{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), BreakTkn: yyDollar[1].token, Expr: yyDollar[2].node, SemiColonTkn: yyDollar[3].token, @@ -3115,24 +2997,20 @@ yydefault: } case 56: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:1002 + // line internal/php5/php5.y:884 { yyVAL.node = &ast.StmtContinue{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), ContinueTkn: yyDollar[1].token, SemiColonTkn: yyDollar[2].token, } } case 57: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:1012 + // line internal/php5/php5.y:892 { yyVAL.node = &ast.StmtContinue{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), ContinueTkn: yyDollar[1].token, Expr: yyDollar[2].node, SemiColonTkn: yyDollar[3].token, @@ -3140,24 +3018,20 @@ yydefault: } case 58: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:1023 + // line internal/php5/php5.y:901 { yyVAL.node = &ast.StmtReturn{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), ReturnTkn: yyDollar[1].token, SemiColonTkn: yyDollar[2].token, } } case 59: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:1033 + // line internal/php5/php5.y:909 { yyVAL.node = &ast.StmtReturn{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), ReturnTkn: yyDollar[1].token, Expr: yyDollar[2].node, SemiColonTkn: yyDollar[3].token, @@ -3165,12 +3039,10 @@ yydefault: } case 60: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:1044 + // line internal/php5/php5.y:918 { yyVAL.node = &ast.StmtReturn{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), ReturnTkn: yyDollar[1].token, Expr: yyDollar[2].node, SemiColonTkn: yyDollar[3].token, @@ -3178,87 +3050,81 @@ yydefault: } case 61: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:1055 + // line internal/php5/php5.y:927 { yyVAL.node = &ast.StmtExpression{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), Expr: yyDollar[1].node, SemiColonTkn: yyDollar[2].token, } } case 62: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:1065 + // line internal/php5/php5.y:935 { yyDollar[2].node.(*ast.StmtGlobal).GlobalTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtGlobal).SemiColonTkn = yyDollar[3].token yyDollar[2].node.(*ast.StmtGlobal).SeparatorTkns = append(yyDollar[2].node.(*ast.StmtGlobal).SeparatorTkns, nil) - yyDollar[2].node.(*ast.StmtGlobal).Node.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) + yyDollar[2].node.(*ast.StmtGlobal).Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) yyVAL.node = yyDollar[2].node } case 63: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:1074 + // line internal/php5/php5.y:944 { yyDollar[2].node.(*ast.StmtStatic).StaticTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtStatic).SemiColonTkn = yyDollar[3].token yyDollar[2].node.(*ast.StmtStatic).SeparatorTkns = append(yyDollar[2].node.(*ast.StmtStatic).SeparatorTkns, nil) - yyDollar[2].node.(*ast.StmtStatic).Node.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) + yyDollar[2].node.(*ast.StmtStatic).Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) yyVAL.node = yyDollar[2].node } case 64: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:1083 + // line internal/php5/php5.y:953 { yyDollar[2].node.(*ast.StmtEcho).EchoTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtEcho).SemiColonTkn = yyDollar[3].token - yyDollar[2].node.(*ast.StmtEcho).Node.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) + yyDollar[2].node.(*ast.StmtEcho).Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) yyVAL.node = yyDollar[2].node } case 65: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1091 + // line internal/php5/php5.y:961 { yyVAL.node = &ast.StmtInlineHtml{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), InlineHtmlTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 66: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:1101 + // line internal/php5/php5.y:969 { yyVAL.node = &ast.StmtExpression{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), Expr: yyDollar[1].node, SemiColonTkn: yyDollar[2].token, } } case 67: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:1111 + // line internal/php5/php5.y:977 { yyDollar[3].node.(*ast.StmtUnset).UnsetTkn = yyDollar[1].token yyDollar[3].node.(*ast.StmtUnset).OpenParenthesisTkn = yyDollar[2].token yyDollar[3].node.(*ast.StmtUnset).CloseParenthesisTkn = yyDollar[4].token yyDollar[3].node.(*ast.StmtUnset).SemiColonTkn = yyDollar[5].token - yyDollar[3].node.(*ast.StmtUnset).Node.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token) + yyDollar[3].node.(*ast.StmtUnset).Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token) yyVAL.node = yyDollar[3].node } case 68: yyDollar = yyS[yypt-8 : yypt+1] -// line internal/php5/php5.y:1121 + // line internal/php5/php5.y:987 { yyDollar[8].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[8].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3272,13 +3138,13 @@ yydefault: yyDollar[8].node.(*ast.StmtForeach).Var = yyDollar[6].node.(*ast.StmtForeach).Var } yyDollar[8].node.(*ast.StmtForeach).CloseParenthesisTkn = yyDollar[7].token - yyDollar[8].node.(*ast.StmtForeach).Node.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[8].node) + yyDollar[8].node.(*ast.StmtForeach).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[8].node) yyVAL.node = yyDollar[8].node } case 69: yyDollar = yyS[yypt-8 : yypt+1] -// line internal/php5/php5.y:1139 + // line internal/php5/php5.y:1005 { yyDollar[8].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[8].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3292,39 +3158,43 @@ yydefault: yyDollar[8].node.(*ast.StmtForeach).Var = yyDollar[6].node.(*ast.StmtForeach).Var } yyDollar[8].node.(*ast.StmtForeach).CloseParenthesisTkn = yyDollar[7].token - yyDollar[8].node.(*ast.StmtForeach).Node.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[8].node) + yyDollar[8].node.(*ast.StmtForeach).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[8].node) yyVAL.node = yyDollar[8].node } case 70: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:1157 + // line internal/php5/php5.y:1023 { yyDollar[5].node.(*ast.StmtDeclare).DeclareTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtDeclare).OpenParenthesisTkn = yyDollar[2].token yyDollar[5].node.(*ast.StmtDeclare).Consts = yyDollar[3].node.(*ast.ParserSeparatedList).Items yyDollar[5].node.(*ast.StmtDeclare).SeparatorTkns = yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns yyDollar[5].node.(*ast.StmtDeclare).CloseParenthesisTkn = yyDollar[4].token - yyDollar[5].node.(*ast.StmtDeclare).Node.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) + yyDollar[5].node.(*ast.StmtDeclare).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) yyVAL.node = yyDollar[5].node } case 71: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1168 + // line internal/php5/php5.y:1034 { yyVAL.node = &ast.StmtNop{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), SemiColonTkn: yyDollar[1].token, } } case 72: yyDollar = yyS[yypt-6 : yypt+1] -// line internal/php5/php5.y:1177 + // line internal/php5/php5.y:1041 { + pos := position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[5].list) + if yyDollar[6].node != nil { + pos = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node) + } + yyVAL.node = &ast.StmtTry{ + Position: pos, TryTkn: yyDollar[1].token, OpenCurlyBracket: yyDollar[2].token, Stmts: yyDollar[3].list, @@ -3332,21 +3202,13 @@ yydefault: Catches: yyDollar[5].list, Finally: yyDollar[6].node, } - - if yyDollar[6].node == nil { - yyVAL.node.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[5].list) - } else { - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node) - } } case 73: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:1194 + // line internal/php5/php5.y:1058 { yyVAL.node = &ast.StmtThrow{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), ThrowTkn: yyDollar[1].token, Expr: yyDollar[2].node, SemiColonTkn: yyDollar[3].token, @@ -3354,17 +3216,13 @@ yydefault: } case 74: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:1205 + // line internal/php5/php5.y:1067 { yyVAL.node = &ast.StmtGoto{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, - GotoTkn: yyDollar[1].token, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + GotoTkn: yyDollar[1].token, Label: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -3373,29 +3231,23 @@ yydefault: } case 75: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:1225 + // line internal/php5/php5.y:1083 { yyVAL.list = []ast.Vertex{} } case 76: yyDollar = yyS[yypt-9 : yypt+1] -// line internal/php5/php5.y:1229 + // line internal/php5/php5.y:1087 { catch := &ast.StmtCatch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), CatchTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Types: []ast.Vertex{yyDollar[3].node}, Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -3409,18 +3261,16 @@ yydefault: } case 77: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:1260 + // line internal/php5/php5.y:1112 { yyVAL.node = nil } case 78: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:1264 + // line internal/php5/php5.y:1116 { yyVAL.node = &ast.StmtFinally{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), FinallyTkn: yyDollar[1].token, OpenCurlyBracketTkn: yyDollar[2].token, Stmts: yyDollar[3].list, @@ -3429,47 +3279,41 @@ yydefault: } case 79: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1279 + // line internal/php5/php5.y:1129 { yyVAL.list = yyDollar[1].list } case 80: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:1283 + // line internal/php5/php5.y:1133 { yyVAL.list = []ast.Vertex{} } case 81: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1290 + // line internal/php5/php5.y:1140 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 82: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:1294 + // line internal/php5/php5.y:1144 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 83: yyDollar = yyS[yypt-8 : yypt+1] -// line internal/php5/php5.y:1301 + // line internal/php5/php5.y:1151 { yyVAL.node = &ast.StmtCatch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), CatchTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Types: []ast.Vertex{yyDollar[3].node}, Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -3482,7 +3326,7 @@ yydefault: } case 84: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1331 + // line internal/php5/php5.y:1175 { yyVAL.node = &ast.StmtUnset{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -3490,7 +3334,7 @@ yydefault: } case 85: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:1337 + // line internal/php5/php5.y:1181 { 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) @@ -3499,60 +3343,56 @@ yydefault: } case 86: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1347 + // line internal/php5/php5.y:1191 { yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1354 + // line internal/php5/php5.y:1198 { yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1361 + // line internal/php5/php5.y:1205 { yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:1368 + // line internal/php5/php5.y:1212 { yyVAL.token = nil } case 90: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1372 + // line internal/php5/php5.y:1216 { yyVAL.token = yyDollar[1].token } case 91: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:1379 + // line internal/php5/php5.y:1223 { yyVAL.token = nil } case 92: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1383 + // line internal/php5/php5.y:1227 { yyVAL.token = yyDollar[1].token } case 93: yyDollar = yyS[yypt-9 : yypt+1] -// line internal/php5/php5.y:1390 + // line internal/php5/php5.y:1234 { yyVAL.node = &ast.StmtFunction{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[9].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[9].token), FunctionTkn: yyDollar[1].token, AmpersandTkn: yyDollar[2].token, FunctionName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -3567,15 +3407,13 @@ yydefault: } case 94: yyDollar = yyS[yypt-7 : yypt+1] -// line internal/php5/php5.y:1417 + // line internal/php5/php5.y:1257 { switch n := yyDollar[1].node.(type) { case *ast.StmtClass: n.Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[7].token) n.ClassName = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, } @@ -3587,9 +3425,7 @@ yydefault: case *ast.StmtTrait: n.Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[7].token) n.TraitName = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, } @@ -3604,17 +3440,13 @@ yydefault: } case 95: yyDollar = yyS[yypt-6 : yypt+1] -// line internal/php5/php5.y:1452 + // line internal/php5/php5.y:1288 { yyVAL.node = &ast.StmtInterface{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token), InterfaceTkn: yyDollar[1].token, InterfaceName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -3626,28 +3458,22 @@ yydefault: } case 96: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1476 + // line internal/php5/php5.y:1308 { yyVAL.node = &ast.StmtClass{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), ClassTkn: yyDollar[1].token, } } case 97: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:1485 + // line internal/php5/php5.y:1315 { yyVAL.node = &ast.StmtClass{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), Modifiers: []ast.Vertex{ &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -3657,28 +3483,22 @@ yydefault: } case 98: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1503 + // line internal/php5/php5.y:1329 { yyVAL.node = &ast.StmtTrait{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), TraitTkn: yyDollar[1].token, } } case 99: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:1512 + // line internal/php5/php5.y:1336 { yyVAL.node = &ast.StmtClass{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), Modifiers: []ast.Vertex{ &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -3688,42 +3508,38 @@ yydefault: } case 100: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:1533 + // line internal/php5/php5.y:1353 { yyVAL.node = nil } case 101: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:1537 + // line internal/php5/php5.y:1357 { yyVAL.node = &ast.StmtClassExtends{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), ExtendTkn: yyDollar[1].token, ClassName: yyDollar[2].node, } } case 102: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1550 + // line internal/php5/php5.y:1368 { yyVAL.token = yyDollar[1].token } case 103: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:1557 + // line internal/php5/php5.y:1375 { yyVAL.node = nil } case 104: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:1561 + // line internal/php5/php5.y:1379 { yyVAL.node = &ast.StmtInterfaceExtends{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), ExtendsTkn: yyDollar[1].token, InterfaceNames: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -3731,18 +3547,16 @@ yydefault: } case 105: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:1575 + // line internal/php5/php5.y:1391 { yyVAL.node = nil } case 106: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:1579 + // line internal/php5/php5.y:1395 { yyVAL.node = &ast.StmtClassImplements{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), ImplementsTkn: yyDollar[1].token, InterfaceNames: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -3750,7 +3564,7 @@ yydefault: } case 107: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1593 + // line internal/php5/php5.y:1407 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -3758,7 +3572,7 @@ yydefault: } case 108: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:1599 + // line internal/php5/php5.y:1413 { 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) @@ -3767,13 +3581,13 @@ yydefault: } case 109: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:1609 + // line internal/php5/php5.y:1423 { yyVAL.node = nil } case 110: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:1613 + // line internal/php5/php5.y:1427 { yyVAL.node = &ast.StmtForeach{ DoubleArrowTkn: yyDollar[1].token, @@ -3782,25 +3596,23 @@ yydefault: } case 111: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1623 + // line internal/php5/php5.y:1437 { yyVAL.node = yyDollar[1].node } case 112: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:1627 + // line internal/php5/php5.y:1441 { yyVAL.node = &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), AmpersandTkn: yyDollar[1].token, Var: yyDollar[2].node, } } case 113: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:1637 + // line internal/php5/php5.y:1449 { pairList := yyDollar[3].node.(*ast.ParserSeparatedList) fistPair := pairList.Items[0].(*ast.ExprArrayItem) @@ -3810,9 +3622,7 @@ yydefault: } yyVAL.node = &ast.ExprList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), ListTkn: yyDollar[1].token, OpenBracketTkn: yyDollar[2].token, Items: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -3822,30 +3632,24 @@ yydefault: } case 114: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1660 + // line internal/php5/php5.y:1470 { yyVAL.node = &ast.StmtFor{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, - Stmt: yyDollar[1].node, + Position: position.NewNodePosition(yyDollar[1].node), + Stmt: yyDollar[1].node, } } case 115: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:1669 + // line internal/php5/php5.y:1477 { yyVAL.node = &ast.StmtFor{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].list), - }, - Stmts: yyDollar[2].list, + Position: position.NewNodeListPosition(yyDollar[2].list), + Stmts: yyDollar[2].list, }, EndForTkn: yyDollar[3].token, SemiColonTkn: yyDollar[4].token, @@ -3853,30 +3657,24 @@ yydefault: } case 116: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1690 + // line internal/php5/php5.y:1494 { yyVAL.node = &ast.StmtForeach{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, - Stmt: yyDollar[1].node, + Position: position.NewNodePosition(yyDollar[1].node), + Stmt: yyDollar[1].node, } } case 117: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:1699 + // line internal/php5/php5.y:1501 { yyVAL.node = &ast.StmtForeach{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].list), - }, - Stmts: yyDollar[2].list, + Position: position.NewNodeListPosition(yyDollar[2].list), + Stmts: yyDollar[2].list, }, EndForeachTkn: yyDollar[3].token, SemiColonTkn: yyDollar[4].token, @@ -3884,30 +3682,24 @@ yydefault: } case 118: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1721 + // line internal/php5/php5.y:1519 { yyVAL.node = &ast.StmtDeclare{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, - Stmt: yyDollar[1].node, + Position: position.NewNodePosition(yyDollar[1].node), + Stmt: yyDollar[1].node, } } case 119: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:1730 + // line internal/php5/php5.y:1526 { yyVAL.node = &ast.StmtDeclare{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].list), - }, - Stmts: yyDollar[2].list, + Position: position.NewNodeListPosition(yyDollar[2].list), + Stmts: yyDollar[2].list, }, EndDeclareTkn: yyDollar[3].token, SemiColonTkn: yyDollar[4].token, @@ -3915,18 +3707,14 @@ yydefault: } case 120: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:1752 + // line internal/php5/php5.y:1544 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.StmtConstant{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), Name: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -3938,19 +3726,15 @@ yydefault: } case 121: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:1773 + // line internal/php5/php5.y:1561 { 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, &ast.StmtConstant{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), - }, + Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), Name: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -3963,12 +3747,10 @@ yydefault: } case 122: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:1800 + // line internal/php5/php5.y:1584 { yyVAL.node = &ast.StmtSwitch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenCurlyBracketTkn: yyDollar[1].token, CaseList: yyDollar[2].list, CloseCurlyBracketTkn: yyDollar[3].token, @@ -3976,12 +3758,10 @@ yydefault: } case 123: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:1811 + // line internal/php5/php5.y:1593 { yyVAL.node = &ast.StmtSwitch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), OpenCurlyBracketTkn: yyDollar[1].token, CaseSeparatorTkn: yyDollar[2].token, CaseList: yyDollar[3].list, @@ -3990,12 +3770,10 @@ yydefault: } case 124: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:1823 + // line internal/php5/php5.y:1603 { yyVAL.node = &ast.StmtSwitch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, CaseList: yyDollar[2].list, @@ -4005,12 +3783,10 @@ yydefault: } case 125: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:1836 + // line internal/php5/php5.y:1614 { yyVAL.node = &ast.StmtSwitch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), Alt: true, ColonTkn: yyDollar[1].token, CaseSeparatorTkn: yyDollar[2].token, @@ -4021,18 +3797,16 @@ yydefault: } case 126: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:1854 + // line internal/php5/php5.y:1630 { yyVAL.list = nil } case 127: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:1858 + // line internal/php5/php5.y:1634 { yyVAL.list = append(yyDollar[1].list, &ast.StmtCase{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list), - }, + Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list), CaseTkn: yyDollar[2].token, Cond: yyDollar[3].node, CaseSeparatorTkn: yyDollar[4].token, @@ -4041,12 +3815,10 @@ yydefault: } case 128: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:1870 + // line internal/php5/php5.y:1644 { yyVAL.list = append(yyDollar[1].list, &ast.StmtDefault{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list), - }, + Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list), DefaultTkn: yyDollar[2].token, CaseSeparatorTkn: yyDollar[3].token, Stmts: yyDollar[4].list, @@ -4054,42 +3826,36 @@ yydefault: } case 129: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1885 + // line internal/php5/php5.y:1657 { yyVAL.token = yyDollar[1].token } case 130: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1889 + // line internal/php5/php5.y:1661 { yyVAL.token = yyDollar[1].token } case 131: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:1897 + // line internal/php5/php5.y:1669 { yyVAL.node = &ast.StmtWhile{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, - Stmt: yyDollar[1].node, + Position: position.NewNodePosition(yyDollar[1].node), + Stmt: yyDollar[1].node, } } case 132: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:1906 + // line internal/php5/php5.y:1676 { yyVAL.node = &ast.StmtWhile{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].list), - }, - Stmts: yyDollar[2].list, + Position: position.NewNodeListPosition(yyDollar[2].list), + Stmts: yyDollar[2].list, }, EndWhileTkn: yyDollar[3].token, SemiColonTkn: yyDollar[4].token, @@ -4097,18 +3863,16 @@ yydefault: } case 133: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:1929 + // line internal/php5/php5.y:1695 { yyVAL.list = nil } case 134: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:1933 + // line internal/php5/php5.y:1699 { yyVAL.list = append(yyDollar[1].list, &ast.StmtElseIf{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node), - }, + Position: position.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node), ElseIfTkn: yyDollar[2].token, OpenParenthesisTkn: yyDollar[3].node.(*ast.ParserBrackets).OpenBracketTkn, Cond: yyDollar[3].node.(*ast.ParserBrackets).Child, @@ -4118,18 +3882,16 @@ yydefault: } case 135: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:1950 + // line internal/php5/php5.y:1714 { yyVAL.list = nil } case 136: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:1954 + // line internal/php5/php5.y:1718 { yyVAL.list = append(yyDollar[1].list, &ast.StmtElseIf{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list), - }, + Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list), Alt: true, ElseIfTkn: yyDollar[2].token, OpenParenthesisTkn: yyDollar[3].node.(*ast.ParserBrackets).OpenBracketTkn, @@ -4137,71 +3899,63 @@ yydefault: CloseParenthesisTkn: yyDollar[3].node.(*ast.ParserBrackets).CloseBracketTkn, ColonTkn: yyDollar[4].token, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[5].list), - }, - Stmts: yyDollar[5].list, + Position: position.NewNodeListPosition(yyDollar[5].list), + Stmts: yyDollar[5].list, }, }) } case 137: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:1978 + // line internal/php5/php5.y:1738 { yyVAL.node = nil } case 138: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:1982 + // line internal/php5/php5.y:1742 { yyVAL.node = &ast.StmtElse{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - ElseTkn: yyDollar[1].token, - Stmt: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + ElseTkn: yyDollar[1].token, + Stmt: yyDollar[2].node, } } case 139: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:1996 + // line internal/php5/php5.y:1754 { yyVAL.node = nil } case 140: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2000 + // line internal/php5/php5.y:1758 { yyVAL.node = &ast.StmtElse{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list), Alt: true, ElseTkn: yyDollar[1].token, ColonTkn: yyDollar[2].token, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[3].list), - }, - Stmts: yyDollar[3].list, + Position: position.NewNodeListPosition(yyDollar[3].list), + Stmts: yyDollar[3].list, }, } } case 141: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2021 + // line internal/php5/php5.y:1775 { yyVAL.node = yyDollar[1].node } case 142: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:2025 + // line internal/php5/php5.y:1779 { yyVAL.node = &ast.ParserSeparatedList{} } case 143: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2032 + // line internal/php5/php5.y:1786 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4209,7 +3963,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2038 + // line internal/php5/php5.y:1792 { 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) @@ -4218,7 +3972,7 @@ yydefault: } case 145: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:2048 + // line internal/php5/php5.y:1802 { pos := position.NewTokenPosition(yyDollar[4].token) if yyDollar[1].node != nil { @@ -4230,20 +3984,14 @@ yydefault: } yyVAL.node = &ast.Parameter{ - Node: ast.Node{ - Position: pos, - }, + Position: pos, Type: yyDollar[1].node, AmpersandTkn: yyDollar[2].token, VariadicTkn: yyDollar[3].token, Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -4252,7 +4000,7 @@ yydefault: } case 146: yyDollar = yyS[yypt-6 : yypt+1] -// line internal/php5/php5.y:2080 + // line internal/php5/php5.y:1828 { pos := position.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node) if yyDollar[1].node != nil { @@ -4264,20 +4012,14 @@ yydefault: } yyVAL.node = &ast.Parameter{ - Node: ast.Node{ - Position: pos, - }, + Position: pos, Type: yyDollar[1].node, AmpersandTkn: yyDollar[2].token, VariadicTkn: yyDollar[3].token, Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -4288,55 +4030,49 @@ yydefault: } case 147: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:2118 + // line internal/php5/php5.y:1860 { yyVAL.node = nil } case 148: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2122 + // line internal/php5/php5.y:1864 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 149: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2132 + // line internal/php5/php5.y:1872 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 150: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2142 + // line internal/php5/php5.y:1880 { yyVAL.node = yyDollar[1].node } case 151: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:2150 + // line internal/php5/php5.y:1888 { yyVAL.node = &ast.ArgumentList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), OpenParenthesisTkn: yyDollar[1].token, CloseParenthesisTkn: yyDollar[2].token, } } case 152: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2160 + // line internal/php5/php5.y:1896 { argumentList := yyDollar[2].node.(*ast.ArgumentList) argumentList.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) @@ -4347,19 +4083,15 @@ yydefault: } case 153: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2169 + // line internal/php5/php5.y:1905 { yyVAL.node = &ast.ArgumentList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenParenthesisTkn: yyDollar[1].token, Arguments: []ast.Vertex{ &ast.Argument{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[2].node), - }, - Expr: yyDollar[2].node, + Position: position.NewNodePosition(yyDollar[2].node), + Expr: yyDollar[2].node, }, }, CloseParenthesisTkn: yyDollar[3].token, @@ -4367,7 +4099,7 @@ yydefault: } case 154: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2191 + // line internal/php5/php5.y:1923 { yyVAL.node = &ast.ArgumentList{ Arguments: []ast.Vertex{yyDollar[1].node}, @@ -4375,7 +4107,7 @@ yydefault: } case 155: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2197 + // line internal/php5/php5.y:1929 { 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) @@ -4384,53 +4116,45 @@ yydefault: } case 156: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2207 + // line internal/php5/php5.y:1939 { yyVAL.node = &ast.Argument{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, - Expr: yyDollar[1].node, + Position: position.NewNodePosition(yyDollar[1].node), + Expr: yyDollar[1].node, } } case 157: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2216 + // line internal/php5/php5.y:1946 { yyVAL.node = &ast.Argument{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, - Expr: yyDollar[1].node, + Position: position.NewNodePosition(yyDollar[1].node), + Expr: yyDollar[1].node, } } case 158: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:2225 + // line internal/php5/php5.y:1953 { yyVAL.node = &ast.Argument{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), AmpersandTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 159: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:2235 + // line internal/php5/php5.y:1961 { yyVAL.node = &ast.Argument{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), VariadicTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 160: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2248 + // line internal/php5/php5.y:1972 { 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) @@ -4439,7 +4163,7 @@ yydefault: } case 161: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2255 + // line internal/php5/php5.y:1979 { yyVAL.node = &ast.StmtGlobal{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -4447,16 +4171,12 @@ yydefault: } case 162: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2265 + // line internal/php5/php5.y:1989 { yyVAL.node = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4464,29 +4184,23 @@ yydefault: } case 163: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:2280 + // line internal/php5/php5.y:2000 { yyVAL.node = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), DollarTkn: yyDollar[1].token, VarName: yyDollar[2].node, } } case 164: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:2290 + // line internal/php5/php5.y:2008 { yyVAL.node = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), DollarTkn: yyDollar[1].token, VarName: &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), OpenBracketTkn: yyDollar[2].token, Child: yyDollar[3].node, CloseBracketTkn: yyDollar[4].token, @@ -4495,20 +4209,14 @@ yydefault: } case 165: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2311 + // line internal/php5/php5.y:2025 { yyDollar[1].node.(*ast.StmtStatic).Vars = append(yyDollar[1].node.(*ast.StmtStatic).Vars, &ast.StmtStaticVar{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -4520,20 +4228,14 @@ yydefault: } case 166: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:2334 + // line internal/php5/php5.y:2042 { yyDollar[1].node.(*ast.StmtStatic).Vars = append(yyDollar[1].node.(*ast.StmtStatic).Vars, &ast.StmtStaticVar{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), - }, + Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -4547,22 +4249,16 @@ yydefault: } case 167: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2359 + // line internal/php5/php5.y:2061 { yyVAL.node = &ast.StmtStatic{ Vars: []ast.Vertex{ &ast.StmtStaticVar{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4573,22 +4269,16 @@ yydefault: } case 168: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2383 + // line internal/php5/php5.y:2079 { yyVAL.node = &ast.StmtStatic{ Vars: []ast.Vertex{ &ast.StmtStaticVar{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4601,24 +4291,22 @@ yydefault: } case 169: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:2413 + // line internal/php5/php5.y:2103 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 170: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:2417 + // line internal/php5/php5.y:2107 { yyVAL.list = []ast.Vertex{} } case 171: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2425 + // line internal/php5/php5.y:2115 { yyVAL.node = &ast.StmtPropertyList{ - Node: ast.Node{ - Position: position.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token), - }, + Position: position.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token), Modifiers: yyDollar[1].list, Properties: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -4627,38 +4315,34 @@ yydefault: } case 172: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:2437 + // line internal/php5/php5.y:2125 { yyDollar[1].node.(*ast.StmtClassConstList).SemiColonTkn = yyDollar[2].token - yyDollar[1].node.(*ast.StmtClassConstList).Node.Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token) + yyDollar[1].node.(*ast.StmtClassConstList).Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token) yyVAL.node = yyDollar[1].node } case 173: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2443 + // line internal/php5/php5.y:2131 { yyVAL.node = yyDollar[1].node } case 174: yyDollar = yyS[yypt-8 : yypt+1] -// line internal/php5/php5.y:2447 + // line internal/php5/php5.y:2135 { pos := position.NewTokenNodePosition(yyDollar[2].token, yyDollar[8].node) if yyDollar[1].list != nil { - yyVAL.node.GetNode().Position = position.NewNodeListNodePosition(yyDollar[1].list, yyDollar[8].node) + pos = position.NewNodeListNodePosition(yyDollar[1].list, yyDollar[8].node) } yyVAL.node = &ast.StmtClassMethod{ - Node: ast.Node{ - Position: pos, - }, + Position: pos, Modifiers: yyDollar[1].list, FunctionTkn: yyDollar[2].token, AmpersandTkn: yyDollar[3].token, MethodName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -4671,12 +4355,10 @@ yydefault: } case 175: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2478 + // line internal/php5/php5.y:2162 { yyVAL.node = &ast.StmtTraitUse{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), UseTkn: yyDollar[1].token, Traits: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -4685,7 +4367,7 @@ yydefault: } case 176: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2493 + // line internal/php5/php5.y:2175 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4693,7 +4375,7 @@ yydefault: } case 177: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2499 + // line internal/php5/php5.y:2181 { 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) @@ -4702,23 +4384,19 @@ yydefault: } case 178: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2509 + // line internal/php5/php5.y:2191 { yyVAL.node = &ast.StmtNop{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), SemiColonTkn: yyDollar[1].token, } } case 179: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2518 + // line internal/php5/php5.y:2198 { yyVAL.node = &ast.StmtTraitAdaptationList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenParenthesisTkn: yyDollar[1].token, Adaptations: yyDollar[2].list, CloseParenthesisTkn: yyDollar[3].token, @@ -4726,31 +4404,31 @@ yydefault: } case 180: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:2532 + // line internal/php5/php5.y:2210 { yyVAL.list = nil } case 181: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2536 + // line internal/php5/php5.y:2214 { yyVAL.list = yyDollar[1].list } case 182: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2543 + // line internal/php5/php5.y:2221 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 183: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:2547 + // line internal/php5/php5.y:2225 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 184: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:2554 + // line internal/php5/php5.y:2232 { yyDollar[1].node.(*ast.StmtTraitUsePrecedence).SemiColonTkn = yyDollar[2].token @@ -4758,7 +4436,7 @@ yydefault: } case 185: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:2560 + // line internal/php5/php5.y:2238 { yyDollar[1].node.(*ast.StmtTraitUseAlias).SemiColonTkn = yyDollar[2].token @@ -4766,12 +4444,10 @@ yydefault: } case 186: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2569 + // line internal/php5/php5.y:2247 { yyVAL.node = &ast.StmtTraitUsePrecedence{ - Node: ast.Node{ - Position: position.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].node.(*ast.ParserSeparatedList).Items), Ref: yyDollar[1].node, InsteadofTkn: yyDollar[2].token, Insteadof: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -4780,7 +4456,7 @@ yydefault: } case 187: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2584 + // line internal/php5/php5.y:2260 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4788,7 +4464,7 @@ yydefault: } case 188: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2590 + // line internal/php5/php5.y:2266 { 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) @@ -4797,16 +4473,12 @@ yydefault: } case 189: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2600 + // line internal/php5/php5.y:2276 { yyVAL.node = &ast.StmtTraitMethodRef{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), Method: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4814,24 +4486,20 @@ yydefault: } case 190: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2615 + // line internal/php5/php5.y:2287 { yyVAL.node = yyDollar[1].node } case 191: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2622 + // line internal/php5/php5.y:2294 { yyVAL.node = &ast.StmtTraitMethodRef{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Trait: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Method: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -4839,19 +4507,15 @@ yydefault: } case 192: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:2642 + // line internal/php5/php5.y:2310 { yyVAL.node = &ast.StmtTraitUseAlias{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Ref: yyDollar[1].node, AsTkn: yyDollar[2].token, Modifier: yyDollar[3].node, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -4859,12 +4523,10 @@ yydefault: } case 193: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2660 + // line internal/php5/php5.y:2324 { yyVAL.node = &ast.StmtTraitUseAlias{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Ref: yyDollar[1].node, AsTkn: yyDollar[2].token, Modifier: yyDollar[3].node, @@ -4872,35 +4534,31 @@ yydefault: } case 194: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:2674 + // line internal/php5/php5.y:2336 { yyVAL.node = nil } case 195: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2678 + // line internal/php5/php5.y:2340 { yyVAL.node = yyDollar[1].node } case 196: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2685 + // line internal/php5/php5.y:2347 { yyVAL.node = &ast.StmtNop{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), SemiColonTkn: yyDollar[1].token, } } case 197: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2694 + // line internal/php5/php5.y:2354 { yyVAL.node = &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenCurlyBracket: yyDollar[1].token, Stmts: yyDollar[2].list, CloseCurlyBracket: yyDollar[3].token, @@ -4908,19 +4566,17 @@ yydefault: } case 198: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2708 + // line internal/php5/php5.y:2366 { yyVAL.list = yyDollar[1].list } case 199: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2712 + // line internal/php5/php5.y:2370 { yyVAL.list = []ast.Vertex{ &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4928,116 +4584,98 @@ yydefault: } case 200: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:2727 + // line internal/php5/php5.y:2383 { yyVAL.list = nil } case 201: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2731 + // line internal/php5/php5.y:2387 { yyVAL.list = yyDollar[1].list } case 202: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2738 + // line internal/php5/php5.y:2394 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 203: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:2742 + // line internal/php5/php5.y:2398 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 204: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2749 + // line internal/php5/php5.y:2405 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 205: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2759 + // line internal/php5/php5.y:2413 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 206: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2769 + // line internal/php5/php5.y:2421 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 207: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2779 + // line internal/php5/php5.y:2429 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 208: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2789 + // line internal/php5/php5.y:2437 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 209: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2799 + // line internal/php5/php5.y:2445 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 210: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2812 + // line internal/php5/php5.y:2456 { item := &ast.StmtProperty{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -5051,20 +4689,14 @@ yydefault: } case 211: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:2837 + // line internal/php5/php5.y:2475 { item := &ast.StmtProperty{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), - }, + Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -5080,22 +4712,16 @@ yydefault: } case 212: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2864 + // line internal/php5/php5.y:2496 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.StmtProperty{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -5107,22 +4733,16 @@ yydefault: } case 213: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2889 + // line internal/php5/php5.y:2515 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.StmtProperty{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -5135,19 +4755,15 @@ yydefault: } case 214: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:2918 + // line internal/php5/php5.y:2538 { constList := yyDollar[1].node.(*ast.StmtClassConstList) - constList.Node.Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node) + constList.Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node) constList.SeparatorTkns = append(constList.SeparatorTkns, yyDollar[2].token) constList.Consts = append(constList.Consts, &ast.StmtConstant{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), - }, + Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[5].node), Name: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -5159,22 +4775,16 @@ yydefault: } case 215: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:2940 + // line internal/php5/php5.y:2556 { yyVAL.node = &ast.StmtClassConstList{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), ConstTkn: yyDollar[1].token, Consts: []ast.Vertex{ &ast.StmtConstant{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node), - }, + Position: position.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node), Name: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -5186,7 +4796,7 @@ yydefault: } case 216: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2968 + // line internal/php5/php5.y:2578 { 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) @@ -5195,7 +4805,7 @@ yydefault: } case 217: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2975 + // line internal/php5/php5.y:2585 { yyVAL.node = &ast.StmtEcho{ Exprs: []ast.Vertex{yyDollar[1].node}, @@ -5203,19 +4813,19 @@ yydefault: } case 218: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:2985 + // line internal/php5/php5.y:2595 { yyVAL.node = &ast.ParserSeparatedList{} } case 219: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:2989 + // line internal/php5/php5.y:2599 { yyVAL.node = yyDollar[1].node } case 220: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:2996 + // line internal/php5/php5.y:2606 { 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) @@ -5224,7 +4834,7 @@ yydefault: } case 221: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:3003 + // line internal/php5/php5.y:2613 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -5232,24 +4842,22 @@ yydefault: } case 222: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3012 + // line internal/php5/php5.y:2622 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 223: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:3016 + // line internal/php5/php5.y:2626 { yyVAL.list = yyDollar[1].list } case 224: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:3023 + // line internal/php5/php5.y:2633 { fetch := &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), Var: nil, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -5260,12 +4868,10 @@ yydefault: } case 225: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3037 + // line internal/php5/php5.y:2645 { fetch := &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), Var: nil, OpenBracketTkn: yyDollar[1].token, Dim: yyDollar[2].node, @@ -5276,43 +4882,41 @@ yydefault: } case 226: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3054 + // line internal/php5/php5.y:2660 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 227: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:3058 + // line internal/php5/php5.y:2664 { yyVAL.list = yyDollar[1].list } case 228: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:3062 + // line internal/php5/php5.y:2668 { yyVAL.list = yyDollar[1].list } case 229: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:3069 + // line internal/php5/php5.y:2675 { yyVAL.list = nil } case 230: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:3073 + // line internal/php5/php5.y:2679 { yyVAL.list = yyDollar[1].list } case 231: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3080 + // line internal/php5/php5.y:2686 { if yyDollar[3].node != nil { yyVAL.node = &ast.ExprNew{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), NewTkn: yyDollar[1].token, Class: yyDollar[2].node, OpenParenthesisTkn: yyDollar[3].node.(*ast.ArgumentList).OpenParenthesisTkn, @@ -5322,25 +4926,19 @@ yydefault: } } else { yyVAL.node = &ast.ExprNew{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - Class: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + Class: yyDollar[2].node, } } } case 232: yyDollar = yyS[yypt-6 : yypt+1] -// line internal/php5/php5.y:3106 + // line internal/php5/php5.y:2708 { yyVAL.node = &ast.ExprAssign{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node), Var: &ast.ExprList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), ListTkn: yyDollar[1].token, OpenBracketTkn: yyDollar[2].token, Items: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -5353,12 +4951,10 @@ yydefault: } case 233: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3126 + // line internal/php5/php5.y:2724 { yyVAL.node = &ast.ExprAssign{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5366,12 +4962,10 @@ yydefault: } case 234: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:3137 + // line internal/php5/php5.y:2733 { yyVAL.node = &ast.ExprAssignReference{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, AmpersandTkn: yyDollar[3].token, @@ -5380,14 +4974,12 @@ yydefault: } case 235: yyDollar = yyS[yypt-6 : yypt+1] -// line internal/php5/php5.y:3149 + // line internal/php5/php5.y:2743 { var _new *ast.ExprNew if yyDollar[3].token != nil { _new = &ast.ExprNew{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node), - }, + Position: position.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node), NewTkn: yyDollar[4].token, Class: yyDollar[5].node, OpenParenthesisTkn: yyDollar[6].node.(*ast.ArgumentList).OpenParenthesisTkn, @@ -5397,18 +4989,14 @@ yydefault: } } else { _new = &ast.ExprNew{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[4].token, yyDollar[5].node), - }, - NewTkn: yyDollar[4].token, - Class: yyDollar[5].node, + Position: position.NewTokenNodePosition(yyDollar[4].token, yyDollar[5].node), + NewTkn: yyDollar[4].token, + Class: yyDollar[5].node, } } yyVAL.node = &ast.ExprAssignReference{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, _new), - }, + Position: position.NewNodesPosition(yyDollar[1].node, _new), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, AmpersandTkn: yyDollar[3].token, @@ -5417,24 +5005,20 @@ yydefault: } case 236: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3184 + // line internal/php5/php5.y:2772 { yyVAL.node = &ast.ExprClone{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), CloneTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 237: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3194 + // line internal/php5/php5.y:2780 { yyVAL.node = &ast.ExprAssignPlus{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5442,12 +5026,10 @@ yydefault: } case 238: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3205 + // line internal/php5/php5.y:2789 { yyVAL.node = &ast.ExprAssignMinus{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5455,12 +5037,10 @@ yydefault: } case 239: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3216 + // line internal/php5/php5.y:2798 { yyVAL.node = &ast.ExprAssignMul{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5468,12 +5048,10 @@ yydefault: } case 240: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3227 + // line internal/php5/php5.y:2807 { yyVAL.node = &ast.ExprAssignPow{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5481,12 +5059,10 @@ yydefault: } case 241: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3238 + // line internal/php5/php5.y:2816 { yyVAL.node = &ast.ExprAssignDiv{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5494,12 +5070,10 @@ yydefault: } case 242: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3249 + // line internal/php5/php5.y:2825 { yyVAL.node = &ast.ExprAssignConcat{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5507,12 +5081,10 @@ yydefault: } case 243: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3260 + // line internal/php5/php5.y:2834 { yyVAL.node = &ast.ExprAssignMod{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5520,12 +5092,10 @@ yydefault: } case 244: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3271 + // line internal/php5/php5.y:2843 { yyVAL.node = &ast.ExprAssignBitwiseAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5533,12 +5103,10 @@ yydefault: } case 245: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3282 + // line internal/php5/php5.y:2852 { yyVAL.node = &ast.ExprAssignBitwiseOr{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5546,12 +5114,10 @@ yydefault: } case 246: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3293 + // line internal/php5/php5.y:2861 { yyVAL.node = &ast.ExprAssignBitwiseXor{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5559,12 +5125,10 @@ yydefault: } case 247: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3304 + // line internal/php5/php5.y:2870 { yyVAL.node = &ast.ExprAssignShiftLeft{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5572,12 +5136,10 @@ yydefault: } case 248: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3315 + // line internal/php5/php5.y:2879 { yyVAL.node = &ast.ExprAssignShiftRight{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5585,433 +5147,365 @@ yydefault: } case 249: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3326 + // line internal/php5/php5.y:2888 { yyVAL.node = &ast.ExprPostInc{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), - }, - Var: yyDollar[1].node, - IncTkn: yyDollar[2].token, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), + Var: yyDollar[1].node, + IncTkn: yyDollar[2].token, } } case 250: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3336 + // line internal/php5/php5.y:2896 { yyVAL.node = &ast.ExprPreInc{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - IncTkn: yyDollar[1].token, - Var: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + IncTkn: yyDollar[1].token, + Var: yyDollar[2].node, } } case 251: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3346 + // line internal/php5/php5.y:2904 { yyVAL.node = &ast.ExprPostDec{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), - }, - Var: yyDollar[1].node, - DecTkn: yyDollar[2].token, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), + Var: yyDollar[1].node, + DecTkn: yyDollar[2].token, } } case 252: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3356 + // line internal/php5/php5.y:2912 { yyVAL.node = &ast.ExprPreDec{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - DecTkn: yyDollar[1].token, - Var: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + DecTkn: yyDollar[1].token, + Var: yyDollar[2].node, } } case 253: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3366 + // line internal/php5/php5.y:2920 { yyVAL.node = &ast.ExprBinaryBooleanOr{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 254: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3377 + // line internal/php5/php5.y:2929 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 255: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3388 + // line internal/php5/php5.y:2938 { yyVAL.node = &ast.ExprBinaryLogicalOr{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 256: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3399 + // line internal/php5/php5.y:2947 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 257: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3410 + // line internal/php5/php5.y:2956 { yyVAL.node = &ast.ExprBinaryLogicalXor{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 258: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3421 + // line internal/php5/php5.y:2965 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 259: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3432 + // line internal/php5/php5.y:2974 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 260: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3443 + // line internal/php5/php5.y:2983 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 261: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3454 + // line internal/php5/php5.y:2992 { yyVAL.node = &ast.ExprBinaryConcat{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 262: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3465 + // line internal/php5/php5.y:3001 { yyVAL.node = &ast.ExprBinaryPlus{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 263: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3476 + // line internal/php5/php5.y:3010 { yyVAL.node = &ast.ExprBinaryMinus{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 264: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3487 + // line internal/php5/php5.y:3019 { yyVAL.node = &ast.ExprBinaryMul{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 265: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3498 + // line internal/php5/php5.y:3028 { yyVAL.node = &ast.ExprBinaryPow{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 266: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3509 + // line internal/php5/php5.y:3037 { yyVAL.node = &ast.ExprBinaryDiv{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 267: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3520 + // line internal/php5/php5.y:3046 { yyVAL.node = &ast.ExprBinaryMod{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 268: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3531 + // line internal/php5/php5.y:3055 { yyVAL.node = &ast.ExprBinaryShiftLeft{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 269: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3542 + // line internal/php5/php5.y:3064 { yyVAL.node = &ast.ExprBinaryShiftRight{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 270: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3553 + // line internal/php5/php5.y:3073 { yyVAL.node = &ast.ExprUnaryPlus{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - PlusTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + PlusTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 271: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3563 + // line internal/php5/php5.y:3081 { yyVAL.node = &ast.ExprUnaryMinus{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), MinusTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 272: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3573 + // line internal/php5/php5.y:3089 { yyVAL.node = &ast.ExprBooleanNot{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), ExclamationTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 273: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3583 + // line internal/php5/php5.y:3097 { yyVAL.node = &ast.ExprBitwiseNot{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), TildaTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 274: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3593 + // line internal/php5/php5.y:3105 { yyVAL.node = &ast.ExprBinaryIdentical{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 275: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3604 + // line internal/php5/php5.y:3114 { yyVAL.node = &ast.ExprBinaryNotIdentical{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 276: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3615 + // line internal/php5/php5.y:3123 { yyVAL.node = &ast.ExprBinaryEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 277: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3626 + // line internal/php5/php5.y:3132 { yyVAL.node = &ast.ExprBinaryNotEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 278: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3637 + // line internal/php5/php5.y:3141 { yyVAL.node = &ast.ExprBinarySmaller{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 279: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3648 + // line internal/php5/php5.y:3150 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 280: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3659 + // line internal/php5/php5.y:3159 { yyVAL.node = &ast.ExprBinaryGreater{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 281: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3670 + // line internal/php5/php5.y:3168 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 282: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3681 + // line internal/php5/php5.y:3177 { yyVAL.node = &ast.ExprInstanceOf{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Expr: yyDollar[1].node, InstanceOfTkn: yyDollar[2].token, Class: yyDollar[3].node, @@ -6019,24 +5513,22 @@ yydefault: } case 283: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:3692 + // line internal/php5/php5.y:3186 { yyVAL.node = yyDollar[1].node } case 284: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:3696 + // line internal/php5/php5.y:3190 { yyVAL.node = yyDollar[1].node } case 285: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:3700 + // line internal/php5/php5.y:3194 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -6046,34 +5538,32 @@ yydefault: switch nn := n.(type) { case *ast.ExprFunctionCall: nn.Function = yyVAL.node - nn.Node.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprArrayDimFetch: nn.Var = yyVAL.node - nn.Node.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprPropertyFetch: nn.Var = yyVAL.node - nn.Node.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprMethodCall: nn.Var = yyVAL.node - nn.Node.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn } } } case 286: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:3735 + // line internal/php5/php5.y:3227 { yyVAL.node = &ast.ExprTernary{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node), Condition: yyDollar[1].node, QuestionTkn: yyDollar[2].token, IfTrue: yyDollar[3].node, @@ -6083,12 +5573,10 @@ yydefault: } case 287: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:3748 + // line internal/php5/php5.y:3238 { yyVAL.node = &ast.ExprTernary{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Condition: yyDollar[1].node, QuestionTkn: yyDollar[2].token, ColonTkn: yyDollar[3].token, @@ -6097,106 +5585,92 @@ yydefault: } case 288: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:3760 + // line internal/php5/php5.y:3248 { yyVAL.node = yyDollar[1].node } case 289: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3764 + // line internal/php5/php5.y:3252 { yyVAL.node = &ast.ExprCastInt{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - CastTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 290: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3774 + // line internal/php5/php5.y:3260 { yyVAL.node = &ast.ExprCastDouble{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - CastTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 291: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3784 + // line internal/php5/php5.y:3268 { yyVAL.node = &ast.ExprCastString{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - CastTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 292: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3794 + // line internal/php5/php5.y:3276 { yyVAL.node = &ast.ExprCastArray{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - CastTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 293: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3804 + // line internal/php5/php5.y:3284 { yyVAL.node = &ast.ExprCastObject{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - CastTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 294: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3814 + // line internal/php5/php5.y:3292 { yyVAL.node = &ast.ExprCastBool{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - CastTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 295: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3824 + // line internal/php5/php5.y:3300 { yyVAL.node = &ast.ExprCastUnset{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - CastTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 296: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3834 + // line internal/php5/php5.y:3308 { exit := &ast.ExprExit{ DieTkn: yyDollar[1].token, } if yyDollar[2].node == nil { - exit.Node.Position = position.NewTokenPosition(yyDollar[1].token) + exit.Position = position.NewTokenPosition(yyDollar[1].token) } else { - exit.Node.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) + exit.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) exit.OpenParenthesisTkn = yyDollar[2].node.(*ast.ParserBrackets).OpenBracketTkn exit.Expr = yyDollar[2].node.(*ast.ParserBrackets).Child exit.CloseParenthesisTkn = yyDollar[2].node.(*ast.ParserBrackets).CloseBracketTkn @@ -6206,42 +5680,38 @@ yydefault: } case 297: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3851 + // line internal/php5/php5.y:3325 { yyVAL.node = &ast.ExprErrorSuppress{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - AtTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + AtTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 298: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:3861 + // line internal/php5/php5.y:3333 { yyVAL.node = yyDollar[1].node } case 299: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:3865 + // line internal/php5/php5.y:3337 { yyVAL.node = yyDollar[1].node } case 300: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:3869 + // line internal/php5/php5.y:3341 { yyVAL.node = yyDollar[1].node } case 301: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3873 + // line internal/php5/php5.y:3345 { yyVAL.node = &ast.ExprShellExec{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBacktickTkn: yyDollar[1].token, Parts: yyDollar[2].list, CloseBacktickTkn: yyDollar[3].token, @@ -6249,35 +5719,29 @@ yydefault: } case 302: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3884 + // line internal/php5/php5.y:3354 { yyVAL.node = &ast.ExprPrint{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), PrintTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 303: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:3894 + // line internal/php5/php5.y:3362 { yyVAL.node = &ast.ExprYield{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), YieldTkn: yyDollar[1].token, } } case 304: yyDollar = yyS[yypt-9 : yypt+1] -// line internal/php5/php5.y:3903 + // line internal/php5/php5.y:3369 { yyVAL.node = &ast.ExprClosure{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[9].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[9].token), FunctionTkn: yyDollar[1].token, AmpersandTkn: yyDollar[2].token, OpenParenthesisTkn: yyDollar[3].token, @@ -6292,12 +5756,10 @@ yydefault: } case 305: yyDollar = yyS[yypt-10 : yypt+1] -// line internal/php5/php5.y:3921 + // line internal/php5/php5.y:3385 { yyVAL.node = &ast.ExprClosure{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[10].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[10].token), StaticTkn: yyDollar[1].token, FunctionTkn: yyDollar[2].token, AmpersandTkn: yyDollar[3].token, @@ -6313,36 +5775,30 @@ yydefault: } case 306: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3943 + // line internal/php5/php5.y:3405 { yyVAL.node = &ast.ExprYield{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), YieldTkn: yyDollar[1].token, Value: yyDollar[2].node, } } case 307: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3953 + // line internal/php5/php5.y:3413 { yyVAL.node = &ast.ExprYield{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), YieldTkn: yyDollar[1].token, Value: yyDollar[2].node, } } case 308: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:3963 + // line internal/php5/php5.y:3421 { yyVAL.node = &ast.ExprYield{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), YieldTkn: yyDollar[1].token, Key: yyDollar[2].node, DoubleArrowTkn: yyDollar[3].token, @@ -6351,12 +5807,10 @@ yydefault: } case 309: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:3975 + // line internal/php5/php5.y:3431 { yyVAL.node = &ast.ExprYield{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), YieldTkn: yyDollar[1].token, Key: yyDollar[2].node, DoubleArrowTkn: yyDollar[3].token, @@ -6365,12 +5819,10 @@ yydefault: } case 310: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:3990 + // line internal/php5/php5.y:3444 { yyVAL.node = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -6379,12 +5831,10 @@ yydefault: } case 311: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4002 + // line internal/php5/php5.y:3454 { yyVAL.node = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -6393,16 +5843,12 @@ yydefault: } case 312: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4014 + // line internal/php5/php5.y:3464 { yyVAL.node = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Var: &ast.ScalarString{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), StringTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -6413,12 +5859,10 @@ yydefault: } case 313: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4032 + // line internal/php5/php5.y:3478 { yyVAL.node = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -6427,12 +5871,10 @@ yydefault: } case 314: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4047 + // line internal/php5/php5.y:3491 { yyVAL.node = &ast.ExprArray{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), ArrayTkn: yyDollar[1].token, OpenBracketTkn: yyDollar[2].token, Items: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -6442,12 +5884,10 @@ yydefault: } case 315: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4060 + // line internal/php5/php5.y:3502 { yyVAL.node = &ast.ExprArray{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Items: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -6456,24 +5896,22 @@ yydefault: } case 316: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4075 + // line internal/php5/php5.y:3515 { yyVAL.token = yyDollar[1].token } case 317: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:4082 + // line internal/php5/php5.y:3522 { yyVAL.node = nil } case 318: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4086 + // line internal/php5/php5.y:3526 { yyVAL.node = &ast.ExprClosureUse{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), UseTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Uses: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -6483,16 +5921,12 @@ yydefault: } case 319: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4102 + // line internal/php5/php5.y:3540 { variable := &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -6505,21 +5939,15 @@ yydefault: } case 320: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4122 + // line internal/php5/php5.y:3556 { reference := &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[3].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[3].token, yyDollar[4].token), AmpersandTkn: yyDollar[3].token, Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -6533,18 +5961,14 @@ yydefault: } case 321: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4148 + // line internal/php5/php5.y:3576 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -6554,23 +5978,17 @@ yydefault: } case 322: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4167 + // line internal/php5/php5.y:3591 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), AmpersandTkn: yyDollar[1].token, Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -6581,16 +5999,12 @@ yydefault: } case 323: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4195 + // line internal/php5/php5.y:3613 { yyVAL.node = &ast.ExprFunctionCall{ - Node: ast.Node{ - Position: position.NewNodeListNodePosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[2].node), - }, + Position: position.NewNodeListNodePosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[2].node), Function: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -6602,16 +6016,12 @@ yydefault: } case 324: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4214 + // line internal/php5/php5.y:3628 { yyVAL.node = &ast.ExprFunctionCall{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), Function: &ast.NameRelative{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), NsTkn: yyDollar[1].token, NsSeparatorTkn: yyDollar[2].token, Parts: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -6625,16 +6035,12 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4235 + // line internal/php5/php5.y:3645 { yyVAL.node = &ast.ExprFunctionCall{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), Function: &ast.NameFullyQualified{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: yyDollar[1].token, Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -6647,12 +6053,10 @@ yydefault: } case 326: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4255 + // line internal/php5/php5.y:3661 { yyVAL.node = &ast.ExprStaticCall{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Call: yyDollar[3].node, @@ -6664,12 +6068,10 @@ yydefault: } case 327: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4270 + // line internal/php5/php5.y:3674 { yyVAL.node = &ast.ExprStaticCall{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Call: yyDollar[3].node, @@ -6681,12 +6083,10 @@ yydefault: } case 328: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4285 + // line internal/php5/php5.y:3687 { yyVAL.node = &ast.ExprStaticCall{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Call: yyDollar[3].node, @@ -6698,12 +6098,10 @@ yydefault: } case 329: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4300 + // line internal/php5/php5.y:3700 { yyVAL.node = &ast.ExprStaticCall{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Call: yyDollar[3].node, @@ -6715,12 +6113,10 @@ yydefault: } case 330: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4315 + // line internal/php5/php5.y:3713 { yyVAL.node = &ast.ExprFunctionCall{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[2].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[2].node), Function: yyDollar[1].node, OpenParenthesisTkn: yyDollar[2].node.(*ast.ArgumentList).OpenParenthesisTkn, Arguments: yyDollar[2].node.(*ast.ArgumentList).Arguments, @@ -6730,36 +6126,30 @@ yydefault: } case 331: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4331 + // line internal/php5/php5.y:3727 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 332: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4341 + // line internal/php5/php5.y:3735 { yyVAL.node = &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, } } case 333: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4351 + // line internal/php5/php5.y:3743 { yyVAL.node = &ast.NameRelative{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), NsTkn: yyDollar[1].token, NsSeparatorTkn: yyDollar[2].token, Parts: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -6768,12 +6158,10 @@ yydefault: } case 334: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4363 + // line internal/php5/php5.y:3753 { yyVAL.node = &ast.NameFullyQualified{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: yyDollar[1].token, Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -6781,24 +6169,20 @@ yydefault: } case 335: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4377 + // line internal/php5/php5.y:3765 { yyVAL.node = &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, } } case 336: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4387 + // line internal/php5/php5.y:3773 { yyVAL.node = &ast.NameRelative{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), NsTkn: yyDollar[1].token, NsSeparatorTkn: yyDollar[2].token, Parts: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -6807,12 +6191,10 @@ yydefault: } case 337: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4399 + // line internal/php5/php5.y:3783 { yyVAL.node = &ast.NameFullyQualified{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: yyDollar[1].token, Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -6820,19 +6202,19 @@ yydefault: } case 338: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4413 + // line internal/php5/php5.y:3795 { yyVAL.node = yyDollar[1].node } case 339: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4417 + // line internal/php5/php5.y:3799 { yyVAL.node = yyDollar[1].node } case 340: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4424 + // line internal/php5/php5.y:3806 { yyVAL.node = yyDollar[1].node @@ -6842,12 +6224,12 @@ yydefault: switch nn := n.(type) { case *ast.ExprArrayDimFetch: nn.Var = yyVAL.node - yyVAL.node.GetNode().Position = position.NewNodesPosition(yyVAL.node, nn) + *yyVAL.node.GetPosition() = *position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprPropertyFetch: nn.Var = yyVAL.node - yyVAL.node.GetNode().Position = position.NewNodesPosition(yyVAL.node, nn) + *yyVAL.node.GetPosition() = *position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn } } @@ -6856,37 +6238,37 @@ yydefault: switch nn := n.(type) { case *ast.ExprArrayDimFetch: nn.Var = yyVAL.node - yyVAL.node.GetNode().Position = position.NewNodesPosition(yyVAL.node, nn) + *yyVAL.node.GetPosition() = *position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprPropertyFetch: nn.Var = yyVAL.node - yyVAL.node.GetNode().Position = position.NewNodesPosition(yyVAL.node, nn) + *yyVAL.node.GetPosition() = *position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn } } } case 341: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4458 + // line internal/php5/php5.y:3840 { yyVAL.node = yyDollar[1].node } case 342: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4466 + // line internal/php5/php5.y:3848 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 343: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:4470 + // line internal/php5/php5.y:3852 { yyVAL.list = []ast.Vertex{} } case 344: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4478 + // line internal/php5/php5.y:3860 { yyDollar[2].list[0].(*ast.ExprPropertyFetch).ObjectOperatorTkn = yyDollar[1].token @@ -6894,43 +6276,39 @@ yydefault: } case 345: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:4487 + // line internal/php5/php5.y:3869 { yyVAL.node = nil } case 346: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4491 + // line internal/php5/php5.y:3873 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), OpenBracketTkn: yyDollar[1].token, CloseBracketTkn: yyDollar[2].token, } } case 347: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4501 + // line internal/php5/php5.y:3881 { yyVAL.node = yyDollar[1].node } case 348: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:4508 + // line internal/php5/php5.y:3888 { yyVAL.list = []ast.Vertex{} } case 349: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4512 + // line internal/php5/php5.y:3892 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), EncapsedStrTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -6938,156 +6316,132 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4524 + // line internal/php5/php5.y:3902 { yyVAL.list = yyDollar[1].list } case 351: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:4531 + // line internal/php5/php5.y:3909 { yyVAL.node = &ast.ArgumentList{} } case 352: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4535 + // line internal/php5/php5.y:3913 { yyVAL.node = yyDollar[1].node } case 353: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4542 + // line internal/php5/php5.y:3920 { yyVAL.node = &ast.ScalarLnumber{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), NumberTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 354: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4552 + // line internal/php5/php5.y:3928 { yyVAL.node = &ast.ScalarDnumber{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), NumberTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 355: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4562 + // line internal/php5/php5.y:3936 { yyVAL.node = &ast.ScalarString{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), StringTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 356: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4572 + // line internal/php5/php5.y:3944 { yyVAL.node = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), MagicConstTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 357: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4582 + // line internal/php5/php5.y:3952 { yyVAL.node = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), MagicConstTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 358: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4592 + // line internal/php5/php5.y:3960 { yyVAL.node = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), MagicConstTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 359: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4602 + // line internal/php5/php5.y:3968 { yyVAL.node = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), MagicConstTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 360: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4612 + // line internal/php5/php5.y:3976 { yyVAL.node = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), MagicConstTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 361: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4622 + // line internal/php5/php5.y:3984 { yyVAL.node = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), MagicConstTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 362: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4632 + // line internal/php5/php5.y:3992 { yyVAL.node = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), MagicConstTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 363: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4642 + // line internal/php5/php5.y:4000 { yyVAL.node = &ast.ScalarHeredoc{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenHeredocTkn: yyDollar[1].token, Parts: []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), EncapsedStrTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -7097,30 +6451,24 @@ yydefault: } case 364: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4661 + // line internal/php5/php5.y:4015 { yyVAL.node = &ast.ScalarHeredoc{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), OpenHeredocTkn: yyDollar[1].token, CloseHeredocTkn: yyDollar[2].token, } } case 365: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4674 + // line internal/php5/php5.y:4026 { yyVAL.node = &ast.ExprClassConstFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, ConstantName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -7128,34 +6476,30 @@ yydefault: } case 366: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4694 + // line internal/php5/php5.y:4042 { yyVAL.node = yyDollar[1].node } case 367: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4701 + // line internal/php5/php5.y:4049 { yyVAL.node = yyDollar[1].node } case 368: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4705 + // line internal/php5/php5.y:4053 { yyVAL.node = yyDollar[1].node } case 369: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4709 + // line internal/php5/php5.y:4057 { yyVAL.node = &ast.ExprConstFetch{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Const: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -7163,16 +6507,12 @@ yydefault: } case 370: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4724 + // line internal/php5/php5.y:4068 { yyVAL.node = &ast.ExprConstFetch{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), Const: &ast.NameRelative{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), NsTkn: yyDollar[1].token, NsSeparatorTkn: yyDollar[2].token, Parts: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -7182,16 +6522,12 @@ yydefault: } case 371: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4741 + // line internal/php5/php5.y:4081 { yyVAL.node = &ast.ExprConstFetch{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), Const: &ast.NameFullyQualified{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: yyDollar[1].token, Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -7200,12 +6536,10 @@ yydefault: } case 372: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4757 + // line internal/php5/php5.y:4093 { yyVAL.node = &ast.ExprArray{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), ArrayTkn: yyDollar[1].token, OpenBracketTkn: yyDollar[2].token, Items: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -7215,12 +6549,10 @@ yydefault: } case 373: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4770 + // line internal/php5/php5.y:4104 { yyVAL.node = &ast.ExprArray{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Items: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -7229,36 +6561,32 @@ yydefault: } case 374: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4782 + // line internal/php5/php5.y:4114 { yyVAL.node = yyDollar[1].node } case 375: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4786 + // line internal/php5/php5.y:4118 { yyVAL.node = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), MagicConstTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 376: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4796 + // line internal/php5/php5.y:4126 { yyVAL.node = yyDollar[1].node } case 377: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4803 + // line internal/php5/php5.y:4133 { yyVAL.node = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -7267,361 +6595,305 @@ yydefault: } case 378: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4815 + // line internal/php5/php5.y:4143 { yyVAL.node = &ast.ExprBinaryPlus{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 379: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4826 + // line internal/php5/php5.y:4152 { yyVAL.node = &ast.ExprBinaryMinus{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 380: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4837 + // line internal/php5/php5.y:4161 { yyVAL.node = &ast.ExprBinaryMul{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 381: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4848 + // line internal/php5/php5.y:4170 { yyVAL.node = &ast.ExprBinaryPow{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 382: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4859 + // line internal/php5/php5.y:4179 { yyVAL.node = &ast.ExprBinaryDiv{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 383: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4870 + // line internal/php5/php5.y:4188 { yyVAL.node = &ast.ExprBinaryMod{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 384: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4881 + // line internal/php5/php5.y:4197 { yyVAL.node = &ast.ExprBooleanNot{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), ExclamationTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 385: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4891 + // line internal/php5/php5.y:4205 { yyVAL.node = &ast.ExprBitwiseNot{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), TildaTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 386: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4901 + // line internal/php5/php5.y:4213 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 387: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4912 + // line internal/php5/php5.y:4222 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 388: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4923 + // line internal/php5/php5.y:4231 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 389: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4934 + // line internal/php5/php5.y:4240 { yyVAL.node = &ast.ExprBinaryShiftLeft{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 390: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4945 + // line internal/php5/php5.y:4249 { yyVAL.node = &ast.ExprBinaryShiftRight{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 391: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4956 + // line internal/php5/php5.y:4258 { yyVAL.node = &ast.ExprBinaryConcat{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 392: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4967 + // line internal/php5/php5.y:4267 { yyVAL.node = &ast.ExprBinaryLogicalXor{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 393: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4978 + // line internal/php5/php5.y:4276 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 394: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4989 + // line internal/php5/php5.y:4285 { yyVAL.node = &ast.ExprBinaryLogicalOr{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 395: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5000 + // line internal/php5/php5.y:4294 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 396: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5011 + // line internal/php5/php5.y:4303 { yyVAL.node = &ast.ExprBinaryBooleanOr{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 397: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5022 + // line internal/php5/php5.y:4312 { yyVAL.node = &ast.ExprBinaryIdentical{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 398: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5033 + // line internal/php5/php5.y:4321 { yyVAL.node = &ast.ExprBinaryNotIdentical{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 399: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5044 + // line internal/php5/php5.y:4330 { yyVAL.node = &ast.ExprBinaryEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 400: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5055 + // line internal/php5/php5.y:4339 { yyVAL.node = &ast.ExprBinaryNotEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 401: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5066 + // line internal/php5/php5.y:4348 { yyVAL.node = &ast.ExprBinarySmaller{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 402: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5077 + // line internal/php5/php5.y:4357 { yyVAL.node = &ast.ExprBinaryGreater{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 403: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5088 + // line internal/php5/php5.y:4366 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 404: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5099 + // line internal/php5/php5.y:4375 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 405: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5110 + // line internal/php5/php5.y:4384 { yyVAL.node = &ast.ExprTernary{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Condition: yyDollar[1].node, QuestionTkn: yyDollar[2].token, ColonTkn: yyDollar[3].token, @@ -7630,12 +6902,10 @@ yydefault: } case 406: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:5122 + // line internal/php5/php5.y:4394 { yyVAL.node = &ast.ExprTernary{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node), Condition: yyDollar[1].node, QuestionTkn: yyDollar[2].token, IfTrue: yyDollar[3].node, @@ -7645,36 +6915,30 @@ yydefault: } case 407: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:5135 + // line internal/php5/php5.y:4405 { yyVAL.node = &ast.ExprUnaryPlus{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - PlusTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + PlusTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 408: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:5145 + // line internal/php5/php5.y:4413 { yyVAL.node = &ast.ExprUnaryMinus{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), MinusTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 409: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5155 + // line internal/php5/php5.y:4421 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -7682,22 +6946,18 @@ yydefault: } case 410: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5169 + // line internal/php5/php5.y:4433 { yyVAL.node = yyDollar[1].node } case 411: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5173 + // line internal/php5/php5.y:4437 { yyVAL.node = &ast.ExprConstFetch{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Const: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -7705,16 +6965,12 @@ yydefault: } case 412: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5188 + // line internal/php5/php5.y:4448 { yyVAL.node = &ast.ExprConstFetch{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), Const: &ast.NameRelative{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), NsTkn: yyDollar[1].token, NsSeparatorTkn: yyDollar[2].token, Parts: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -7724,16 +6980,12 @@ yydefault: } case 413: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:5205 + // line internal/php5/php5.y:4461 { yyVAL.node = &ast.ExprConstFetch{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), Const: &ast.NameFullyQualified{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: yyDollar[1].token, Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -7742,16 +6994,12 @@ yydefault: } case 414: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5224 + // line internal/php5/php5.y:4476 { yyVAL.node = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -7759,30 +7007,28 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5239 + // line internal/php5/php5.y:4487 { yyVAL.node = yyDollar[1].node } case 416: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5243 + // line internal/php5/php5.y:4491 { yyVAL.node = yyDollar[1].node } case 417: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5247 + // line internal/php5/php5.y:4495 { yyVAL.node = yyDollar[1].node } case 418: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5251 + // line internal/php5/php5.y:4499 { yyVAL.node = &ast.ScalarEncapsed{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenQoteTkn: yyDollar[1].token, Parts: yyDollar[2].list, CloseQoteTkn: yyDollar[1].token, @@ -7790,12 +7036,10 @@ yydefault: } case 419: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5262 + // line internal/php5/php5.y:4508 { yyVAL.node = &ast.ScalarHeredoc{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenHeredocTkn: yyDollar[1].token, Parts: yyDollar[2].list, CloseHeredocTkn: yyDollar[3].token, @@ -7803,25 +7047,23 @@ yydefault: } case 420: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5273 + // line internal/php5/php5.y:4517 { yyVAL.node = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), MagicConstTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 421: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:5286 + // line internal/php5/php5.y:4528 { yyVAL.node = &ast.ParserSeparatedList{} } case 422: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:5290 + // line internal/php5/php5.y:4532 { if yyDollar[2].token != nil { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) @@ -7832,24 +7074,22 @@ yydefault: } case 423: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:5302 + // line internal/php5/php5.y:4544 { yyVAL.token = nil } case 424: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5306 + // line internal/php5/php5.y:4548 { yyVAL.token = yyDollar[1].token } case 425: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:5313 + // line internal/php5/php5.y:4555 { arrayItem := &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[3].node, yyDollar[5].node), - }, + Position: position.NewNodesPosition(yyDollar[3].node, yyDollar[5].node), Key: yyDollar[3].node, DoubleArrowTkn: yyDollar[4].token, Val: yyDollar[5].node, @@ -7862,13 +7102,11 @@ yydefault: } case 426: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5329 + // line internal/php5/php5.y:4569 { arrayItem := &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[3].node), - }, - Val: yyDollar[3].node, + Position: position.NewNodePosition(yyDollar[3].node), + Val: yyDollar[3].node, } yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) @@ -7878,14 +7116,12 @@ yydefault: } case 427: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5343 + // line internal/php5/php5.y:4581 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Key: yyDollar[1].node, DoubleArrowTkn: yyDollar[2].token, Val: yyDollar[3].node, @@ -7895,39 +7131,35 @@ yydefault: } case 428: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5358 + // line internal/php5/php5.y:4594 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, - Val: yyDollar[1].node, + Position: position.NewNodePosition(yyDollar[1].node), + Val: yyDollar[1].node, }, }, } } case 429: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5374 + // line internal/php5/php5.y:4608 { yyVAL.node = yyDollar[1].node } case 430: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5378 + // line internal/php5/php5.y:4612 { yyVAL.node = yyDollar[1].node } case 431: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5385 + // line internal/php5/php5.y:4619 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -7935,12 +7167,10 @@ yydefault: } case 432: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5396 + // line internal/php5/php5.y:4628 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -7948,25 +7178,25 @@ yydefault: } case 433: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5411 + // line internal/php5/php5.y:4641 { yyVAL.node = yyDollar[1].node } case 434: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5419 + // line internal/php5/php5.y:4649 { yyVAL.node = yyDollar[1].node } case 435: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5426 + // line internal/php5/php5.y:4656 { yyVAL.node = yyDollar[1].node } case 436: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:5433 + // line internal/php5/php5.y:4663 { yyVAL.node = yyDollar[1].node @@ -7978,9 +7208,7 @@ yydefault: case *ast.ExprArrayDimFetch: mc := yyDollar[4].list[0].(*ast.ExprMethodCall) yyDollar[3].list = append(yyDollar[3].list, &ast.ExprFunctionCall{ - Node: ast.Node{ - Position: position.NewNodePosition(mc), - }, + Position: position.NewNodePosition(mc), OpenParenthesisTkn: mc.OpenParenthesisTkn, Arguments: mc.Arguments, SeparatorTkns: mc.SeparatorTkns, @@ -7999,22 +7227,22 @@ yydefault: switch nn := n.(type) { case *ast.ExprFunctionCall: nn.Function = yyVAL.node - nn.Node.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprArrayDimFetch: nn.Var = yyVAL.node - nn.Node.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprPropertyFetch: nn.Var = yyVAL.node - nn.Node.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprMethodCall: nn.Var = yyVAL.node - nn.Node.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn } } @@ -8023,47 +7251,47 @@ yydefault: switch nn := n.(type) { case *ast.ExprFunctionCall: nn.Function = yyVAL.node - nn.Node.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprArrayDimFetch: nn.Var = yyVAL.node - nn.Node.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprPropertyFetch: nn.Var = yyVAL.node - nn.Node.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn case *ast.ExprMethodCall: nn.Var = yyVAL.node - nn.Node.Position = position.NewNodesPosition(yyVAL.node, nn) + nn.Position = position.NewNodesPosition(yyVAL.node, nn) yyVAL.node = nn } } } case 437: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5510 + // line internal/php5/php5.y:4738 { yyVAL.node = yyDollar[1].node } case 438: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:5517 + // line internal/php5/php5.y:4745 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 439: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:5521 + // line internal/php5/php5.y:4749 { yyVAL.list = []ast.Vertex{} } case 440: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5529 + // line internal/php5/php5.y:4757 { println("FOOFOOFOOFOOFOOFOOFOOFOOFOO") yyDollar[2].list[0].(*ast.ExprPropertyFetch).ObjectOperatorTkn = yyDollar[1].token @@ -8074,9 +7302,7 @@ yydefault: case *ast.ExprArrayDimFetch: mc := yyDollar[3].list[0].(*ast.ExprMethodCall) yyDollar[2].list = append(yyDollar[2].list, &ast.ExprFunctionCall{ - Node: ast.Node{ - Position: position.NewNodePosition(mc), - }, + Position: position.NewNodePosition(mc), OpenParenthesisTkn: mc.OpenParenthesisTkn, Arguments: mc.Arguments, SeparatorTkns: mc.SeparatorTkns, @@ -8095,12 +7321,10 @@ yydefault: } case 441: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5561 + // line internal/php5/php5.y:4787 { fetch := &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), Var: nil, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -8111,12 +7335,10 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5575 + // line internal/php5/php5.y:4799 { fetch := &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), Var: nil, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -8127,12 +7349,10 @@ yydefault: } case 443: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5592 + // line internal/php5/php5.y:4814 { yyVAL.node = &ast.ExprMethodCall{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, + Position: position.NewNodePosition(yyDollar[1].node), OpenParenthesisTkn: yyDollar[1].node.(*ast.ArgumentList).OpenParenthesisTkn, Arguments: yyDollar[1].node.(*ast.ArgumentList).Arguments, SeparatorTkns: yyDollar[1].node.(*ast.ArgumentList).SeparatorTkns, @@ -8141,35 +7361,35 @@ yydefault: } case 444: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5607 + // line internal/php5/php5.y:4827 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 445: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5611 + // line internal/php5/php5.y:4831 { yyVAL.list = yyDollar[1].list } case 446: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:5615 + // line internal/php5/php5.y:4835 { yyVAL.list = nil } case 447: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5622 + // line internal/php5/php5.y:4842 { yyVAL.node = yyDollar[1].node } case 448: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:5626 + // line internal/php5/php5.y:4846 { for i := len(yyDollar[1].list) - 1; i >= 0; i-- { yyDollar[1].list[i].(*ast.ExprVariable).VarName = yyDollar[2].node - yyDollar[1].list[i].(*ast.ExprVariable).Node.Position = position.NewNodesPosition(yyDollar[1].list[i], yyDollar[2].node) + yyDollar[1].list[i].(*ast.ExprVariable).Position = position.NewNodesPosition(yyDollar[1].list[i], yyDollar[2].node) yyDollar[2].node = yyDollar[1].list[i] } @@ -8177,12 +7397,10 @@ yydefault: } case 449: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5639 + // line internal/php5/php5.y:4859 { yyVAL.node = &ast.ExprStaticPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Property: yyDollar[3].node, @@ -8190,12 +7408,10 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5650 + // line internal/php5/php5.y:4868 { yyVAL.node = &ast.ExprStaticPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Property: yyDollar[3].node, @@ -8203,18 +7419,16 @@ yydefault: } case 451: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5664 + // line internal/php5/php5.y:4880 { yyVAL.node = yyDollar[1].node } case 452: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5671 + // line internal/php5/php5.y:4887 { yyVAL.node = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -8223,12 +7437,10 @@ yydefault: } case 453: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5683 + // line internal/php5/php5.y:4897 { yyVAL.node = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -8237,35 +7449,35 @@ yydefault: } case 454: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5698 + // line internal/php5/php5.y:4910 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5702 + // line internal/php5/php5.y:4914 { yyVAL.node = yyDollar[1].node } case 456: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5706 + // line internal/php5/php5.y:4918 { yyVAL.node = yyDollar[1].node } case 457: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5714 + // line internal/php5/php5.y:4926 { yyVAL.node = yyDollar[1].node } case 458: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:5718 + // line internal/php5/php5.y:4930 { for i := len(yyDollar[1].list) - 1; i >= 0; i-- { yyDollar[1].list[i].(*ast.ExprVariable).VarName = yyDollar[2].node - yyDollar[1].list[i].(*ast.ExprVariable).Node.Position = position.NewNodesPosition(yyDollar[1].list[i], yyDollar[2].node) + yyDollar[1].list[i].(*ast.ExprVariable).Position = position.NewNodesPosition(yyDollar[1].list[i], yyDollar[2].node) yyDollar[2].node = yyDollar[1].list[i] } @@ -8273,18 +7485,16 @@ yydefault: } case 459: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5728 + // line internal/php5/php5.y:4940 { yyVAL.node = yyDollar[1].node } case 460: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5735 + // line internal/php5/php5.y:4947 { yyVAL.node = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -8293,12 +7503,10 @@ yydefault: } case 461: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5747 + // line internal/php5/php5.y:4957 { yyVAL.node = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -8307,22 +7515,18 @@ yydefault: } case 462: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5759 + // line internal/php5/php5.y:4967 { yyVAL.node = yyDollar[1].node } case 463: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5767 + // line internal/php5/php5.y:4975 { yyVAL.node = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -8330,17 +7534,13 @@ yydefault: } case 464: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5782 + // line internal/php5/php5.y:4986 { yyVAL.node = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), DollarTkn: yyDollar[1].token, VarName: &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), OpenBracketTkn: yyDollar[2].token, Child: yyDollar[3].node, CloseBracketTkn: yyDollar[4].token, @@ -8349,43 +7549,39 @@ yydefault: } case 465: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:5802 + // line internal/php5/php5.y:5002 { yyVAL.node = nil } case 466: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5806 + // line internal/php5/php5.y:5006 { yyVAL.node = yyDollar[1].node } case 467: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5814 + // line internal/php5/php5.y:5014 { yyVAL.list = yyDollar[1].list } case 468: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5818 + // line internal/php5/php5.y:5018 { yyVAL.list = []ast.Vertex{ &ast.ExprPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, + Position: position.NewNodePosition(yyDollar[1].node), Property: yyDollar[1].node, }, } } case 469: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5832 + // line internal/php5/php5.y:5030 { fetch := &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), Var: nil, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -8396,12 +7592,10 @@ yydefault: } case 470: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5846 + // line internal/php5/php5.y:5042 { fetch := &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), Var: nil, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -8412,37 +7606,31 @@ yydefault: } case 471: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5860 + // line internal/php5/php5.y:5054 { yyVAL.list = []ast.Vertex{ &ast.ExprPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, + Position: position.NewNodePosition(yyDollar[1].node), Property: yyDollar[1].node, }, } } case 472: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5874 + // line internal/php5/php5.y:5066 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 473: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5884 + // line internal/php5/php5.y:5074 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -8450,31 +7638,27 @@ yydefault: } case 474: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5898 + // line internal/php5/php5.y:5086 { yyVAL.list = []ast.Vertex{ &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), DollarTkn: yyDollar[1].token, }, } } case 475: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:5909 + // line internal/php5/php5.y:5095 { yyVAL.list = append(yyDollar[1].list, &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), DollarTkn: yyDollar[2].token, }) } case 476: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5921 + // line internal/php5/php5.y:5105 { 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) @@ -8483,7 +7667,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5928 + // line internal/php5/php5.y:5112 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -8491,18 +7675,16 @@ yydefault: } case 478: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5938 + // line internal/php5/php5.y:5122 { yyVAL.node = &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, - Val: yyDollar[1].node, + Position: position.NewNodePosition(yyDollar[1].node), + Val: yyDollar[1].node, } } case 479: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5947 + // line internal/php5/php5.y:5129 { pairList := yyDollar[3].node.(*ast.ParserSeparatedList) fistPair := pairList.Items[0].(*ast.ExprArrayItem) @@ -8512,13 +7694,9 @@ yydefault: } yyVAL.node = &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Val: &ast.ExprList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), ListTkn: yyDollar[1].token, OpenBracketTkn: yyDollar[2].token, Items: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -8529,19 +7707,19 @@ yydefault: } case 480: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:5972 + // line internal/php5/php5.y:5150 { yyVAL.node = &ast.ExprArrayItem{} } case 481: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:5980 + // line internal/php5/php5.y:5158 { yyVAL.node = &ast.ParserSeparatedList{} } case 482: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:5984 + // line internal/php5/php5.y:5162 { if yyDollar[2].token != nil { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) @@ -8552,12 +7730,10 @@ yydefault: } case 483: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:5996 + // line internal/php5/php5.y:5174 { arrayItem := &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[3].node, yyDollar[5].node), - }, + Position: position.NewNodesPosition(yyDollar[3].node, yyDollar[5].node), Key: yyDollar[3].node, DoubleArrowTkn: yyDollar[4].token, Val: yyDollar[5].node, @@ -8570,13 +7746,11 @@ yydefault: } case 484: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6012 + // line internal/php5/php5.y:5188 { arrayItem := &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[3].node), - }, - Val: yyDollar[3].node, + Position: position.NewNodePosition(yyDollar[3].node), + Val: yyDollar[3].node, } yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) @@ -8586,14 +7760,12 @@ yydefault: } case 485: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6026 + // line internal/php5/php5.y:5200 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Key: yyDollar[1].node, DoubleArrowTkn: yyDollar[2].token, Val: yyDollar[3].node, @@ -8603,33 +7775,27 @@ yydefault: } case 486: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:6041 + // line internal/php5/php5.y:5213 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, - Val: yyDollar[1].node, + Position: position.NewNodePosition(yyDollar[1].node), + Val: yyDollar[1].node, }, }, } } case 487: yyDollar = yyS[yypt-6 : yypt+1] -// line internal/php5/php5.y:6054 + // line internal/php5/php5.y:5224 { arrayItem := &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[3].node, yyDollar[6].node), - }, + Position: position.NewNodesPosition(yyDollar[3].node, yyDollar[6].node), Key: yyDollar[3].node, DoubleArrowTkn: yyDollar[4].token, Val: &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[5].token, yyDollar[6].node), - }, + Position: position.NewTokenNodePosition(yyDollar[5].token, yyDollar[6].node), AmpersandTkn: yyDollar[5].token, Var: yyDollar[6].node, }, @@ -8642,16 +7808,12 @@ yydefault: } case 488: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:6076 + // line internal/php5/php5.y:5242 { arrayItem := &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node), - }, + Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node), Val: &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node), - }, + Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node), AmpersandTkn: yyDollar[3].token, Var: yyDollar[4].node, }, @@ -8664,20 +7826,16 @@ yydefault: } case 489: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:6096 + // line internal/php5/php5.y:5258 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Key: yyDollar[1].node, DoubleArrowTkn: yyDollar[2].token, Val: &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node), - }, + Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node), AmpersandTkn: yyDollar[3].token, Var: yyDollar[4].node, }, @@ -8687,18 +7845,14 @@ yydefault: } case 490: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:6117 + // line internal/php5/php5.y:5275 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), Val: &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), AmpersandTkn: yyDollar[1].token, Var: yyDollar[2].node, }, @@ -8708,20 +7862,18 @@ yydefault: } case 491: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:6139 + // line internal/php5/php5.y:5293 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 492: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:6143 + // line internal/php5/php5.y:5297 { yyVAL.list = append( yyDollar[1].list, &ast.ScalarEncapsedStringPart{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), EncapsedStrTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -8729,19 +7881,17 @@ yydefault: } case 493: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:6156 + // line internal/php5/php5.y:5308 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 494: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:6160 + // line internal/php5/php5.y:5312 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), EncapsedStrTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -8750,16 +7900,12 @@ yydefault: } case 495: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:6176 + // line internal/php5/php5.y:5326 { yyVAL.node = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -8767,20 +7913,14 @@ yydefault: } case 496: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:6191 + // line internal/php5/php5.y:5337 { yyVAL.node = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -8792,29 +7932,21 @@ yydefault: } case 497: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6214 + // line internal/php5/php5.y:5354 { yyVAL.node = &ast.ExprPropertyFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, }, ObjectOperatorTkn: yyDollar[2].token, Property: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -8822,39 +7954,29 @@ yydefault: } case 498: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6242 + // line internal/php5/php5.y:5374 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[2].node), - }, - VarName: yyDollar[2].node, + Position: position.NewNodePosition(yyDollar[2].node), + VarName: yyDollar[2].node, }, CloseBracketTkn: yyDollar[3].token, } } case 499: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6258 + // line internal/php5/php5.y:5386 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -8864,25 +7986,17 @@ yydefault: } case 500: yyDollar = yyS[yypt-6 : yypt+1] -// line internal/php5/php5.y:6280 + // line internal/php5/php5.y:5402 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token), OpenBracketTkn: yyDollar[1].token, Child: &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[5].token), - }, + Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[5].token), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -8896,12 +8010,10 @@ yydefault: } case 501: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6310 + // line internal/php5/php5.y:5424 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -8909,34 +8021,28 @@ yydefault: } case 502: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:6324 + // line internal/php5/php5.y:5436 { yyVAL.node = &ast.ScalarString{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), StringTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 503: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:6334 + // line internal/php5/php5.y:5444 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string(yyDollar[1].token.Value)); err == nil { yyVAL.node = &ast.ScalarLnumber{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), NumberTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } else { yyVAL.node = &ast.ScalarString{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), StringTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } @@ -8944,16 +8050,12 @@ yydefault: } case 504: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:6355 + // line internal/php5/php5.y:5461 { yyVAL.node = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -8961,12 +8063,10 @@ yydefault: } case 505: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:6373 + // line internal/php5/php5.y:5475 { yyVAL.node = &ast.ExprIsset{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), IssetTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Vars: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -8976,12 +8076,10 @@ yydefault: } case 506: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:6386 + // line internal/php5/php5.y:5486 { yyVAL.node = &ast.ExprEmpty{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), EmptyTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -8990,12 +8088,10 @@ yydefault: } case 507: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:6398 + // line internal/php5/php5.y:5496 { yyVAL.node = &ast.ExprEmpty{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), EmptyTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -9004,36 +8100,30 @@ yydefault: } case 508: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:6410 + // line internal/php5/php5.y:5506 { yyVAL.node = &ast.ExprInclude{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), IncludeTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 509: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:6420 + // line internal/php5/php5.y:5514 { yyVAL.node = &ast.ExprIncludeOnce{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), IncludeTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 510: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:6430 + // line internal/php5/php5.y:5522 { yyVAL.node = &ast.ExprEval{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), EvalTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -9042,31 +8132,27 @@ yydefault: } case 511: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:6442 + // line internal/php5/php5.y:5532 { yyVAL.node = &ast.ExprRequire{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), RequireTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 512: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:6452 + // line internal/php5/php5.y:5540 { yyVAL.node = &ast.ExprRequireOnce{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), RequireOnceTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 513: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:6465 + // line internal/php5/php5.y:5551 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -9074,7 +8160,7 @@ yydefault: } case 514: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6471 + // line internal/php5/php5.y:5557 { 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) @@ -9083,30 +8169,26 @@ yydefault: } case 515: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:6481 + // line internal/php5/php5.y:5567 { yyVAL.node = yyDollar[1].node } case 516: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:6485 + // line internal/php5/php5.y:5571 { yyVAL.node = yyDollar[1].node } case 517: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6492 + // line internal/php5/php5.y:5578 { yyVAL.node = &ast.ExprClassConstFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, ConstantName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -9114,18 +8196,14 @@ yydefault: } case 518: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6509 + // line internal/php5/php5.y:5591 { yyVAL.node = &ast.ExprClassConstFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, ConstantName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -9133,18 +8211,14 @@ yydefault: } case 519: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6529 + // line internal/php5/php5.y:5607 { yyVAL.node = &ast.ExprClassConstFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, ConstantName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -9152,18 +8226,14 @@ yydefault: } case 520: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6549 + // line internal/php5/php5.y:5623 { yyVAL.node = &ast.ExprClassConstFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, ConstantName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, diff --git a/internal/php5/php5.y b/internal/php5/php5.y index d15a4f1..95abd7e 100644 --- a/internal/php5/php5.y +++ b/internal/php5/php5.y @@ -266,9 +266,7 @@ start: top_statement_list { yylex.(*Parser).rootNode = &ast.Root{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1), - }, + Position: position.NewNodeListPosition($1), Stmts: $1, EndTkn: yylex.(*Parser).currentToken, } @@ -294,9 +292,7 @@ namespace_name: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.NameNamePart{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), StringTkn: $1, Value: $1.Value, }, @@ -306,9 +302,7 @@ namespace_name: | namespace_name T_NS_SEPARATOR T_STRING { part := &ast.NameNamePart{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), StringTkn: $3, Value: $3.Value, } @@ -341,9 +335,7 @@ top_statement: | T_HALT_COMPILER '(' ')' ';' { $$ = &ast.StmtHaltCompiler{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), HaltCompilerTkn: $1, OpenParenthesisTkn: $2, CloseParenthesisTkn: $3, @@ -353,14 +345,10 @@ top_statement: | T_NAMESPACE namespace_name ';' { $$ = &ast.StmtNamespace{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), NsTkn: $1, Name: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -370,14 +358,10 @@ top_statement: | T_NAMESPACE namespace_name '{' top_statement_list '}' { $$ = &ast.StmtNamespace{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $5), - }, + Position: position.NewTokensPosition($1, $5), NsTkn: $1, Name: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -389,9 +373,7 @@ top_statement: | T_NAMESPACE '{' top_statement_list '}' { $$ = &ast.StmtNamespace{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), NsTkn: $1, OpenCurlyBracket: $2, Stmts: $3, @@ -401,9 +383,7 @@ top_statement: | T_USE use_declarations ';' { $$ = &ast.StmtUse{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), UseTkn: $1, UseDeclarations: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -413,14 +393,10 @@ top_statement: | T_USE T_FUNCTION use_function_declarations ';' { $$ = &ast.StmtUse{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), UseTkn: $1, Type: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -432,14 +408,10 @@ top_statement: | T_USE T_CONST use_const_declarations ';' { $$ = &ast.StmtUse{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), UseTkn: $1, Type: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -451,7 +423,7 @@ top_statement: | constant_declaration ';' { $1.(*ast.StmtConstList).SemiColonTkn = $2 - $1.(*ast.StmtConstList).Node.Position = position.NewNodeTokenPosition($1, $2) + $1.(*ast.StmtConstList).Position = position.NewNodeTokenPosition($1, $2) $$ = $1 } ; @@ -476,13 +448,9 @@ use_declaration: namespace_name { $$ = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -491,21 +459,15 @@ use_declaration: | namespace_name T_AS T_STRING { $$ = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $3), - }, + Position: position.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $3), Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: $2, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -514,14 +476,10 @@ use_declaration: | T_NS_SEPARATOR namespace_name { $$ = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: $1, Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -530,22 +488,16 @@ use_declaration: | T_NS_SEPARATOR namespace_name T_AS T_STRING { $$ = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), NsSeparatorTkn: $1, Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: $3, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -573,13 +525,9 @@ use_function_declaration: namespace_name { $$ = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -588,21 +536,15 @@ use_function_declaration: | namespace_name T_AS T_STRING { $$ = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $3), - }, + Position: position.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $3), Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: $2, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -611,14 +553,10 @@ use_function_declaration: | T_NS_SEPARATOR namespace_name { $$ = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: $1, Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -627,22 +565,16 @@ use_function_declaration: | T_NS_SEPARATOR namespace_name T_AS T_STRING { $$ = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), NsSeparatorTkn: $1, Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: $3, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -670,13 +602,9 @@ use_const_declaration: namespace_name { $$ = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -685,21 +613,15 @@ use_const_declaration: | namespace_name T_AS T_STRING { $$ = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $3), - }, + Position: position.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $3), Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: $2, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -708,14 +630,10 @@ use_const_declaration: | T_NS_SEPARATOR namespace_name { $$ = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: $1, Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -724,22 +642,16 @@ use_const_declaration: | T_NS_SEPARATOR namespace_name T_AS T_STRING { $$ = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), NsSeparatorTkn: $1, Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: $3, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -751,16 +663,12 @@ constant_declaration: constant_declaration ',' T_STRING '=' static_scalar { constList := $1.(*ast.StmtConstList) - constList.Node.Position = position.NewNodesPosition($1, $5) + constList.Position = position.NewNodesPosition($1, $5) constList.SeparatorTkns = append(constList.SeparatorTkns, $2) constList.Consts = append(constList.Consts, &ast.StmtConstant{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($3, $5), - }, + Position: position.NewTokenNodePosition($3, $5), Name: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -773,19 +681,13 @@ constant_declaration: | T_CONST T_STRING '=' static_scalar { $$ = &ast.StmtConstList{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $4), - }, + Position: position.NewTokenNodePosition($1, $4), ConstTkn: $1, Consts: []ast.Vertex{ &ast.StmtConstant{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($2, $4), - }, + Position: position.NewTokenNodePosition($2, $4), Name: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -832,9 +734,7 @@ inner_statement: | T_HALT_COMPILER '(' ')' ';' { $$ = &ast.StmtHaltCompiler{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), HaltCompilerTkn: $1, OpenParenthesisTkn: $2, CloseParenthesisTkn: $3, @@ -852,13 +752,9 @@ statement: | T_STRING ':' { $$ = &ast.StmtLabel{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $2), - }, + Position: position.NewTokensPosition($1, $2), LabelName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -871,9 +767,7 @@ unticked_statement: '{' inner_statement_list '}' { $$ = &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenCurlyBracket: $1, Stmts: $2, CloseCurlyBracket: $3, @@ -889,9 +783,7 @@ unticked_statement: } $$ = &ast.StmtIf{ - Node: ast.Node{ - Position: pos, - }, + Position: pos, IfTkn: $1, OpenParenthesisTkn: $2.(*ast.ParserBrackets).OpenBracketTkn, Cond: $2.(*ast.ParserBrackets).Child, @@ -904,9 +796,7 @@ unticked_statement: | T_IF parenthesis_expr ':' inner_statement_list new_elseif_list new_else_single T_ENDIF ';' { $$ = &ast.StmtIf{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $8), - }, + Position: position.NewTokensPosition($1, $8), Alt: true, IfTkn: $1, OpenParenthesisTkn: $2.(*ast.ParserBrackets).OpenBracketTkn, @@ -914,9 +804,7 @@ unticked_statement: CloseParenthesisTkn: $2.(*ast.ParserBrackets).CloseBracketTkn, ColonTkn: $3, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition($4), - }, + Position: position.NewNodeListPosition($4), Stmts: $4, }, ElseIf: $5, @@ -931,16 +819,14 @@ unticked_statement: $3.(*ast.StmtWhile).OpenParenthesisTkn = $2.(*ast.ParserBrackets).OpenBracketTkn $3.(*ast.StmtWhile).Cond = $2.(*ast.ParserBrackets).Child $3.(*ast.StmtWhile).CloseParenthesisTkn = $2.(*ast.ParserBrackets).CloseBracketTkn - $3.(*ast.StmtWhile).Node.Position = position.NewTokenNodePosition($1, $3) + $3.(*ast.StmtWhile).Position = position.NewTokenNodePosition($1, $3) $$ = $3 } | T_DO statement T_WHILE parenthesis_expr ';' { $$ = &ast.StmtDo{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $5), - }, + Position: position.NewTokensPosition($1, $5), DoTkn: $1, Stmt: $2, WhileTkn: $3, @@ -963,7 +849,7 @@ unticked_statement: $9.(*ast.StmtFor).Loop = $7.(*ast.ParserSeparatedList).Items $9.(*ast.StmtFor).LoopSeparatorTkns = $7.(*ast.ParserSeparatedList).SeparatorTkns $9.(*ast.StmtFor).CloseParenthesisTkn = $8 - $9.(*ast.StmtFor).Node.Position = position.NewTokenNodePosition($1, $9) + $9.(*ast.StmtFor).Position = position.NewTokenNodePosition($1, $9) $$ = $9 } @@ -973,16 +859,14 @@ unticked_statement: $3.(*ast.StmtSwitch).OpenParenthesisTkn = $2.(*ast.ParserBrackets).OpenBracketTkn $3.(*ast.StmtSwitch).Cond = $2.(*ast.ParserBrackets).Child $3.(*ast.StmtSwitch).CloseParenthesisTkn = $2.(*ast.ParserBrackets).CloseBracketTkn - $3.(*ast.StmtSwitch).Node.Position = position.NewTokenNodePosition($1, $3) + $3.(*ast.StmtSwitch).Position = position.NewTokenNodePosition($1, $3) $$ = $3 } | T_BREAK ';' { $$ = &ast.StmtBreak{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $2), - }, + Position: position.NewTokensPosition($1, $2), BreakTkn: $1, SemiColonTkn: $2, } @@ -990,9 +874,7 @@ unticked_statement: | T_BREAK expr ';' { $$ = &ast.StmtBreak{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), BreakTkn: $1, Expr: $2, SemiColonTkn: $3, @@ -1001,9 +883,7 @@ unticked_statement: | T_CONTINUE ';' { $$ = &ast.StmtContinue{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $2), - }, + Position: position.NewTokensPosition($1, $2), ContinueTkn: $1, SemiColonTkn: $2, } @@ -1011,9 +891,7 @@ unticked_statement: | T_CONTINUE expr ';' { $$ = &ast.StmtContinue{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), ContinueTkn: $1, Expr: $2, SemiColonTkn: $3, @@ -1022,9 +900,7 @@ unticked_statement: | T_RETURN ';' { $$ = &ast.StmtReturn{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $2), - }, + Position: position.NewTokensPosition($1, $2), ReturnTkn: $1, SemiColonTkn: $2, } @@ -1032,9 +908,7 @@ unticked_statement: | T_RETURN expr_without_variable ';' { $$ = &ast.StmtReturn{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), ReturnTkn: $1, Expr: $2, SemiColonTkn: $3, @@ -1043,9 +917,7 @@ unticked_statement: | T_RETURN variable ';' { $$ = &ast.StmtReturn{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), ReturnTkn: $1, Expr: $2, SemiColonTkn: $3, @@ -1054,9 +926,7 @@ unticked_statement: | yield_expr ';' { $$ = &ast.StmtExpression{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $2), - }, + Position: position.NewNodeTokenPosition($1, $2), Expr: $1, SemiColonTkn: $2, } @@ -1066,7 +936,7 @@ unticked_statement: $2.(*ast.StmtGlobal).GlobalTkn = $1 $2.(*ast.StmtGlobal).SemiColonTkn = $3 $2.(*ast.StmtGlobal).SeparatorTkns = append($2.(*ast.StmtGlobal).SeparatorTkns, nil) - $2.(*ast.StmtGlobal).Node.Position = position.NewTokensPosition($1, $3) + $2.(*ast.StmtGlobal).Position = position.NewTokensPosition($1, $3) $$ = $2 } @@ -1075,7 +945,7 @@ unticked_statement: $2.(*ast.StmtStatic).StaticTkn = $1 $2.(*ast.StmtStatic).SemiColonTkn = $3 $2.(*ast.StmtStatic).SeparatorTkns = append($2.(*ast.StmtStatic).SeparatorTkns, nil) - $2.(*ast.StmtStatic).Node.Position = position.NewTokensPosition($1, $3) + $2.(*ast.StmtStatic).Position = position.NewTokensPosition($1, $3) $$ = $2 } @@ -1083,16 +953,14 @@ unticked_statement: { $2.(*ast.StmtEcho).EchoTkn = $1 $2.(*ast.StmtEcho).SemiColonTkn = $3 - $2.(*ast.StmtEcho).Node.Position = position.NewTokensPosition($1, $3) + $2.(*ast.StmtEcho).Position = position.NewTokensPosition($1, $3) $$ = $2 } | T_INLINE_HTML { $$ = &ast.StmtInlineHtml{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), InlineHtmlTkn: $1, Value: $1.Value, } @@ -1100,9 +968,7 @@ unticked_statement: | expr ';' { $$ = &ast.StmtExpression{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $2), - }, + Position: position.NewNodeTokenPosition($1, $2), Expr: $1, SemiColonTkn: $2, } @@ -1113,7 +979,7 @@ unticked_statement: $3.(*ast.StmtUnset).OpenParenthesisTkn = $2 $3.(*ast.StmtUnset).CloseParenthesisTkn = $4 $3.(*ast.StmtUnset).SemiColonTkn = $5 - $3.(*ast.StmtUnset).Node.Position = position.NewTokensPosition($1, $5) + $3.(*ast.StmtUnset).Position = position.NewTokensPosition($1, $5) $$ = $3 } @@ -1131,7 +997,7 @@ unticked_statement: $8.(*ast.StmtForeach).Var = $6.(*ast.StmtForeach).Var } $8.(*ast.StmtForeach).CloseParenthesisTkn = $7 - $8.(*ast.StmtForeach).Node.Position = position.NewTokenNodePosition($1, $8) + $8.(*ast.StmtForeach).Position = position.NewTokenNodePosition($1, $8) $$ = $8 } @@ -1149,7 +1015,7 @@ unticked_statement: $8.(*ast.StmtForeach).Var = $6.(*ast.StmtForeach).Var } $8.(*ast.StmtForeach).CloseParenthesisTkn = $7 - $8.(*ast.StmtForeach).Node.Position = position.NewTokenNodePosition($1, $8) + $8.(*ast.StmtForeach).Position = position.NewTokenNodePosition($1, $8) $$ = $8 } @@ -1160,22 +1026,26 @@ unticked_statement: $5.(*ast.StmtDeclare).Consts = $3.(*ast.ParserSeparatedList).Items $5.(*ast.StmtDeclare).SeparatorTkns = $3.(*ast.ParserSeparatedList).SeparatorTkns $5.(*ast.StmtDeclare).CloseParenthesisTkn = $4 - $5.(*ast.StmtDeclare).Node.Position = position.NewTokenNodePosition($1, $5) + $5.(*ast.StmtDeclare).Position = position.NewTokenNodePosition($1, $5) $$ = $5 } | ';' { $$ = &ast.StmtNop{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), SemiColonTkn: $1, } } | T_TRY '{' inner_statement_list '}' catch_statement finally_statement { + pos := position.NewTokenNodeListPosition($1, $5) + if $6 != nil { + pos = position.NewTokenNodePosition($1, $6) + } + $$ = &ast.StmtTry{ + Position: pos, TryTkn: $1, OpenCurlyBracket: $2, Stmts: $3, @@ -1183,19 +1053,11 @@ unticked_statement: Catches: $5, Finally: $6, } - - if $6 == nil { - $$.GetNode().Position = position.NewTokenNodeListPosition($1, $5) - } else { - $$.GetNode().Position = position.NewTokenNodePosition($1, $6) - } } | T_THROW expr ';' { $$ = &ast.StmtThrow{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), ThrowTkn: $1, Expr: $2, SemiColonTkn: $3, @@ -1204,14 +1066,10 @@ unticked_statement: | T_GOTO T_STRING ';' { $$ = &ast.StmtGoto{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), GotoTkn: $1, Label: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -1228,20 +1086,14 @@ catch_statement: | T_CATCH '(' fully_qualified_class_name T_VARIABLE ')' '{' inner_statement_list '}' additional_catches { catch := &ast.StmtCatch{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $8), - }, + Position: position.NewTokensPosition($1, $8), CatchTkn: $1, OpenParenthesisTkn: $2, Types: []ast.Vertex{$3}, Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -1263,9 +1115,7 @@ finally_statement: | T_FINALLY '{' inner_statement_list '}' { $$ = &ast.StmtFinally{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), FinallyTkn: $1, OpenCurlyBracketTkn: $2, Stmts: $3, @@ -1300,20 +1150,14 @@ additional_catch: T_CATCH '(' fully_qualified_class_name T_VARIABLE ')' '{' inner_statement_list '}' { $$ = &ast.StmtCatch{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $8), - }, + Position: position.NewTokensPosition($1, $8), CatchTkn: $1, OpenParenthesisTkn: $2, Types: []ast.Vertex{$3}, Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -1389,15 +1233,11 @@ unticked_function_declaration_statement: function is_reference T_STRING '(' parameter_list ')' '{' inner_statement_list '}' { $$ = &ast.StmtFunction{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $9), - }, + Position: position.NewTokensPosition($1, $9), FunctionTkn: $1, AmpersandTkn: $2, FunctionName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -1419,9 +1259,7 @@ unticked_class_declaration_statement: case *ast.StmtClass : n.Position = position.NewNodeTokenPosition($1, $7) n.ClassName = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, } @@ -1433,9 +1271,7 @@ unticked_class_declaration_statement: case *ast.StmtTrait : n.Position = position.NewNodeTokenPosition($1, $7) n.TraitName = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, } @@ -1451,14 +1287,10 @@ unticked_class_declaration_statement: | interface_entry T_STRING interface_extends_list '{' class_statement_list '}' { $$ = &ast.StmtInterface{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $6), - }, + Position: position.NewTokensPosition($1, $6), InterfaceTkn: $1, InterfaceName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -1475,23 +1307,17 @@ class_entry_type: T_CLASS { $$ = &ast.StmtClass{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), ClassTkn: $1, } } | T_ABSTRACT T_CLASS { $$ = &ast.StmtClass{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $2), - }, + Position: position.NewTokensPosition($1, $2), Modifiers: []ast.Vertex{ &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -1502,23 +1328,17 @@ class_entry_type: | T_TRAIT { $$ = &ast.StmtTrait{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), TraitTkn: $1, } } | T_FINAL T_CLASS { $$ = &ast.StmtClass{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $2), - }, + Position: position.NewTokensPosition($1, $2), Modifiers: []ast.Vertex{ &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -1536,9 +1356,7 @@ extends_from: | T_EXTENDS fully_qualified_class_name { $$ = &ast.StmtClassExtends{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), ExtendTkn: $1, ClassName: $2, } @@ -1560,9 +1378,7 @@ interface_extends_list: | T_EXTENDS interface_list { $$ = &ast.StmtInterfaceExtends{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), ExtendsTkn: $1, InterfaceNames: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -1578,9 +1394,7 @@ implements_list: | T_IMPLEMENTS interface_list { $$ = &ast.StmtClassImplements{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), ImplementsTkn: $1, InterfaceNames: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -1626,9 +1440,7 @@ foreach_variable: | '&' variable { $$ = &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), AmpersandTkn: $1, Var: $2, } @@ -1643,9 +1455,7 @@ foreach_variable: } $$ = &ast.ExprList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), ListTkn: $1, OpenBracketTkn: $2, Items: $3.(*ast.ParserSeparatedList).Items, @@ -1659,24 +1469,18 @@ for_statement: statement { $$ = &ast.StmtFor{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), Stmt: $1, } } | ':' inner_statement_list T_ENDFOR ';' { $$ = &ast.StmtFor{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2), - }, + Position: position.NewNodeListPosition($2), Stmts: $2, }, EndForTkn: $3, @@ -1689,24 +1493,18 @@ foreach_statement: statement { $$ = &ast.StmtForeach{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), Stmt: $1, } } | ':' inner_statement_list T_ENDFOREACH ';' { $$ = &ast.StmtForeach{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2), - }, + Position: position.NewNodeListPosition($2), Stmts: $2, }, EndForeachTkn: $3, @@ -1720,24 +1518,18 @@ declare_statement: statement { $$ = &ast.StmtDeclare{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), Stmt: $1, } } | ':' inner_statement_list T_ENDDECLARE ';' { $$ = &ast.StmtDeclare{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2), - }, + Position: position.NewNodeListPosition($2), Stmts: $2, }, EndDeclareTkn: $3, @@ -1753,13 +1545,9 @@ declare_list: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.StmtConstant{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $3), - }, + Position: position.NewTokenNodePosition($1, $3), Name: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -1775,13 +1563,9 @@ declare_list: $1.(*ast.ParserSeparatedList).Items = append( $1.(*ast.ParserSeparatedList).Items, &ast.StmtConstant{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($3, $5), - }, + Position: position.NewTokenNodePosition($3, $5), Name: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -1799,9 +1583,7 @@ switch_case_list: '{' case_list '}' { $$ = &ast.StmtSwitch{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenCurlyBracketTkn: $1, CaseList: $2, CloseCurlyBracketTkn: $3, @@ -1810,9 +1592,7 @@ switch_case_list: | '{' ';' case_list '}' { $$ = &ast.StmtSwitch{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), OpenCurlyBracketTkn: $1, CaseSeparatorTkn: $2, CaseList: $3, @@ -1822,9 +1602,7 @@ switch_case_list: | ':' case_list T_ENDSWITCH ';' { $$ = &ast.StmtSwitch{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, CaseList: $2, @@ -1835,9 +1613,7 @@ switch_case_list: | ':' ';' case_list T_ENDSWITCH ';' { $$ = &ast.StmtSwitch{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $5), - }, + Position: position.NewTokensPosition($1, $5), Alt: true, ColonTkn: $1, CaseSeparatorTkn: $2, @@ -1857,9 +1633,7 @@ case_list: | case_list T_CASE expr case_separator inner_statement_list { $$ = append($1, &ast.StmtCase{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($2, $5), - }, + Position: position.NewTokenNodeListPosition($2, $5), CaseTkn: $2, Cond: $3, CaseSeparatorTkn: $4, @@ -1869,9 +1643,7 @@ case_list: | case_list T_DEFAULT case_separator inner_statement_list { $$ = append($1, &ast.StmtDefault{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($2, $4), - }, + Position: position.NewTokenNodeListPosition($2, $4), DefaultTkn: $2, CaseSeparatorTkn: $3, Stmts: $4, @@ -1896,24 +1668,18 @@ while_statement: statement { $$ = &ast.StmtWhile{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), Stmt: $1, } } | ':' inner_statement_list T_ENDWHILE ';' { $$ = &ast.StmtWhile{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2), - }, + Position: position.NewNodeListPosition($2), Stmts: $2, }, EndWhileTkn: $3, @@ -1932,9 +1698,7 @@ elseif_list: | elseif_list T_ELSEIF parenthesis_expr statement { $$ = append($1, &ast.StmtElseIf{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($2, $4), - }, + Position: position.NewTokenNodePosition($2, $4), ElseIfTkn: $2, OpenParenthesisTkn: $3.(*ast.ParserBrackets).OpenBracketTkn, Cond: $3.(*ast.ParserBrackets).Child, @@ -1953,9 +1717,7 @@ new_elseif_list: | new_elseif_list T_ELSEIF parenthesis_expr ':' inner_statement_list { $$ = append($1, &ast.StmtElseIf{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($2, $5), - }, + Position: position.NewTokenNodeListPosition($2, $5), Alt: true, ElseIfTkn: $2, OpenParenthesisTkn: $3.(*ast.ParserBrackets).OpenBracketTkn, @@ -1963,9 +1725,7 @@ new_elseif_list: CloseParenthesisTkn: $3.(*ast.ParserBrackets).CloseBracketTkn, ColonTkn: $4, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition($5), - }, + Position: position.NewNodeListPosition($5), Stmts: $5, }, }) @@ -1981,9 +1741,7 @@ else_single: | T_ELSE statement { $$ = &ast.StmtElse{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), ElseTkn: $1, Stmt: $2, } @@ -1999,16 +1757,12 @@ new_else_single: | T_ELSE ':' inner_statement_list { $$ = &ast.StmtElse{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $3), - }, + Position: position.NewTokenNodeListPosition($1, $3), Alt: true, ElseTkn: $1, ColonTkn: $2, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition($3), - }, + Position: position.NewNodeListPosition($3), Stmts: $3, }, } @@ -2056,20 +1810,14 @@ parameter: } $$ = &ast.Parameter{ - Node: ast.Node{ - Position: pos, - }, + Position: pos, Type: $1, AmpersandTkn: $2, VariadicTkn: $3, Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -2088,20 +1836,14 @@ parameter: } $$ = &ast.Parameter{ - Node: ast.Node{ - Position: pos, - }, + Position: pos, Type: $1, AmpersandTkn: $2, VariadicTkn: $3, Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -2121,9 +1863,7 @@ optional_class_type: | T_ARRAY { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2131,9 +1871,7 @@ optional_class_type: | T_CALLABLE { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2149,9 +1887,7 @@ function_call_parameter_list: '(' ')' { $$ = &ast.ArgumentList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $2), - }, + Position: position.NewTokensPosition($1, $2), OpenParenthesisTkn: $1, CloseParenthesisTkn: $2, } @@ -2168,15 +1904,11 @@ function_call_parameter_list: | '(' yield_expr ')' { $$ = &ast.ArgumentList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenParenthesisTkn: $1, Arguments: []ast.Vertex{ &ast.Argument{ - Node: ast.Node{ - Position: position.NewNodePosition($2), - }, + Position: position.NewNodePosition($2), Expr: $2, }, }, @@ -2206,27 +1938,21 @@ function_call_parameter: expr_without_variable { $$ = &ast.Argument{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), Expr: $1, } } | variable { $$ = &ast.Argument{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), Expr: $1, } } | '&' w_variable { $$ = &ast.Argument{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), AmpersandTkn: $1, Expr: $2, } @@ -2234,9 +1960,7 @@ function_call_parameter: | T_ELLIPSIS expr { $$ = &ast.Argument{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), VariadicTkn: $1, Expr: $2, } @@ -2264,13 +1988,9 @@ global_var: T_VARIABLE { $$ = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2279,9 +1999,7 @@ global_var: | '$' r_variable { $$ = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), DollarTkn: $1, VarName: $2, } @@ -2289,14 +2007,10 @@ global_var: | '$' '{' expr '}' { $$ = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), DollarTkn: $1, VarName: &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($2, $4), - }, + Position: position.NewTokensPosition($2, $4), OpenBracketTkn: $2, Child: $3, CloseBracketTkn: $4, @@ -2310,17 +2024,11 @@ static_var_list: static_var_list ',' T_VARIABLE { $1.(*ast.StmtStatic).Vars = append($1.(*ast.StmtStatic).Vars, &ast.StmtStaticVar{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -2333,17 +2041,11 @@ static_var_list: | static_var_list ',' T_VARIABLE '=' static_scalar { $1.(*ast.StmtStatic).Vars = append($1.(*ast.StmtStatic).Vars, &ast.StmtStaticVar{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($3, $5), - }, + Position: position.NewTokenNodePosition($3, $5), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -2360,17 +2062,11 @@ static_var_list: $$ = &ast.StmtStatic{ Vars: []ast.Vertex{ &ast.StmtStaticVar{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2384,17 +2080,11 @@ static_var_list: $$ = &ast.StmtStatic{ Vars: []ast.Vertex{ &ast.StmtStaticVar{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $3), - }, + Position: position.NewTokenNodePosition($1, $3), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2424,9 +2114,7 @@ class_statement: variable_modifiers class_variable_declaration ';' { $$ = &ast.StmtPropertyList{ - Node: ast.Node{ - Position: position.NewNodeListTokenPosition($1, $3), - }, + Position: position.NewNodeListTokenPosition($1, $3), Modifiers: $1, Properties: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -2436,7 +2124,7 @@ class_statement: | class_constant_declaration ';' { $1.(*ast.StmtClassConstList).SemiColonTkn = $2 - $1.(*ast.StmtClassConstList).Node.Position = position.NewNodeTokenPosition($1, $2) + $1.(*ast.StmtClassConstList).Position = position.NewNodeTokenPosition($1, $2) $$ = $1 } | trait_use_statement @@ -2447,20 +2135,16 @@ class_statement: { pos := position.NewTokenNodePosition($2, $8) if $1 != nil { - $$.GetNode().Position = position.NewNodeListNodePosition($1, $8) + pos = position.NewNodeListNodePosition($1, $8) } $$ = &ast.StmtClassMethod{ - Node: ast.Node{ - Position: pos, - }, + Position: pos, Modifiers: $1, FunctionTkn: $2, AmpersandTkn: $3, MethodName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -2477,9 +2161,7 @@ trait_use_statement: T_USE trait_list trait_adaptations { $$ = &ast.StmtTraitUse{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $3), - }, + Position: position.NewTokenNodePosition($1, $3), UseTkn: $1, Traits: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -2508,18 +2190,14 @@ trait_adaptations: ';' { $$ = &ast.StmtNop{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), SemiColonTkn: $1, } } | '{' trait_adaptation_list '}' { $$ = &ast.StmtTraitAdaptationList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenParenthesisTkn: $1, Adaptations: $2, CloseParenthesisTkn: $3, @@ -2568,9 +2246,7 @@ trait_precedence: trait_method_reference_fully_qualified T_INSTEADOF trait_reference_list { $$ = &ast.StmtTraitUsePrecedence{ - Node: ast.Node{ - Position: position.NewNodeNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), Ref: $1, InsteadofTkn: $2, Insteadof: $3.(*ast.ParserSeparatedList).Items, @@ -2599,13 +2275,9 @@ trait_method_reference: T_STRING { $$ = &ast.StmtTraitMethodRef{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), Method: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2621,15 +2293,11 @@ trait_method_reference_fully_qualified: fully_qualified_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { $$ = &ast.StmtTraitMethodRef{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $3), - }, + Position: position.NewNodeTokenPosition($1, $3), Trait: $1, DoubleColonTkn: $2, Method: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -2641,16 +2309,12 @@ trait_alias: trait_method_reference T_AS trait_modifiers T_STRING { $$ = &ast.StmtTraitUseAlias{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $4), - }, + Position: position.NewNodeTokenPosition($1, $4), Ref: $1, AsTkn: $2, Modifier: $3, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -2659,9 +2323,7 @@ trait_alias: | trait_method_reference T_AS member_modifier { $$ = &ast.StmtTraitUseAlias{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Ref: $1, AsTkn: $2, Modifier: $3, @@ -2684,18 +2346,14 @@ method_body: ';' /* abstract method */ { $$ = &ast.StmtNop{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), SemiColonTkn: $1, } } | '{' inner_statement_list '}' { $$ = &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenCurlyBracket: $1, Stmts: $2, CloseCurlyBracket: $3, @@ -2712,9 +2370,7 @@ variable_modifiers: { $$ = []ast.Vertex{ &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2748,9 +2404,7 @@ member_modifier: T_PUBLIC { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2758,9 +2412,7 @@ member_modifier: | T_PROTECTED { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2768,9 +2420,7 @@ member_modifier: | T_PRIVATE { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2778,9 +2428,7 @@ member_modifier: | T_STATIC { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2788,9 +2436,7 @@ member_modifier: | T_ABSTRACT { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2798,9 +2444,7 @@ member_modifier: | T_FINAL { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2811,17 +2455,11 @@ class_variable_declaration: class_variable_declaration ',' T_VARIABLE { item := &ast.StmtProperty{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -2836,17 +2474,11 @@ class_variable_declaration: | class_variable_declaration ',' T_VARIABLE '=' static_scalar { item := &ast.StmtProperty{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($3, $5), - }, + Position: position.NewTokenNodePosition($3, $5), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -2865,17 +2497,11 @@ class_variable_declaration: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.StmtProperty{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2890,17 +2516,11 @@ class_variable_declaration: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.StmtProperty{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $3), - }, + Position: position.NewTokenNodePosition($1, $3), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2917,16 +2537,12 @@ class_constant_declaration: class_constant_declaration ',' T_STRING '=' static_scalar { constList := $1.(*ast.StmtClassConstList) - constList.Node.Position = position.NewNodesPosition($1, $5) + constList.Position = position.NewNodesPosition($1, $5) constList.SeparatorTkns = append(constList.SeparatorTkns, $2) constList.Consts = append(constList.Consts, &ast.StmtConstant{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($3, $5), - }, + Position: position.NewTokenNodePosition($3, $5), Name: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -2939,19 +2555,13 @@ class_constant_declaration: | T_CONST T_STRING '=' static_scalar { $$ = &ast.StmtClassConstList{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $4), - }, + Position: position.NewTokenNodePosition($1, $4), ConstTkn: $1, Consts: []ast.Vertex{ &ast.StmtConstant{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($2, $4), - }, + Position: position.NewTokenNodePosition($2, $4), Name: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -3022,9 +2632,7 @@ chaining_dereference: chaining_dereference '[' dim_offset ']' { fetch := &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition($2, $4), - }, + Position: position.NewTokensPosition($2, $4), Var: nil, OpenBracketTkn: $2, Dim: $3, @@ -3036,9 +2644,7 @@ chaining_dereference: | '[' dim_offset ']' { fetch := &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), Var: nil, OpenBracketTkn: $1, Dim: $2, @@ -3080,9 +2686,7 @@ new_expr: { if $3 != nil { $$ = &ast.ExprNew{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $3), - }, + Position: position.NewTokenNodePosition($1, $3), NewTkn: $1, Class: $2, OpenParenthesisTkn: $3.(*ast.ArgumentList).OpenParenthesisTkn, @@ -3092,9 +2696,7 @@ new_expr: } } else { $$ = &ast.ExprNew{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), Class: $2, } } @@ -3105,13 +2707,9 @@ expr_without_variable: T_LIST '(' assignment_list ')' '=' expr { $$ = &ast.ExprAssign{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $6), - }, + Position: position.NewTokenNodePosition($1, $6), Var: &ast.ExprList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), ListTkn: $1, OpenBracketTkn: $2, Items: $3.(*ast.ParserSeparatedList).Items, @@ -3125,9 +2723,7 @@ expr_without_variable: | variable '=' expr { $$ = &ast.ExprAssign{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -3136,9 +2732,7 @@ expr_without_variable: | variable '=' '&' variable { $$ = &ast.ExprAssignReference{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $4), - }, + Position: position.NewNodesPosition($1, $4), Var: $1, EqualTkn: $2, AmpersandTkn: $3, @@ -3150,9 +2744,7 @@ expr_without_variable: var _new *ast.ExprNew if $3 != nil { _new = &ast.ExprNew{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($4, $6), - }, + Position: position.NewTokenNodePosition($4, $6), NewTkn: $4, Class: $5, OpenParenthesisTkn: $6.(*ast.ArgumentList).OpenParenthesisTkn, @@ -3162,18 +2754,14 @@ expr_without_variable: } } else { _new = &ast.ExprNew{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($4, $5), - }, + Position: position.NewTokenNodePosition($4, $5), NewTkn: $4, Class: $5, } } $$ = &ast.ExprAssignReference{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, _new), - }, + Position: position.NewNodesPosition($1, _new), Var: $1, EqualTkn: $2, AmpersandTkn: $3, @@ -3183,9 +2771,7 @@ expr_without_variable: | T_CLONE expr { $$ = &ast.ExprClone{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), CloneTkn: $1, Expr: $2, } @@ -3193,9 +2779,7 @@ expr_without_variable: | variable T_PLUS_EQUAL expr { $$ = &ast.ExprAssignPlus{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -3204,9 +2788,7 @@ expr_without_variable: | variable T_MINUS_EQUAL expr { $$ = &ast.ExprAssignMinus{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -3215,9 +2797,7 @@ expr_without_variable: | variable T_MUL_EQUAL expr { $$ = &ast.ExprAssignMul{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -3226,9 +2806,7 @@ expr_without_variable: | variable T_POW_EQUAL expr { $$ = &ast.ExprAssignPow{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -3237,9 +2815,7 @@ expr_without_variable: | variable T_DIV_EQUAL expr { $$ = &ast.ExprAssignDiv{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -3248,9 +2824,7 @@ expr_without_variable: | variable T_CONCAT_EQUAL expr { $$ = &ast.ExprAssignConcat{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -3259,9 +2833,7 @@ expr_without_variable: | variable T_MOD_EQUAL expr { $$ = &ast.ExprAssignMod{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -3270,9 +2842,7 @@ expr_without_variable: | variable T_AND_EQUAL expr { $$ = &ast.ExprAssignBitwiseAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -3281,9 +2851,7 @@ expr_without_variable: | variable T_OR_EQUAL expr { $$ = &ast.ExprAssignBitwiseOr{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -3292,9 +2860,7 @@ expr_without_variable: | variable T_XOR_EQUAL expr { $$ = &ast.ExprAssignBitwiseXor{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -3303,9 +2869,7 @@ expr_without_variable: | variable T_SL_EQUAL expr { $$ = &ast.ExprAssignShiftLeft{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -3314,9 +2878,7 @@ expr_without_variable: | variable T_SR_EQUAL expr { $$ = &ast.ExprAssignShiftRight{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -3325,9 +2887,7 @@ expr_without_variable: | rw_variable T_INC { $$ = &ast.ExprPostInc{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $2), - }, + Position: position.NewNodeTokenPosition($1, $2), Var: $1, IncTkn: $2, } @@ -3335,9 +2895,7 @@ expr_without_variable: | T_INC rw_variable { $$ = &ast.ExprPreInc{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), IncTkn: $1, Var: $2, } @@ -3345,9 +2903,7 @@ expr_without_variable: | rw_variable T_DEC { $$ = &ast.ExprPostDec{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $2), - }, + Position: position.NewNodeTokenPosition($1, $2), Var: $1, DecTkn: $2, } @@ -3355,9 +2911,7 @@ expr_without_variable: | T_DEC rw_variable { $$ = &ast.ExprPreDec{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), DecTkn: $1, Var: $2, } @@ -3365,9 +2919,7 @@ expr_without_variable: | expr T_BOOLEAN_OR expr { $$ = &ast.ExprBinaryBooleanOr{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3376,9 +2928,7 @@ expr_without_variable: | expr T_BOOLEAN_AND expr { $$ = &ast.ExprBinaryBooleanAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3387,9 +2937,7 @@ expr_without_variable: | expr T_LOGICAL_OR expr { $$ = &ast.ExprBinaryLogicalOr{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3398,9 +2946,7 @@ expr_without_variable: | expr T_LOGICAL_AND expr { $$ = &ast.ExprBinaryLogicalAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3409,9 +2955,7 @@ expr_without_variable: | expr T_LOGICAL_XOR expr { $$ = &ast.ExprBinaryLogicalXor{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3420,9 +2964,7 @@ expr_without_variable: | expr '|' expr { $$ = &ast.ExprBinaryBitwiseOr{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3431,9 +2973,7 @@ expr_without_variable: | expr '&' expr { $$ = &ast.ExprBinaryBitwiseAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3442,9 +2982,7 @@ expr_without_variable: | expr '^' expr { $$ = &ast.ExprBinaryBitwiseXor{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3453,9 +2991,7 @@ expr_without_variable: | expr '.' expr { $$ = &ast.ExprBinaryConcat{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3464,9 +3000,7 @@ expr_without_variable: | expr '+' expr { $$ = &ast.ExprBinaryPlus{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3475,9 +3009,7 @@ expr_without_variable: | expr '-' expr { $$ = &ast.ExprBinaryMinus{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3486,9 +3018,7 @@ expr_without_variable: | expr '*' expr { $$ = &ast.ExprBinaryMul{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3497,9 +3027,7 @@ expr_without_variable: | expr T_POW expr { $$ = &ast.ExprBinaryPow{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3508,9 +3036,7 @@ expr_without_variable: | expr '/' expr { $$ = &ast.ExprBinaryDiv{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3519,9 +3045,7 @@ expr_without_variable: | expr '%' expr { $$ = &ast.ExprBinaryMod{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3530,9 +3054,7 @@ expr_without_variable: | expr T_SL expr { $$ = &ast.ExprBinaryShiftLeft{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3541,9 +3063,7 @@ expr_without_variable: | expr T_SR expr { $$ = &ast.ExprBinaryShiftRight{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3552,9 +3072,7 @@ expr_without_variable: | '+' expr %prec T_INC { $$ = &ast.ExprUnaryPlus{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), PlusTkn: $1, Expr: $2, } @@ -3562,9 +3080,7 @@ expr_without_variable: | '-' expr %prec T_INC { $$ = &ast.ExprUnaryMinus{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), MinusTkn: $1, Expr: $2, } @@ -3572,9 +3088,7 @@ expr_without_variable: | '!' expr { $$ = &ast.ExprBooleanNot{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), ExclamationTkn: $1, Expr: $2, } @@ -3582,9 +3096,7 @@ expr_without_variable: | '~' expr { $$ = &ast.ExprBitwiseNot{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), TildaTkn: $1, Expr: $2, } @@ -3592,9 +3104,7 @@ expr_without_variable: | expr T_IS_IDENTICAL expr { $$ = &ast.ExprBinaryIdentical{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3603,9 +3113,7 @@ expr_without_variable: | expr T_IS_NOT_IDENTICAL expr { $$ = &ast.ExprBinaryNotIdentical{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3614,9 +3122,7 @@ expr_without_variable: | expr T_IS_EQUAL expr { $$ = &ast.ExprBinaryEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3625,9 +3131,7 @@ expr_without_variable: | expr T_IS_NOT_EQUAL expr { $$ = &ast.ExprBinaryNotEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3636,9 +3140,7 @@ expr_without_variable: | expr '<' expr { $$ = &ast.ExprBinarySmaller{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3647,9 +3149,7 @@ expr_without_variable: | expr T_IS_SMALLER_OR_EQUAL expr { $$ = &ast.ExprBinarySmallerOrEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3658,9 +3158,7 @@ expr_without_variable: | expr '>' expr { $$ = &ast.ExprBinaryGreater{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3669,9 +3167,7 @@ expr_without_variable: | expr T_IS_GREATER_OR_EQUAL expr { $$ = &ast.ExprBinaryGreaterOrEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3680,9 +3176,7 @@ expr_without_variable: | expr T_INSTANCEOF class_name_reference { $$ = &ast.ExprInstanceOf{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Expr: $1, InstanceOfTkn: $2, Class: $3, @@ -3699,9 +3193,7 @@ expr_without_variable: | '(' new_expr ')' instance_call { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -3711,22 +3203,22 @@ expr_without_variable: switch nn := n.(type) { case *ast.ExprFunctionCall: nn.Function = $$ - nn.Node.Position = position.NewNodesPosition($$, nn) + nn.Position = position.NewNodesPosition($$, nn) $$ = nn case *ast.ExprArrayDimFetch: nn.Var = $$ - nn.Node.Position = position.NewNodesPosition($$, nn) + nn.Position = position.NewNodesPosition($$, nn) $$ = nn case *ast.ExprPropertyFetch: nn.Var = $$ - nn.Node.Position = position.NewNodesPosition($$, nn) + nn.Position = position.NewNodesPosition($$, nn) $$ = nn case *ast.ExprMethodCall: nn.Var = $$ - nn.Node.Position = position.NewNodesPosition($$, nn) + nn.Position = position.NewNodesPosition($$, nn) $$ = nn } } @@ -3734,9 +3226,7 @@ expr_without_variable: | expr '?' expr ':' expr { $$ = &ast.ExprTernary{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $5), - }, + Position: position.NewNodesPosition($1, $5), Condition: $1, QuestionTkn: $2, IfTrue: $3, @@ -3747,9 +3237,7 @@ expr_without_variable: | expr '?' ':' expr { $$ = &ast.ExprTernary{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $4), - }, + Position: position.NewNodesPosition($1, $4), Condition: $1, QuestionTkn: $2, ColonTkn: $3, @@ -3763,9 +3251,7 @@ expr_without_variable: | T_INT_CAST expr { $$ = &ast.ExprCastInt{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3773,9 +3259,7 @@ expr_without_variable: | T_DOUBLE_CAST expr { $$ = &ast.ExprCastDouble{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3783,9 +3267,7 @@ expr_without_variable: | T_STRING_CAST expr { $$ = &ast.ExprCastString{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3793,9 +3275,7 @@ expr_without_variable: | T_ARRAY_CAST expr { $$ = &ast.ExprCastArray{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3803,9 +3283,7 @@ expr_without_variable: | T_OBJECT_CAST expr { $$ = &ast.ExprCastObject{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3813,9 +3291,7 @@ expr_without_variable: | T_BOOL_CAST expr { $$ = &ast.ExprCastBool{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3823,9 +3299,7 @@ expr_without_variable: | T_UNSET_CAST expr { $$ = &ast.ExprCastUnset{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3837,9 +3311,9 @@ expr_without_variable: } if $2 == nil { - exit.Node.Position = position.NewTokenPosition($1) + exit.Position = position.NewTokenPosition($1) } else { - exit.Node.Position = position.NewTokenNodePosition($1, $2) + exit.Position = position.NewTokenNodePosition($1, $2) exit.OpenParenthesisTkn = $2.(*ast.ParserBrackets).OpenBracketTkn exit.Expr = $2.(*ast.ParserBrackets).Child exit.CloseParenthesisTkn = $2.(*ast.ParserBrackets).CloseBracketTkn @@ -3850,9 +3324,7 @@ expr_without_variable: | '@' expr { $$ = &ast.ExprErrorSuppress{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), AtTkn: $1, Expr: $2, } @@ -3872,9 +3344,7 @@ expr_without_variable: | '`' backticks_expr '`' { $$ = &ast.ExprShellExec{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBacktickTkn: $1, Parts: $2, CloseBacktickTkn: $3, @@ -3883,9 +3353,7 @@ expr_without_variable: | T_PRINT expr { $$ = &ast.ExprPrint{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), PrintTkn: $1, Expr: $2, } @@ -3893,18 +3361,14 @@ expr_without_variable: | T_YIELD { $$ = &ast.ExprYield{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), YieldTkn: $1, } } | function is_reference '(' parameter_list ')' lexical_vars '{' inner_statement_list '}' { $$ = &ast.ExprClosure{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $9), - }, + Position: position.NewTokensPosition($1, $9), FunctionTkn: $1, AmpersandTkn: $2, OpenParenthesisTkn: $3, @@ -3920,9 +3384,7 @@ expr_without_variable: | T_STATIC function is_reference '(' parameter_list ')' lexical_vars '{' inner_statement_list '}' { $$ = &ast.ExprClosure{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $10), - }, + Position: position.NewTokensPosition($1, $10), StaticTkn: $1, FunctionTkn: $2, AmpersandTkn: $3, @@ -3942,9 +3404,7 @@ yield_expr: T_YIELD expr_without_variable { $$ = &ast.ExprYield{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), YieldTkn: $1, Value: $2, } @@ -3952,9 +3412,7 @@ yield_expr: | T_YIELD variable { $$ = &ast.ExprYield{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), YieldTkn: $1, Value: $2, } @@ -3962,9 +3420,7 @@ yield_expr: | T_YIELD expr T_DOUBLE_ARROW expr_without_variable { $$ = &ast.ExprYield{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $4), - }, + Position: position.NewTokenNodePosition($1, $4), YieldTkn: $1, Key: $2, DoubleArrowTkn: $3, @@ -3974,9 +3430,7 @@ yield_expr: | T_YIELD expr T_DOUBLE_ARROW variable { $$ = &ast.ExprYield{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $4), - }, + Position: position.NewTokenNodePosition($1, $4), YieldTkn: $1, Key: $2, DoubleArrowTkn: $3, @@ -3989,9 +3443,7 @@ combined_scalar_offset: combined_scalar '[' dim_offset ']' { $$ = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $4), - }, + Position: position.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -4001,9 +3453,7 @@ combined_scalar_offset: | combined_scalar_offset '[' dim_offset ']' { $$ = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $4), - }, + Position: position.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -4013,13 +3463,9 @@ combined_scalar_offset: | T_CONSTANT_ENCAPSED_STRING '[' dim_offset ']' { $$ = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), Var: &ast.ScalarString{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), StringTkn: $1, Value: $1.Value, }, @@ -4031,9 +3477,7 @@ combined_scalar_offset: | general_constant '[' dim_offset ']' { $$ = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $4), - }, + Position: position.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -4046,9 +3490,7 @@ combined_scalar: T_ARRAY '(' array_pair_list ')' { $$ = &ast.ExprArray{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), ArrayTkn: $1, OpenBracketTkn: $2, Items: $3.(*ast.ParserSeparatedList).Items, @@ -4059,9 +3501,7 @@ combined_scalar: | '[' array_pair_list ']' { $$ = &ast.ExprArray{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Items: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -4085,9 +3525,7 @@ lexical_vars: | T_USE '(' lexical_var_list ')' { $$ = &ast.ExprClosureUse{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), UseTkn: $1, OpenParenthesisTkn: $2, Uses: $3.(*ast.ParserSeparatedList).Items, @@ -4101,13 +3539,9 @@ lexical_var_list: lexical_var_list ',' T_VARIABLE { variable := &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -4121,18 +3555,12 @@ lexical_var_list: | lexical_var_list ',' '&' T_VARIABLE { reference := &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokensPosition($3, $4), - }, + Position: position.NewTokensPosition($3, $4), AmpersandTkn: $3, Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -4149,13 +3577,9 @@ lexical_var_list: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -4168,18 +3592,12 @@ lexical_var_list: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $2), - }, + Position: position.NewTokensPosition($1, $2), AmpersandTkn: $1, Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -4194,13 +3612,9 @@ function_call: namespace_name function_call_parameter_list { $$ = &ast.ExprFunctionCall{ - Node: ast.Node{ - Position: position.NewNodeListNodePosition($1.(*ast.ParserSeparatedList).Items, $2), - }, + Position: position.NewNodeListNodePosition($1.(*ast.ParserSeparatedList).Items, $2), Function: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -4213,13 +3627,9 @@ function_call: | T_NAMESPACE T_NS_SEPARATOR namespace_name function_call_parameter_list { $$ = &ast.ExprFunctionCall{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $4), - }, + Position: position.NewTokenNodePosition($1, $4), Function: &ast.NameRelative{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), NsTkn: $1, NsSeparatorTkn: $2, Parts: $3.(*ast.ParserSeparatedList).Items, @@ -4234,13 +3644,9 @@ function_call: | T_NS_SEPARATOR namespace_name function_call_parameter_list { $$ = &ast.ExprFunctionCall{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $3), - }, + Position: position.NewTokenNodePosition($1, $3), Function: &ast.NameFullyQualified{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: $1, Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -4254,9 +3660,7 @@ function_call: | class_name T_PAAMAYIM_NEKUDOTAYIM variable_name function_call_parameter_list { $$ = &ast.ExprStaticCall{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $4), - }, + Position: position.NewNodesPosition($1, $4), Class: $1, DoubleColonTkn: $2, Call: $3, @@ -4269,9 +3673,7 @@ function_call: | class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects function_call_parameter_list { $$ = &ast.ExprStaticCall{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $4), - }, + Position: position.NewNodesPosition($1, $4), Class: $1, DoubleColonTkn: $2, Call: $3, @@ -4284,9 +3686,7 @@ function_call: | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_name function_call_parameter_list { $$ = &ast.ExprStaticCall{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $4), - }, + Position: position.NewNodesPosition($1, $4), Class: $1, DoubleColonTkn: $2, Call: $3, @@ -4299,9 +3699,7 @@ function_call: | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects function_call_parameter_list { $$ = &ast.ExprStaticCall{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $4), - }, + Position: position.NewNodesPosition($1, $4), Class: $1, DoubleColonTkn: $2, Call: $3, @@ -4314,9 +3712,7 @@ function_call: | variable_without_objects function_call_parameter_list { $$ = &ast.ExprFunctionCall{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $2), - }, + Position: position.NewNodesPosition($1, $2), Function: $1, OpenParenthesisTkn: $2.(*ast.ArgumentList).OpenParenthesisTkn, Arguments: $2.(*ast.ArgumentList).Arguments, @@ -4330,9 +3726,7 @@ class_name: T_STATIC { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -4340,9 +3734,7 @@ class_name: | namespace_name { $$ = &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, } @@ -4350,9 +3742,7 @@ class_name: | T_NAMESPACE T_NS_SEPARATOR namespace_name { $$ = &ast.NameRelative{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), NsTkn: $1, NsSeparatorTkn: $2, Parts: $3.(*ast.ParserSeparatedList).Items, @@ -4362,9 +3752,7 @@ class_name: | T_NS_SEPARATOR namespace_name { $$ = &ast.NameFullyQualified{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: $1, Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -4376,9 +3764,7 @@ fully_qualified_class_name: namespace_name { $$ = &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, } @@ -4386,9 +3772,7 @@ fully_qualified_class_name: | T_NAMESPACE T_NS_SEPARATOR namespace_name { $$ = &ast.NameRelative{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), NsTkn: $1, NsSeparatorTkn: $2, Parts: $3.(*ast.ParserSeparatedList).Items, @@ -4398,9 +3782,7 @@ fully_qualified_class_name: | T_NS_SEPARATOR namespace_name { $$ = &ast.NameFullyQualified{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: $1, Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -4430,12 +3812,12 @@ dynamic_class_name_reference: switch nn := n.(type) { case *ast.ExprArrayDimFetch: nn.Var = $$ - $$.GetNode().Position = position.NewNodesPosition($$, nn) + *$$.GetPosition() = *position.NewNodesPosition($$, nn) $$ = nn case *ast.ExprPropertyFetch: nn.Var = $$ - $$.GetNode().Position = position.NewNodesPosition($$, nn) + *$$.GetPosition() = *position.NewNodesPosition($$, nn) $$ = nn } } @@ -4444,12 +3826,12 @@ dynamic_class_name_reference: switch nn := n.(type) { case *ast.ExprArrayDimFetch: nn.Var = $$ - $$.GetNode().Position = position.NewNodesPosition($$, nn) + *$$.GetPosition() = *position.NewNodesPosition($$, nn) $$ = nn case *ast.ExprPropertyFetch: nn.Var = $$ - $$.GetNode().Position = position.NewNodesPosition($$, nn) + *$$.GetPosition() = *position.NewNodesPosition($$, nn) $$ = nn } } @@ -4490,9 +3872,7 @@ exit_expr: | '(' ')' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $2), - }, + Position: position.NewTokensPosition($1, $2), OpenBracketTkn: $1, CloseBracketTkn: $2, } @@ -4512,9 +3892,7 @@ backticks_expr: { $$ = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), EncapsedStrTkn: $1, Value: $1.Value, }, @@ -4541,9 +3919,7 @@ common_scalar: T_LNUMBER { $$ = &ast.ScalarLnumber{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), NumberTkn: $1, Value: $1.Value, } @@ -4551,9 +3927,7 @@ common_scalar: | T_DNUMBER { $$ = &ast.ScalarDnumber{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), NumberTkn: $1, Value: $1.Value, } @@ -4561,9 +3935,7 @@ common_scalar: | T_CONSTANT_ENCAPSED_STRING { $$ = &ast.ScalarString{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), StringTkn: $1, Value: $1.Value, } @@ -4571,9 +3943,7 @@ common_scalar: | T_LINE { $$ = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -4581,9 +3951,7 @@ common_scalar: | T_FILE { $$ = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -4591,9 +3959,7 @@ common_scalar: | T_DIR { $$ = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -4601,9 +3967,7 @@ common_scalar: | T_TRAIT_C { $$ = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -4611,9 +3975,7 @@ common_scalar: | T_METHOD_C { $$ = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -4621,9 +3983,7 @@ common_scalar: | T_FUNC_C { $$ = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -4631,9 +3991,7 @@ common_scalar: | T_NS_C { $$ = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -4641,15 +3999,11 @@ common_scalar: | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC { $$ = &ast.ScalarHeredoc{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenHeredocTkn: $1, Parts: []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), EncapsedStrTkn: $2, Value: $2.Value, }, @@ -4660,9 +4014,7 @@ common_scalar: | T_START_HEREDOC T_END_HEREDOC { $$ = &ast.ScalarHeredoc{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $2), - }, + Position: position.NewTokensPosition($1, $2), OpenHeredocTkn: $1, CloseHeredocTkn: $2, } @@ -4673,15 +4025,11 @@ static_class_constant: class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { $$ = &ast.ExprClassConstFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $3), - }, + Position: position.NewNodeTokenPosition($1, $3), Class: $1, DoubleColonTkn: $2, ConstantName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -4708,13 +4056,9 @@ static_scalar_value: | namespace_name { $$ = &ast.ExprConstFetch{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Const: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -4723,13 +4067,9 @@ static_scalar_value: | T_NAMESPACE T_NS_SEPARATOR namespace_name { $$ = &ast.ExprConstFetch{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), Const: &ast.NameRelative{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), NsTkn: $1, NsSeparatorTkn: $2, Parts: $3.(*ast.ParserSeparatedList).Items, @@ -4740,13 +4080,9 @@ static_scalar_value: | T_NS_SEPARATOR namespace_name { $$ = &ast.ExprConstFetch{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), Const: &ast.NameFullyQualified{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: $1, Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -4756,9 +4092,7 @@ static_scalar_value: | T_ARRAY '(' static_array_pair_list ')' { $$ = &ast.ExprArray{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), ArrayTkn: $1, OpenBracketTkn: $2, Items: $3.(*ast.ParserSeparatedList).Items, @@ -4769,9 +4103,7 @@ static_scalar_value: | '[' static_array_pair_list ']' { $$ = &ast.ExprArray{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Items: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -4785,9 +4117,7 @@ static_scalar_value: | T_CLASS_C { $$ = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -4802,9 +4132,7 @@ static_operation: static_scalar_value '[' static_scalar_value ']' { $$ = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $4), - }, + Position: position.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -4814,9 +4142,7 @@ static_operation: | static_scalar_value '+' static_scalar_value { $$ = &ast.ExprBinaryPlus{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4825,9 +4151,7 @@ static_operation: | static_scalar_value '-' static_scalar_value { $$ = &ast.ExprBinaryMinus{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4836,9 +4160,7 @@ static_operation: | static_scalar_value '*' static_scalar_value { $$ = &ast.ExprBinaryMul{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4847,9 +4169,7 @@ static_operation: | static_scalar_value T_POW static_scalar_value { $$ = &ast.ExprBinaryPow{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4858,9 +4178,7 @@ static_operation: | static_scalar_value '/' static_scalar_value { $$ = &ast.ExprBinaryDiv{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4869,9 +4187,7 @@ static_operation: | static_scalar_value '%' static_scalar_value { $$ = &ast.ExprBinaryMod{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4880,9 +4196,7 @@ static_operation: | '!' static_scalar_value { $$ = &ast.ExprBooleanNot{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), ExclamationTkn: $1, Expr: $2, } @@ -4890,9 +4204,7 @@ static_operation: | '~' static_scalar_value { $$ = &ast.ExprBitwiseNot{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), TildaTkn: $1, Expr: $2, } @@ -4900,9 +4212,7 @@ static_operation: | static_scalar_value '|' static_scalar_value { $$ = &ast.ExprBinaryBitwiseOr{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4911,9 +4221,7 @@ static_operation: | static_scalar_value '&' static_scalar_value { $$ = &ast.ExprBinaryBitwiseAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4922,9 +4230,7 @@ static_operation: | static_scalar_value '^' static_scalar_value { $$ = &ast.ExprBinaryBitwiseXor{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4933,9 +4239,7 @@ static_operation: | static_scalar_value T_SL static_scalar_value { $$ = &ast.ExprBinaryShiftLeft{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4944,9 +4248,7 @@ static_operation: | static_scalar_value T_SR static_scalar_value { $$ = &ast.ExprBinaryShiftRight{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4955,9 +4257,7 @@ static_operation: | static_scalar_value '.' static_scalar_value { $$ = &ast.ExprBinaryConcat{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4966,9 +4266,7 @@ static_operation: | static_scalar_value T_LOGICAL_XOR static_scalar_value { $$ = &ast.ExprBinaryLogicalXor{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4977,9 +4275,7 @@ static_operation: | static_scalar_value T_LOGICAL_AND static_scalar_value { $$ = &ast.ExprBinaryLogicalAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4988,9 +4284,7 @@ static_operation: | static_scalar_value T_LOGICAL_OR static_scalar_value { $$ = &ast.ExprBinaryLogicalOr{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -4999,9 +4293,7 @@ static_operation: | static_scalar_value T_BOOLEAN_AND static_scalar_value { $$ = &ast.ExprBinaryBooleanAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -5010,9 +4302,7 @@ static_operation: | static_scalar_value T_BOOLEAN_OR static_scalar_value { $$ = &ast.ExprBinaryBooleanOr{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -5021,9 +4311,7 @@ static_operation: | static_scalar_value T_IS_IDENTICAL static_scalar_value { $$ = &ast.ExprBinaryIdentical{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -5032,9 +4320,7 @@ static_operation: | static_scalar_value T_IS_NOT_IDENTICAL static_scalar_value { $$ = &ast.ExprBinaryNotIdentical{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -5043,9 +4329,7 @@ static_operation: | static_scalar_value T_IS_EQUAL static_scalar_value { $$ = &ast.ExprBinaryEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -5054,9 +4338,7 @@ static_operation: | static_scalar_value T_IS_NOT_EQUAL static_scalar_value { $$ = &ast.ExprBinaryNotEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -5065,9 +4347,7 @@ static_operation: | static_scalar_value '<' static_scalar_value { $$ = &ast.ExprBinarySmaller{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -5076,9 +4356,7 @@ static_operation: | static_scalar_value '>' static_scalar_value { $$ = &ast.ExprBinaryGreater{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -5087,9 +4365,7 @@ static_operation: | static_scalar_value T_IS_SMALLER_OR_EQUAL static_scalar_value { $$ = &ast.ExprBinarySmallerOrEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -5098,9 +4374,7 @@ static_operation: | static_scalar_value T_IS_GREATER_OR_EQUAL static_scalar_value { $$ = &ast.ExprBinaryGreaterOrEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -5109,9 +4383,7 @@ static_operation: | static_scalar_value '?' ':' static_scalar_value { $$ = &ast.ExprTernary{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $4), - }, + Position: position.NewNodesPosition($1, $4), Condition: $1, QuestionTkn: $2, ColonTkn: $3, @@ -5121,9 +4393,7 @@ static_operation: | static_scalar_value '?' static_scalar_value ':' static_scalar_value { $$ = &ast.ExprTernary{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $5), - }, + Position: position.NewNodesPosition($1, $5), Condition: $1, QuestionTkn: $2, IfTrue: $3, @@ -5134,9 +4404,7 @@ static_operation: | '+' static_scalar_value { $$ = &ast.ExprUnaryPlus{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), PlusTkn: $1, Expr: $2, } @@ -5144,9 +4412,7 @@ static_operation: | '-' static_scalar_value { $$ = &ast.ExprUnaryMinus{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), MinusTkn: $1, Expr: $2, } @@ -5154,9 +4420,7 @@ static_operation: | '(' static_scalar_value ')' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -5172,13 +4436,9 @@ general_constant: | namespace_name { $$ = &ast.ExprConstFetch{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Const: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -5187,13 +4447,9 @@ general_constant: | T_NAMESPACE T_NS_SEPARATOR namespace_name { $$ = &ast.ExprConstFetch{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), Const: &ast.NameRelative{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), NsTkn: $1, NsSeparatorTkn: $2, Parts: $3.(*ast.ParserSeparatedList).Items, @@ -5204,13 +4460,9 @@ general_constant: | T_NS_SEPARATOR namespace_name { $$ = &ast.ExprConstFetch{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), Const: &ast.NameFullyQualified{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: $1, Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -5223,13 +4475,9 @@ scalar: T_STRING_VARNAME { $$ = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -5250,9 +4498,7 @@ scalar: | '"' encaps_list '"' { $$ = &ast.ScalarEncapsed{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenQoteTkn: $1, Parts: $2, CloseQoteTkn: $1, @@ -5261,9 +4507,7 @@ scalar: | T_START_HEREDOC encaps_list T_END_HEREDOC { $$ = &ast.ScalarHeredoc{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenHeredocTkn: $1, Parts: $2, CloseHeredocTkn: $3, @@ -5272,9 +4516,7 @@ scalar: | T_CLASS_C { $$ = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -5312,9 +4554,7 @@ non_empty_static_array_pair_list: non_empty_static_array_pair_list ',' static_scalar_value T_DOUBLE_ARROW static_scalar_value { arrayItem := &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodesPosition($3, $5), - }, + Position: position.NewNodesPosition($3, $5), Key: $3, DoubleArrowTkn: $4, Val: $5, @@ -5328,9 +4568,7 @@ non_empty_static_array_pair_list: | non_empty_static_array_pair_list ',' static_scalar_value { arrayItem := &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodePosition($3), - }, + Position: position.NewNodePosition($3), Val: $3, } @@ -5344,9 +4582,7 @@ non_empty_static_array_pair_list: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Key: $1, DoubleArrowTkn: $2, Val: $3, @@ -5359,9 +4595,7 @@ non_empty_static_array_pair_list: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), Val: $1, }, }, @@ -5384,9 +4618,7 @@ parenthesis_expr: '(' expr ')' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -5395,9 +4627,7 @@ parenthesis_expr: | '(' yield_expr ')' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -5441,9 +4671,7 @@ variable: case *ast.ExprArrayDimFetch: mc := $4[0].(*ast.ExprMethodCall) $3 = append($3, &ast.ExprFunctionCall{ - Node: ast.Node{ - Position: position.NewNodePosition(mc), - }, + Position: position.NewNodePosition(mc), OpenParenthesisTkn: mc.OpenParenthesisTkn, Arguments: mc.Arguments, SeparatorTkns: mc.SeparatorTkns, @@ -5462,22 +4690,22 @@ variable: switch nn := n.(type) { case *ast.ExprFunctionCall: nn.Function = $$ - nn.Node.Position = position.NewNodesPosition($$, nn) + nn.Position = position.NewNodesPosition($$, nn) $$ = nn case *ast.ExprArrayDimFetch: nn.Var = $$ - nn.Node.Position = position.NewNodesPosition($$, nn) + nn.Position = position.NewNodesPosition($$, nn) $$ = nn case *ast.ExprPropertyFetch: nn.Var = $$ - nn.Node.Position = position.NewNodesPosition($$, nn) + nn.Position = position.NewNodesPosition($$, nn) $$ = nn case *ast.ExprMethodCall: nn.Var = $$ - nn.Node.Position = position.NewNodesPosition($$, nn) + nn.Position = position.NewNodesPosition($$, nn) $$ = nn } } @@ -5486,22 +4714,22 @@ variable: switch nn := n.(type) { case *ast.ExprFunctionCall: nn.Function = $$ - nn.Node.Position = position.NewNodesPosition($$, nn) + nn.Position = position.NewNodesPosition($$, nn) $$ = nn case *ast.ExprArrayDimFetch: nn.Var = $$ - nn.Node.Position = position.NewNodesPosition($$, nn) + nn.Position = position.NewNodesPosition($$, nn) $$ = nn case *ast.ExprPropertyFetch: nn.Var = $$ - nn.Node.Position = position.NewNodesPosition($$, nn) + nn.Position = position.NewNodesPosition($$, nn) $$ = nn case *ast.ExprMethodCall: nn.Var = $$ - nn.Node.Position = position.NewNodesPosition($$, nn) + nn.Position = position.NewNodesPosition($$, nn) $$ = nn } } @@ -5535,9 +4763,7 @@ variable_property: case *ast.ExprArrayDimFetch: mc := $3[0].(*ast.ExprMethodCall) $2 = append($2, &ast.ExprFunctionCall{ - Node: ast.Node{ - Position: position.NewNodePosition(mc), - }, + Position: position.NewNodePosition(mc), OpenParenthesisTkn: mc.OpenParenthesisTkn, Arguments: mc.Arguments, SeparatorTkns: mc.SeparatorTkns, @@ -5560,9 +4786,7 @@ array_method_dereference: array_method_dereference '[' dim_offset ']' { fetch := &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition($2, $4), - }, + Position: position.NewTokensPosition($2, $4), Var: nil, OpenBracketTkn: $2, Dim: $3, @@ -5574,9 +4798,7 @@ array_method_dereference: | method '[' dim_offset ']' { fetch := &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition($2, $4), - }, + Position: position.NewTokensPosition($2, $4), Var: nil, OpenBracketTkn: $2, Dim: $3, @@ -5591,9 +4813,7 @@ method: function_call_parameter_list { $$ = &ast.ExprMethodCall{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), OpenParenthesisTkn: $1.(*ast.ArgumentList).OpenParenthesisTkn, Arguments: $1.(*ast.ArgumentList).Arguments, SeparatorTkns: $1.(*ast.ArgumentList).SeparatorTkns, @@ -5626,7 +4846,7 @@ variable_without_objects: { for i := len($1)-1; i>=0; i-- { $1[i].(*ast.ExprVariable).VarName = $2 - $1[i].(*ast.ExprVariable).Node.Position = position.NewNodesPosition($1[i], $2) + $1[i].(*ast.ExprVariable).Position = position.NewNodesPosition($1[i], $2) $2 = $1[i] } @@ -5638,9 +4858,7 @@ static_member: class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { $$ = &ast.ExprStaticPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Class: $1, DoubleColonTkn: $2, Property: $3, @@ -5649,9 +4867,7 @@ static_member: | variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects { $$ = &ast.ExprStaticPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Class: $1, DoubleColonTkn: $2, Property: $3, @@ -5670,9 +4886,7 @@ array_function_dereference: array_function_dereference '[' dim_offset ']' { $$ = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $4), - }, + Position: position.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -5682,9 +4896,7 @@ array_function_dereference: | function_call '[' dim_offset ']' { $$ = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $4), - }, + Position: position.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -5718,7 +4930,7 @@ base_variable: { for i := len($1)-1; i>=0; i-- { $1[i].(*ast.ExprVariable).VarName = $2 - $1[i].(*ast.ExprVariable).Node.Position = position.NewNodesPosition($1[i], $2) + $1[i].(*ast.ExprVariable).Position = position.NewNodesPosition($1[i], $2) $2 = $1[i] } @@ -5734,9 +4946,7 @@ reference_variable: reference_variable '[' dim_offset ']' { $$ = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $4), - }, + Position: position.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -5746,9 +4956,7 @@ reference_variable: | reference_variable '{' expr '}' { $$ = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $4), - }, + Position: position.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -5766,13 +4974,9 @@ compound_variable: T_VARIABLE { $$ = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -5781,14 +4985,10 @@ compound_variable: | '$' '{' expr '}' { $$ = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), DollarTkn: $1, VarName: &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($2, $4), - }, + Position: position.NewTokensPosition($2, $4), OpenBracketTkn: $2, Child: $3, CloseBracketTkn: $4, @@ -5818,9 +5018,7 @@ object_property: { $$ = []ast.Vertex{ &ast.ExprPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), Property: $1, }, } @@ -5831,9 +5029,7 @@ object_dim_list: object_dim_list '[' dim_offset ']' { fetch := &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition($2, $4), - }, + Position: position.NewTokensPosition($2, $4), Var: nil, OpenBracketTkn: $2, Dim: $3, @@ -5845,9 +5041,7 @@ object_dim_list: | object_dim_list '{' expr '}' { fetch := &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition($2, $4), - }, + Position: position.NewTokensPosition($2, $4), Var: nil, OpenBracketTkn: $2, Dim: $3, @@ -5860,9 +5054,7 @@ object_dim_list: { $$ = []ast.Vertex{ &ast.ExprPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), Property: $1, }, } @@ -5873,9 +5065,7 @@ variable_name: T_STRING { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -5883,9 +5073,7 @@ variable_name: | '{' expr '}' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -5898,9 +5086,7 @@ simple_indirect_reference: { $$ = []ast.Vertex{ &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), DollarTkn: $1, }, } @@ -5908,9 +5094,7 @@ simple_indirect_reference: | simple_indirect_reference '$' { $$ = append($1, &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), DollarTkn: $2, }) } @@ -5937,9 +5121,7 @@ assignment_list_element: variable { $$ = &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), Val: $1, } } @@ -5953,13 +5135,9 @@ assignment_list_element: } $$ = &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), Val: &ast.ExprList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), ListTkn: $1, OpenBracketTkn: $2, Items: $3.(*ast.ParserSeparatedList).Items, @@ -5995,9 +5173,7 @@ non_empty_array_pair_list: non_empty_array_pair_list ',' expr T_DOUBLE_ARROW expr { arrayItem := &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodesPosition($3, $5), - }, + Position: position.NewNodesPosition($3, $5), Key: $3, DoubleArrowTkn: $4, Val: $5, @@ -6011,9 +5187,7 @@ non_empty_array_pair_list: | non_empty_array_pair_list ',' expr { arrayItem := &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodePosition($3), - }, + Position: position.NewNodePosition($3), Val: $3, } @@ -6027,9 +5201,7 @@ non_empty_array_pair_list: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Key: $1, DoubleArrowTkn: $2, Val: $3, @@ -6042,9 +5214,7 @@ non_empty_array_pair_list: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), Val: $1, }, }, @@ -6053,15 +5223,11 @@ non_empty_array_pair_list: | non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' w_variable { arrayItem := &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodesPosition($3, $6), - }, + Position: position.NewNodesPosition($3, $6), Key: $3, DoubleArrowTkn: $4, Val: &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($5, $6), - }, + Position: position.NewTokenNodePosition($5, $6), AmpersandTkn: $5, Var: $6, }, @@ -6075,13 +5241,9 @@ non_empty_array_pair_list: | non_empty_array_pair_list ',' '&' w_variable { arrayItem := &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($3, $4), - }, + Position: position.NewTokenNodePosition($3, $4), Val: &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($3, $4), - }, + Position: position.NewTokenNodePosition($3, $4), AmpersandTkn: $3, Var: $4, }, @@ -6097,15 +5259,11 @@ non_empty_array_pair_list: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $4), - }, + Position: position.NewNodesPosition($1, $4), Key: $1, DoubleArrowTkn: $2, Val: &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($3, $4), - }, + Position: position.NewTokenNodePosition($3, $4), AmpersandTkn: $3, Var: $4, }, @@ -6118,13 +5276,9 @@ non_empty_array_pair_list: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), Val: &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), AmpersandTkn: $1, Var: $2, }, @@ -6144,9 +5298,7 @@ encaps_list: $$ = append( $1, &ast.ScalarEncapsedStringPart{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), EncapsedStrTkn: $2, Value: $2.Value, }, @@ -6160,9 +5312,7 @@ encaps_list: { $$ = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), EncapsedStrTkn: $1, Value: $1.Value, }, @@ -6175,13 +5325,9 @@ encaps_var: T_VARIABLE { $$ = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -6190,17 +5336,11 @@ encaps_var: | T_VARIABLE '[' encaps_var_offset ']' { $$ = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -6213,26 +5353,18 @@ encaps_var: | T_VARIABLE T_OBJECT_OPERATOR T_STRING { $$ = &ast.ExprPropertyFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, }, ObjectOperatorTkn: $2, Property: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -6241,14 +5373,10 @@ encaps_var: | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewNodePosition($2), - }, + Position: position.NewNodePosition($2), VarName: $2, }, CloseBracketTkn: $3, @@ -6257,18 +5385,12 @@ encaps_var: | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '}' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -6279,22 +5401,14 @@ encaps_var: | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $6), - }, + Position: position.NewTokensPosition($1, $6), OpenBracketTkn: $1, Child: &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition($2, $5), - }, + Position: position.NewTokensPosition($2, $5), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -6309,9 +5423,7 @@ encaps_var: | T_CURLY_OPEN variable '}' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -6323,9 +5435,7 @@ encaps_var_offset: T_STRING { $$ = &ast.ScalarString{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), StringTkn: $1, Value: $1.Value, } @@ -6335,17 +5445,13 @@ encaps_var_offset: // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string($1.Value)); err == nil { $$ = &ast.ScalarLnumber{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), NumberTkn: $1, Value: $1.Value, } } else { $$ = &ast.ScalarString{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), StringTkn: $1, Value: $1.Value, } @@ -6354,13 +5460,9 @@ encaps_var_offset: | T_VARIABLE { $$ = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -6372,9 +5474,7 @@ internal_functions_in_yacc: T_ISSET '(' isset_variables ')' { $$ = &ast.ExprIsset{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), IssetTkn: $1, OpenParenthesisTkn: $2, Vars: $3.(*ast.ParserSeparatedList).Items, @@ -6385,9 +5485,7 @@ internal_functions_in_yacc: | T_EMPTY '(' variable ')' { $$ = &ast.ExprEmpty{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), EmptyTkn: $1, OpenParenthesisTkn: $2, Expr: $3, @@ -6397,9 +5495,7 @@ internal_functions_in_yacc: | T_EMPTY '(' expr ')' { $$ = &ast.ExprEmpty{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), EmptyTkn: $1, OpenParenthesisTkn: $2, Expr: $3, @@ -6409,9 +5505,7 @@ internal_functions_in_yacc: | T_INCLUDE expr { $$ = &ast.ExprInclude{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), IncludeTkn: $1, Expr: $2, } @@ -6419,9 +5513,7 @@ internal_functions_in_yacc: | T_INCLUDE_ONCE expr { $$ = &ast.ExprIncludeOnce{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), IncludeTkn: $1, Expr: $2, } @@ -6429,9 +5521,7 @@ internal_functions_in_yacc: | T_EVAL '(' expr ')' { $$ = &ast.ExprEval{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), EvalTkn: $1, OpenParenthesisTkn: $2, Expr: $3, @@ -6441,9 +5531,7 @@ internal_functions_in_yacc: | T_REQUIRE expr { $$ = &ast.ExprRequire{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), RequireTkn: $1, Expr: $2, } @@ -6451,9 +5539,7 @@ internal_functions_in_yacc: | T_REQUIRE_ONCE expr { $$ = &ast.ExprRequireOnce{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), RequireOnceTkn: $1, Expr: $2, } @@ -6491,15 +5577,11 @@ class_constant: class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { $$ = &ast.ExprClassConstFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $3), - }, + Position: position.NewNodeTokenPosition($1, $3), Class: $1, DoubleColonTkn: $2, ConstantName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -6508,15 +5590,11 @@ class_constant: | variable_class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING { $$ = &ast.ExprClassConstFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $3), - }, + Position: position.NewNodeTokenPosition($1, $3), Class: $1, DoubleColonTkn: $2, ConstantName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -6528,15 +5606,11 @@ static_class_name_scalar: class_name T_PAAMAYIM_NEKUDOTAYIM T_CLASS { $$ = &ast.ExprClassConstFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $3), - }, + Position: position.NewNodeTokenPosition($1, $3), Class: $1, DoubleColonTkn: $2, ConstantName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -6548,15 +5622,11 @@ class_name_scalar: class_name T_PAAMAYIM_NEKUDOTAYIM T_CLASS { $$ = &ast.ExprClassConstFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $3), - }, + Position: position.NewNodeTokenPosition($1, $3), Class: $1, DoubleColonTkn: $2, ConstantName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, diff --git a/internal/php7/php7.go b/internal/php7/php7.go index 03984ad..d8af320 100644 --- a/internal/php7/php7.go +++ b/internal/php7/php7.go @@ -340,7 +340,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -// line internal/php7/php7.y:4997 +// line internal/php7/php7.y:4328 // line yacctab:1 var yyExca = [...]int{ @@ -2110,478 +2110,476 @@ yydefault: // line internal/php7/php7.y:284 { yylex.(*Parser).rootNode = &ast.Root{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].list), - }, - Stmts: yyDollar[1].list, - EndTkn: yylex.(*Parser).currentToken, + Position: position.NewNodeListPosition(yyDollar[1].list), + Stmts: yyDollar[1].list, + EndTkn: yylex.(*Parser).currentToken, } } case 2: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:296 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 3: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:296 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 4: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:296 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 5: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:296 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 6: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:296 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 7: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:296 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 8: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:296 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 9: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:296 + // line internal/php7/php7.y:294 { yyVAL.token = yyDollar[1].token } case 10: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 11: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 12: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 13: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 14: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 15: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 16: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 17: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 18: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 19: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 20: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 21: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:297 + // line internal/php7/php7.y:295 { yyVAL.token = yyDollar[1].token } case 22: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 23: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 24: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 25: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 26: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 27: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 28: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 29: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 30: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 31: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:298 + // line internal/php7/php7.y:296 { yyVAL.token = yyDollar[1].token } case 32: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:299 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 33: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:299 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 34: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:299 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 35: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:299 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 36: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:299 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 37: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:299 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 38: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:299 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 39: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:299 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 40: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:299 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 41: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:299 + // line internal/php7/php7.y:297 { yyVAL.token = yyDollar[1].token } case 42: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 43: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 44: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 45: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 46: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 47: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 48: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 49: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 50: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 51: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 52: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:300 + // line internal/php7/php7.y:298 { yyVAL.token = yyDollar[1].token } case 53: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:301 + // line internal/php7/php7.y:299 { yyVAL.token = yyDollar[1].token } case 54: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:301 + // line internal/php7/php7.y:299 { yyVAL.token = yyDollar[1].token } case 55: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:301 + // line internal/php7/php7.y:299 { yyVAL.token = yyDollar[1].token } case 56: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:301 + // line internal/php7/php7.y:299 { yyVAL.token = yyDollar[1].token } case 57: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:301 + // line internal/php7/php7.y:299 { yyVAL.token = yyDollar[1].token } case 58: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:301 + // line internal/php7/php7.y:299 { yyVAL.token = yyDollar[1].token } case 59: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:301 + // line internal/php7/php7.y:299 { yyVAL.token = yyDollar[1].token } case 60: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:301 + // line internal/php7/php7.y:299 { yyVAL.token = yyDollar[1].token } case 61: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 + // line internal/php7/php7.y:300 { yyVAL.token = yyDollar[1].token } case 62: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 + // line internal/php7/php7.y:300 { yyVAL.token = yyDollar[1].token } case 63: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 + // line internal/php7/php7.y:300 { yyVAL.token = yyDollar[1].token } case 64: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 + // line internal/php7/php7.y:300 { yyVAL.token = yyDollar[1].token } case 65: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 + // line internal/php7/php7.y:300 { yyVAL.token = yyDollar[1].token } case 66: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 + // line internal/php7/php7.y:300 { yyVAL.token = yyDollar[1].token } case 67: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 + // line internal/php7/php7.y:300 { yyVAL.token = yyDollar[1].token } case 68: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 + // line internal/php7/php7.y:300 { yyVAL.token = yyDollar[1].token } case 69: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 + // line internal/php7/php7.y:300 { yyVAL.token = yyDollar[1].token } case 70: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 + // line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 71: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 + // line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 72: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 + // line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 73: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 + // line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 74: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 + // line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 75: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 + // line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 76: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:310 + // line internal/php7/php7.y:308 { yyVAL.token = yyDollar[1].token } case 77: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:315 + // line internal/php7/php7.y:313 { yyVAL.token = yyDollar[1].token } case 78: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:319 + // line internal/php7/php7.y:317 { yyVAL.token = yyDollar[1].token } case 79: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:326 + // line internal/php7/php7.y:324 { if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -2589,20 +2587,18 @@ yydefault: } case 80: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:332 + // line internal/php7/php7.y:330 { yyVAL.list = []ast.Vertex{} } case 81: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:339 + // line internal/php7/php7.y:337 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.NameNamePart{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), StringTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -2611,12 +2607,10 @@ yydefault: } case 82: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:353 + // line internal/php7/php7.y:349 { part := &ast.NameNamePart{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), StringTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, } @@ -2628,24 +2622,20 @@ yydefault: } case 83: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:371 + // line internal/php7/php7.y:365 { yyVAL.node = &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, } } case 84: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:381 + // line internal/php7/php7.y:373 { yyVAL.node = &ast.NameRelative{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].node.(*ast.ParserSeparatedList).Items), NsTkn: yyDollar[1].token, NsSeparatorTkn: yyDollar[2].token, Parts: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -2654,12 +2644,10 @@ yydefault: } case 85: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:393 + // line internal/php7/php7.y:383 { yyVAL.node = &ast.NameFullyQualified{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: yyDollar[1].token, Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -2667,49 +2655,47 @@ yydefault: } case 86: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:407 + // line internal/php7/php7.y:395 { // error yyVAL.node = nil } case 87: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:412 + // line internal/php7/php7.y:400 { yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:416 + // line internal/php7/php7.y:404 { yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:420 + // line internal/php7/php7.y:408 { yyVAL.node = yyDollar[1].node } case 90: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:424 + // line internal/php7/php7.y:412 { yyVAL.node = yyDollar[1].node } case 91: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:428 + // line internal/php7/php7.y:416 { yyVAL.node = yyDollar[1].node } case 92: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:432 + // line internal/php7/php7.y:420 { yyVAL.node = &ast.StmtHaltCompiler{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), HaltCompilerTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, CloseParenthesisTkn: yyDollar[3].token, @@ -2718,17 +2704,13 @@ yydefault: } case 93: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:444 + // line internal/php7/php7.y:430 { yyVAL.node = &ast.StmtNamespace{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, - NsTkn: yyDollar[1].token, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + NsTkn: yyDollar[1].token, Name: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2737,17 +2719,13 @@ yydefault: } case 94: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:461 + // line internal/php7/php7.y:443 { yyVAL.node = &ast.StmtNamespace{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), - }, - NsTkn: yyDollar[1].token, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), + NsTkn: yyDollar[1].token, Name: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2758,12 +2736,10 @@ yydefault: } case 95: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:480 + // line internal/php7/php7.y:458 { yyVAL.node = &ast.StmtNamespace{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), NsTkn: yyDollar[1].token, OpenCurlyBracket: yyDollar[2].token, Stmts: yyDollar[3].list, @@ -2772,11 +2748,11 @@ yydefault: } case 96: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:492 + // line internal/php7/php7.y:468 { use := yyDollar[2].node.(*ast.StmtGroupUse) - use.Node.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) + use.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) use.UseTkn = yyDollar[1].token use.SemiColonTkn = yyDollar[3].token @@ -2784,11 +2760,11 @@ yydefault: } case 97: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:502 + // line internal/php7/php7.y:478 { use := yyDollar[3].node.(*ast.StmtGroupUse) - use.Node.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) + use.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) use.UseTkn = yyDollar[1].token use.Type = yyDollar[2].node use.SemiColonTkn = yyDollar[4].token @@ -2797,12 +2773,10 @@ yydefault: } case 98: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:513 + // line internal/php7/php7.y:489 { yyVAL.node = &ast.StmtUse{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), UseTkn: yyDollar[1].token, UseDeclarations: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -2811,12 +2785,10 @@ yydefault: } case 99: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:525 + // line internal/php7/php7.y:499 { yyVAL.node = &ast.StmtUse{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), UseTkn: yyDollar[1].token, Type: yyDollar[2].node, UseDeclarations: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -2826,12 +2798,10 @@ yydefault: } case 100: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:538 + // line internal/php7/php7.y:510 { yyVAL.node = &ast.StmtConstList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), ConstTkn: yyDollar[1].token, Consts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -2840,42 +2810,34 @@ yydefault: } case 101: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:553 + // line internal/php7/php7.y:523 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 102: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:563 + // line internal/php7/php7.y:531 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 103: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:576 + // line internal/php7/php7.y:542 { yyDollar[4].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[4].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[5].token) yyVAL.node = &ast.StmtGroupUse{ - Node: ast.Node{ - Position: position.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[6].token), - }, + Position: position.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[6].token), Prefix: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2888,19 +2850,15 @@ yydefault: } case 104: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:598 + // line internal/php7/php7.y:560 { yyDollar[5].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[5].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[6].token) yyVAL.node = &ast.StmtGroupUse{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[7].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[7].token), LeadingNsSeparatorTkn: yyDollar[1].token, Prefix: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2913,18 +2871,14 @@ yydefault: } case 105: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:624 + // line internal/php7/php7.y:582 { yyDollar[4].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[4].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[5].token) yyVAL.node = &ast.StmtGroupUse{ - Node: ast.Node{ - Position: position.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[6].token), - }, + Position: position.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[6].token), Prefix: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2937,19 +2891,15 @@ yydefault: } case 106: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:646 + // line internal/php7/php7.y:600 { yyDollar[5].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[5].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[6].token) yyVAL.node = &ast.StmtGroupUse{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[7].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[7].token), LeadingNsSeparatorTkn: yyDollar[1].token, Prefix: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[2].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -2962,19 +2912,19 @@ yydefault: } case 107: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:672 + // line internal/php7/php7.y:622 { yyVAL.token = nil } case 108: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:676 + // line internal/php7/php7.y:626 { yyVAL.token = yyDollar[1].token } case 109: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:683 + // line internal/php7/php7.y:633 { 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) @@ -2983,7 +2933,7 @@ yydefault: } case 110: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:690 + // line internal/php7/php7.y:640 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -2991,7 +2941,7 @@ yydefault: } case 111: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:699 + // line internal/php7/php7.y:649 { 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) @@ -3000,7 +2950,7 @@ yydefault: } case 112: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:706 + // line internal/php7/php7.y:656 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -3008,7 +2958,7 @@ yydefault: } case 113: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:715 + // line internal/php7/php7.y:665 { 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) @@ -3017,7 +2967,7 @@ yydefault: } case 114: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:722 + // line internal/php7/php7.y:672 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -3025,32 +2975,28 @@ yydefault: } case 115: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:731 + // line internal/php7/php7.y:681 { yyVAL.node = yyDollar[1].node } case 116: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:735 + // line internal/php7/php7.y:685 { decl := yyDollar[2].node.(*ast.StmtUseDeclaration) decl.Type = yyDollar[1].node - decl.Node.Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[2].node) + decl.Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[2].node) yyVAL.node = yyDollar[2].node } case 117: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:746 + // line internal/php7/php7.y:696 { yyVAL.node = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -3058,24 +3004,18 @@ yydefault: } case 118: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:761 + // line internal/php7/php7.y:707 { yyVAL.node = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].token), - }, + Position: position.NewNodeListTokenPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].token), Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition(yyDollar[1].node.(*ast.ParserSeparatedList).Items), Parts: yyDollar[1].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: yyDollar[2].token, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -3083,23 +3023,23 @@ yydefault: } case 119: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:787 + // line internal/php7/php7.y:727 { yyVAL.node = yyDollar[1].node } case 120: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:791 + // line internal/php7/php7.y:731 { decl := yyDollar[2].node.(*ast.StmtUseDeclaration) decl.NsSeparatorTkn = yyDollar[1].token - decl.Node.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) + decl.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) yyVAL.node = yyDollar[2].node } case 121: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:802 + // line internal/php7/php7.y:742 { 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) @@ -3108,7 +3048,7 @@ yydefault: } case 122: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:809 + // line internal/php7/php7.y:749 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -3116,7 +3056,7 @@ yydefault: } case 123: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:818 + // line internal/php7/php7.y:758 { if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -3124,55 +3064,53 @@ yydefault: } case 124: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:824 + // line internal/php7/php7.y:764 { yyVAL.list = []ast.Vertex{} } case 125: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:831 + // line internal/php7/php7.y:771 { // error yyVAL.node = nil } case 126: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:836 + // line internal/php7/php7.y:776 { yyVAL.node = yyDollar[1].node } case 127: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:840 + // line internal/php7/php7.y:780 { yyVAL.node = yyDollar[1].node } case 128: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:844 + // line internal/php7/php7.y:784 { yyVAL.node = yyDollar[1].node } case 129: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:848 + // line internal/php7/php7.y:788 { yyVAL.node = yyDollar[1].node } case 130: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:852 + // line internal/php7/php7.y:792 { yyVAL.node = yyDollar[1].node } case 131: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:856 + // line internal/php7/php7.y:796 { yyVAL.node = &ast.StmtHaltCompiler{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), HaltCompilerTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, CloseParenthesisTkn: yyDollar[3].token, @@ -3181,12 +3119,10 @@ yydefault: } case 132: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:870 + // line internal/php7/php7.y:808 { yyVAL.node = &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenCurlyBracket: yyDollar[1].token, Stmts: yyDollar[2].list, CloseCurlyBracket: yyDollar[3].token, @@ -3194,36 +3130,34 @@ yydefault: } case 133: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:881 + // line internal/php7/php7.y:817 { yyVAL.node = yyDollar[1].node } case 134: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:885 + // line internal/php7/php7.y:821 { yyVAL.node = yyDollar[1].node } case 135: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:889 + // line internal/php7/php7.y:825 { yyDollar[5].node.(*ast.StmtWhile).WhileTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtWhile).OpenParenthesisTkn = yyDollar[2].token yyDollar[5].node.(*ast.StmtWhile).Cond = yyDollar[3].node yyDollar[5].node.(*ast.StmtWhile).CloseParenthesisTkn = yyDollar[4].token - yyDollar[5].node.(*ast.StmtWhile).Node.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) + yyDollar[5].node.(*ast.StmtWhile).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) yyVAL.node = yyDollar[5].node } case 136: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:899 + // line internal/php7/php7.y:835 { yyVAL.node = &ast.StmtDo{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[7].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[7].token), DoTkn: yyDollar[1].token, Stmt: yyDollar[2].node, WhileTkn: yyDollar[3].token, @@ -3235,7 +3169,7 @@ yydefault: } case 137: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:914 + // line internal/php7/php7.y:848 { yyDollar[9].node.(*ast.StmtFor).ForTkn = yyDollar[1].token yyDollar[9].node.(*ast.StmtFor).OpenParenthesisTkn = yyDollar[2].token @@ -3248,30 +3182,28 @@ yydefault: yyDollar[9].node.(*ast.StmtFor).Loop = yyDollar[7].node.(*ast.ParserSeparatedList).Items yyDollar[9].node.(*ast.StmtFor).LoopSeparatorTkns = yyDollar[7].node.(*ast.ParserSeparatedList).SeparatorTkns yyDollar[9].node.(*ast.StmtFor).CloseParenthesisTkn = yyDollar[8].token - yyDollar[9].node.(*ast.StmtFor).Node.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node) + yyDollar[9].node.(*ast.StmtFor).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node) yyVAL.node = yyDollar[9].node } case 138: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:931 + // line internal/php7/php7.y:865 { yyDollar[5].node.(*ast.StmtSwitch).SwitchTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtSwitch).OpenParenthesisTkn = yyDollar[2].token yyDollar[5].node.(*ast.StmtSwitch).Cond = yyDollar[3].node yyDollar[5].node.(*ast.StmtSwitch).CloseParenthesisTkn = yyDollar[4].token - yyDollar[5].node.(*ast.StmtSwitch).Node.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) + yyDollar[5].node.(*ast.StmtSwitch).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) yyVAL.node = yyDollar[5].node } case 139: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:941 + // line internal/php7/php7.y:875 { yyVAL.node = &ast.StmtBreak{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), BreakTkn: yyDollar[1].token, Expr: yyDollar[2].node, SemiColonTkn: yyDollar[3].token, @@ -3279,12 +3211,10 @@ yydefault: } case 140: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:952 + // line internal/php7/php7.y:884 { yyVAL.node = &ast.StmtContinue{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), ContinueTkn: yyDollar[1].token, Expr: yyDollar[2].node, SemiColonTkn: yyDollar[3].token, @@ -3292,12 +3222,10 @@ yydefault: } case 141: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:963 + // line internal/php7/php7.y:893 { yyVAL.node = &ast.StmtReturn{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), ReturnTkn: yyDollar[1].token, Expr: yyDollar[2].node, SemiColonTkn: yyDollar[3].token, @@ -3305,74 +3233,70 @@ yydefault: } case 142: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:974 + // line internal/php7/php7.y:902 { yyDollar[2].node.(*ast.StmtGlobal).GlobalTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtGlobal).SemiColonTkn = yyDollar[3].token - yyDollar[2].node.(*ast.StmtGlobal).Node.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) + yyDollar[2].node.(*ast.StmtGlobal).Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) yyVAL.node = yyDollar[2].node } case 143: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:982 + // line internal/php7/php7.y:910 { yyDollar[2].node.(*ast.StmtStatic).StaticTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtStatic).SemiColonTkn = yyDollar[3].token - yyDollar[2].node.(*ast.StmtStatic).Node.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) + yyDollar[2].node.(*ast.StmtStatic).Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) yyVAL.node = yyDollar[2].node } case 144: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:990 + // line internal/php7/php7.y:918 { yyDollar[2].node.(*ast.StmtEcho).EchoTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtEcho).SemiColonTkn = yyDollar[3].token - yyDollar[2].node.(*ast.StmtEcho).Node.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) + yyDollar[2].node.(*ast.StmtEcho).Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token) yyVAL.node = yyDollar[2].node } case 145: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:998 + // line internal/php7/php7.y:926 { yyVAL.node = &ast.StmtInlineHtml{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), InlineHtmlTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 146: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1008 + // line internal/php7/php7.y:934 { yyVAL.node = &ast.StmtExpression{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), Expr: yyDollar[1].node, SemiColonTkn: yyDollar[2].token, } } case 147: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1018 + // line internal/php7/php7.y:942 { yyDollar[3].node.(*ast.StmtUnset).UnsetTkn = yyDollar[1].token yyDollar[3].node.(*ast.StmtUnset).OpenParenthesisTkn = yyDollar[2].token yyDollar[3].node.(*ast.StmtUnset).SeparatorTkns = append(yyDollar[3].node.(*ast.StmtUnset).SeparatorTkns, yyDollar[4].token) yyDollar[3].node.(*ast.StmtUnset).CloseParenthesisTkn = yyDollar[5].token yyDollar[3].node.(*ast.StmtUnset).SemiColonTkn = yyDollar[6].token - yyDollar[3].node.(*ast.StmtUnset).Node.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token) + yyDollar[3].node.(*ast.StmtUnset).Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token) yyVAL.node = yyDollar[3].node } case 148: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:1029 + // line internal/php7/php7.y:953 { yyDollar[7].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[7].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3380,13 +3304,13 @@ yydefault: yyDollar[7].node.(*ast.StmtForeach).AsTkn = yyDollar[4].token yyDollar[7].node.(*ast.StmtForeach).Var = yyDollar[5].node yyDollar[7].node.(*ast.StmtForeach).CloseParenthesisTkn = yyDollar[6].token - yyDollar[7].node.(*ast.StmtForeach).Node.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[7].node) + yyDollar[7].node.(*ast.StmtForeach).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[7].node) yyVAL.node = yyDollar[7].node } case 149: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:1041 + // line internal/php7/php7.y:965 { yyDollar[9].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[9].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3396,39 +3320,43 @@ yydefault: yyDollar[9].node.(*ast.StmtForeach).DoubleArrowTkn = yyDollar[6].token yyDollar[9].node.(*ast.StmtForeach).Var = yyDollar[7].node yyDollar[9].node.(*ast.StmtForeach).CloseParenthesisTkn = yyDollar[8].token - yyDollar[9].node.(*ast.StmtForeach).Node.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node) + yyDollar[9].node.(*ast.StmtForeach).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node) yyVAL.node = yyDollar[9].node } case 150: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1055 + // line internal/php7/php7.y:979 { yyDollar[5].node.(*ast.StmtDeclare).DeclareTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtDeclare).OpenParenthesisTkn = yyDollar[2].token yyDollar[5].node.(*ast.StmtDeclare).Consts = yyDollar[3].node.(*ast.ParserSeparatedList).Items yyDollar[5].node.(*ast.StmtDeclare).SeparatorTkns = yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns yyDollar[5].node.(*ast.StmtDeclare).CloseParenthesisTkn = yyDollar[4].token - yyDollar[5].node.(*ast.StmtDeclare).Node.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) + yyDollar[5].node.(*ast.StmtDeclare).Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node) yyVAL.node = yyDollar[5].node } case 151: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1066 + // line internal/php7/php7.y:990 { yyVAL.node = &ast.StmtNop{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), SemiColonTkn: yyDollar[1].token, } } case 152: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1075 + // line internal/php7/php7.y:997 { + pos := position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[5].list) + if yyDollar[6].node != nil { + pos = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node) + } + yyVAL.node = &ast.StmtTry{ + Position: pos, TryTkn: yyDollar[1].token, OpenCurlyBracket: yyDollar[2].token, Stmts: yyDollar[3].list, @@ -3436,21 +3364,13 @@ yydefault: Catches: yyDollar[5].list, Finally: yyDollar[6].node, } - - if yyDollar[6].node == nil { - yyVAL.node.GetNode().Position = position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[5].list) - } else { - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node) - } } case 153: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1092 + // line internal/php7/php7.y:1014 { yyVAL.node = &ast.StmtThrow{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), ThrowTkn: yyDollar[1].token, Expr: yyDollar[2].node, SemiColonTkn: yyDollar[3].token, @@ -3458,17 +3378,13 @@ yydefault: } case 154: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1103 + // line internal/php7/php7.y:1023 { yyVAL.node = &ast.StmtGoto{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, - GotoTkn: yyDollar[1].token, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), + GotoTkn: yyDollar[1].token, Label: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -3477,16 +3393,12 @@ yydefault: } case 155: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1120 + // line internal/php7/php7.y:1036 { yyVAL.node = &ast.StmtLabel{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), LabelName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -3495,25 +3407,21 @@ yydefault: } case 156: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1138 + // line internal/php7/php7.y:1050 { yyVAL.list = []ast.Vertex{} } case 157: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:1142 + // line internal/php7/php7.y:1054 { catch := yyDollar[4].node.(*ast.StmtCatch) catch.CatchTkn = yyDollar[2].token catch.OpenParenthesisTkn = yyDollar[3].token catch.Var = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[5].token), - }, + Position: position.NewTokenPosition(yyDollar[5].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[5].token), - }, + Position: position.NewTokenPosition(yyDollar[5].token), IdentifierTkn: yyDollar[5].token, Value: yyDollar[5].token.Value, }, @@ -3522,13 +3430,13 @@ yydefault: catch.OpenCurlyBracketTkn = yyDollar[7].token catch.Stmts = yyDollar[8].list catch.CloseCurlyBracketTkn = yyDollar[9].token - catch.GetNode().Position = position.NewTokensPosition(yyDollar[2].token, yyDollar[9].token) + catch.Position = position.NewTokensPosition(yyDollar[2].token, yyDollar[9].token) yyVAL.list = append(yyDollar[1].list, catch) } case 158: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1169 + // line internal/php7/php7.y:1077 { yyVAL.node = &ast.StmtCatch{ Types: []ast.Vertex{yyDollar[1].node}, @@ -3536,7 +3444,7 @@ yydefault: } case 159: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1175 + // line internal/php7/php7.y:1083 { 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) @@ -3545,18 +3453,16 @@ yydefault: } case 160: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1185 + // line internal/php7/php7.y:1093 { yyVAL.node = nil } case 161: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1189 + // line internal/php7/php7.y:1097 { yyVAL.node = &ast.StmtFinally{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), FinallyTkn: yyDollar[1].token, OpenCurlyBracketTkn: yyDollar[2].token, Stmts: yyDollar[3].list, @@ -3565,7 +3471,7 @@ yydefault: } case 162: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1204 + // line internal/php7/php7.y:1110 { yyVAL.node = &ast.StmtUnset{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -3573,7 +3479,7 @@ yydefault: } case 163: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1210 + // line internal/php7/php7.y:1116 { 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) @@ -3582,24 +3488,20 @@ yydefault: } case 164: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1220 + // line internal/php7/php7.y:1126 { yyVAL.node = yyDollar[1].node } case 165: yyDollar = yyS[yypt-11 : yypt+1] - // line internal/php7/php7.y:1227 + // line internal/php7/php7.y:1133 { yyVAL.node = &ast.StmtFunction{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[11].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[11].token), FunctionTkn: yyDollar[1].token, AmpersandTkn: yyDollar[2].token, FunctionName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -3616,42 +3518,38 @@ yydefault: } case 166: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1256 + // line internal/php7/php7.y:1158 { yyVAL.token = nil } case 167: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1260 + // line internal/php7/php7.y:1162 { yyVAL.token = yyDollar[1].token } case 168: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1267 + // line internal/php7/php7.y:1169 { yyVAL.token = nil } case 169: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1271 + // line internal/php7/php7.y:1173 { yyVAL.token = yyDollar[1].token } case 170: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:1278 + // line internal/php7/php7.y:1180 { yyVAL.node = &ast.StmtClass{ - Node: ast.Node{ - Position: position.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[9].token), - }, + Position: position.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[9].token), Modifiers: yyDollar[1].list, ClassTkn: yyDollar[2].token, ClassName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -3664,17 +3562,13 @@ yydefault: } case 171: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php7/php7.y:1300 + // line internal/php7/php7.y:1198 { yyVAL.node = &ast.StmtClass{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), ClassTkn: yyDollar[1].token, ClassName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -3687,53 +3581,45 @@ yydefault: } case 172: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1324 + // line internal/php7/php7.y:1218 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 173: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1328 + // line internal/php7/php7.y:1222 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 174: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1335 + // line internal/php7/php7.y:1229 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 175: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1345 + // line internal/php7/php7.y:1237 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 176: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1358 + // line internal/php7/php7.y:1248 { yyVAL.node = &ast.StmtTrait{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token), TraitTkn: yyDollar[1].token, TraitName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -3744,17 +3630,13 @@ yydefault: } case 177: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:1380 + // line internal/php7/php7.y:1266 { yyVAL.node = &ast.StmtInterface{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[7].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[7].token), InterfaceTkn: yyDollar[1].token, InterfaceName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -3766,36 +3648,32 @@ yydefault: } case 178: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1403 + // line internal/php7/php7.y:1285 { yyVAL.node = nil } case 179: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1407 + // line internal/php7/php7.y:1289 { yyVAL.node = &ast.StmtClassExtends{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), ExtendTkn: yyDollar[1].token, ClassName: yyDollar[2].node, } } case 180: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1420 + // line internal/php7/php7.y:1300 { yyVAL.node = nil } case 181: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1424 + // line internal/php7/php7.y:1304 { yyVAL.node = &ast.StmtInterfaceExtends{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), ExtendsTkn: yyDollar[1].token, InterfaceNames: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -3803,18 +3681,16 @@ yydefault: } case 182: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1438 + // line internal/php7/php7.y:1316 { yyVAL.node = nil } case 183: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1442 + // line internal/php7/php7.y:1320 { yyVAL.node = &ast.StmtClassImplements{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].node.(*ast.ParserSeparatedList).Items), ImplementsTkn: yyDollar[1].token, InterfaceNames: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -3822,30 +3698,26 @@ yydefault: } case 184: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1456 + // line internal/php7/php7.y:1332 { yyVAL.node = yyDollar[1].node } case 185: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1460 + // line internal/php7/php7.y:1336 { yyVAL.node = &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), AmpersandTkn: yyDollar[1].token, Var: yyDollar[2].node, } } case 186: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1470 + // line internal/php7/php7.y:1344 { yyVAL.node = &ast.ExprList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), ListTkn: yyDollar[1].token, OpenBracketTkn: yyDollar[2].token, Items: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -3855,12 +3727,10 @@ yydefault: } case 187: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1483 + // line internal/php7/php7.y:1355 { yyVAL.node = &ast.ExprList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Items: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -3869,30 +3739,24 @@ yydefault: } case 188: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1498 + // line internal/php7/php7.y:1368 { yyVAL.node = &ast.StmtFor{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, - Stmt: yyDollar[1].node, + Position: position.NewNodePosition(yyDollar[1].node), + Stmt: yyDollar[1].node, } } case 189: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1507 + // line internal/php7/php7.y:1375 { yyVAL.node = &ast.StmtFor{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].list), - }, - Stmts: yyDollar[2].list, + Position: position.NewNodeListPosition(yyDollar[2].list), + Stmts: yyDollar[2].list, }, EndForTkn: yyDollar[3].token, SemiColonTkn: yyDollar[4].token, @@ -3900,30 +3764,24 @@ yydefault: } case 190: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1528 + // line internal/php7/php7.y:1392 { yyVAL.node = &ast.StmtForeach{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, - Stmt: yyDollar[1].node, + Position: position.NewNodePosition(yyDollar[1].node), + Stmt: yyDollar[1].node, } } case 191: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1537 + // line internal/php7/php7.y:1399 { yyVAL.node = &ast.StmtForeach{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].list), - }, - Stmts: yyDollar[2].list, + Position: position.NewNodeListPosition(yyDollar[2].list), + Stmts: yyDollar[2].list, }, EndForeachTkn: yyDollar[3].token, SemiColonTkn: yyDollar[4].token, @@ -3931,30 +3789,24 @@ yydefault: } case 192: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1558 + // line internal/php7/php7.y:1416 { yyVAL.node = &ast.StmtDeclare{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, - Stmt: yyDollar[1].node, + Position: position.NewNodePosition(yyDollar[1].node), + Stmt: yyDollar[1].node, } } case 193: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1567 + // line internal/php7/php7.y:1423 { yyVAL.node = &ast.StmtDeclare{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].list), - }, - Stmts: yyDollar[2].list, + Position: position.NewNodeListPosition(yyDollar[2].list), + Stmts: yyDollar[2].list, }, EndDeclareTkn: yyDollar[3].token, SemiColonTkn: yyDollar[4].token, @@ -3962,12 +3814,10 @@ yydefault: } case 194: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1588 + // line internal/php7/php7.y:1440 { yyVAL.node = &ast.StmtSwitch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenCurlyBracketTkn: yyDollar[1].token, CaseList: yyDollar[2].list, CloseCurlyBracketTkn: yyDollar[3].token, @@ -3975,12 +3825,10 @@ yydefault: } case 195: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1599 + // line internal/php7/php7.y:1449 { yyVAL.node = &ast.StmtSwitch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), OpenCurlyBracketTkn: yyDollar[1].token, CaseSeparatorTkn: yyDollar[2].token, CaseList: yyDollar[3].list, @@ -3989,12 +3837,10 @@ yydefault: } case 196: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1611 + // line internal/php7/php7.y:1459 { yyVAL.node = &ast.StmtSwitch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, CaseList: yyDollar[2].list, @@ -4004,12 +3850,10 @@ yydefault: } case 197: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1624 + // line internal/php7/php7.y:1470 { yyVAL.node = &ast.StmtSwitch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), Alt: true, ColonTkn: yyDollar[1].token, CaseSeparatorTkn: yyDollar[2].token, @@ -4020,18 +3864,16 @@ yydefault: } case 198: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1641 + // line internal/php7/php7.y:1485 { yyVAL.list = nil } case 199: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1645 + // line internal/php7/php7.y:1489 { yyVAL.list = append(yyDollar[1].list, &ast.StmtCase{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list), - }, + Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list), CaseTkn: yyDollar[2].token, Cond: yyDollar[3].node, CaseSeparatorTkn: yyDollar[4].token, @@ -4040,12 +3882,10 @@ yydefault: } case 200: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1657 + // line internal/php7/php7.y:1499 { yyVAL.list = append(yyDollar[1].list, &ast.StmtDefault{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list), - }, + Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list), DefaultTkn: yyDollar[2].token, CaseSeparatorTkn: yyDollar[3].token, Stmts: yyDollar[4].list, @@ -4053,42 +3893,36 @@ yydefault: } case 201: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1671 + // line internal/php7/php7.y:1511 { yyVAL.token = yyDollar[1].token } case 202: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1675 + // line internal/php7/php7.y:1515 { yyVAL.token = yyDollar[1].token } case 203: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1682 + // line internal/php7/php7.y:1522 { yyVAL.node = &ast.StmtWhile{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, - Stmt: yyDollar[1].node, + Position: position.NewNodePosition(yyDollar[1].node), + Stmt: yyDollar[1].node, } } case 204: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1691 + // line internal/php7/php7.y:1529 { yyVAL.node = &ast.StmtWhile{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Alt: true, ColonTkn: yyDollar[1].token, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[2].list), - }, - Stmts: yyDollar[2].list, + Position: position.NewNodeListPosition(yyDollar[2].list), + Stmts: yyDollar[2].list, }, EndWhileTkn: yyDollar[3].token, SemiColonTkn: yyDollar[4].token, @@ -4096,12 +3930,10 @@ yydefault: } case 205: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1712 + // line internal/php7/php7.y:1546 { yyVAL.node = &ast.StmtIf{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node), IfTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Cond: yyDollar[3].node, @@ -4111,12 +3943,10 @@ yydefault: } case 206: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1725 + // line internal/php7/php7.y:1557 { yyDollar[1].node.(*ast.StmtIf).ElseIf = append(yyDollar[1].node.(*ast.StmtIf).ElseIf, &ast.StmtElseIf{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node), - }, + Position: position.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node), ElseIfTkn: yyDollar[2].token, OpenParenthesisTkn: yyDollar[3].token, Cond: yyDollar[4].node, @@ -4124,40 +3954,36 @@ yydefault: Stmt: yyDollar[6].node, }) - yyDollar[1].node.(*ast.StmtIf).Node.Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[6].node) + yyDollar[1].node.(*ast.StmtIf).Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[6].node) yyVAL.node = yyDollar[1].node } case 207: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1745 + // line internal/php7/php7.y:1575 { yyVAL.node = yyDollar[1].node } case 208: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1749 + // line internal/php7/php7.y:1579 { yyDollar[1].node.(*ast.StmtIf).Else = &ast.StmtElse{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[2].token, yyDollar[3].node), - }, - ElseTkn: yyDollar[2].token, - Stmt: yyDollar[3].node, + Position: position.NewTokenNodePosition(yyDollar[2].token, yyDollar[3].node), + ElseTkn: yyDollar[2].token, + Stmt: yyDollar[3].node, } - yyDollar[1].node.(*ast.StmtIf).Node.Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node) + yyDollar[1].node.(*ast.StmtIf).Position = position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node) yyVAL.node = yyDollar[1].node } case 209: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1766 + // line internal/php7/php7.y:1594 { yyVAL.node = &ast.StmtIf{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[6].list), - }, + Position: position.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[6].list), Alt: true, IfTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, @@ -4165,21 +3991,17 @@ yydefault: CloseParenthesisTkn: yyDollar[4].token, ColonTkn: yyDollar[5].token, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[6].list), - }, - Stmts: yyDollar[6].list, + Position: position.NewNodeListPosition(yyDollar[6].list), + Stmts: yyDollar[6].list, }, } } case 210: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:1786 + // line internal/php7/php7.y:1610 { yyDollar[1].node.(*ast.StmtIf).ElseIf = append(yyDollar[1].node.(*ast.StmtIf).ElseIf, &ast.StmtElseIf{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[7].list), - }, + Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[7].list), Alt: true, ElseIfTkn: yyDollar[2].token, OpenParenthesisTkn: yyDollar[3].token, @@ -4187,10 +4009,8 @@ yydefault: CloseParenthesisTkn: yyDollar[5].token, ColonTkn: yyDollar[6].token, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[7].list), - }, - Stmts: yyDollar[7].list, + Position: position.NewNodeListPosition(yyDollar[7].list), + Stmts: yyDollar[7].list, }, }) @@ -4198,53 +4018,49 @@ yydefault: } case 211: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1811 + // line internal/php7/php7.y:1631 { yyDollar[1].node.(*ast.StmtIf).EndIfTkn = yyDollar[2].token yyDollar[1].node.(*ast.StmtIf).SemiColonTkn = yyDollar[3].token - yyDollar[1].node.(*ast.StmtIf).Node.Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token) + yyDollar[1].node.(*ast.StmtIf).Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token) yyVAL.node = yyDollar[1].node } case 212: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1819 + // line internal/php7/php7.y:1639 { yyDollar[1].node.(*ast.StmtIf).Else = &ast.StmtElse{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list), - }, + Position: position.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list), Alt: true, ElseTkn: yyDollar[2].token, ColonTkn: yyDollar[3].token, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition(yyDollar[4].list), - }, - Stmts: yyDollar[4].list, + Position: position.NewNodeListPosition(yyDollar[4].list), + Stmts: yyDollar[4].list, }, } yyDollar[1].node.(*ast.StmtIf).EndIfTkn = yyDollar[5].token yyDollar[1].node.(*ast.StmtIf).SemiColonTkn = yyDollar[6].token - yyDollar[1].node.(*ast.StmtIf).Node.Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[6].token) + yyDollar[1].node.(*ast.StmtIf).Position = position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[6].token) yyVAL.node = yyDollar[1].node } case 213: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1844 + // line internal/php7/php7.y:1660 { yyVAL.node = yyDollar[1].node } case 214: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1848 + // line internal/php7/php7.y:1664 { yyVAL.node = &ast.ParserSeparatedList{} } case 215: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1855 + // line internal/php7/php7.y:1671 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4252,7 +4068,7 @@ yydefault: } case 216: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1861 + // line internal/php7/php7.y:1677 { 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) @@ -4261,7 +4077,7 @@ yydefault: } case 217: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1871 + // line internal/php7/php7.y:1687 { pos := position.NewTokenPosition(yyDollar[4].token) if yyDollar[1].node != nil { @@ -4273,20 +4089,14 @@ yydefault: } yyVAL.node = &ast.Parameter{ - Node: ast.Node{ - Position: pos, - }, + Position: pos, Type: yyDollar[1].node, AmpersandTkn: yyDollar[2].token, VariadicTkn: yyDollar[3].token, Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -4295,7 +4105,7 @@ yydefault: } case 218: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1903 + // line internal/php7/php7.y:1713 { pos := position.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node) if yyDollar[1].node != nil { @@ -4307,20 +4117,14 @@ yydefault: } yyVAL.node = &ast.Parameter{ - Node: ast.Node{ - Position: pos, - }, + Position: pos, Type: yyDollar[1].node, AmpersandTkn: yyDollar[2].token, VariadicTkn: yyDollar[3].token, Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -4331,73 +4135,67 @@ yydefault: } case 219: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1940 + // line internal/php7/php7.y:1744 { yyVAL.node = nil } case 220: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1944 + // line internal/php7/php7.y:1748 { yyVAL.node = yyDollar[1].node } case 221: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1951 + // line internal/php7/php7.y:1755 { yyVAL.node = yyDollar[1].node } case 222: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1955 + // line internal/php7/php7.y:1759 { yyVAL.node = &ast.Nullable{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), QuestionTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 223: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1968 + // line internal/php7/php7.y:1770 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 224: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1978 + // line internal/php7/php7.y:1778 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 225: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1988 + // line internal/php7/php7.y:1786 { yyVAL.node = yyDollar[1].node } case 226: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1995 + // line internal/php7/php7.y:1793 { yyVAL.node = &ast.ReturnType{} } case 227: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1999 + // line internal/php7/php7.y:1797 { yyVAL.node = &ast.ReturnType{ ColonTkn: yyDollar[1].token, @@ -4406,19 +4204,17 @@ yydefault: } case 228: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2009 + // line internal/php7/php7.y:1807 { yyVAL.node = &ast.ArgumentList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), OpenParenthesisTkn: yyDollar[1].token, CloseParenthesisTkn: yyDollar[2].token, } } case 229: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2019 + // line internal/php7/php7.y:1815 { argumentList := yyDollar[2].node.(*ast.ArgumentList) argumentList.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) @@ -4430,7 +4226,7 @@ yydefault: } case 230: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2032 + // line internal/php7/php7.y:1828 { yyVAL.node = &ast.ArgumentList{ Arguments: []ast.Vertex{yyDollar[1].node}, @@ -4438,7 +4234,7 @@ yydefault: } case 231: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2038 + // line internal/php7/php7.y:1834 { 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) @@ -4447,30 +4243,26 @@ yydefault: } case 232: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2048 + // line internal/php7/php7.y:1844 { yyVAL.node = &ast.Argument{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, - Expr: yyDollar[1].node, + Position: position.NewNodePosition(yyDollar[1].node), + Expr: yyDollar[1].node, } } case 233: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2057 + // line internal/php7/php7.y:1851 { yyVAL.node = &ast.Argument{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), VariadicTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 234: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2070 + // line internal/php7/php7.y:1862 { 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) @@ -4479,7 +4271,7 @@ yydefault: } case 235: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2077 + // line internal/php7/php7.y:1869 { yyVAL.node = &ast.StmtGlobal{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -4487,13 +4279,13 @@ yydefault: } case 236: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2086 + // line internal/php7/php7.y:1878 { yyVAL.node = yyDollar[1].node } case 237: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2093 + // line internal/php7/php7.y:1885 { 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) @@ -4502,7 +4294,7 @@ yydefault: } case 238: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2100 + // line internal/php7/php7.y:1892 { yyVAL.node = &ast.StmtStatic{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -4510,21 +4302,15 @@ yydefault: } case 239: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2109 + // line internal/php7/php7.y:1901 { yyVAL.node = &ast.StmtStaticVar{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4533,20 +4319,14 @@ yydefault: } case 240: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2130 + // line internal/php7/php7.y:1916 { yyVAL.node = &ast.StmtStaticVar{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4557,24 +4337,22 @@ yydefault: } case 241: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2155 + // line internal/php7/php7.y:1935 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 242: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2159 + // line internal/php7/php7.y:1939 { yyVAL.list = []ast.Vertex{} } case 243: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2166 + // line internal/php7/php7.y:1946 { yyVAL.node = &ast.StmtPropertyList{ - Node: ast.Node{ - Position: position.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[4].token), - }, + Position: position.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[4].token), Modifiers: yyDollar[1].list, Type: yyDollar[2].node, Properties: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -4584,12 +4362,10 @@ yydefault: } case 244: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2179 + // line internal/php7/php7.y:1957 { yyVAL.node = &ast.StmtClassConstList{ - Node: ast.Node{ - Position: position.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[4].token), - }, + Position: position.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[4].token), Modifiers: yyDollar[1].list, ConstTkn: yyDollar[2].token, Consts: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -4599,12 +4375,10 @@ yydefault: } case 245: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2192 + // line internal/php7/php7.y:1968 { yyVAL.node = &ast.StmtTraitUse{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), UseTkn: yyDollar[1].token, Traits: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -4613,24 +4387,20 @@ yydefault: } case 246: yyDollar = yyS[yypt-10 : yypt+1] - // line internal/php7/php7.y:2204 + // line internal/php7/php7.y:1978 { pos := position.NewTokenNodePosition(yyDollar[2].token, yyDollar[10].node) if yyDollar[1].list != nil { - yyVAL.node.GetNode().Position = position.NewNodeListNodePosition(yyDollar[1].list, yyDollar[10].node) + pos = position.NewNodeListNodePosition(yyDollar[1].list, yyDollar[10].node) } yyVAL.node = &ast.StmtClassMethod{ - Node: ast.Node{ - Position: pos, - }, + Position: pos, Modifiers: yyDollar[1].list, FunctionTkn: yyDollar[2].token, AmpersandTkn: yyDollar[3].token, MethodName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -4645,7 +4415,7 @@ yydefault: } case 247: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2237 + // line internal/php7/php7.y:2007 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4653,7 +4423,7 @@ yydefault: } case 248: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2243 + // line internal/php7/php7.y:2013 { 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) @@ -4662,35 +4432,29 @@ yydefault: } case 249: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2253 + // line internal/php7/php7.y:2023 { yyVAL.node = &ast.StmtNop{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), SemiColonTkn: yyDollar[1].token, } } case 250: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2262 + // line internal/php7/php7.y:2030 { yyVAL.node = &ast.StmtTraitAdaptationList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), OpenParenthesisTkn: yyDollar[1].token, CloseParenthesisTkn: yyDollar[2].token, } } case 251: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2272 + // line internal/php7/php7.y:2038 { yyVAL.node = &ast.StmtTraitAdaptationList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenParenthesisTkn: yyDollar[1].token, Adaptations: yyDollar[2].list, CloseParenthesisTkn: yyDollar[3].token, @@ -4698,19 +4462,19 @@ yydefault: } case 252: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2286 + // line internal/php7/php7.y:2050 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 253: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2290 + // line internal/php7/php7.y:2054 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 254: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2297 + // line internal/php7/php7.y:2061 { yyDollar[1].node.(*ast.StmtTraitUsePrecedence).SemiColonTkn = yyDollar[2].token @@ -4718,7 +4482,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2303 + // line internal/php7/php7.y:2067 { yyDollar[1].node.(*ast.StmtTraitUseAlias).SemiColonTkn = yyDollar[2].token @@ -4726,12 +4490,10 @@ yydefault: } case 256: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2312 + // line internal/php7/php7.y:2076 { yyVAL.node = &ast.StmtTraitUsePrecedence{ - Node: ast.Node{ - Position: position.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].node.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].node.(*ast.ParserSeparatedList).Items), Ref: yyDollar[1].node, InsteadofTkn: yyDollar[2].token, Insteadof: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -4740,18 +4502,14 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2327 + // line internal/php7/php7.y:2089 { yyVAL.node = &ast.StmtTraitUseAlias{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), - }, - Ref: yyDollar[1].node, - AsTkn: yyDollar[2].token, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + Ref: yyDollar[1].node, + AsTkn: yyDollar[2].token, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -4759,18 +4517,14 @@ yydefault: } case 258: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2344 + // line internal/php7/php7.y:2102 { yyVAL.node = &ast.StmtTraitUseAlias{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), - }, - Ref: yyDollar[1].node, - AsTkn: yyDollar[2].token, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), + Ref: yyDollar[1].node, + AsTkn: yyDollar[2].token, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -4778,19 +4532,15 @@ yydefault: } case 259: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2361 + // line internal/php7/php7.y:2115 { yyVAL.node = &ast.StmtTraitUseAlias{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Ref: yyDollar[1].node, AsTkn: yyDollar[2].token, Modifier: yyDollar[3].node, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[4].token), - }, + Position: position.NewTokenPosition(yyDollar[4].token), IdentifierTkn: yyDollar[4].token, Value: yyDollar[4].token.Value, }, @@ -4798,12 +4548,10 @@ yydefault: } case 260: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2379 + // line internal/php7/php7.y:2129 { yyVAL.node = &ast.StmtTraitUseAlias{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Ref: yyDollar[1].node, AsTkn: yyDollar[2].token, Modifier: yyDollar[3].node, @@ -4811,16 +4559,12 @@ yydefault: } case 261: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2393 + // line internal/php7/php7.y:2141 { yyVAL.node = &ast.StmtTraitMethodRef{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), Method: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4828,24 +4572,20 @@ yydefault: } case 262: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2408 + // line internal/php7/php7.y:2152 { yyVAL.node = yyDollar[1].node } case 263: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2415 + // line internal/php7/php7.y:2159 { yyVAL.node = &ast.StmtTraitMethodRef{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Trait: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Method: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -4853,23 +4593,19 @@ yydefault: } case 264: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2435 + // line internal/php7/php7.y:2175 { yyVAL.node = &ast.StmtNop{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), SemiColonTkn: yyDollar[1].token, } } case 265: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2444 + // line internal/php7/php7.y:2182 { yyVAL.node = &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenCurlyBracket: yyDollar[1].token, Stmts: yyDollar[2].list, CloseCurlyBracket: yyDollar[3].token, @@ -4877,19 +4613,17 @@ yydefault: } case 266: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2458 + // line internal/php7/php7.y:2194 { yyVAL.list = yyDollar[1].list } case 267: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2462 + // line internal/php7/php7.y:2198 { yyVAL.list = []ast.Vertex{ &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -4897,103 +4631,91 @@ yydefault: } case 268: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2477 + // line internal/php7/php7.y:2211 { yyVAL.list = nil } case 269: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2481 + // line internal/php7/php7.y:2215 { yyVAL.list = yyDollar[1].list } case 270: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2488 + // line internal/php7/php7.y:2222 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 271: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2492 + // line internal/php7/php7.y:2226 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 272: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2499 + // line internal/php7/php7.y:2233 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 273: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2509 + // line internal/php7/php7.y:2241 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 274: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2519 + // line internal/php7/php7.y:2249 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 275: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2529 + // line internal/php7/php7.y:2257 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 276: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2539 + // line internal/php7/php7.y:2265 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 277: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2549 + // line internal/php7/php7.y:2273 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 278: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2562 + // line internal/php7/php7.y:2284 { 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) @@ -5002,7 +4724,7 @@ yydefault: } case 279: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2569 + // line internal/php7/php7.y:2291 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -5010,20 +4732,14 @@ yydefault: } case 280: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2578 + // line internal/php7/php7.y:2300 { yyVAL.node = &ast.StmtProperty{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -5033,20 +4749,14 @@ yydefault: } case 281: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2599 + // line internal/php7/php7.y:2315 { yyVAL.node = &ast.StmtProperty{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -5057,7 +4767,7 @@ yydefault: } case 282: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2624 + // line internal/php7/php7.y:2334 { 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) @@ -5066,7 +4776,7 @@ yydefault: } case 283: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2631 + // line internal/php7/php7.y:2341 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -5074,16 +4784,12 @@ yydefault: } case 284: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2640 + // line internal/php7/php7.y:2350 { yyVAL.node = &ast.StmtConstant{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), Name: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -5093,16 +4799,12 @@ yydefault: } case 285: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2660 + // line internal/php7/php7.y:2366 { yyVAL.node = &ast.StmtConstant{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), Name: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -5112,7 +4814,7 @@ yydefault: } case 286: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2680 + // line internal/php7/php7.y:2382 { 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) @@ -5121,7 +4823,7 @@ yydefault: } case 287: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2687 + // line internal/php7/php7.y:2389 { yyVAL.node = &ast.StmtEcho{ Exprs: []ast.Vertex{yyDollar[1].node}, @@ -5129,25 +4831,25 @@ yydefault: } case 288: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2696 + // line internal/php7/php7.y:2398 { yyVAL.node = yyDollar[1].node } case 289: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2703 + // line internal/php7/php7.y:2405 { yyVAL.node = &ast.ParserSeparatedList{} } case 290: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2707 + // line internal/php7/php7.y:2409 { yyVAL.node = yyDollar[1].node } case 291: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2714 + // line internal/php7/php7.y:2416 { 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) @@ -5156,7 +4858,7 @@ yydefault: } case 292: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2721 + // line internal/php7/php7.y:2423 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -5164,12 +4866,10 @@ yydefault: } case 293: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php7/php7.y:2730 + // line internal/php7/php7.y:2432 { yyVAL.node = &ast.StmtClass{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[8].token), ClassTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].node.(*ast.ArgumentList).OpenParenthesisTkn, Arguments: yyDollar[2].node.(*ast.ArgumentList).Arguments, @@ -5184,13 +4884,11 @@ yydefault: } case 294: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2751 + // line internal/php7/php7.y:2451 { if yyDollar[3].node != nil { yyVAL.node = &ast.ExprNew{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node), NewTkn: yyDollar[1].token, Class: yyDollar[2].node, OpenParenthesisTkn: yyDollar[3].node.(*ast.ArgumentList).OpenParenthesisTkn, @@ -5200,38 +4898,30 @@ yydefault: } } else { yyVAL.node = &ast.ExprNew{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - NewTkn: yyDollar[1].token, - Class: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + NewTkn: yyDollar[1].token, + Class: yyDollar[2].node, } } } case 295: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2775 + // line internal/php7/php7.y:2471 { yyVAL.node = &ast.ExprNew{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - NewTkn: yyDollar[1].token, - Class: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + NewTkn: yyDollar[1].token, + Class: yyDollar[2].node, } } case 296: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:2788 + // line internal/php7/php7.y:2482 { yyVAL.node = &ast.ExprAssign{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node), Var: &ast.ExprList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), ListTkn: yyDollar[1].token, OpenBracketTkn: yyDollar[2].token, Items: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -5244,16 +4934,12 @@ yydefault: } case 297: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:2808 + // line internal/php7/php7.y:2498 { yyVAL.node = &ast.ExprAssign{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node), Var: &ast.ExprList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Items: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -5265,12 +4951,10 @@ yydefault: } case 298: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2827 + // line internal/php7/php7.y:2513 { yyVAL.node = &ast.ExprAssign{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5278,12 +4962,10 @@ yydefault: } case 299: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2838 + // line internal/php7/php7.y:2522 { yyVAL.node = &ast.ExprAssignReference{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, AmpersandTkn: yyDollar[3].token, @@ -5292,24 +4974,20 @@ yydefault: } case 300: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2850 + // line internal/php7/php7.y:2532 { yyVAL.node = &ast.ExprClone{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), CloneTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 301: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2860 + // line internal/php7/php7.y:2540 { yyVAL.node = &ast.ExprAssignPlus{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5317,12 +4995,10 @@ yydefault: } case 302: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2871 + // line internal/php7/php7.y:2549 { yyVAL.node = &ast.ExprAssignMinus{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5330,12 +5006,10 @@ yydefault: } case 303: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2882 + // line internal/php7/php7.y:2558 { yyVAL.node = &ast.ExprAssignMul{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5343,12 +5017,10 @@ yydefault: } case 304: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2893 + // line internal/php7/php7.y:2567 { yyVAL.node = &ast.ExprAssignPow{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5356,12 +5028,10 @@ yydefault: } case 305: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2904 + // line internal/php7/php7.y:2576 { yyVAL.node = &ast.ExprAssignDiv{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5369,12 +5039,10 @@ yydefault: } case 306: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2915 + // line internal/php7/php7.y:2585 { yyVAL.node = &ast.ExprAssignConcat{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5382,12 +5050,10 @@ yydefault: } case 307: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2926 + // line internal/php7/php7.y:2594 { yyVAL.node = &ast.ExprAssignMod{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5395,12 +5061,10 @@ yydefault: } case 308: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2937 + // line internal/php7/php7.y:2603 { yyVAL.node = &ast.ExprAssignBitwiseAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5408,12 +5072,10 @@ yydefault: } case 309: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2948 + // line internal/php7/php7.y:2612 { yyVAL.node = &ast.ExprAssignBitwiseOr{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5421,12 +5083,10 @@ yydefault: } case 310: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2959 + // line internal/php7/php7.y:2621 { yyVAL.node = &ast.ExprAssignBitwiseXor{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5434,12 +5094,10 @@ yydefault: } case 311: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2970 + // line internal/php7/php7.y:2630 { yyVAL.node = &ast.ExprAssignShiftLeft{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5447,12 +5105,10 @@ yydefault: } case 312: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2981 + // line internal/php7/php7.y:2639 { yyVAL.node = &ast.ExprAssignShiftRight{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5460,12 +5116,10 @@ yydefault: } case 313: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2992 + // line internal/php7/php7.y:2648 { yyVAL.node = &ast.ExprAssignCoalesce{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, EqualTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -5473,446 +5127,376 @@ yydefault: } case 314: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3003 + // line internal/php7/php7.y:2657 { yyVAL.node = &ast.ExprPostInc{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), - }, - Var: yyDollar[1].node, - IncTkn: yyDollar[2].token, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), + Var: yyDollar[1].node, + IncTkn: yyDollar[2].token, } } case 315: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3013 + // line internal/php7/php7.y:2665 { yyVAL.node = &ast.ExprPreInc{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - IncTkn: yyDollar[1].token, - Var: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + IncTkn: yyDollar[1].token, + Var: yyDollar[2].node, } } case 316: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3023 + // line internal/php7/php7.y:2673 { yyVAL.node = &ast.ExprPostDec{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), - }, - Var: yyDollar[1].node, - DecTkn: yyDollar[2].token, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token), + Var: yyDollar[1].node, + DecTkn: yyDollar[2].token, } } case 317: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3033 + // line internal/php7/php7.y:2681 { yyVAL.node = &ast.ExprPreDec{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - DecTkn: yyDollar[1].token, - Var: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + DecTkn: yyDollar[1].token, + Var: yyDollar[2].node, } } case 318: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3043 + // line internal/php7/php7.y:2689 { yyVAL.node = &ast.ExprBinaryBooleanOr{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 319: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3054 + // line internal/php7/php7.y:2698 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 320: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3065 + // line internal/php7/php7.y:2707 { yyVAL.node = &ast.ExprBinaryLogicalOr{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 321: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3076 + // line internal/php7/php7.y:2716 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 322: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3087 + // line internal/php7/php7.y:2725 { yyVAL.node = &ast.ExprBinaryLogicalXor{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 323: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3098 + // line internal/php7/php7.y:2734 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 324: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3109 + // line internal/php7/php7.y:2743 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 325: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3120 + // line internal/php7/php7.y:2752 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 326: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3131 + // line internal/php7/php7.y:2761 { yyVAL.node = &ast.ExprBinaryConcat{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 327: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3142 + // line internal/php7/php7.y:2770 { yyVAL.node = &ast.ExprBinaryPlus{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 328: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3153 + // line internal/php7/php7.y:2779 { yyVAL.node = &ast.ExprBinaryMinus{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 329: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3164 + // line internal/php7/php7.y:2788 { yyVAL.node = &ast.ExprBinaryMul{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 330: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3175 + // line internal/php7/php7.y:2797 { yyVAL.node = &ast.ExprBinaryPow{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 331: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3186 + // line internal/php7/php7.y:2806 { yyVAL.node = &ast.ExprBinaryDiv{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 332: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3197 + // line internal/php7/php7.y:2815 { yyVAL.node = &ast.ExprBinaryMod{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 333: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3208 + // line internal/php7/php7.y:2824 { yyVAL.node = &ast.ExprBinaryShiftLeft{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 334: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3219 + // line internal/php7/php7.y:2833 { yyVAL.node = &ast.ExprBinaryShiftRight{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 335: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3230 + // line internal/php7/php7.y:2842 { yyVAL.node = &ast.ExprUnaryPlus{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - PlusTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + PlusTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 336: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3240 + // line internal/php7/php7.y:2850 { yyVAL.node = &ast.ExprUnaryMinus{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), MinusTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 337: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3250 + // line internal/php7/php7.y:2858 { yyVAL.node = &ast.ExprBooleanNot{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), ExclamationTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 338: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3260 + // line internal/php7/php7.y:2866 { yyVAL.node = &ast.ExprBitwiseNot{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), TildaTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 339: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3270 + // line internal/php7/php7.y:2874 { yyVAL.node = &ast.ExprBinaryIdentical{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 340: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3281 + // line internal/php7/php7.y:2883 { yyVAL.node = &ast.ExprBinaryNotIdentical{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 341: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3292 + // line internal/php7/php7.y:2892 { yyVAL.node = &ast.ExprBinaryEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 342: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3303 + // line internal/php7/php7.y:2901 { yyVAL.node = &ast.ExprBinaryNotEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 343: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3314 + // line internal/php7/php7.y:2910 { yyVAL.node = &ast.ExprBinarySmaller{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 344: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3325 + // line internal/php7/php7.y:2919 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 345: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3336 + // line internal/php7/php7.y:2928 { yyVAL.node = &ast.ExprBinaryGreater{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 346: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3347 + // line internal/php7/php7.y:2937 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 347: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3358 + // line internal/php7/php7.y:2946 { yyVAL.node = &ast.ExprBinarySpaceship{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 348: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3369 + // line internal/php7/php7.y:2955 { yyVAL.node = &ast.ExprInstanceOf{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Expr: yyDollar[1].node, InstanceOfTkn: yyDollar[2].token, Class: yyDollar[3].node, @@ -5920,12 +5504,10 @@ yydefault: } case 349: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3380 + // line internal/php7/php7.y:2964 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -5933,18 +5515,16 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3391 + // line internal/php7/php7.y:2973 { yyVAL.node = yyDollar[1].node } case 351: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:3395 + // line internal/php7/php7.y:2977 { yyVAL.node = &ast.ExprTernary{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[5].node), Condition: yyDollar[1].node, QuestionTkn: yyDollar[2].token, IfTrue: yyDollar[3].node, @@ -5954,12 +5534,10 @@ yydefault: } case 352: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3408 + // line internal/php7/php7.y:2988 { yyVAL.node = &ast.ExprTernary{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Condition: yyDollar[1].node, QuestionTkn: yyDollar[2].token, ColonTkn: yyDollar[3].token, @@ -5968,119 +5546,103 @@ yydefault: } case 353: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3420 + // line internal/php7/php7.y:2998 { yyVAL.node = &ast.ExprBinaryCoalesce{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, - Left: yyDollar[1].node, - OpTkn: yyDollar[2].token, - Right: yyDollar[3].node, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), + Left: yyDollar[1].node, + OpTkn: yyDollar[2].token, + Right: yyDollar[3].node, } } case 354: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3431 + // line internal/php7/php7.y:3007 { yyVAL.node = yyDollar[1].node } case 355: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3435 + // line internal/php7/php7.y:3011 { yyVAL.node = &ast.ExprCastInt{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - CastTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 356: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3445 + // line internal/php7/php7.y:3019 { yyVAL.node = &ast.ExprCastDouble{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - CastTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 357: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3455 + // line internal/php7/php7.y:3027 { yyVAL.node = &ast.ExprCastString{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - CastTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 358: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3465 + // line internal/php7/php7.y:3035 { yyVAL.node = &ast.ExprCastArray{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - CastTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 359: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3475 + // line internal/php7/php7.y:3043 { yyVAL.node = &ast.ExprCastObject{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - CastTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 360: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3485 + // line internal/php7/php7.y:3051 { yyVAL.node = &ast.ExprCastBool{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - CastTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 361: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3495 + // line internal/php7/php7.y:3059 { yyVAL.node = &ast.ExprCastUnset{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - CastTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 362: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3505 + // line internal/php7/php7.y:3067 { exit := &ast.ExprExit{ DieTkn: yyDollar[1].token, } if yyDollar[2].node == nil { - exit.Node.Position = position.NewTokenPosition(yyDollar[1].token) + exit.Position = position.NewTokenPosition(yyDollar[1].token) } else { - exit.Node.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) + exit.Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) exit.OpenParenthesisTkn = yyDollar[2].node.(*ast.ParserBrackets).OpenBracketTkn exit.Expr = yyDollar[2].node.(*ast.ParserBrackets).Child exit.CloseParenthesisTkn = yyDollar[2].node.(*ast.ParserBrackets).CloseBracketTkn @@ -6090,30 +5652,26 @@ yydefault: } case 363: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3522 + // line internal/php7/php7.y:3084 { yyVAL.node = &ast.ExprErrorSuppress{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, - AtTkn: yyDollar[1].token, - Expr: yyDollar[2].node, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + AtTkn: yyDollar[1].token, + Expr: yyDollar[2].node, } } case 364: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3532 + // line internal/php7/php7.y:3092 { yyVAL.node = yyDollar[1].node } case 365: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3536 + // line internal/php7/php7.y:3096 { yyVAL.node = &ast.ExprShellExec{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBacktickTkn: yyDollar[1].token, Parts: yyDollar[2].list, CloseBacktickTkn: yyDollar[3].token, @@ -6121,47 +5679,39 @@ yydefault: } case 366: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3547 + // line internal/php7/php7.y:3105 { yyVAL.node = &ast.ExprPrint{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), PrintTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 367: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3557 + // line internal/php7/php7.y:3113 { yyVAL.node = &ast.ExprYield{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), YieldTkn: yyDollar[1].token, } } case 368: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3566 + // line internal/php7/php7.y:3120 { yyVAL.node = &ast.ExprYield{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), YieldTkn: yyDollar[1].token, Value: yyDollar[2].node, } } case 369: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3576 + // line internal/php7/php7.y:3128 { yyVAL.node = &ast.ExprYield{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), YieldTkn: yyDollar[1].token, Key: yyDollar[2].node, DoubleArrowTkn: yyDollar[3].token, @@ -6170,25 +5720,23 @@ yydefault: } case 370: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3588 + // line internal/php7/php7.y:3138 { yyVAL.node = &ast.ExprYieldFrom{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), YieldFromTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 371: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3598 + // line internal/php7/php7.y:3146 { yyVAL.node = yyDollar[1].node } case 372: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3602 + // line internal/php7/php7.y:3150 { switch n := yyDollar[2].node.(type) { case *ast.ExprClosure: @@ -6203,12 +5751,10 @@ yydefault: } case 373: yyDollar = yyS[yypt-11 : yypt+1] - // line internal/php7/php7.y:3618 + // line internal/php7/php7.y:3166 { yyVAL.node = &ast.ExprClosure{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[11].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[11].token), FunctionTkn: yyDollar[1].token, AmpersandTkn: yyDollar[2].token, OpenParenthesisTkn: yyDollar[4].token, @@ -6225,12 +5771,10 @@ yydefault: } case 374: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:3638 + // line internal/php7/php7.y:3184 { yyVAL.node = &ast.ExprArrowFunction{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node), FnTkn: yyDollar[1].token, AmpersandTkn: yyDollar[2].token, OpenParenthesisTkn: yyDollar[3].token, @@ -6245,30 +5789,28 @@ yydefault: } case 376: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3663 + // line internal/php7/php7.y:3207 { yyVAL.token = nil } case 377: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3667 + // line internal/php7/php7.y:3211 { yyVAL.token = yyDollar[1].token } case 378: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3674 + // line internal/php7/php7.y:3218 { yyVAL.node = nil } case 379: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3678 + // line internal/php7/php7.y:3222 { yyVAL.node = &ast.ExprClosureUse{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), UseTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Uses: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -6278,7 +5820,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3694 + // line internal/php7/php7.y:3236 { 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) @@ -6287,7 +5829,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3701 + // line internal/php7/php7.y:3243 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -6295,16 +5837,12 @@ yydefault: } case 382: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3710 + // line internal/php7/php7.y:3252 { yyVAL.node = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -6312,21 +5850,15 @@ yydefault: } case 383: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3725 + // line internal/php7/php7.y:3263 { yyVAL.node = &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), AmpersandTkn: yyDollar[1].token, Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -6335,12 +5867,10 @@ yydefault: } case 384: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3749 + // line internal/php7/php7.y:3281 { yyVAL.node = &ast.ExprFunctionCall{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[2].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[2].node), Function: yyDollar[1].node, OpenParenthesisTkn: yyDollar[2].node.(*ast.ArgumentList).OpenParenthesisTkn, Arguments: yyDollar[2].node.(*ast.ArgumentList).Arguments, @@ -6350,12 +5880,10 @@ yydefault: } case 385: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3762 + // line internal/php7/php7.y:3292 { yyVAL.node = &ast.ExprStaticCall{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Call: yyDollar[3].node, @@ -6367,12 +5895,10 @@ yydefault: } case 386: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3777 + // line internal/php7/php7.y:3305 { yyVAL.node = &ast.ExprStaticCall{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Call: yyDollar[3].node, @@ -6384,12 +5910,10 @@ yydefault: } case 387: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3792 + // line internal/php7/php7.y:3318 { yyVAL.node = &ast.ExprFunctionCall{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[2].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[2].node), Function: yyDollar[1].node, OpenParenthesisTkn: yyDollar[2].node.(*ast.ArgumentList).OpenParenthesisTkn, Arguments: yyDollar[2].node.(*ast.ArgumentList).Arguments, @@ -6399,48 +5923,44 @@ yydefault: } case 388: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3808 + // line internal/php7/php7.y:3332 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 389: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3818 + // line internal/php7/php7.y:3340 { yyVAL.node = yyDollar[1].node } case 390: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3825 + // line internal/php7/php7.y:3347 { yyVAL.node = yyDollar[1].node } case 391: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3829 + // line internal/php7/php7.y:3351 { yyVAL.node = yyDollar[1].node } case 392: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3836 + // line internal/php7/php7.y:3358 { yyVAL.node = nil } case 393: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3840 + // line internal/php7/php7.y:3362 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -6448,19 +5968,17 @@ yydefault: } case 394: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3854 + // line internal/php7/php7.y:3374 { yyVAL.list = []ast.Vertex{} } case 395: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3858 + // line internal/php7/php7.y:3378 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), EncapsedStrTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -6468,30 +5986,28 @@ yydefault: } case 396: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3870 + // line internal/php7/php7.y:3388 { yyVAL.list = yyDollar[1].list } case 397: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3877 + // line internal/php7/php7.y:3395 { yyVAL.node = &ast.ArgumentList{} } case 398: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3881 + // line internal/php7/php7.y:3399 { yyVAL.node = yyDollar[1].node } case 399: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3888 + // line internal/php7/php7.y:3406 { yyVAL.node = &ast.ExprArray{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), ArrayTkn: yyDollar[1].token, OpenBracketTkn: yyDollar[2].token, Items: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -6501,12 +6017,10 @@ yydefault: } case 400: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3901 + // line internal/php7/php7.y:3417 { yyVAL.node = &ast.ExprArray{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Items: yyDollar[2].node.(*ast.ParserSeparatedList).Items, SeparatorTkns: yyDollar[2].node.(*ast.ParserSeparatedList).SeparatorTkns, @@ -6515,150 +6029,124 @@ yydefault: } case 401: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3913 + // line internal/php7/php7.y:3427 { yyVAL.node = &ast.ScalarString{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), StringTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 402: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3926 + // line internal/php7/php7.y:3438 { yyVAL.node = &ast.ScalarLnumber{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), NumberTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 403: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3936 + // line internal/php7/php7.y:3446 { yyVAL.node = &ast.ScalarDnumber{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), NumberTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 404: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3946 + // line internal/php7/php7.y:3454 { yyVAL.node = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), MagicConstTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 405: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3956 + // line internal/php7/php7.y:3462 { yyVAL.node = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), MagicConstTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 406: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3966 + // line internal/php7/php7.y:3470 { yyVAL.node = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), MagicConstTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 407: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3976 + // line internal/php7/php7.y:3478 { yyVAL.node = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), MagicConstTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 408: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3986 + // line internal/php7/php7.y:3486 { yyVAL.node = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), MagicConstTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 409: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3996 + // line internal/php7/php7.y:3494 { yyVAL.node = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), MagicConstTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 410: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4006 + // line internal/php7/php7.y:3502 { yyVAL.node = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), MagicConstTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 411: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4016 + // line internal/php7/php7.y:3510 { yyVAL.node = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), MagicConstTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 412: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4026 + // line internal/php7/php7.y:3518 { yyVAL.node = &ast.ScalarHeredoc{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenHeredocTkn: yyDollar[1].token, Parts: []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), EncapsedStrTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -6668,24 +6156,20 @@ yydefault: } case 413: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4045 + // line internal/php7/php7.y:3533 { yyVAL.node = &ast.ScalarHeredoc{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), OpenHeredocTkn: yyDollar[1].token, CloseHeredocTkn: yyDollar[2].token, } } case 414: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4055 + // line internal/php7/php7.y:3541 { yyVAL.node = &ast.ScalarEncapsed{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenQoteTkn: yyDollar[1].token, Parts: yyDollar[2].list, CloseQoteTkn: yyDollar[1].token, @@ -6693,12 +6177,10 @@ yydefault: } case 415: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4066 + // line internal/php7/php7.y:3550 { yyVAL.node = &ast.ScalarHeredoc{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenHeredocTkn: yyDollar[1].token, Parts: yyDollar[2].list, CloseHeredocTkn: yyDollar[3].token, @@ -6706,41 +6188,35 @@ yydefault: } case 416: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4077 + // line internal/php7/php7.y:3559 { yyVAL.node = yyDollar[1].node } case 417: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4081 + // line internal/php7/php7.y:3563 { yyVAL.node = yyDollar[1].node } case 418: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4088 + // line internal/php7/php7.y:3570 { yyVAL.node = &ast.ExprConstFetch{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, - Const: yyDollar[1].node, + Position: position.NewNodePosition(yyDollar[1].node), + Const: yyDollar[1].node, } } case 419: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4097 + // line internal/php7/php7.y:3577 { yyVAL.node = &ast.ExprClassConstFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, ConstantName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -6748,18 +6224,14 @@ yydefault: } case 420: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4114 + // line internal/php7/php7.y:3590 { yyVAL.node = &ast.ExprClassConstFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, ConstantName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -6767,48 +6239,46 @@ yydefault: } case 421: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4134 + // line internal/php7/php7.y:3606 { yyVAL.node = yyDollar[1].node } case 422: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4138 + // line internal/php7/php7.y:3610 { yyVAL.node = yyDollar[1].node } case 423: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:4145 + // line internal/php7/php7.y:3617 { yyVAL.node = nil } case 424: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4149 + // line internal/php7/php7.y:3621 { yyVAL.node = yyDollar[1].node } case 425: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4156 + // line internal/php7/php7.y:3628 { yyVAL.node = yyDollar[1].node } case 426: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4163 + // line internal/php7/php7.y:3635 { yyVAL.node = yyDollar[1].node } case 427: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4167 + // line internal/php7/php7.y:3639 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -6816,24 +6286,22 @@ yydefault: } case 428: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4178 + // line internal/php7/php7.y:3648 { yyVAL.node = yyDollar[1].node } case 429: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4185 + // line internal/php7/php7.y:3655 { yyVAL.node = yyDollar[1].node } case 430: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4189 + // line internal/php7/php7.y:3659 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -6841,24 +6309,22 @@ yydefault: } case 431: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4200 + // line internal/php7/php7.y:3668 { yyVAL.node = yyDollar[1].node } case 432: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4207 + // line internal/php7/php7.y:3675 { yyVAL.node = yyDollar[1].node } case 433: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4211 + // line internal/php7/php7.y:3679 { yyVAL.node = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -6867,12 +6333,10 @@ yydefault: } case 434: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4223 + // line internal/php7/php7.y:3689 { yyVAL.node = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -6881,12 +6345,10 @@ yydefault: } case 435: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4235 + // line internal/php7/php7.y:3699 { yyVAL.node = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -6895,12 +6357,10 @@ yydefault: } case 436: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4247 + // line internal/php7/php7.y:3709 { yyVAL.node = &ast.ExprMethodCall{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Var: yyDollar[1].node, ObjectOperatorTkn: yyDollar[2].token, Method: yyDollar[3].node, @@ -6912,30 +6372,28 @@ yydefault: } case 437: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4262 + // line internal/php7/php7.y:3722 { yyVAL.node = yyDollar[1].node } case 438: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4269 + // line internal/php7/php7.y:3729 { yyVAL.node = yyDollar[1].node } case 439: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4273 + // line internal/php7/php7.y:3733 { yyVAL.node = yyDollar[1].node } case 440: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4277 + // line internal/php7/php7.y:3737 { yyVAL.node = &ast.ExprPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, ObjectOperatorTkn: yyDollar[2].token, Property: yyDollar[3].node, @@ -6943,16 +6401,12 @@ yydefault: } case 441: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4291 + // line internal/php7/php7.y:3749 { yyVAL.node = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -6960,17 +6414,13 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4306 + // line internal/php7/php7.y:3760 { yyVAL.node = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), DollarTkn: yyDollar[1].token, VarName: &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[4].token), OpenBracketTkn: yyDollar[2].token, Child: yyDollar[3].node, CloseBracketTkn: yyDollar[4].token, @@ -6979,24 +6429,20 @@ yydefault: } case 443: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4323 + // line internal/php7/php7.y:3773 { yyVAL.node = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), DollarTkn: yyDollar[1].token, VarName: yyDollar[2].node, } } case 444: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4336 + // line internal/php7/php7.y:3784 { yyVAL.node = &ast.ExprStaticPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Property: yyDollar[3].node, @@ -7004,12 +6450,10 @@ yydefault: } case 445: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4347 + // line internal/php7/php7.y:3793 { yyVAL.node = &ast.ExprStaticPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Property: yyDollar[3].node, @@ -7017,18 +6461,16 @@ yydefault: } case 446: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4361 + // line internal/php7/php7.y:3805 { yyVAL.node = yyDollar[1].node } case 447: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4365 + // line internal/php7/php7.y:3809 { yyVAL.node = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -7037,12 +6479,10 @@ yydefault: } case 448: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4377 + // line internal/php7/php7.y:3819 { yyVAL.node = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token), Var: yyDollar[1].node, OpenBracketTkn: yyDollar[2].token, Dim: yyDollar[3].node, @@ -7051,12 +6491,10 @@ yydefault: } case 449: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4389 + // line internal/php7/php7.y:3829 { yyVAL.node = &ast.ExprPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Var: yyDollar[1].node, ObjectOperatorTkn: yyDollar[2].token, Property: yyDollar[3].node, @@ -7064,12 +6502,10 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4400 + // line internal/php7/php7.y:3838 { yyVAL.node = &ast.ExprStaticPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Property: yyDollar[3].node, @@ -7077,12 +6513,10 @@ yydefault: } case 451: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4411 + // line internal/php7/php7.y:3847 { yyVAL.node = &ast.ExprStaticPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Class: yyDollar[1].node, DoubleColonTkn: yyDollar[2].token, Property: yyDollar[3].node, @@ -7090,24 +6524,20 @@ yydefault: } case 452: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4425 + // line internal/php7/php7.y:3859 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 453: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4435 + // line internal/php7/php7.y:3867 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -7115,30 +6545,26 @@ yydefault: } case 454: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4446 + // line internal/php7/php7.y:3876 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4453 + // line internal/php7/php7.y:3883 { yyVAL.node = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 456: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4463 + // line internal/php7/php7.y:3891 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -7146,13 +6572,13 @@ yydefault: } case 457: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4474 + // line internal/php7/php7.y:3900 { yyVAL.node = yyDollar[1].node } case 458: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4481 + // line internal/php7/php7.y:3907 { pairList := yyDollar[1].node.(*ast.ParserSeparatedList) fistPair := pairList.Items[0].(*ast.ExprArrayItem) @@ -7165,19 +6591,19 @@ yydefault: } case 459: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:4495 + // line internal/php7/php7.y:3921 { yyVAL.node = &ast.ExprArrayItem{} } case 460: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4499 + // line internal/php7/php7.y:3925 { yyVAL.node = yyDollar[1].node } case 461: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4506 + // line internal/php7/php7.y:3932 { 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) @@ -7186,7 +6612,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4513 + // line internal/php7/php7.y:3939 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -7194,12 +6620,10 @@ yydefault: } case 463: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4522 + // line internal/php7/php7.y:3948 { yyVAL.node = &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[3].node), Key: yyDollar[1].node, DoubleArrowTkn: yyDollar[2].token, Val: yyDollar[3].node, @@ -7207,29 +6631,23 @@ yydefault: } case 464: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4533 + // line internal/php7/php7.y:3957 { yyVAL.node = &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[1].node), - }, - Val: yyDollar[1].node, + Position: position.NewNodePosition(yyDollar[1].node), + Val: yyDollar[1].node, } } case 465: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4542 + // line internal/php7/php7.y:3964 { yyVAL.node = &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), - }, + Position: position.NewNodesPosition(yyDollar[1].node, yyDollar[4].node), Key: yyDollar[1].node, DoubleArrowTkn: yyDollar[2].token, Val: &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node), - }, + Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node), AmpersandTkn: yyDollar[3].token, Var: yyDollar[4].node, }, @@ -7237,16 +6655,12 @@ yydefault: } case 466: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4559 + // line internal/php7/php7.y:3977 { yyVAL.node = &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), Val: &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), AmpersandTkn: yyDollar[1].token, Var: yyDollar[2].node, }, @@ -7254,30 +6668,24 @@ yydefault: } case 467: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4574 + // line internal/php7/php7.y:3988 { yyVAL.node = &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), EllipsisTkn: yyDollar[1].token, Val: yyDollar[2].node, } } case 468: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:4584 + // line internal/php7/php7.y:3996 { yyVAL.node = &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[6].token), - }, + Position: position.NewNodeTokenPosition(yyDollar[1].node, yyDollar[6].token), Key: yyDollar[1].node, DoubleArrowTkn: yyDollar[2].token, Val: &ast.ExprList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[3].token, yyDollar[6].token), - }, + Position: position.NewTokensPosition(yyDollar[3].token, yyDollar[6].token), ListTkn: yyDollar[3].token, OpenBracketTkn: yyDollar[4].token, Items: yyDollar[5].node.(*ast.ParserSeparatedList).Items, @@ -7288,16 +6696,12 @@ yydefault: } case 469: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4604 + // line internal/php7/php7.y:4012 { yyVAL.node = &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Val: &ast.ExprList{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), ListTkn: yyDollar[1].token, OpenBracketTkn: yyDollar[2].token, Items: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -7308,20 +6712,18 @@ yydefault: } case 470: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4625 + // line internal/php7/php7.y:4029 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 471: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4629 + // line internal/php7/php7.y:4033 { yyVAL.list = append( yyDollar[1].list, &ast.ScalarEncapsedStringPart{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), EncapsedStrTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -7329,19 +6731,17 @@ yydefault: } case 472: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4642 + // line internal/php7/php7.y:4044 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 473: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4646 + // line internal/php7/php7.y:4048 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), EncapsedStrTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -7350,16 +6750,12 @@ yydefault: } case 474: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4662 + // line internal/php7/php7.y:4062 { yyVAL.node = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -7367,20 +6763,14 @@ yydefault: } case 475: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4677 + // line internal/php7/php7.y:4073 { yyVAL.node = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -7392,29 +6782,21 @@ yydefault: } case 476: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4700 + // line internal/php7/php7.y:4090 { yyVAL.node = &ast.ExprPropertyFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, }, ObjectOperatorTkn: yyDollar[2].token, Property: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[3].token), - }, + Position: position.NewTokenPosition(yyDollar[3].token), IdentifierTkn: yyDollar[3].token, Value: yyDollar[3].token.Value, }, @@ -7422,39 +6804,29 @@ yydefault: } case 477: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4728 + // line internal/php7/php7.y:4110 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewNodePosition(yyDollar[2].node), - }, - VarName: yyDollar[2].node, + Position: position.NewNodePosition(yyDollar[2].node), + VarName: yyDollar[2].node, }, CloseBracketTkn: yyDollar[3].token, } } case 478: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4744 + // line internal/php7/php7.y:4122 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -7464,25 +6836,17 @@ yydefault: } case 479: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:4766 + // line internal/php7/php7.y:4138 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[6].token), OpenBracketTkn: yyDollar[1].token, Child: &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[5].token), - }, + Position: position.NewTokensPosition(yyDollar[2].token, yyDollar[5].token), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), IdentifierTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, @@ -7496,12 +6860,10 @@ yydefault: } case 480: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4796 + // line internal/php7/php7.y:4160 { yyVAL.node = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[3].token), OpenBracketTkn: yyDollar[1].token, Child: yyDollar[2].node, CloseBracketTkn: yyDollar[3].token, @@ -7509,34 +6871,28 @@ yydefault: } case 481: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4810 + // line internal/php7/php7.y:4172 { yyVAL.node = &ast.ScalarString{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), StringTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } case 482: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4820 + // line internal/php7/php7.y:4180 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string(yyDollar[1].token.Value)); err == nil { yyVAL.node = &ast.ScalarLnumber{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), NumberTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } } else { yyVAL.node = &ast.ScalarString{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), StringTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, } @@ -7544,31 +6900,24 @@ yydefault: } case 483: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4841 + // line internal/php7/php7.y:4197 { _, err := strconv.Atoi(string(yyDollar[2].token.Value)) isInt := err == nil if isInt { yyVAL.node = &ast.ExprUnaryMinus{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), MinusTkn: yyDollar[1].token, Expr: &ast.ScalarLnumber{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[2].token), - }, + Position: position.NewTokenPosition(yyDollar[2].token), NumberTkn: yyDollar[2].token, Value: yyDollar[2].token.Value, }, } - yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token) } else { yyVAL.node = &ast.ScalarString{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token), MinusTkn: yyDollar[1].token, StringTkn: yyDollar[2].token, Value: append([]byte("-"), yyDollar[2].token.Value...), @@ -7577,16 +6926,12 @@ yydefault: } case 484: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4872 + // line internal/php7/php7.y:4221 { yyVAL.node = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition(yyDollar[1].token), - }, + Position: position.NewTokenPosition(yyDollar[1].token), IdentifierTkn: yyDollar[1].token, Value: yyDollar[1].token.Value, }, @@ -7594,16 +6939,14 @@ yydefault: } case 485: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:4890 + // line internal/php7/php7.y:4235 { if yyDollar[4].token != nil { yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[4].token) } yyVAL.node = &ast.ExprIsset{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[5].token), IssetTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Vars: yyDollar[3].node.(*ast.ParserSeparatedList).Items, @@ -7613,12 +6956,10 @@ yydefault: } case 486: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4907 + // line internal/php7/php7.y:4250 { yyVAL.node = &ast.ExprEmpty{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), EmptyTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -7627,36 +6968,30 @@ yydefault: } case 487: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4919 + // line internal/php7/php7.y:4260 { yyVAL.node = &ast.ExprInclude{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), IncludeTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 488: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4929 + // line internal/php7/php7.y:4268 { yyVAL.node = &ast.ExprIncludeOnce{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), IncludeTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 489: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4939 + // line internal/php7/php7.y:4276 { yyVAL.node = &ast.ExprEval{ - Node: ast.Node{ - Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), - }, + Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token), EvalTkn: yyDollar[1].token, OpenParenthesisTkn: yyDollar[2].token, Expr: yyDollar[3].node, @@ -7665,31 +7000,27 @@ yydefault: } case 490: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4951 + // line internal/php7/php7.y:4286 { yyVAL.node = &ast.ExprRequire{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), RequireTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 491: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4961 + // line internal/php7/php7.y:4294 { yyVAL.node = &ast.ExprRequireOnce{ - Node: ast.Node{ - Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), - }, + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), RequireOnceTkn: yyDollar[1].token, Expr: yyDollar[2].node, } } case 492: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4974 + // line internal/php7/php7.y:4305 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -7697,7 +7028,7 @@ yydefault: } case 493: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4980 + // line internal/php7/php7.y:4311 { 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) @@ -7706,7 +7037,7 @@ yydefault: } case 494: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4990 + // line internal/php7/php7.y:4321 { yyVAL.node = yyDollar[1].node } diff --git a/internal/php7/php7.y b/internal/php7/php7.y index 9b99da7..5ad2f47 100644 --- a/internal/php7/php7.y +++ b/internal/php7/php7.y @@ -283,9 +283,7 @@ start: top_statement_list { yylex.(*Parser).rootNode = &ast.Root{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1), - }, + Position: position.NewNodeListPosition($1), Stmts: $1, EndTkn: yylex.(*Parser).currentToken, } @@ -293,12 +291,12 @@ start: ; reserved_non_modifiers: - T_INCLUDE {$$=$1} | T_INCLUDE_ONCE {$$=$1} | T_EVAL {$$=$1} | T_REQUIRE {$$=$1} | T_REQUIRE_ONCE {$$=$1} | T_LOGICAL_OR {$$=$1} | T_LOGICAL_XOR {$$=$1} | T_LOGICAL_AND {$$=$1} - | T_INSTANCEOF {$$=$1} | T_NEW {$$=$1} | T_CLONE {$$=$1} | T_EXIT {$$=$1} | T_IF {$$=$1} | T_ELSEIF {$$=$1} | T_ELSE {$$=$1} | T_ENDIF {$$=$1} | T_ECHO {$$=$1} | T_DO {$$=$1} | T_WHILE {$$=$1} | T_ENDWHILE {$$=$1} - | T_FOR {$$=$1} | T_ENDFOR {$$=$1} | T_FOREACH {$$=$1} | T_ENDFOREACH {$$=$1} | T_DECLARE {$$=$1} | T_ENDDECLARE {$$=$1} | T_AS {$$=$1} | T_TRY {$$=$1} | T_CATCH {$$=$1} | T_FINALLY {$$=$1} - | T_THROW {$$=$1} | T_USE {$$=$1} | T_INSTEADOF {$$=$1} | T_GLOBAL {$$=$1} | T_VAR {$$=$1} | T_UNSET {$$=$1} | T_ISSET {$$=$1} | T_EMPTY {$$=$1} | T_CONTINUE {$$=$1} | T_GOTO {$$=$1} - | T_FUNCTION {$$=$1} | T_CONST {$$=$1} | T_RETURN {$$=$1} | T_PRINT {$$=$1} | T_YIELD {$$=$1} | T_LIST {$$=$1} | T_SWITCH {$$=$1} | T_ENDSWITCH {$$=$1} | T_CASE {$$=$1} | T_DEFAULT {$$=$1} | T_BREAK {$$=$1} - | T_ARRAY {$$=$1} | T_CALLABLE {$$=$1} | T_EXTENDS {$$=$1} | T_IMPLEMENTS {$$=$1} | T_NAMESPACE {$$=$1} | T_TRAIT {$$=$1} | T_INTERFACE {$$=$1} | T_CLASS {$$=$1} + T_INCLUDE {$$=$1} | T_INCLUDE_ONCE {$$=$1} | T_EVAL {$$=$1} | T_REQUIRE {$$=$1} | T_REQUIRE_ONCE {$$=$1} | T_LOGICAL_OR {$$=$1} | T_LOGICAL_XOR {$$=$1} | T_LOGICAL_AND {$$=$1} + | T_INSTANCEOF {$$=$1} | T_NEW {$$=$1} | T_CLONE {$$=$1} | T_EXIT {$$=$1} | T_IF {$$=$1} | T_ELSEIF {$$=$1} | T_ELSE {$$=$1} | T_ENDIF {$$=$1} | T_ECHO {$$=$1} | T_DO {$$=$1} | T_WHILE {$$=$1} | T_ENDWHILE {$$=$1} + | T_FOR {$$=$1} | T_ENDFOR {$$=$1} | T_FOREACH {$$=$1} | T_ENDFOREACH {$$=$1} | T_DECLARE {$$=$1} | T_ENDDECLARE {$$=$1} | T_AS {$$=$1} | T_TRY {$$=$1} | T_CATCH {$$=$1} | T_FINALLY {$$=$1} + | T_THROW {$$=$1} | T_USE {$$=$1} | T_INSTEADOF {$$=$1} | T_GLOBAL {$$=$1} | T_VAR {$$=$1} | T_UNSET {$$=$1} | T_ISSET {$$=$1} | T_EMPTY {$$=$1} | T_CONTINUE {$$=$1} | T_GOTO {$$=$1} + | T_FUNCTION {$$=$1} | T_CONST {$$=$1} | T_RETURN {$$=$1} | T_PRINT {$$=$1} | T_YIELD {$$=$1} | T_LIST {$$=$1} | T_SWITCH {$$=$1} | T_ENDSWITCH {$$=$1} | T_CASE {$$=$1} | T_DEFAULT {$$=$1} | T_BREAK {$$=$1} + | T_ARRAY {$$=$1} | T_CALLABLE {$$=$1} | T_EXTENDS {$$=$1} | T_IMPLEMENTS {$$=$1} | T_NAMESPACE {$$=$1} | T_TRAIT {$$=$1} | T_INTERFACE {$$=$1} | T_CLASS {$$=$1} | T_CLASS_C {$$=$1} | T_TRAIT_C {$$=$1} | T_FUNC_C {$$=$1} | T_METHOD_C {$$=$1} | T_LINE {$$=$1} | T_FILE {$$=$1} | T_DIR {$$=$1} | T_NS_C {$$=$1} | T_FN {$$=$1} ; @@ -340,9 +338,7 @@ namespace_name: $$ = &ast.ParserSeparatedList{ Items: []ast.Vertex{ &ast.NameNamePart{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), StringTkn: $1, Value: $1.Value, }, @@ -352,9 +348,7 @@ namespace_name: | namespace_name T_NS_SEPARATOR T_STRING { part := &ast.NameNamePart{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), StringTkn: $3, Value: $3.Value, } @@ -370,9 +364,7 @@ name: namespace_name { $$ = &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, } @@ -380,9 +372,7 @@ name: | T_NAMESPACE T_NS_SEPARATOR namespace_name { $$ = &ast.NameRelative{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), NsTkn: $1, NsSeparatorTkn: $2, Parts: $3.(*ast.ParserSeparatedList).Items, @@ -392,9 +382,7 @@ name: | T_NS_SEPARATOR namespace_name { $$ = &ast.NameFullyQualified{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), NsSeparatorTkn: $1, Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -431,9 +419,7 @@ top_statement: | T_HALT_COMPILER '(' ')' ';' { $$ = &ast.StmtHaltCompiler{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), HaltCompilerTkn: $1, OpenParenthesisTkn: $2, CloseParenthesisTkn: $3, @@ -443,14 +429,10 @@ top_statement: | T_NAMESPACE namespace_name ';' { $$ = &ast.StmtNamespace{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), NsTkn: $1, Name: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -460,14 +442,10 @@ top_statement: | T_NAMESPACE namespace_name '{' top_statement_list '}' { $$ = &ast.StmtNamespace{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $5), - }, + Position: position.NewTokensPosition($1, $5), NsTkn: $1, Name: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -479,9 +457,7 @@ top_statement: | T_NAMESPACE '{' top_statement_list '}' { $$ = &ast.StmtNamespace{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), NsTkn: $1, OpenCurlyBracket: $2, Stmts: $3, @@ -492,7 +468,7 @@ top_statement: { use := $2.(*ast.StmtGroupUse) - use.Node.Position = position.NewTokensPosition($1, $3) + use.Position = position.NewTokensPosition($1, $3) use.UseTkn = $1 use.SemiColonTkn = $3 @@ -502,7 +478,7 @@ top_statement: { use := $3.(*ast.StmtGroupUse) - use.Node.Position = position.NewTokensPosition($1, $4) + use.Position = position.NewTokensPosition($1, $4) use.UseTkn = $1 use.Type = $2 use.SemiColonTkn = $4 @@ -512,9 +488,7 @@ top_statement: | T_USE use_declarations ';' { $$ = &ast.StmtUse{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), UseTkn: $1, UseDeclarations: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -524,9 +498,7 @@ top_statement: | T_USE use_type use_declarations ';' { $$ = &ast.StmtUse{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), UseTkn: $1, Type: $2, UseDeclarations: $3.(*ast.ParserSeparatedList).Items, @@ -537,9 +509,7 @@ top_statement: | T_CONST const_list ';' { $$ = &ast.StmtConstList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), ConstTkn: $1, Consts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -552,9 +522,7 @@ use_type: T_FUNCTION { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -562,9 +530,7 @@ use_type: | T_CONST { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -577,13 +543,9 @@ group_use_declaration: $4.(*ast.ParserSeparatedList).SeparatorTkns = append($4.(*ast.ParserSeparatedList).SeparatorTkns, $5) $$ = &ast.StmtGroupUse{ - Node: ast.Node{ - Position: position.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $6), - }, + Position: position.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $6), Prefix: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -599,14 +561,10 @@ group_use_declaration: $5.(*ast.ParserSeparatedList).SeparatorTkns = append($5.(*ast.ParserSeparatedList).SeparatorTkns, $6) $$ = &ast.StmtGroupUse{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $7), - }, + Position: position.NewTokensPosition($1, $7), LeadingNsSeparatorTkn: $1, Prefix: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -625,13 +583,9 @@ mixed_group_use_declaration: $4.(*ast.ParserSeparatedList).SeparatorTkns = append($4.(*ast.ParserSeparatedList).SeparatorTkns, $5) $$ = &ast.StmtGroupUse{ - Node: ast.Node{ - Position: position.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $6), - }, + Position: position.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $6), Prefix: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -647,14 +601,10 @@ mixed_group_use_declaration: $5.(*ast.ParserSeparatedList).SeparatorTkns = append($5.(*ast.ParserSeparatedList).SeparatorTkns, $6) $$ = &ast.StmtGroupUse{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $7), - }, + Position: position.NewTokensPosition($1, $7), LeadingNsSeparatorTkn: $1, Prefix: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($2.(*ast.ParserSeparatedList).Items), Parts: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -735,7 +685,7 @@ inline_use_declaration: { decl := $2.(*ast.StmtUseDeclaration) decl.Type = $1 - decl.Node.Position = position.NewNodesPosition($1, $2) + decl.Position = position.NewNodesPosition($1, $2) $$ = $2 } @@ -745,13 +695,9 @@ unprefixed_use_declaration: namespace_name { $$ = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, @@ -760,21 +706,15 @@ unprefixed_use_declaration: | namespace_name T_AS T_STRING { $$ = &ast.StmtUseDeclaration{ - Node: ast.Node{ - Position: position.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $3), - }, + Position: position.NewNodeListTokenPosition($1.(*ast.ParserSeparatedList).Items, $3), Use: &ast.NameName{ - Node: ast.Node{ - Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeListPosition($1.(*ast.ParserSeparatedList).Items), Parts: $1.(*ast.ParserSeparatedList).Items, SeparatorTkns: $1.(*ast.ParserSeparatedList).SeparatorTkns, }, AsTkn: $2, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -791,7 +731,7 @@ use_declaration: { decl := $2.(*ast.StmtUseDeclaration) decl.NsSeparatorTkn = $1 - decl.Node.Position = position.NewTokenNodePosition($1, $2) + decl.Position = position.NewTokenNodePosition($1, $2) $$ = $2 } @@ -855,9 +795,7 @@ inner_statement: | T_HALT_COMPILER '(' ')' ';' { $$ = &ast.StmtHaltCompiler{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), HaltCompilerTkn: $1, OpenParenthesisTkn: $2, CloseParenthesisTkn: $3, @@ -869,9 +807,7 @@ statement: '{' inner_statement_list '}' { $$ = &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenCurlyBracket: $1, Stmts: $2, CloseCurlyBracket: $3, @@ -891,16 +827,14 @@ statement: $5.(*ast.StmtWhile).OpenParenthesisTkn = $2 $5.(*ast.StmtWhile).Cond = $3 $5.(*ast.StmtWhile).CloseParenthesisTkn = $4 - $5.(*ast.StmtWhile).Node.Position = position.NewTokenNodePosition($1, $5) + $5.(*ast.StmtWhile).Position = position.NewTokenNodePosition($1, $5) $$ = $5 } | T_DO statement T_WHILE '(' expr ')' ';' { $$ = &ast.StmtDo{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $7), - }, + Position: position.NewTokensPosition($1, $7), DoTkn: $1, Stmt: $2, WhileTkn: $3, @@ -923,7 +857,7 @@ statement: $9.(*ast.StmtFor).Loop = $7.(*ast.ParserSeparatedList).Items $9.(*ast.StmtFor).LoopSeparatorTkns = $7.(*ast.ParserSeparatedList).SeparatorTkns $9.(*ast.StmtFor).CloseParenthesisTkn = $8 - $9.(*ast.StmtFor).Node.Position = position.NewTokenNodePosition($1, $9) + $9.(*ast.StmtFor).Position = position.NewTokenNodePosition($1, $9) $$ = $9 } @@ -933,16 +867,14 @@ statement: $5.(*ast.StmtSwitch).OpenParenthesisTkn = $2 $5.(*ast.StmtSwitch).Cond = $3 $5.(*ast.StmtSwitch).CloseParenthesisTkn = $4 - $5.(*ast.StmtSwitch).Node.Position = position.NewTokenNodePosition($1, $5) + $5.(*ast.StmtSwitch).Position = position.NewTokenNodePosition($1, $5) $$ = $5 } | T_BREAK optional_expr ';' { $$ = &ast.StmtBreak{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), BreakTkn: $1, Expr: $2, SemiColonTkn: $3, @@ -951,9 +883,7 @@ statement: | T_CONTINUE optional_expr ';' { $$ = &ast.StmtContinue{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), ContinueTkn: $1, Expr: $2, SemiColonTkn: $3, @@ -962,9 +892,7 @@ statement: | T_RETURN optional_expr ';' { $$ = &ast.StmtReturn{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), ReturnTkn: $1, Expr: $2, SemiColonTkn: $3, @@ -974,7 +902,7 @@ statement: { $2.(*ast.StmtGlobal).GlobalTkn = $1 $2.(*ast.StmtGlobal).SemiColonTkn = $3 - $2.(*ast.StmtGlobal).Node.Position = position.NewTokensPosition($1, $3) + $2.(*ast.StmtGlobal).Position = position.NewTokensPosition($1, $3) $$ = $2 } @@ -982,7 +910,7 @@ statement: { $2.(*ast.StmtStatic).StaticTkn = $1 $2.(*ast.StmtStatic).SemiColonTkn = $3 - $2.(*ast.StmtStatic).Node.Position = position.NewTokensPosition($1, $3) + $2.(*ast.StmtStatic).Position = position.NewTokensPosition($1, $3) $$ = $2 } @@ -990,16 +918,14 @@ statement: { $2.(*ast.StmtEcho).EchoTkn = $1 $2.(*ast.StmtEcho).SemiColonTkn = $3 - $2.(*ast.StmtEcho).Node.Position = position.NewTokensPosition($1, $3) + $2.(*ast.StmtEcho).Position = position.NewTokensPosition($1, $3) $$ = $2 } | T_INLINE_HTML { $$ = &ast.StmtInlineHtml{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), InlineHtmlTkn: $1, Value: $1.Value, } @@ -1007,9 +933,7 @@ statement: | expr ';' { $$ = &ast.StmtExpression{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $2), - }, + Position: position.NewNodeTokenPosition($1, $2), Expr: $1, SemiColonTkn: $2, } @@ -1021,7 +945,7 @@ statement: $3.(*ast.StmtUnset).SeparatorTkns = append($3.(*ast.StmtUnset).SeparatorTkns, $4) $3.(*ast.StmtUnset).CloseParenthesisTkn = $5 $3.(*ast.StmtUnset).SemiColonTkn = $6 - $3.(*ast.StmtUnset).Node.Position = position.NewTokensPosition($1, $6) + $3.(*ast.StmtUnset).Position = position.NewTokensPosition($1, $6) $$ = $3 } @@ -1033,7 +957,7 @@ statement: $7.(*ast.StmtForeach).AsTkn = $4 $7.(*ast.StmtForeach).Var = $5 $7.(*ast.StmtForeach).CloseParenthesisTkn = $6 - $7.(*ast.StmtForeach).Node.Position = position.NewTokenNodePosition($1, $7) + $7.(*ast.StmtForeach).Position = position.NewTokenNodePosition($1, $7) $$ = $7 } @@ -1047,7 +971,7 @@ statement: $9.(*ast.StmtForeach).DoubleArrowTkn = $6 $9.(*ast.StmtForeach).Var = $7 $9.(*ast.StmtForeach).CloseParenthesisTkn = $8 - $9.(*ast.StmtForeach).Node.Position = position.NewTokenNodePosition($1, $9) + $9.(*ast.StmtForeach).Position = position.NewTokenNodePosition($1, $9) $$ = $9 } @@ -1058,22 +982,26 @@ statement: $5.(*ast.StmtDeclare).Consts = $3.(*ast.ParserSeparatedList).Items $5.(*ast.StmtDeclare).SeparatorTkns = $3.(*ast.ParserSeparatedList).SeparatorTkns $5.(*ast.StmtDeclare).CloseParenthesisTkn = $4 - $5.(*ast.StmtDeclare).Node.Position = position.NewTokenNodePosition($1, $5) + $5.(*ast.StmtDeclare).Position = position.NewTokenNodePosition($1, $5) $$ = $5 } | ';' { $$ = &ast.StmtNop{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), SemiColonTkn: $1, } } | T_TRY '{' inner_statement_list '}' catch_list finally_statement { + pos := position.NewTokenNodeListPosition($1, $5) + if $6 != nil { + pos = position.NewTokenNodePosition($1, $6) + } + $$ = &ast.StmtTry{ + Position: pos, TryTkn: $1, OpenCurlyBracket: $2, Stmts: $3, @@ -1081,19 +1009,11 @@ statement: Catches: $5, Finally: $6, } - - if $6 == nil { - $$.GetNode().Position = position.NewTokenNodeListPosition($1, $5) - } else { - $$.GetNode().Position = position.NewTokenNodePosition($1, $6) - } } | T_THROW expr ';' { $$ = &ast.StmtThrow{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), ThrowTkn: $1, Expr: $2, SemiColonTkn: $3, @@ -1102,14 +1022,10 @@ statement: | T_GOTO T_STRING ';' { $$ = &ast.StmtGoto{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), GotoTkn: $1, Label: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -1119,13 +1035,9 @@ statement: | T_STRING ':' { $$ = &ast.StmtLabel{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $2), - }, + Position: position.NewTokensPosition($1, $2), LabelName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -1144,13 +1056,9 @@ catch_list: catch.CatchTkn = $2 catch.OpenParenthesisTkn = $3 catch.Var = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($5), - }, + Position: position.NewTokenPosition($5), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($5), - }, + Position: position.NewTokenPosition($5), IdentifierTkn: $5, Value: $5.Value, }, @@ -1159,7 +1067,7 @@ catch_list: catch.OpenCurlyBracketTkn = $7 catch.Stmts = $8 catch.CloseCurlyBracketTkn = $9 - catch.GetNode().Position = position.NewTokensPosition($2, $9) + catch.Position = position.NewTokensPosition($2, $9) $$ = append($1, catch) } @@ -1188,9 +1096,7 @@ finally_statement: | T_FINALLY '{' inner_statement_list '}' { $$ = &ast.StmtFinally{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), FinallyTkn: $1, OpenCurlyBracketTkn: $2, Stmts: $3, @@ -1226,15 +1132,11 @@ function_declaration_statement: T_FUNCTION returns_ref T_STRING backup_doc_comment '(' parameter_list ')' return_type '{' inner_statement_list '}' { $$ = &ast.StmtFunction{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $11), - }, + Position: position.NewTokensPosition($1, $11), FunctionTkn: $1, AmpersandTkn: $2, FunctionName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -1277,15 +1179,11 @@ class_declaration_statement: class_modifiers T_CLASS T_STRING extends_from implements_list backup_doc_comment '{' class_statement_list '}' { $$ = &ast.StmtClass{ - Node: ast.Node{ - Position: position.NewOptionalListTokensPosition($1, $2, $9), - }, + Position: position.NewOptionalListTokensPosition($1, $2, $9), Modifiers: $1, ClassTkn: $2, ClassName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -1299,14 +1197,10 @@ class_declaration_statement: | T_CLASS T_STRING extends_from implements_list backup_doc_comment '{' class_statement_list '}' { $$ = &ast.StmtClass{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $8), - }, + Position: position.NewTokensPosition($1, $8), ClassTkn: $1, ClassName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -1334,9 +1228,7 @@ class_modifier: T_ABSTRACT { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -1344,9 +1236,7 @@ class_modifier: | T_FINAL { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -1357,14 +1247,10 @@ trait_declaration_statement: T_TRAIT T_STRING backup_doc_comment '{' class_statement_list '}' { $$ = &ast.StmtTrait{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $6), - }, + Position: position.NewTokensPosition($1, $6), TraitTkn: $1, TraitName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -1379,14 +1265,10 @@ interface_declaration_statement: T_INTERFACE T_STRING interface_extends_list backup_doc_comment '{' class_statement_list '}' { $$ = &ast.StmtInterface{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $7), - }, + Position: position.NewTokensPosition($1, $7), InterfaceTkn: $1, InterfaceName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -1406,9 +1288,7 @@ extends_from: | T_EXTENDS name { $$ = &ast.StmtClassExtends{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), ExtendTkn: $1, ClassName: $2, } @@ -1423,9 +1303,7 @@ interface_extends_list: | T_EXTENDS name_list { $$ = &ast.StmtInterfaceExtends{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), ExtendsTkn: $1, InterfaceNames: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -1441,9 +1319,7 @@ implements_list: | T_IMPLEMENTS name_list { $$ = &ast.StmtClassImplements{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewTokenNodeListPosition($1, $2.(*ast.ParserSeparatedList).Items), ImplementsTkn: $1, InterfaceNames: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -1459,9 +1335,7 @@ foreach_variable: | '&' variable { $$ = &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), AmpersandTkn: $1, Var: $2, } @@ -1469,9 +1343,7 @@ foreach_variable: | T_LIST '(' array_pair_list ')' { $$ = &ast.ExprList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), ListTkn: $1, OpenBracketTkn: $2, Items: $3.(*ast.ParserSeparatedList).Items, @@ -1482,9 +1354,7 @@ foreach_variable: | '[' array_pair_list ']' { $$ = &ast.ExprList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Items: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -1497,24 +1367,18 @@ for_statement: statement { $$ = &ast.StmtFor{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), Stmt: $1, } } | ':' inner_statement_list T_ENDFOR ';' { $$ = &ast.StmtFor{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2), - }, + Position: position.NewNodeListPosition($2), Stmts: $2, }, EndForTkn: $3, @@ -1527,24 +1391,18 @@ foreach_statement: statement { $$ = &ast.StmtForeach{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), Stmt: $1, } } | ':' inner_statement_list T_ENDFOREACH ';' { $$ = &ast.StmtForeach{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2), - }, + Position: position.NewNodeListPosition($2), Stmts: $2, }, EndForeachTkn: $3, @@ -1557,24 +1415,18 @@ declare_statement: statement { $$ = &ast.StmtDeclare{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), Stmt: $1, } } | ':' inner_statement_list T_ENDDECLARE ';' { $$ = &ast.StmtDeclare{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2), - }, + Position: position.NewNodeListPosition($2), Stmts: $2, }, EndDeclareTkn: $3, @@ -1587,9 +1439,7 @@ switch_case_list: '{' case_list '}' { $$ = &ast.StmtSwitch{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenCurlyBracketTkn: $1, CaseList: $2, CloseCurlyBracketTkn: $3, @@ -1598,9 +1448,7 @@ switch_case_list: | '{' ';' case_list '}' { $$ = &ast.StmtSwitch{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), OpenCurlyBracketTkn: $1, CaseSeparatorTkn: $2, CaseList: $3, @@ -1610,9 +1458,7 @@ switch_case_list: | ':' case_list T_ENDSWITCH ';' { $$ = &ast.StmtSwitch{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, CaseList: $2, @@ -1623,9 +1469,7 @@ switch_case_list: | ':' ';' case_list T_ENDSWITCH ';' { $$ = &ast.StmtSwitch{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $5), - }, + Position: position.NewTokensPosition($1, $5), Alt: true, ColonTkn: $1, CaseSeparatorTkn: $2, @@ -1644,9 +1488,7 @@ case_list: | case_list T_CASE expr case_separator inner_statement_list { $$ = append($1, &ast.StmtCase{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($2, $5), - }, + Position: position.NewTokenNodeListPosition($2, $5), CaseTkn: $2, Cond: $3, CaseSeparatorTkn: $4, @@ -1656,9 +1498,7 @@ case_list: | case_list T_DEFAULT case_separator inner_statement_list { $$ = append($1, &ast.StmtDefault{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($2, $4), - }, + Position: position.NewTokenNodeListPosition($2, $4), DefaultTkn: $2, CaseSeparatorTkn: $3, Stmts: $4, @@ -1681,24 +1521,18 @@ while_statement: statement { $$ = &ast.StmtWhile{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), Stmt: $1, } } | ':' inner_statement_list T_ENDWHILE ';' { $$ = &ast.StmtWhile{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), Alt: true, ColonTkn: $1, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition($2), - }, + Position: position.NewNodeListPosition($2), Stmts: $2, }, EndWhileTkn: $3, @@ -1711,9 +1545,7 @@ if_stmt_without_else: T_IF '(' expr ')' statement { $$ = &ast.StmtIf{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $5), - }, + Position: position.NewTokenNodePosition($1, $5), IfTkn: $1, OpenParenthesisTkn: $2, Cond: $3, @@ -1724,9 +1556,7 @@ if_stmt_without_else: | if_stmt_without_else T_ELSEIF '(' expr ')' statement { $1.(*ast.StmtIf).ElseIf = append($1.(*ast.StmtIf).ElseIf, &ast.StmtElseIf{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($2, $6), - }, + Position: position.NewTokenNodePosition($2, $6), ElseIfTkn: $2, OpenParenthesisTkn: $3, Cond: $4, @@ -1734,7 +1564,7 @@ if_stmt_without_else: Stmt: $6, }) - $1.(*ast.StmtIf).Node.Position = position.NewNodesPosition($1, $6) + $1.(*ast.StmtIf).Position = position.NewNodesPosition($1, $6) $$ = $1 } @@ -1748,14 +1578,12 @@ if_stmt: | if_stmt_without_else T_ELSE statement { $1.(*ast.StmtIf).Else = &ast.StmtElse{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($2, $3), - }, + Position: position.NewTokenNodePosition($2, $3), ElseTkn: $2, Stmt: $3, } - $1.(*ast.StmtIf).Node.Position = position.NewNodesPosition($1, $3) + $1.(*ast.StmtIf).Position = position.NewNodesPosition($1, $3) $$ = $1 } @@ -1765,9 +1593,7 @@ alt_if_stmt_without_else: T_IF '(' expr ')' ':' inner_statement_list { $$ = &ast.StmtIf{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($1, $6), - }, + Position: position.NewTokenNodeListPosition($1, $6), Alt: true, IfTkn: $1, OpenParenthesisTkn: $2, @@ -1775,9 +1601,7 @@ alt_if_stmt_without_else: CloseParenthesisTkn: $4, ColonTkn: $5, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition($6), - }, + Position: position.NewNodeListPosition($6), Stmts: $6, }, } @@ -1785,9 +1609,7 @@ alt_if_stmt_without_else: | alt_if_stmt_without_else T_ELSEIF '(' expr ')' ':' inner_statement_list { $1.(*ast.StmtIf).ElseIf = append($1.(*ast.StmtIf).ElseIf, &ast.StmtElseIf{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($2, $7), - }, + Position: position.NewTokenNodeListPosition($2, $7), Alt: true, ElseIfTkn: $2, OpenParenthesisTkn: $3, @@ -1795,9 +1617,7 @@ alt_if_stmt_without_else: CloseParenthesisTkn: $5, ColonTkn: $6, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition($7), - }, + Position: position.NewNodeListPosition($7), Stmts: $7, }, }) @@ -1811,29 +1631,25 @@ alt_if_stmt: { $1.(*ast.StmtIf).EndIfTkn = $2 $1.(*ast.StmtIf).SemiColonTkn = $3 - $1.(*ast.StmtIf).Node.Position = position.NewNodeTokenPosition($1, $3) + $1.(*ast.StmtIf).Position = position.NewNodeTokenPosition($1, $3) $$ = $1 } | alt_if_stmt_without_else T_ELSE ':' inner_statement_list T_ENDIF ';' { $1.(*ast.StmtIf).Else = &ast.StmtElse{ - Node: ast.Node{ - Position: position.NewTokenNodeListPosition($2, $4), - }, + Position: position.NewTokenNodeListPosition($2, $4), Alt: true, ElseTkn: $2, ColonTkn: $3, Stmt: &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewNodeListPosition($4), - }, + Position: position.NewNodeListPosition($4), Stmts: $4, }, } $1.(*ast.StmtIf).EndIfTkn = $5 $1.(*ast.StmtIf).SemiColonTkn = $6 - $1.(*ast.StmtIf).Node.Position = position.NewNodeTokenPosition($1, $6) + $1.(*ast.StmtIf).Position = position.NewNodeTokenPosition($1, $6) $$ = $1 } @@ -1879,20 +1695,14 @@ parameter: } $$ = &ast.Parameter{ - Node: ast.Node{ - Position: pos, - }, + Position: pos, Type: $1, AmpersandTkn: $2, VariadicTkn: $3, Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -1911,20 +1721,14 @@ parameter: } $$ = &ast.Parameter{ - Node: ast.Node{ - Position: pos, - }, + Position: pos, Type: $1, AmpersandTkn: $2, VariadicTkn: $3, Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -1954,9 +1758,7 @@ type_expr: | '?' type { $$ = &ast.Nullable{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), QuestionTkn: $1, Expr: $2, } @@ -1967,9 +1769,7 @@ type: T_ARRAY { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -1977,9 +1777,7 @@ type: | T_CALLABLE { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2008,9 +1806,7 @@ argument_list: '(' ')' { $$ = &ast.ArgumentList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $2), - }, + Position: position.NewTokensPosition($1, $2), OpenParenthesisTkn: $1, CloseParenthesisTkn: $2, } @@ -2047,18 +1843,14 @@ argument: expr { $$ = &ast.Argument{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), Expr: $1, } } | T_ELLIPSIS expr { $$ = &ast.Argument{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), VariadicTkn: $1, Expr: $2, } @@ -2109,17 +1901,11 @@ static_var: { $$ = &ast.StmtStaticVar{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2129,17 +1915,11 @@ static_var: | T_VARIABLE '=' expr { $$ = &ast.StmtStaticVar{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $3), - }, + Position: position.NewTokenNodePosition($1, $3), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2165,9 +1945,7 @@ class_statement: variable_modifiers optional_type property_list ';' { $$ = &ast.StmtPropertyList{ - Node: ast.Node{ - Position: position.NewNodeListTokenPosition($1, $4), - }, + Position: position.NewNodeListTokenPosition($1, $4), Modifiers: $1, Type: $2, Properties: $3.(*ast.ParserSeparatedList).Items, @@ -2178,9 +1956,7 @@ class_statement: | method_modifiers T_CONST class_const_list ';' { $$ = &ast.StmtClassConstList{ - Node: ast.Node{ - Position: position.NewOptionalListTokensPosition($1, $2, $4), - }, + Position: position.NewOptionalListTokensPosition($1, $2, $4), Modifiers: $1, ConstTkn: $2, Consts: $3.(*ast.ParserSeparatedList).Items, @@ -2191,9 +1967,7 @@ class_statement: | T_USE name_list trait_adaptations { $$ = &ast.StmtTraitUse{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $3), - }, + Position: position.NewTokenNodePosition($1, $3), UseTkn: $1, Traits: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -2204,20 +1978,16 @@ class_statement: { pos := position.NewTokenNodePosition($2, $10) if $1 != nil { - $$.GetNode().Position = position.NewNodeListNodePosition($1, $10) + pos = position.NewNodeListNodePosition($1, $10) } $$ = &ast.StmtClassMethod{ - Node: ast.Node{ - Position: pos, - }, + Position: pos, Modifiers: $1, FunctionTkn: $2, AmpersandTkn: $3, MethodName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -2252,18 +2022,14 @@ trait_adaptations: ';' { $$ = &ast.StmtNop{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), SemiColonTkn: $1, } } | '{' '}' { $$ = &ast.StmtTraitAdaptationList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $2), - }, + Position: position.NewTokensPosition($1, $2), OpenParenthesisTkn: $1, CloseParenthesisTkn: $2, } @@ -2271,9 +2037,7 @@ trait_adaptations: | '{' trait_adaptation_list '}' { $$ = &ast.StmtTraitAdaptationList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenParenthesisTkn: $1, Adaptations: $2, CloseParenthesisTkn: $3, @@ -2311,9 +2075,7 @@ trait_precedence: absolute_trait_method_reference T_INSTEADOF name_list { $$ = &ast.StmtTraitUsePrecedence{ - Node: ast.Node{ - Position: position.NewNodeNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), - }, + Position: position.NewNodeNodeListPosition($1, $3.(*ast.ParserSeparatedList).Items), Ref: $1, InsteadofTkn: $2, Insteadof: $3.(*ast.ParserSeparatedList).Items, @@ -2326,15 +2088,11 @@ trait_alias: trait_method_reference T_AS T_STRING { $$ = &ast.StmtTraitUseAlias{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $3), - }, + Position: position.NewNodeTokenPosition($1, $3), Ref: $1, AsTkn: $2, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -2343,15 +2101,11 @@ trait_alias: | trait_method_reference T_AS reserved_non_modifiers { $$ = &ast.StmtTraitUseAlias{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $3), - }, + Position: position.NewNodeTokenPosition($1, $3), Ref: $1, AsTkn: $2, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -2360,16 +2114,12 @@ trait_alias: | trait_method_reference T_AS member_modifier identifier { $$ = &ast.StmtTraitUseAlias{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $4), - }, + Position: position.NewNodeTokenPosition($1, $4), Ref: $1, AsTkn: $2, Modifier: $3, Alias: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($4), - }, + Position: position.NewTokenPosition($4), IdentifierTkn: $4, Value: $4.Value, }, @@ -2378,9 +2128,7 @@ trait_alias: | trait_method_reference T_AS member_modifier { $$ = &ast.StmtTraitUseAlias{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Ref: $1, AsTkn: $2, Modifier: $3, @@ -2392,13 +2140,9 @@ trait_method_reference: identifier { $$ = &ast.StmtTraitMethodRef{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), Method: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2414,15 +2158,11 @@ absolute_trait_method_reference: name T_PAAMAYIM_NEKUDOTAYIM identifier { $$ = &ast.StmtTraitMethodRef{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $3), - }, + Position: position.NewNodeTokenPosition($1, $3), Trait: $1, DoubleColonTkn: $2, Method: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -2434,18 +2174,14 @@ method_body: ';' /* abstract method */ { $$ = &ast.StmtNop{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), SemiColonTkn: $1, } } | '{' inner_statement_list '}' { $$ = &ast.StmtStmtList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenCurlyBracket: $1, Stmts: $2, CloseCurlyBracket: $3, @@ -2462,9 +2198,7 @@ variable_modifiers: { $$ = []ast.Vertex{ &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2498,9 +2232,7 @@ member_modifier: T_PUBLIC { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2508,9 +2240,7 @@ member_modifier: | T_PROTECTED { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2518,9 +2248,7 @@ member_modifier: | T_PRIVATE { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2528,9 +2256,7 @@ member_modifier: | T_STATIC { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2538,9 +2264,7 @@ member_modifier: | T_ABSTRACT { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2548,9 +2272,7 @@ member_modifier: | T_FINAL { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -2577,17 +2299,11 @@ property: T_VARIABLE backup_doc_comment { $$ = &ast.StmtProperty{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2598,17 +2314,11 @@ property: | T_VARIABLE '=' expr backup_doc_comment { $$ = &ast.StmtProperty{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $3), - }, + Position: position.NewTokenNodePosition($1, $3), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2639,13 +2349,9 @@ class_const_decl: identifier '=' expr backup_doc_comment { $$ = &ast.StmtConstant{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $3), - }, + Position: position.NewTokenNodePosition($1, $3), Name: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2659,13 +2365,9 @@ const_decl: T_STRING '=' expr backup_doc_comment { $$ = &ast.StmtConstant{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $3), - }, + Position: position.NewTokenNodePosition($1, $3), Name: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -2729,9 +2431,7 @@ anonymous_class: T_CLASS ctor_arguments extends_from implements_list backup_doc_comment '{' class_statement_list '}' { $$ = &ast.StmtClass{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $8), - }, + Position: position.NewTokensPosition($1, $8), ClassTkn: $1, OpenParenthesisTkn: $2.(*ast.ArgumentList).OpenParenthesisTkn, Arguments: $2.(*ast.ArgumentList).Arguments, @@ -2751,9 +2451,7 @@ new_expr: { if $3 != nil { $$ = &ast.ExprNew{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $3), - }, + Position: position.NewTokenNodePosition($1, $3), NewTkn: $1, Class: $2, OpenParenthesisTkn: $3.(*ast.ArgumentList).OpenParenthesisTkn, @@ -2763,9 +2461,7 @@ new_expr: } } else { $$ = &ast.ExprNew{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), NewTkn: $1, Class: $2, } @@ -2774,9 +2470,7 @@ new_expr: | T_NEW anonymous_class { $$ = &ast.ExprNew{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), NewTkn: $1, Class: $2, } @@ -2787,13 +2481,9 @@ expr_without_variable: T_LIST '(' array_pair_list ')' '=' expr { $$ = &ast.ExprAssign{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $6), - }, + Position: position.NewTokenNodePosition($1, $6), Var: &ast.ExprList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), ListTkn: $1, OpenBracketTkn: $2, Items: $3.(*ast.ParserSeparatedList).Items, @@ -2807,13 +2497,9 @@ expr_without_variable: | '[' array_pair_list ']' '=' expr { $$ = &ast.ExprAssign{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $5), - }, + Position: position.NewTokenNodePosition($1, $5), Var: &ast.ExprList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Items: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -2826,9 +2512,7 @@ expr_without_variable: | variable '=' expr { $$ = &ast.ExprAssign{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2837,9 +2521,7 @@ expr_without_variable: | variable '=' '&' expr { $$ = &ast.ExprAssignReference{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $4), - }, + Position: position.NewNodesPosition($1, $4), Var: $1, EqualTkn: $2, AmpersandTkn: $3, @@ -2849,9 +2531,7 @@ expr_without_variable: | T_CLONE expr { $$ = &ast.ExprClone{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), CloneTkn: $1, Expr: $2, } @@ -2859,9 +2539,7 @@ expr_without_variable: | variable T_PLUS_EQUAL expr { $$ = &ast.ExprAssignPlus{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2870,9 +2548,7 @@ expr_without_variable: | variable T_MINUS_EQUAL expr { $$ = &ast.ExprAssignMinus{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2881,9 +2557,7 @@ expr_without_variable: | variable T_MUL_EQUAL expr { $$ = &ast.ExprAssignMul{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2892,9 +2566,7 @@ expr_without_variable: | variable T_POW_EQUAL expr { $$ = &ast.ExprAssignPow{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2903,9 +2575,7 @@ expr_without_variable: | variable T_DIV_EQUAL expr { $$ = &ast.ExprAssignDiv{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2914,9 +2584,7 @@ expr_without_variable: | variable T_CONCAT_EQUAL expr { $$ = &ast.ExprAssignConcat{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2925,9 +2593,7 @@ expr_without_variable: | variable T_MOD_EQUAL expr { $$ = &ast.ExprAssignMod{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2936,9 +2602,7 @@ expr_without_variable: | variable T_AND_EQUAL expr { $$ = &ast.ExprAssignBitwiseAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2947,9 +2611,7 @@ expr_without_variable: | variable T_OR_EQUAL expr { $$ = &ast.ExprAssignBitwiseOr{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2958,9 +2620,7 @@ expr_without_variable: | variable T_XOR_EQUAL expr { $$ = &ast.ExprAssignBitwiseXor{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2969,9 +2629,7 @@ expr_without_variable: | variable T_SL_EQUAL expr { $$ = &ast.ExprAssignShiftLeft{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2980,9 +2638,7 @@ expr_without_variable: | variable T_SR_EQUAL expr { $$ = &ast.ExprAssignShiftRight{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -2991,9 +2647,7 @@ expr_without_variable: | variable T_COALESCE_EQUAL expr { $$ = &ast.ExprAssignCoalesce{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, EqualTkn: $2, Expr: $3, @@ -3002,9 +2656,7 @@ expr_without_variable: | variable T_INC { $$ = &ast.ExprPostInc{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $2), - }, + Position: position.NewNodeTokenPosition($1, $2), Var: $1, IncTkn: $2, } @@ -3012,9 +2664,7 @@ expr_without_variable: | T_INC variable { $$ = &ast.ExprPreInc{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), IncTkn: $1, Var: $2, } @@ -3022,9 +2672,7 @@ expr_without_variable: | variable T_DEC { $$ = &ast.ExprPostDec{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $2), - }, + Position: position.NewNodeTokenPosition($1, $2), Var: $1, DecTkn: $2, } @@ -3032,9 +2680,7 @@ expr_without_variable: | T_DEC variable { $$ = &ast.ExprPreDec{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), DecTkn: $1, Var: $2, } @@ -3042,9 +2688,7 @@ expr_without_variable: | expr T_BOOLEAN_OR expr { $$ = &ast.ExprBinaryBooleanOr{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3053,9 +2697,7 @@ expr_without_variable: | expr T_BOOLEAN_AND expr { $$ = &ast.ExprBinaryBooleanAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3064,9 +2706,7 @@ expr_without_variable: | expr T_LOGICAL_OR expr { $$ = &ast.ExprBinaryLogicalOr{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3075,9 +2715,7 @@ expr_without_variable: | expr T_LOGICAL_AND expr { $$ = &ast.ExprBinaryLogicalAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3086,9 +2724,7 @@ expr_without_variable: | expr T_LOGICAL_XOR expr { $$ = &ast.ExprBinaryLogicalXor{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3097,9 +2733,7 @@ expr_without_variable: | expr '|' expr { $$ = &ast.ExprBinaryBitwiseOr{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3108,9 +2742,7 @@ expr_without_variable: | expr '&' expr { $$ = &ast.ExprBinaryBitwiseAnd{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3119,9 +2751,7 @@ expr_without_variable: | expr '^' expr { $$ = &ast.ExprBinaryBitwiseXor{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3130,9 +2760,7 @@ expr_without_variable: | expr '.' expr { $$ = &ast.ExprBinaryConcat{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3141,9 +2769,7 @@ expr_without_variable: | expr '+' expr { $$ = &ast.ExprBinaryPlus{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3152,9 +2778,7 @@ expr_without_variable: | expr '-' expr { $$ = &ast.ExprBinaryMinus{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3163,9 +2787,7 @@ expr_without_variable: | expr '*' expr { $$ = &ast.ExprBinaryMul{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3174,9 +2796,7 @@ expr_without_variable: | expr T_POW expr { $$ = &ast.ExprBinaryPow{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3185,9 +2805,7 @@ expr_without_variable: | expr '/' expr { $$ = &ast.ExprBinaryDiv{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3196,9 +2814,7 @@ expr_without_variable: | expr '%' expr { $$ = &ast.ExprBinaryMod{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3207,9 +2823,7 @@ expr_without_variable: | expr T_SL expr { $$ = &ast.ExprBinaryShiftLeft{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3218,9 +2832,7 @@ expr_without_variable: | expr T_SR expr { $$ = &ast.ExprBinaryShiftRight{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3229,9 +2841,7 @@ expr_without_variable: | '+' expr %prec T_INC { $$ = &ast.ExprUnaryPlus{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), PlusTkn: $1, Expr: $2, } @@ -3239,9 +2849,7 @@ expr_without_variable: | '-' expr %prec T_INC { $$ = &ast.ExprUnaryMinus{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), MinusTkn: $1, Expr: $2, } @@ -3249,9 +2857,7 @@ expr_without_variable: | '!' expr { $$ = &ast.ExprBooleanNot{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), ExclamationTkn: $1, Expr: $2, } @@ -3259,9 +2865,7 @@ expr_without_variable: | '~' expr { $$ = &ast.ExprBitwiseNot{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), TildaTkn: $1, Expr: $2, } @@ -3269,9 +2873,7 @@ expr_without_variable: | expr T_IS_IDENTICAL expr { $$ = &ast.ExprBinaryIdentical{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3280,9 +2882,7 @@ expr_without_variable: | expr T_IS_NOT_IDENTICAL expr { $$ = &ast.ExprBinaryNotIdentical{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3291,9 +2891,7 @@ expr_without_variable: | expr T_IS_EQUAL expr { $$ = &ast.ExprBinaryEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3302,9 +2900,7 @@ expr_without_variable: | expr T_IS_NOT_EQUAL expr { $$ = &ast.ExprBinaryNotEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3313,9 +2909,7 @@ expr_without_variable: | expr '<' expr { $$ = &ast.ExprBinarySmaller{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3324,9 +2918,7 @@ expr_without_variable: | expr T_IS_SMALLER_OR_EQUAL expr { $$ = &ast.ExprBinarySmallerOrEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3335,9 +2927,7 @@ expr_without_variable: | expr '>' expr { $$ = &ast.ExprBinaryGreater{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3346,9 +2936,7 @@ expr_without_variable: | expr T_IS_GREATER_OR_EQUAL expr { $$ = &ast.ExprBinaryGreaterOrEqual{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3357,9 +2945,7 @@ expr_without_variable: | expr T_SPACESHIP expr { $$ = &ast.ExprBinarySpaceship{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3368,9 +2954,7 @@ expr_without_variable: | expr T_INSTANCEOF class_name_reference { $$ = &ast.ExprInstanceOf{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Expr: $1, InstanceOfTkn: $2, Class: $3, @@ -3379,9 +2963,7 @@ expr_without_variable: | '(' expr ')' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -3394,9 +2976,7 @@ expr_without_variable: | expr '?' expr ':' expr { $$ = &ast.ExprTernary{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $5), - }, + Position: position.NewNodesPosition($1, $5), Condition: $1, QuestionTkn: $2, IfTrue: $3, @@ -3407,9 +2987,7 @@ expr_without_variable: | expr '?' ':' expr { $$ = &ast.ExprTernary{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $4), - }, + Position: position.NewNodesPosition($1, $4), Condition: $1, QuestionTkn: $2, ColonTkn: $3, @@ -3419,9 +2997,7 @@ expr_without_variable: | expr T_COALESCE expr { $$ = &ast.ExprBinaryCoalesce{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Left: $1, OpTkn: $2, Right: $3, @@ -3434,9 +3010,7 @@ expr_without_variable: | T_INT_CAST expr { $$ = &ast.ExprCastInt{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3444,9 +3018,7 @@ expr_without_variable: | T_DOUBLE_CAST expr { $$ = &ast.ExprCastDouble{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3454,9 +3026,7 @@ expr_without_variable: | T_STRING_CAST expr { $$ = &ast.ExprCastString{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3464,9 +3034,7 @@ expr_without_variable: | T_ARRAY_CAST expr { $$ = &ast.ExprCastArray{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3474,9 +3042,7 @@ expr_without_variable: | T_OBJECT_CAST expr { $$ = &ast.ExprCastObject{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3484,9 +3050,7 @@ expr_without_variable: | T_BOOL_CAST expr { $$ = &ast.ExprCastBool{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3494,9 +3058,7 @@ expr_without_variable: | T_UNSET_CAST expr { $$ = &ast.ExprCastUnset{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), CastTkn: $1, Expr: $2, } @@ -3508,9 +3070,9 @@ expr_without_variable: } if $2 == nil { - exit.Node.Position = position.NewTokenPosition($1) + exit.Position = position.NewTokenPosition($1) } else { - exit.Node.Position = position.NewTokenNodePosition($1, $2) + exit.Position = position.NewTokenNodePosition($1, $2) exit.OpenParenthesisTkn = $2.(*ast.ParserBrackets).OpenBracketTkn exit.Expr = $2.(*ast.ParserBrackets).Child exit.CloseParenthesisTkn = $2.(*ast.ParserBrackets).CloseBracketTkn @@ -3521,9 +3083,7 @@ expr_without_variable: | '@' expr { $$ = &ast.ExprErrorSuppress{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), AtTkn: $1, Expr: $2, } @@ -3535,9 +3095,7 @@ expr_without_variable: | '`' backticks_expr '`' { $$ = &ast.ExprShellExec{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBacktickTkn: $1, Parts: $2, CloseBacktickTkn: $3, @@ -3546,9 +3104,7 @@ expr_without_variable: | T_PRINT expr { $$ = &ast.ExprPrint{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), PrintTkn: $1, Expr: $2, } @@ -3556,18 +3112,14 @@ expr_without_variable: | T_YIELD { $$ = &ast.ExprYield{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), YieldTkn: $1, } } | T_YIELD expr { $$ = &ast.ExprYield{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), YieldTkn: $1, Value: $2, } @@ -3575,9 +3127,7 @@ expr_without_variable: | T_YIELD expr T_DOUBLE_ARROW expr { $$ = &ast.ExprYield{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $4), - }, + Position: position.NewTokenNodePosition($1, $4), YieldTkn: $1, Key: $2, DoubleArrowTkn: $3, @@ -3587,9 +3137,7 @@ expr_without_variable: | T_YIELD_FROM expr { $$ = &ast.ExprYieldFrom{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), YieldFromTkn: $1, Expr: $2, } @@ -3617,9 +3165,7 @@ inline_function: T_FUNCTION returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type '{' inner_statement_list '}' { $$ = &ast.ExprClosure{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $11), - }, + Position: position.NewTokensPosition($1, $11), FunctionTkn: $1, AmpersandTkn: $2, OpenParenthesisTkn: $4, @@ -3637,9 +3183,7 @@ inline_function: | T_FN returns_ref '(' parameter_list ')' return_type backup_doc_comment T_DOUBLE_ARROW expr { $$ = &ast.ExprArrowFunction{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $9), - }, + Position: position.NewTokenNodePosition($1, $9), FnTkn: $1, AmpersandTkn: $2, OpenParenthesisTkn: $3, @@ -3677,9 +3221,7 @@ lexical_vars: | T_USE '(' lexical_var_list ')' { $$ = &ast.ExprClosureUse{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), UseTkn: $1, OpenParenthesisTkn: $2, Uses: $3.(*ast.ParserSeparatedList).Items, @@ -3709,13 +3251,9 @@ lexical_var: T_VARIABLE { $$ = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -3724,18 +3262,12 @@ lexical_var: | '&' T_VARIABLE { $$ = &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $2), - }, + Position: position.NewTokensPosition($1, $2), AmpersandTkn: $1, Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -3748,9 +3280,7 @@ function_call: name argument_list { $$ = &ast.ExprFunctionCall{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $2), - }, + Position: position.NewNodesPosition($1, $2), Function: $1, OpenParenthesisTkn: $2.(*ast.ArgumentList).OpenParenthesisTkn, Arguments: $2.(*ast.ArgumentList).Arguments, @@ -3761,9 +3291,7 @@ function_call: | class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list { $$ = &ast.ExprStaticCall{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $4), - }, + Position: position.NewNodesPosition($1, $4), Class: $1, DoubleColonTkn: $2, Call: $3, @@ -3776,9 +3304,7 @@ function_call: | variable_class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list { $$ = &ast.ExprStaticCall{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $4), - }, + Position: position.NewNodesPosition($1, $4), Class: $1, DoubleColonTkn: $2, Call: $3, @@ -3791,9 +3317,7 @@ function_call: | callable_expr argument_list { $$ = &ast.ExprFunctionCall{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $2), - }, + Position: position.NewNodesPosition($1, $2), Function: $1, OpenParenthesisTkn: $2.(*ast.ArgumentList).OpenParenthesisTkn, Arguments: $2.(*ast.ArgumentList).Arguments, @@ -3807,9 +3331,7 @@ class_name: T_STATIC { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -3839,9 +3361,7 @@ exit_expr: | '(' optional_expr ')' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -3858,9 +3378,7 @@ backticks_expr: { $$ = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), EncapsedStrTkn: $1, Value: $1.Value, }, @@ -3887,9 +3405,7 @@ dereferencable_scalar: T_ARRAY '(' array_pair_list ')' { $$ = &ast.ExprArray{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), ArrayTkn: $1, OpenBracketTkn: $2, Items: $3.(*ast.ParserSeparatedList).Items, @@ -3900,9 +3416,7 @@ dereferencable_scalar: | '[' array_pair_list ']' { $$ = &ast.ExprArray{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Items: $2.(*ast.ParserSeparatedList).Items, SeparatorTkns: $2.(*ast.ParserSeparatedList).SeparatorTkns, @@ -3912,9 +3426,7 @@ dereferencable_scalar: | T_CONSTANT_ENCAPSED_STRING { $$ = &ast.ScalarString{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), StringTkn: $1, Value: $1.Value, } @@ -3925,9 +3437,7 @@ scalar: T_LNUMBER { $$ = &ast.ScalarLnumber{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), NumberTkn: $1, Value: $1.Value, } @@ -3935,9 +3445,7 @@ scalar: | T_DNUMBER { $$ = &ast.ScalarDnumber{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), NumberTkn: $1, Value: $1.Value, } @@ -3945,9 +3453,7 @@ scalar: | T_LINE { $$ = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3955,9 +3461,7 @@ scalar: | T_FILE { $$ = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3965,9 +3469,7 @@ scalar: | T_DIR { $$ = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3975,9 +3477,7 @@ scalar: | T_TRAIT_C { $$ = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3985,9 +3485,7 @@ scalar: | T_METHOD_C { $$ = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -3995,9 +3493,7 @@ scalar: | T_FUNC_C { $$ = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -4005,9 +3501,7 @@ scalar: | T_NS_C { $$ = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -4015,9 +3509,7 @@ scalar: | T_CLASS_C { $$ = &ast.ScalarMagicConstant{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), MagicConstTkn: $1, Value: $1.Value, } @@ -4025,15 +3517,11 @@ scalar: | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC { $$ = &ast.ScalarHeredoc{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenHeredocTkn: $1, Parts: []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), EncapsedStrTkn: $2, Value: $2.Value, }, @@ -4044,9 +3532,7 @@ scalar: | T_START_HEREDOC T_END_HEREDOC { $$ = &ast.ScalarHeredoc{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $2), - }, + Position: position.NewTokensPosition($1, $2), OpenHeredocTkn: $1, CloseHeredocTkn: $2, } @@ -4054,9 +3540,7 @@ scalar: | '"' encaps_list '"' { $$ = &ast.ScalarEncapsed{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenQoteTkn: $1, Parts: $2, CloseQoteTkn: $1, @@ -4065,9 +3549,7 @@ scalar: | T_START_HEREDOC encaps_list T_END_HEREDOC { $$ = &ast.ScalarHeredoc{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenHeredocTkn: $1, Parts: $2, CloseHeredocTkn: $3, @@ -4087,24 +3569,18 @@ constant: name { $$ = &ast.ExprConstFetch{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), Const: $1, } } | class_name T_PAAMAYIM_NEKUDOTAYIM identifier { $$ = &ast.ExprClassConstFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $3), - }, + Position: position.NewNodeTokenPosition($1, $3), Class: $1, DoubleColonTkn: $2, ConstantName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -4113,15 +3589,11 @@ constant: | variable_class_name T_PAAMAYIM_NEKUDOTAYIM identifier { $$ = &ast.ExprClassConstFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $3), - }, + Position: position.NewNodeTokenPosition($1, $3), Class: $1, DoubleColonTkn: $2, ConstantName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -4166,9 +3638,7 @@ dereferencable: | '(' expr ')' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -4188,9 +3658,7 @@ callable_expr: | '(' expr ')' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -4210,9 +3678,7 @@ callable_variable: | dereferencable '[' optional_expr ']' { $$ = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $4), - }, + Position: position.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -4222,9 +3688,7 @@ callable_variable: | constant '[' optional_expr ']' { $$ = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $4), - }, + Position: position.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -4234,9 +3698,7 @@ callable_variable: | dereferencable '{' expr '}' { $$ = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $4), - }, + Position: position.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -4246,9 +3708,7 @@ callable_variable: | dereferencable T_OBJECT_OPERATOR property_name argument_list { $$ = &ast.ExprMethodCall{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $4), - }, + Position: position.NewNodesPosition($1, $4), Var: $1, ObjectOperatorTkn: $2, Method: $3, @@ -4276,9 +3736,7 @@ variable: | dereferencable T_OBJECT_OPERATOR property_name { $$ = &ast.ExprPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, ObjectOperatorTkn: $2, Property: $3, @@ -4290,13 +3748,9 @@ simple_variable: T_VARIABLE { $$ = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -4305,14 +3759,10 @@ simple_variable: | '$' '{' expr '}' { $$ = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), DollarTkn: $1, VarName: &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($2, $4), - }, + Position: position.NewTokensPosition($2, $4), OpenBracketTkn: $2, Child: $3, CloseBracketTkn: $4, @@ -4322,9 +3772,7 @@ simple_variable: | '$' simple_variable { $$ = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), DollarTkn: $1, VarName: $2, } @@ -4335,9 +3783,7 @@ static_member: class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable { $$ = &ast.ExprStaticPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Class: $1, DoubleColonTkn: $2, Property: $3, @@ -4346,9 +3792,7 @@ static_member: | variable_class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable { $$ = &ast.ExprStaticPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Class: $1, DoubleColonTkn: $2, Property: $3, @@ -4364,9 +3808,7 @@ new_variable: | new_variable '[' optional_expr ']' { $$ = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $4), - }, + Position: position.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -4376,9 +3818,7 @@ new_variable: | new_variable '{' expr '}' { $$ = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $4), - }, + Position: position.NewNodeTokenPosition($1, $4), Var: $1, OpenBracketTkn: $2, Dim: $3, @@ -4388,9 +3828,7 @@ new_variable: | new_variable T_OBJECT_OPERATOR property_name { $$ = &ast.ExprPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Var: $1, ObjectOperatorTkn: $2, Property: $3, @@ -4399,9 +3837,7 @@ new_variable: | class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable { $$ = &ast.ExprStaticPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Class: $1, DoubleColonTkn: $2, Property: $3, @@ -4410,9 +3846,7 @@ new_variable: | new_variable T_PAAMAYIM_NEKUDOTAYIM simple_variable { $$ = &ast.ExprStaticPropertyFetch{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Class: $1, DoubleColonTkn: $2, Property: $3, @@ -4424,9 +3858,7 @@ member_name: identifier { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -4434,9 +3866,7 @@ member_name: | '{' expr '}' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -4452,9 +3882,7 @@ property_name: T_STRING { $$ = &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, } @@ -4462,9 +3890,7 @@ property_name: | '{' expr '}' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -4521,9 +3947,7 @@ array_pair: expr T_DOUBLE_ARROW expr { $$ = &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $3), - }, + Position: position.NewNodesPosition($1, $3), Key: $1, DoubleArrowTkn: $2, Val: $3, @@ -4532,24 +3956,18 @@ array_pair: | expr { $$ = &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodePosition($1), - }, + Position: position.NewNodePosition($1), Val: $1, } } | expr T_DOUBLE_ARROW '&' variable { $$ = &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodesPosition($1, $4), - }, + Position: position.NewNodesPosition($1, $4), Key: $1, DoubleArrowTkn: $2, Val: &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($3, $4), - }, + Position: position.NewTokenNodePosition($3, $4), AmpersandTkn: $3, Var: $4, }, @@ -4558,13 +3976,9 @@ array_pair: | '&' variable { $$ = &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), Val: &ast.ExprReference{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), AmpersandTkn: $1, Var: $2, }, @@ -4573,9 +3987,7 @@ array_pair: | T_ELLIPSIS expr { $$ = &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), EllipsisTkn: $1, Val: $2, } @@ -4583,15 +3995,11 @@ array_pair: | expr T_DOUBLE_ARROW T_LIST '(' array_pair_list ')' { $$ = &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewNodeTokenPosition($1, $6), - }, + Position: position.NewNodeTokenPosition($1, $6), Key: $1, DoubleArrowTkn: $2, Val: &ast.ExprList{ - Node: ast.Node{ - Position: position.NewTokensPosition($3, $6), - }, + Position: position.NewTokensPosition($3, $6), ListTkn: $3, OpenBracketTkn: $4, Items: $5.(*ast.ParserSeparatedList).Items, @@ -4603,13 +4011,9 @@ array_pair: | T_LIST '(' array_pair_list ')' { $$ = &ast.ExprArrayItem{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), Val: &ast.ExprList{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), ListTkn: $1, OpenBracketTkn: $2, Items: $3.(*ast.ParserSeparatedList).Items, @@ -4630,9 +4034,7 @@ encaps_list: $$ = append( $1, &ast.ScalarEncapsedStringPart{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), EncapsedStrTkn: $2, Value: $2.Value, }, @@ -4646,9 +4048,7 @@ encaps_list: { $$ = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), EncapsedStrTkn: $1, Value: $1.Value, }, @@ -4661,13 +4061,9 @@ encaps_var: T_VARIABLE { $$ = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -4676,17 +4072,11 @@ encaps_var: | T_VARIABLE '[' encaps_var_offset ']' { $$ = &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -4699,26 +4089,18 @@ encaps_var: | T_VARIABLE T_OBJECT_OPERATOR T_STRING { $$ = &ast.ExprPropertyFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, }, ObjectOperatorTkn: $2, Property: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($3), - }, + Position: position.NewTokenPosition($3), IdentifierTkn: $3, Value: $3.Value, }, @@ -4727,14 +4109,10 @@ encaps_var: | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewNodePosition($2), - }, + Position: position.NewNodePosition($2), VarName: $2, }, CloseBracketTkn: $3, @@ -4743,18 +4121,12 @@ encaps_var: | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '}' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -4765,22 +4137,14 @@ encaps_var: | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $6), - }, + Position: position.NewTokensPosition($1, $6), OpenBracketTkn: $1, Child: &ast.ExprArrayDimFetch{ - Node: ast.Node{ - Position: position.NewTokensPosition($2, $5), - }, + Position: position.NewTokensPosition($2, $5), Var: &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), IdentifierTkn: $2, Value: $2.Value, }, @@ -4795,9 +4159,7 @@ encaps_var: | T_CURLY_OPEN variable '}' { $$ = &ast.ParserBrackets{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $3), - }, + Position: position.NewTokensPosition($1, $3), OpenBracketTkn: $1, Child: $2, CloseBracketTkn: $3, @@ -4809,9 +4171,7 @@ encaps_var_offset: T_STRING { $$ = &ast.ScalarString{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), StringTkn: $1, Value: $1.Value, } @@ -4821,17 +4181,13 @@ encaps_var_offset: // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string($1.Value)); err == nil { $$ = &ast.ScalarLnumber{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), NumberTkn: $1, Value: $1.Value, } } else { $$ = &ast.ScalarString{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), StringTkn: $1, Value: $1.Value, } @@ -4844,24 +4200,17 @@ encaps_var_offset: if isInt { $$ = &ast.ExprUnaryMinus{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $2), - }, + Position: position.NewTokensPosition($1, $2), MinusTkn: $1, Expr: &ast.ScalarLnumber{ - Node: ast.Node{ - Position: position.NewTokenPosition($2), - }, + Position: position.NewTokenPosition($2), NumberTkn: $2, Value: $2.Value, }, } - $$.GetNode().Position = position.NewTokensPosition($1, $2) } else { $$ = &ast.ScalarString{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $2), - }, + Position: position.NewTokensPosition($1, $2), MinusTkn: $1, StringTkn: $2, Value: append([]byte("-"), $2.Value...), @@ -4871,13 +4220,9 @@ encaps_var_offset: | T_VARIABLE { $$ = &ast.ExprVariable{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), VarName: &ast.Identifier{ - Node: ast.Node{ - Position: position.NewTokenPosition($1), - }, + Position: position.NewTokenPosition($1), IdentifierTkn: $1, Value: $1.Value, }, @@ -4893,9 +4238,7 @@ internal_functions_in_yacc: } $$ = &ast.ExprIsset{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $5), - }, + Position: position.NewTokensPosition($1, $5), IssetTkn: $1, OpenParenthesisTkn: $2, Vars: $3.(*ast.ParserSeparatedList).Items, @@ -4906,9 +4249,7 @@ internal_functions_in_yacc: | T_EMPTY '(' expr ')' { $$ = &ast.ExprEmpty{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), EmptyTkn: $1, OpenParenthesisTkn: $2, Expr: $3, @@ -4918,9 +4259,7 @@ internal_functions_in_yacc: | T_INCLUDE expr { $$ = &ast.ExprInclude{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), IncludeTkn: $1, Expr: $2, } @@ -4928,9 +4267,7 @@ internal_functions_in_yacc: | T_INCLUDE_ONCE expr { $$ = &ast.ExprIncludeOnce{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), IncludeTkn: $1, Expr: $2, } @@ -4938,9 +4275,7 @@ internal_functions_in_yacc: | T_EVAL '(' expr ')' { $$ = &ast.ExprEval{ - Node: ast.Node{ - Position: position.NewTokensPosition($1, $4), - }, + Position: position.NewTokensPosition($1, $4), EvalTkn: $1, OpenParenthesisTkn: $2, Expr: $3, @@ -4950,9 +4285,7 @@ internal_functions_in_yacc: | T_REQUIRE expr { $$ = &ast.ExprRequire{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), RequireTkn: $1, Expr: $2, } @@ -4960,9 +4293,7 @@ internal_functions_in_yacc: | T_REQUIRE_ONCE expr { $$ = &ast.ExprRequireOnce{ - Node: ast.Node{ - Position: position.NewTokenNodePosition($1, $2), - }, + Position: position.NewTokenNodePosition($1, $2), RequireOnceTkn: $1, Expr: $2, } diff --git a/internal/position/position.go b/internal/position/position.go index 2603826..888f24b 100644 --- a/internal/position/position.go +++ b/internal/position/position.go @@ -36,7 +36,7 @@ func getNodeStartPos(n ast.Vertex) startPos { return startPos{-1, -1} } - p := n.GetNode().Position + p := n.GetPosition() if p != nil { sl = p.StartLine sp = p.StartPos @@ -65,7 +65,7 @@ func getNodeEndPos(n ast.Vertex) endPos { return endPos{-1, -1} } - p := n.GetNode().Position + p := n.GetPosition() if p != nil { el = p.EndLine ep = p.EndPos diff --git a/internal/position/position_test.go b/internal/position/position_test.go index 1fd6c83..fcd2681 100644 --- a/internal/position/position_test.go +++ b/internal/position/position_test.go @@ -23,9 +23,7 @@ func TestNewTokenPosition(t *testing.T) { pos := builder.NewTokenPosition(tkn) - assert.DeepEqual(t, &position.Position{1, 1, 0, 3}, pos) - - assert.DeepEqual(t, &position.Position{1, 1, 0, 3}, pos) + assert.DeepEqual(t, &position.Position{StartLine: 1, EndLine: 1, EndPos: 3}, pos) } func TestNewTokensPosition(t *testing.T) { @@ -50,24 +48,22 @@ func TestNewTokensPosition(t *testing.T) { pos := builder.NewTokensPosition(token1, token2) - assert.DeepEqual(t, &position.Position{1, 2, 0, 6}, pos) + assert.DeepEqual(t, &position.Position{StartLine: 1, EndLine: 2, EndPos: 6}, pos) } func TestNewNodePosition(t *testing.T) { n := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 1, - EndLine: 1, - StartPos: 0, - EndPos: 3, - }, + Position: &position.Position{ + StartLine: 1, + EndLine: 1, + StartPos: 0, + EndPos: 3, }, } pos := builder.NewNodePosition(n) - assert.DeepEqual(t, &position.Position{1, 1, 0, 3}, pos) + assert.DeepEqual(t, &position.Position{StartLine: 1, EndLine: 1, EndPos: 3}, pos) } func TestNewTokenNodePosition(t *testing.T) { @@ -81,30 +77,26 @@ func TestNewTokenNodePosition(t *testing.T) { }, } n := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 2, - EndLine: 2, - StartPos: 4, - EndPos: 12, - }, + Position: &position.Position{ + StartLine: 2, + EndLine: 2, + StartPos: 4, + EndPos: 12, }, } pos := builder.NewTokenNodePosition(tkn, n) - assert.DeepEqual(t, &position.Position{1, 2, 0, 12}, pos) + assert.DeepEqual(t, &position.Position{StartLine: 1, EndLine: 2, EndPos: 12}, pos) } func TestNewNodeTokenPosition(t *testing.T) { n := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 1, - EndLine: 1, - StartPos: 0, - EndPos: 9, - }, + Position: &position.Position{ + StartLine: 1, + EndLine: 1, + StartPos: 0, + EndPos: 9, }, } @@ -120,85 +112,73 @@ func TestNewNodeTokenPosition(t *testing.T) { pos := builder.NewNodeTokenPosition(n, tkn) - assert.DeepEqual(t, &position.Position{1, 2, 0, 12}, pos) + assert.DeepEqual(t, &position.Position{StartLine: 1, EndLine: 2, EndPos: 12}, pos) } func TestNewNodeListPosition(t *testing.T) { n1 := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 1, - EndLine: 1, - StartPos: 0, - EndPos: 9, - }, + Position: &position.Position{ + StartLine: 1, + EndLine: 1, + StartPos: 0, + EndPos: 9, }, } n2 := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 2, - EndLine: 2, - StartPos: 10, - EndPos: 19, - }, + Position: &position.Position{ + StartLine: 2, + EndLine: 2, + StartPos: 10, + EndPos: 19, }, } pos := builder.NewNodeListPosition([]ast.Vertex{n1, n2}) - assert.DeepEqual(t, &position.Position{1, 2, 0, 19}, pos) + assert.DeepEqual(t, &position.Position{StartLine: 1, EndLine: 2, EndPos: 19}, pos) } func TestNewNodesPosition(t *testing.T) { n1 := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 1, - EndLine: 1, - StartPos: 0, - EndPos: 9, - }, + Position: &position.Position{ + StartLine: 1, + EndLine: 1, + StartPos: 0, + EndPos: 9, }, } n2 := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 2, - EndLine: 2, - StartPos: 10, - EndPos: 19, - }, + Position: &position.Position{ + StartLine: 2, + EndLine: 2, + StartPos: 10, + EndPos: 19, }, } pos := builder.NewNodesPosition(n1, n2) - assert.DeepEqual(t, &position.Position{1, 2, 0, 19}, pos) + assert.DeepEqual(t, &position.Position{StartLine: 1, EndLine: 2, EndPos: 19}, pos) } func TestNewNodeListTokenPosition(t *testing.T) { n1 := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 1, - EndLine: 1, - StartPos: 0, - EndPos: 9, - }, + Position: &position.Position{ + StartLine: 1, + EndLine: 1, + StartPos: 0, + EndPos: 9, }, } n2 := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 2, - EndLine: 2, - StartPos: 10, - EndPos: 19, - }, + Position: &position.Position{ + StartLine: 2, + EndLine: 2, + StartPos: 10, + EndPos: 19, }, } @@ -214,7 +194,7 @@ func TestNewNodeListTokenPosition(t *testing.T) { pos := builder.NewNodeListTokenPosition([]ast.Vertex{n1, n2}, tkn) - assert.DeepEqual(t, &position.Position{1, 3, 0, 22}, pos) + assert.DeepEqual(t, &position.Position{StartLine: 1, EndLine: 3, EndPos: 22}, pos) } func TestNewTokenNodeListPosition(t *testing.T) { @@ -229,106 +209,90 @@ func TestNewTokenNodeListPosition(t *testing.T) { } n1 := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 2, - EndLine: 2, - StartPos: 3, - EndPos: 10, - }, + Position: &position.Position{ + StartLine: 2, + EndLine: 2, + StartPos: 3, + EndPos: 10, }, } n2 := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 3, - EndLine: 3, - StartPos: 11, - EndPos: 20, - }, + Position: &position.Position{ + StartLine: 3, + EndLine: 3, + StartPos: 11, + EndPos: 20, }, } pos := builder.NewTokenNodeListPosition(tkn, []ast.Vertex{n1, n2}) - assert.DeepEqual(t, &position.Position{1, 3, 0, 20}, pos) + assert.DeepEqual(t, &position.Position{StartLine: 1, EndLine: 3, EndPos: 20}, pos) } func TestNewNodeNodeListPosition(t *testing.T) { n1 := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 1, - EndLine: 1, - StartPos: 0, - EndPos: 8, - }, + Position: &position.Position{ + StartLine: 1, + EndLine: 1, + StartPos: 0, + EndPos: 8, }, } n2 := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 2, - EndLine: 2, - StartPos: 9, - EndPos: 17, - }, + Position: &position.Position{ + StartLine: 2, + EndLine: 2, + StartPos: 9, + EndPos: 17, }, } n3 := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 3, - EndLine: 3, - StartPos: 18, - EndPos: 26, - }, + Position: &position.Position{ + StartLine: 3, + EndLine: 3, + StartPos: 18, + EndPos: 26, }, } pos := builder.NewNodeNodeListPosition(n1, []ast.Vertex{n2, n3}) - assert.DeepEqual(t, &position.Position{1, 3, 0, 26}, pos) + assert.DeepEqual(t, &position.Position{StartLine: 1, EndLine: 3, EndPos: 26}, pos) } func TestNewNodeListNodePosition(t *testing.T) { n1 := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 1, - EndLine: 1, - StartPos: 0, - EndPos: 8, - }, + Position: &position.Position{ + StartLine: 1, + EndLine: 1, + StartPos: 0, + EndPos: 8, }, } n2 := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 2, - EndLine: 2, - StartPos: 9, - EndPos: 17, - }, + Position: &position.Position{ + StartLine: 2, + EndLine: 2, + StartPos: 9, + EndPos: 17, }, } n3 := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 3, - EndLine: 3, - StartPos: 18, - EndPos: 26, - }, + Position: &position.Position{ + StartLine: 3, + EndLine: 3, + StartPos: 18, + EndPos: 26, }, } pos := builder.NewNodeListNodePosition([]ast.Vertex{n1, n2}, n3) - assert.DeepEqual(t, &position.Position{1, 3, 0, 26}, pos) + assert.DeepEqual(t, &position.Position{StartLine: 1, EndLine: 3, EndPos: 26}, pos) } func TestNewOptionalListTokensPosition(t *testing.T) { @@ -353,28 +317,24 @@ func TestNewOptionalListTokensPosition(t *testing.T) { pos := builder.NewOptionalListTokensPosition(nil, token1, token2) - assert.DeepEqual(t, &position.Position{1, 2, 0, 6}, pos) + assert.DeepEqual(t, &position.Position{StartLine: 1, EndLine: 2, EndPos: 6}, pos) } func TestNewOptionalListTokensPosition2(t *testing.T) { n2 := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 2, - EndLine: 2, - StartPos: 9, - EndPos: 17, - }, + Position: &position.Position{ + StartLine: 2, + EndLine: 2, + StartPos: 9, + EndPos: 17, }, } n3 := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 3, - EndLine: 3, - StartPos: 18, - EndPos: 26, - }, + Position: &position.Position{ + StartLine: 3, + EndLine: 3, + StartPos: 18, + EndPos: 26, }, } @@ -399,34 +359,32 @@ func TestNewOptionalListTokensPosition2(t *testing.T) { pos := builder.NewOptionalListTokensPosition([]ast.Vertex{n2, n3}, token1, token2) - assert.DeepEqual(t, &position.Position{2, 5, 9, 32}, pos) + assert.DeepEqual(t, &position.Position{StartLine: 2, EndLine: 5, StartPos: 9, EndPos: 32}, pos) } func TestNilNodePos(t *testing.T) { pos := builder.NewNodesPosition(nil, nil) - assert.DeepEqual(t, &position.Position{-1, -1, -1, -1}, pos) + assert.DeepEqual(t, &position.Position{StartLine: -1, EndLine: -1, StartPos: -1, EndPos: -1}, pos) } func TestNilNodeListPos(t *testing.T) { n1 := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 1, - EndLine: 1, - StartPos: 0, - EndPos: 8, - }, + Position: &position.Position{ + StartLine: 1, + EndLine: 1, + StartPos: 0, + EndPos: 8, }, } pos := builder.NewNodeNodeListPosition(n1, nil) - assert.DeepEqual(t, &position.Position{1, -1, 0, -1}, pos) + assert.DeepEqual(t, &position.Position{StartLine: 1, EndLine: -1, EndPos: -1}, pos) } func TestNilNodeListTokenPos(t *testing.T) { - token := &token.Token{ + tkn := &token.Token{ Value: []byte(`foo`), Position: &position.Position{ StartLine: 1, @@ -436,30 +394,28 @@ func TestNilNodeListTokenPos(t *testing.T) { }, } - pos := builder.NewNodeListTokenPosition(nil, token) + pos := builder.NewNodeListTokenPosition(nil, tkn) - assert.DeepEqual(t, &position.Position{-1, 1, -1, 3}, pos) + assert.DeepEqual(t, &position.Position{StartLine: -1, EndLine: 1, StartPos: -1, EndPos: 3}, pos) } func TestEmptyNodeListPos(t *testing.T) { n1 := &ast.Identifier{ - Node: ast.Node{ - Position: &position.Position{ - StartLine: 1, - EndLine: 1, - StartPos: 0, - EndPos: 8, - }, + Position: &position.Position{ + StartLine: 1, + EndLine: 1, + StartPos: 0, + EndPos: 8, }, } pos := builder.NewNodeNodeListPosition(n1, []ast.Vertex{}) - assert.DeepEqual(t, &position.Position{1, -1, 0, -1}, pos) + assert.DeepEqual(t, &position.Position{StartLine: 1, EndLine: -1, EndPos: -1}, pos) } func TestEmptyNodeListTokenPos(t *testing.T) { - token := &token.Token{ + tkn := &token.Token{ Value: []byte(`foo`), Position: &position.Position{ StartLine: 1, @@ -469,7 +425,7 @@ func TestEmptyNodeListTokenPos(t *testing.T) { }, } - pos := builder.NewNodeListTokenPosition([]ast.Vertex{}, token) + pos := builder.NewNodeListTokenPosition([]ast.Vertex{}, tkn) - assert.DeepEqual(t, &position.Position{-1, 1, -1, 3}, pos) + assert.DeepEqual(t, &position.Position{StartLine: -1, EndLine: 1, StartPos: -1, EndPos: 3}, pos) } diff --git a/pkg/ast/ast.go b/pkg/ast/ast.go index b711aaa..c689909 100644 --- a/pkg/ast/ast.go +++ b/pkg/ast/ast.go @@ -1,8 +1,10 @@ package ast +import "github.com/z7zmey/php-parser/pkg/position" + type Vertex interface { Accept(v NodeVisitor) - GetNode() *Node + GetPosition() *position.Position } type Traverser interface { diff --git a/pkg/ast/node.go b/pkg/ast/node.go index b375c45..70655b5 100644 --- a/pkg/ast/node.go +++ b/pkg/ast/node.go @@ -5,35 +5,24 @@ import ( "github.com/z7zmey/php-parser/pkg/token" ) -type Node struct { - StartTokens []token.Token - EndTokens []token.Token - Tokens token.Collection - Position *position.Position -} - -func (n *Node) GetNode() *Node { - return n -} - -func (n *Node) GetPosition() *position.Position { - return n.Position -} - // Root node type Root struct { - Node - Stmts []Vertex - EndTkn *token.Token + Position *position.Position + Stmts []Vertex + EndTkn *token.Token } func (n *Root) Accept(v NodeVisitor) { v.Root(n) } +func (n *Root) GetPosition() *position.Position { + return n.Position +} + // Nullable node type Nullable struct { - Node + Position *position.Position QuestionTkn *token.Token Expr Vertex } @@ -42,9 +31,13 @@ func (n *Nullable) Accept(v NodeVisitor) { v.Nullable(n) } +func (n *Nullable) GetPosition() *position.Position { + return n.Position +} + // Parameter node type Parameter struct { - Node + Position *position.Position Type Vertex AmpersandTkn *token.Token VariadicTkn *token.Token @@ -57,9 +50,13 @@ func (n *Parameter) Accept(v NodeVisitor) { v.Parameter(n) } +func (n *Parameter) GetPosition() *position.Position { + return n.Position +} + // Identifier node type Identifier struct { - Node + Position *position.Position IdentifierTkn *token.Token Value []byte } @@ -68,9 +65,13 @@ func (n *Identifier) Accept(v NodeVisitor) { v.Identifier(n) } +func (n *Identifier) GetPosition() *position.Position { + return n.Position +} + // Argument node type Argument struct { - Node + Position *position.Position VariadicTkn *token.Token AmpersandTkn *token.Token Expr Vertex @@ -80,9 +81,13 @@ func (n *Argument) Accept(v NodeVisitor) { v.Argument(n) } +func (n *Argument) GetPosition() *position.Position { + return n.Position +} + // ScalarDnumber node type ScalarDnumber struct { - Node + Position *position.Position NumberTkn *token.Token Value []byte } @@ -91,9 +96,13 @@ func (n *ScalarDnumber) Accept(v NodeVisitor) { v.ScalarDnumber(n) } +func (n *ScalarDnumber) GetPosition() *position.Position { + return n.Position +} + // ScalarEncapsed node type ScalarEncapsed struct { - Node + Position *position.Position OpenQoteTkn *token.Token Parts []Vertex CloseQoteTkn *token.Token @@ -103,9 +112,13 @@ func (n *ScalarEncapsed) Accept(v NodeVisitor) { v.ScalarEncapsed(n) } +func (n *ScalarEncapsed) GetPosition() *position.Position { + return n.Position +} + // ScalarEncapsedStringPart node type ScalarEncapsedStringPart struct { - Node + Position *position.Position EncapsedStrTkn *token.Token Value []byte } @@ -114,9 +127,13 @@ func (n *ScalarEncapsedStringPart) Accept(v NodeVisitor) { v.ScalarEncapsedStringPart(n) } +func (n *ScalarEncapsedStringPart) GetPosition() *position.Position { + return n.Position +} + // ScalarHeredoc node type ScalarHeredoc struct { - Node + Position *position.Position OpenHeredocTkn *token.Token Parts []Vertex CloseHeredocTkn *token.Token @@ -126,9 +143,13 @@ func (n *ScalarHeredoc) Accept(v NodeVisitor) { v.ScalarHeredoc(n) } +func (n *ScalarHeredoc) GetPosition() *position.Position { + return n.Position +} + // ScalarLnumber node type ScalarLnumber struct { - Node + Position *position.Position NumberTkn *token.Token Value []byte } @@ -137,9 +158,13 @@ func (n *ScalarLnumber) Accept(v NodeVisitor) { v.ScalarLnumber(n) } +func (n *ScalarLnumber) GetPosition() *position.Position { + return n.Position +} + // ScalarMagicConstant node type ScalarMagicConstant struct { - Node + Position *position.Position MagicConstTkn *token.Token Value []byte } @@ -148,9 +173,13 @@ func (n *ScalarMagicConstant) Accept(v NodeVisitor) { v.ScalarMagicConstant(n) } +func (n *ScalarMagicConstant) GetPosition() *position.Position { + return n.Position +} + // ScalarString node type ScalarString struct { - Node + Position *position.Position MinusTkn *token.Token StringTkn *token.Token Value []byte @@ -160,9 +189,13 @@ func (n *ScalarString) Accept(v NodeVisitor) { v.ScalarString(n) } +func (n *ScalarString) GetPosition() *position.Position { + return n.Position +} + // StmtBreak node type StmtBreak struct { - Node + Position *position.Position BreakTkn *token.Token Expr Vertex SemiColonTkn *token.Token @@ -172,9 +205,13 @@ func (n *StmtBreak) Accept(v NodeVisitor) { v.StmtBreak(n) } +func (n *StmtBreak) GetPosition() *position.Position { + return n.Position +} + // StmtCase node type StmtCase struct { - Node + Position *position.Position CaseTkn *token.Token Cond Vertex CaseSeparatorTkn *token.Token @@ -185,9 +222,13 @@ func (n *StmtCase) Accept(v NodeVisitor) { v.StmtCase(n) } +func (n *StmtCase) GetPosition() *position.Position { + return n.Position +} + // StmtCatch node type StmtCatch struct { - Node + Position *position.Position CatchTkn *token.Token OpenParenthesisTkn *token.Token Types []Vertex @@ -203,9 +244,13 @@ func (n *StmtCatch) Accept(v NodeVisitor) { v.StmtCatch(n) } +func (n *StmtCatch) GetPosition() *position.Position { + return n.Position +} + // StmtClass node type StmtClass struct { - Node + Position *position.Position Modifiers []Vertex ClassTkn *token.Token ClassName Vertex @@ -224,9 +269,13 @@ func (n *StmtClass) Accept(v NodeVisitor) { v.StmtClass(n) } +func (n *StmtClass) GetPosition() *position.Position { + return n.Position +} + // StmtClassConstList node type StmtClassConstList struct { - Node + Position *position.Position Modifiers []Vertex ConstTkn *token.Token Consts []Vertex @@ -238,9 +287,13 @@ func (n *StmtClassConstList) Accept(v NodeVisitor) { v.StmtClassConstList(n) } +func (n *StmtClassConstList) GetPosition() *position.Position { + return n.Position +} + // StmtClassExtends node type StmtClassExtends struct { - Node + Position *position.Position ExtendTkn *token.Token ClassName Vertex } @@ -249,9 +302,13 @@ func (n *StmtClassExtends) Accept(v NodeVisitor) { v.StmtClassExtends(n) } +func (n *StmtClassExtends) GetPosition() *position.Position { + return n.Position +} + // StmtClassImplements node type StmtClassImplements struct { - Node + Position *position.Position ImplementsTkn *token.Token InterfaceNames []Vertex SeparatorTkns []*token.Token @@ -261,9 +318,13 @@ func (n *StmtClassImplements) Accept(v NodeVisitor) { v.StmtClassImplements(n) } +func (n *StmtClassImplements) GetPosition() *position.Position { + return n.Position +} + // StmtClassMethod node type StmtClassMethod struct { - Node + Position *position.Position Modifiers []Vertex FunctionTkn *token.Token AmpersandTkn *token.Token @@ -281,9 +342,13 @@ func (n *StmtClassMethod) Accept(v NodeVisitor) { v.StmtClassMethod(n) } +func (n *StmtClassMethod) GetPosition() *position.Position { + return n.Position +} + // StmtConstList node type StmtConstList struct { - Node + Position *position.Position ConstTkn *token.Token Consts []Vertex SeparatorTkns []*token.Token @@ -294,9 +359,13 @@ func (n *StmtConstList) Accept(v NodeVisitor) { v.StmtConstList(n) } +func (n *StmtConstList) GetPosition() *position.Position { + return n.Position +} + // StmtConstant node type StmtConstant struct { - Node + Position *position.Position Name Vertex EqualTkn *token.Token Expr Vertex @@ -306,9 +375,13 @@ func (n *StmtConstant) Accept(v NodeVisitor) { v.StmtConstant(n) } +func (n *StmtConstant) GetPosition() *position.Position { + return n.Position +} + // StmtContinue node type StmtContinue struct { - Node + Position *position.Position ContinueTkn *token.Token Expr Vertex SemiColonTkn *token.Token @@ -318,9 +391,13 @@ func (n *StmtContinue) Accept(v NodeVisitor) { v.StmtContinue(n) } +func (n *StmtContinue) GetPosition() *position.Position { + return n.Position +} + // StmtDeclare node type StmtDeclare struct { - Node + Position *position.Position Alt bool DeclareTkn *token.Token OpenParenthesisTkn *token.Token @@ -337,9 +414,13 @@ func (n *StmtDeclare) Accept(v NodeVisitor) { v.StmtDeclare(n) } +func (n *StmtDeclare) GetPosition() *position.Position { + return n.Position +} + // StmtDefault node type StmtDefault struct { - Node + Position *position.Position DefaultTkn *token.Token CaseSeparatorTkn *token.Token Stmts []Vertex @@ -349,9 +430,13 @@ func (n *StmtDefault) Accept(v NodeVisitor) { v.StmtDefault(n) } +func (n *StmtDefault) GetPosition() *position.Position { + return n.Position +} + // StmtDo node type StmtDo struct { - Node + Position *position.Position DoTkn *token.Token Stmt Vertex WhileTkn *token.Token @@ -365,9 +450,13 @@ func (n *StmtDo) Accept(v NodeVisitor) { v.StmtDo(n) } +func (n *StmtDo) GetPosition() *position.Position { + return n.Position +} + // StmtEcho node type StmtEcho struct { - Node + Position *position.Position EchoTkn *token.Token Exprs []Vertex SeparatorTkns []*token.Token @@ -378,9 +467,13 @@ func (n *StmtEcho) Accept(v NodeVisitor) { v.StmtEcho(n) } +func (n *StmtEcho) GetPosition() *position.Position { + return n.Position +} + // StmtElse node type StmtElse struct { - Node + Position *position.Position Alt bool ElseTkn *token.Token ColonTkn *token.Token @@ -391,9 +484,13 @@ func (n *StmtElse) Accept(v NodeVisitor) { v.StmtElse(n) } +func (n *StmtElse) GetPosition() *position.Position { + return n.Position +} + // StmtElseIf node type StmtElseIf struct { - Node + Position *position.Position Alt bool ElseIfTkn *token.Token OpenParenthesisTkn *token.Token @@ -407,9 +504,13 @@ func (n *StmtElseIf) Accept(v NodeVisitor) { v.StmtElseIf(n) } +func (n *StmtElseIf) GetPosition() *position.Position { + return n.Position +} + // StmtExpression node type StmtExpression struct { - Node + Position *position.Position Expr Vertex SemiColonTkn *token.Token } @@ -418,9 +519,13 @@ func (n *StmtExpression) Accept(v NodeVisitor) { v.StmtExpression(n) } +func (n *StmtExpression) GetPosition() *position.Position { + return n.Position +} + // StmtFinally node type StmtFinally struct { - Node + Position *position.Position FinallyTkn *token.Token OpenCurlyBracketTkn *token.Token Stmts []Vertex @@ -431,9 +536,13 @@ func (n *StmtFinally) Accept(v NodeVisitor) { v.StmtFinally(n) } +func (n *StmtFinally) GetPosition() *position.Position { + return n.Position +} + // StmtFor node type StmtFor struct { - Node + Position *position.Position Alt bool ForTkn *token.Token OpenParenthesisTkn *token.Token @@ -456,9 +565,13 @@ func (n *StmtFor) Accept(v NodeVisitor) { v.StmtFor(n) } +func (n *StmtFor) GetPosition() *position.Position { + return n.Position +} + // StmtForeach node type StmtForeach struct { - Node + Position *position.Position Alt bool ForeachTkn *token.Token OpenParenthesisTkn *token.Token @@ -478,9 +591,13 @@ func (n *StmtForeach) Accept(v NodeVisitor) { v.StmtForeach(n) } +func (n *StmtForeach) GetPosition() *position.Position { + return n.Position +} + // StmtFunction node type StmtFunction struct { - Node + Position *position.Position FunctionTkn *token.Token AmpersandTkn *token.Token FunctionName Vertex @@ -499,9 +616,13 @@ func (n *StmtFunction) Accept(v NodeVisitor) { v.StmtFunction(n) } +func (n *StmtFunction) GetPosition() *position.Position { + return n.Position +} + // StmtGlobal node type StmtGlobal struct { - Node + Position *position.Position GlobalTkn *token.Token Vars []Vertex SeparatorTkns []*token.Token @@ -512,9 +633,13 @@ func (n *StmtGlobal) Accept(v NodeVisitor) { v.StmtGlobal(n) } +func (n *StmtGlobal) GetPosition() *position.Position { + return n.Position +} + // StmtGoto node type StmtGoto struct { - Node + Position *position.Position GotoTkn *token.Token Label Vertex SemiColonTkn *token.Token @@ -524,9 +649,13 @@ func (n *StmtGoto) Accept(v NodeVisitor) { v.StmtGoto(n) } +func (n *StmtGoto) GetPosition() *position.Position { + return n.Position +} + // StmtHaltCompiler node type StmtHaltCompiler struct { - Node + Position *position.Position HaltCompilerTkn *token.Token OpenParenthesisTkn *token.Token CloseParenthesisTkn *token.Token @@ -537,9 +666,13 @@ func (n *StmtHaltCompiler) Accept(v NodeVisitor) { v.StmtHaltCompiler(n) } +func (n *StmtHaltCompiler) GetPosition() *position.Position { + return n.Position +} + // StmtIf node type StmtIf struct { - Node + Position *position.Position Alt bool IfTkn *token.Token OpenParenthesisTkn *token.Token @@ -557,9 +690,13 @@ func (n *StmtIf) Accept(v NodeVisitor) { v.StmtIf(n) } +func (n *StmtIf) GetPosition() *position.Position { + return n.Position +} + // StmtInlineHtml node type StmtInlineHtml struct { - Node + Position *position.Position InlineHtmlTkn *token.Token Value []byte } @@ -568,9 +705,13 @@ func (n *StmtInlineHtml) Accept(v NodeVisitor) { v.StmtInlineHtml(n) } +func (n *StmtInlineHtml) GetPosition() *position.Position { + return n.Position +} + // StmtInterface node type StmtInterface struct { - Node + Position *position.Position InterfaceTkn *token.Token InterfaceName Vertex Extends Vertex @@ -583,9 +724,13 @@ func (n *StmtInterface) Accept(v NodeVisitor) { v.StmtInterface(n) } +func (n *StmtInterface) GetPosition() *position.Position { + return n.Position +} + // StmtInterfaceExtends node type StmtInterfaceExtends struct { - Node + Position *position.Position ExtendsTkn *token.Token InterfaceNames []Vertex SeparatorTkns []*token.Token @@ -595,9 +740,13 @@ func (n *StmtInterfaceExtends) Accept(v NodeVisitor) { v.StmtInterfaceExtends(n) } +func (n *StmtInterfaceExtends) GetPosition() *position.Position { + return n.Position +} + // StmtLabel node type StmtLabel struct { - Node + Position *position.Position LabelName Vertex ColonTkn *token.Token } @@ -606,9 +755,13 @@ func (n *StmtLabel) Accept(v NodeVisitor) { v.StmtLabel(n) } +func (n *StmtLabel) GetPosition() *position.Position { + return n.Position +} + // StmtNamespace node type StmtNamespace struct { - Node + Position *position.Position NsTkn *token.Token Name Vertex OpenCurlyBracket *token.Token @@ -621,9 +774,13 @@ func (n *StmtNamespace) Accept(v NodeVisitor) { v.StmtNamespace(n) } +func (n *StmtNamespace) GetPosition() *position.Position { + return n.Position +} + // StmtNop node type StmtNop struct { - Node + Position *position.Position SemiColonTkn *token.Token } @@ -631,9 +788,13 @@ func (n *StmtNop) Accept(v NodeVisitor) { v.StmtNop(n) } +func (n *StmtNop) GetPosition() *position.Position { + return n.Position +} + // StmtProperty node type StmtProperty struct { - Node + Position *position.Position Var Vertex EqualTkn *token.Token Expr Vertex @@ -643,9 +804,13 @@ func (n *StmtProperty) Accept(v NodeVisitor) { v.StmtProperty(n) } +func (n *StmtProperty) GetPosition() *position.Position { + return n.Position +} + // StmtPropertyList node type StmtPropertyList struct { - Node + Position *position.Position Modifiers []Vertex Type Vertex Properties []Vertex @@ -657,9 +822,13 @@ func (n *StmtPropertyList) Accept(v NodeVisitor) { v.StmtPropertyList(n) } +func (n *StmtPropertyList) GetPosition() *position.Position { + return n.Position +} + // StmtReturn node type StmtReturn struct { - Node + Position *position.Position ReturnTkn *token.Token Expr Vertex SemiColonTkn *token.Token @@ -669,9 +838,13 @@ func (n *StmtReturn) Accept(v NodeVisitor) { v.StmtReturn(n) } +func (n *StmtReturn) GetPosition() *position.Position { + return n.Position +} + // StmtStatic node type StmtStatic struct { - Node + Position *position.Position StaticTkn *token.Token Vars []Vertex SeparatorTkns []*token.Token @@ -682,9 +855,13 @@ func (n *StmtStatic) Accept(v NodeVisitor) { v.StmtStatic(n) } +func (n *StmtStatic) GetPosition() *position.Position { + return n.Position +} + // StmtStaticVar node type StmtStaticVar struct { - Node + Position *position.Position Var Vertex EqualTkn *token.Token Expr Vertex @@ -694,9 +871,13 @@ func (n *StmtStaticVar) Accept(v NodeVisitor) { v.StmtStaticVar(n) } +func (n *StmtStaticVar) GetPosition() *position.Position { + return n.Position +} + // StmtStmtList node type StmtStmtList struct { - Node + Position *position.Position OpenCurlyBracket *token.Token Stmts []Vertex CloseCurlyBracket *token.Token @@ -706,9 +887,13 @@ func (n *StmtStmtList) Accept(v NodeVisitor) { v.StmtStmtList(n) } +func (n *StmtStmtList) GetPosition() *position.Position { + return n.Position +} + // StmtSwitch node type StmtSwitch struct { - Node + Position *position.Position Alt bool SwitchTkn *token.Token OpenParenthesisTkn *token.Token @@ -727,9 +912,13 @@ func (n *StmtSwitch) Accept(v NodeVisitor) { v.StmtSwitch(n) } +func (n *StmtSwitch) GetPosition() *position.Position { + return n.Position +} + // StmtThrow node type StmtThrow struct { - Node + Position *position.Position ThrowTkn *token.Token Expr Vertex SemiColonTkn *token.Token @@ -739,9 +928,13 @@ func (n *StmtThrow) Accept(v NodeVisitor) { v.StmtThrow(n) } +func (n *StmtThrow) GetPosition() *position.Position { + return n.Position +} + // StmtTrait node type StmtTrait struct { - Node + Position *position.Position TraitTkn *token.Token TraitName Vertex Extends Vertex @@ -755,9 +948,13 @@ func (n *StmtTrait) Accept(v NodeVisitor) { v.StmtTrait(n) } +func (n *StmtTrait) GetPosition() *position.Position { + return n.Position +} + // StmtTraitAdaptationList node type StmtTraitAdaptationList struct { - Node + Position *position.Position OpenParenthesisTkn *token.Token Adaptations []Vertex CloseParenthesisTkn *token.Token @@ -767,9 +964,13 @@ func (n *StmtTraitAdaptationList) Accept(v NodeVisitor) { v.StmtTraitAdaptationList(n) } +func (n *StmtTraitAdaptationList) GetPosition() *position.Position { + return n.Position +} + // StmtTraitMethodRef node type StmtTraitMethodRef struct { - Node + Position *position.Position Trait Vertex DoubleColonTkn *token.Token Method Vertex @@ -779,9 +980,13 @@ func (n *StmtTraitMethodRef) Accept(v NodeVisitor) { v.StmtTraitMethodRef(n) } +func (n *StmtTraitMethodRef) GetPosition() *position.Position { + return n.Position +} + // StmtTraitUse node type StmtTraitUse struct { - Node + Position *position.Position UseTkn *token.Token Traits []Vertex SeparatorTkns []*token.Token @@ -792,9 +997,13 @@ func (n *StmtTraitUse) Accept(v NodeVisitor) { v.StmtTraitUse(n) } +func (n *StmtTraitUse) GetPosition() *position.Position { + return n.Position +} + // StmtTraitUseAlias node type StmtTraitUseAlias struct { - Node + Position *position.Position Ref Vertex AsTkn *token.Token Modifier Vertex @@ -806,9 +1015,13 @@ func (n *StmtTraitUseAlias) Accept(v NodeVisitor) { v.StmtTraitUseAlias(n) } +func (n *StmtTraitUseAlias) GetPosition() *position.Position { + return n.Position +} + // StmtTraitUsePrecedence node type StmtTraitUsePrecedence struct { - Node + Position *position.Position Ref Vertex InsteadofTkn *token.Token Insteadof []Vertex @@ -820,9 +1033,13 @@ func (n *StmtTraitUsePrecedence) Accept(v NodeVisitor) { v.StmtTraitUsePrecedence(n) } +func (n *StmtTraitUsePrecedence) GetPosition() *position.Position { + return n.Position +} + // StmtTry node type StmtTry struct { - Node + Position *position.Position TryTkn *token.Token OpenCurlyBracket *token.Token Stmts []Vertex @@ -835,9 +1052,13 @@ func (n *StmtTry) Accept(v NodeVisitor) { v.StmtTry(n) } +func (n *StmtTry) GetPosition() *position.Position { + return n.Position +} + // StmtUnset node type StmtUnset struct { - Node + Position *position.Position UnsetTkn *token.Token OpenParenthesisTkn *token.Token Vars []Vertex @@ -850,9 +1071,13 @@ func (n *StmtUnset) Accept(v NodeVisitor) { v.StmtUnset(n) } +func (n *StmtUnset) GetPosition() *position.Position { + return n.Position +} + // StmtUse node type StmtUse struct { - Node + Position *position.Position UseTkn *token.Token Type Vertex UseDeclarations []Vertex @@ -864,9 +1089,13 @@ func (n *StmtUse) Accept(v NodeVisitor) { v.StmtUse(n) } +func (n *StmtUse) GetPosition() *position.Position { + return n.Position +} + // StmtGroupUse node type StmtGroupUse struct { - Node + Position *position.Position UseTkn *token.Token Type Vertex LeadingNsSeparatorTkn *token.Token @@ -883,9 +1112,13 @@ func (n *StmtGroupUse) Accept(v NodeVisitor) { v.StmtGroupUse(n) } +func (n *StmtGroupUse) GetPosition() *position.Position { + return n.Position +} + // StmtUseDeclaration node type StmtUseDeclaration struct { - Node + Position *position.Position Type Vertex NsSeparatorTkn *token.Token Use Vertex @@ -897,9 +1130,13 @@ func (n *StmtUseDeclaration) Accept(v NodeVisitor) { v.StmtUseDeclaration(n) } +func (n *StmtUseDeclaration) GetPosition() *position.Position { + return n.Position +} + // StmtWhile node type StmtWhile struct { - Node + Position *position.Position Alt bool WhileTkn *token.Token OpenParenthesisTkn *token.Token @@ -915,9 +1152,13 @@ func (n *StmtWhile) Accept(v NodeVisitor) { v.StmtWhile(n) } +func (n *StmtWhile) GetPosition() *position.Position { + return n.Position +} + // ExprArray node type ExprArray struct { - Node + Position *position.Position ArrayTkn *token.Token OpenBracketTkn *token.Token Items []Vertex @@ -929,9 +1170,13 @@ func (n *ExprArray) Accept(v NodeVisitor) { v.ExprArray(n) } +func (n *ExprArray) GetPosition() *position.Position { + return n.Position +} + // ExprArrayDimFetch node type ExprArrayDimFetch struct { - Node + Position *position.Position Var Vertex OpenBracketTkn *token.Token Dim Vertex @@ -942,9 +1187,13 @@ func (n *ExprArrayDimFetch) Accept(v NodeVisitor) { v.ExprArrayDimFetch(n) } +func (n *ExprArrayDimFetch) GetPosition() *position.Position { + return n.Position +} + // ExprArrayItem node type ExprArrayItem struct { - Node + Position *position.Position EllipsisTkn *token.Token Key Vertex DoubleArrowTkn *token.Token @@ -955,9 +1204,13 @@ func (n *ExprArrayItem) Accept(v NodeVisitor) { v.ExprArrayItem(n) } +func (n *ExprArrayItem) GetPosition() *position.Position { + return n.Position +} + // ExprArrowFunction node type ExprArrowFunction struct { - Node + Position *position.Position StaticTkn *token.Token FnTkn *token.Token AmpersandTkn *token.Token @@ -975,9 +1228,13 @@ func (n *ExprArrowFunction) Accept(v NodeVisitor) { v.ExprArrowFunction(n) } +func (n *ExprArrowFunction) GetPosition() *position.Position { + return n.Position +} + // ExprBitwiseNot node type ExprBitwiseNot struct { - Node + Position *position.Position TildaTkn *token.Token Expr Vertex } @@ -986,9 +1243,13 @@ func (n *ExprBitwiseNot) Accept(v NodeVisitor) { v.ExprBitwiseNot(n) } +func (n *ExprBitwiseNot) GetPosition() *position.Position { + return n.Position +} + // ExprBooleanNot node type ExprBooleanNot struct { - Node + Position *position.Position ExclamationTkn *token.Token Expr Vertex } @@ -997,9 +1258,13 @@ func (n *ExprBooleanNot) Accept(v NodeVisitor) { v.ExprBooleanNot(n) } +func (n *ExprBooleanNot) GetPosition() *position.Position { + return n.Position +} + // ExprClassConstFetch node type ExprClassConstFetch struct { - Node + Position *position.Position Class Vertex DoubleColonTkn *token.Token ConstantName Vertex @@ -1009,9 +1274,13 @@ func (n *ExprClassConstFetch) Accept(v NodeVisitor) { v.ExprClassConstFetch(n) } +func (n *ExprClassConstFetch) GetPosition() *position.Position { + return n.Position +} + // ExprClone node type ExprClone struct { - Node + Position *position.Position CloneTkn *token.Token Expr Vertex } @@ -1020,9 +1289,13 @@ func (n *ExprClone) Accept(v NodeVisitor) { v.ExprClone(n) } +func (n *ExprClone) GetPosition() *position.Position { + return n.Position +} + // ExprClosure node type ExprClosure struct { - Node + Position *position.Position StaticTkn *token.Token FunctionTkn *token.Token AmpersandTkn *token.Token @@ -1042,9 +1315,13 @@ func (n *ExprClosure) Accept(v NodeVisitor) { v.ExprClosure(n) } +func (n *ExprClosure) GetPosition() *position.Position { + return n.Position +} + // ExprClosureUse node type ExprClosureUse struct { - Node + Position *position.Position UseTkn *token.Token OpenParenthesisTkn *token.Token Uses []Vertex @@ -1056,19 +1333,27 @@ func (n *ExprClosureUse) Accept(v NodeVisitor) { v.ExprClosureUse(n) } +func (n *ExprClosureUse) GetPosition() *position.Position { + return n.Position +} + // ExprConstFetch node type ExprConstFetch struct { - Node - Const Vertex + Position *position.Position + Const Vertex } func (n *ExprConstFetch) Accept(v NodeVisitor) { v.ExprConstFetch(n) } +func (n *ExprConstFetch) GetPosition() *position.Position { + return n.Position +} + // ExprEmpty node type ExprEmpty struct { - Node + Position *position.Position EmptyTkn *token.Token OpenParenthesisTkn *token.Token Expr Vertex @@ -1079,20 +1364,28 @@ func (n *ExprEmpty) Accept(v NodeVisitor) { v.ExprEmpty(n) } +func (n *ExprEmpty) GetPosition() *position.Position { + return n.Position +} + // ExprErrorSuppress node type ExprErrorSuppress struct { - Node - AtTkn *token.Token - Expr Vertex + Position *position.Position + AtTkn *token.Token + Expr Vertex } func (n *ExprErrorSuppress) Accept(v NodeVisitor) { v.ExprErrorSuppress(n) } +func (n *ExprErrorSuppress) GetPosition() *position.Position { + return n.Position +} + // ExprEval node type ExprEval struct { - Node + Position *position.Position EvalTkn *token.Token OpenParenthesisTkn *token.Token Expr Vertex @@ -1103,9 +1396,13 @@ func (n *ExprEval) Accept(v NodeVisitor) { v.ExprEval(n) } +func (n *ExprEval) GetPosition() *position.Position { + return n.Position +} + // ExprExit node type ExprExit struct { - Node + Position *position.Position DieTkn *token.Token OpenParenthesisTkn *token.Token Expr Vertex @@ -1116,9 +1413,13 @@ func (n *ExprExit) Accept(v NodeVisitor) { v.ExprExit(n) } +func (n *ExprExit) GetPosition() *position.Position { + return n.Position +} + // ExprFunctionCall node type ExprFunctionCall struct { - Node + Position *position.Position Function Vertex OpenParenthesisTkn *token.Token Arguments []Vertex @@ -1130,9 +1431,13 @@ func (n *ExprFunctionCall) Accept(v NodeVisitor) { v.ExprFunctionCall(n) } +func (n *ExprFunctionCall) GetPosition() *position.Position { + return n.Position +} + // ExprInclude node type ExprInclude struct { - Node + Position *position.Position IncludeTkn *token.Token Expr Vertex } @@ -1141,9 +1446,13 @@ func (n *ExprInclude) Accept(v NodeVisitor) { v.ExprInclude(n) } +func (n *ExprInclude) GetPosition() *position.Position { + return n.Position +} + // ExprIncludeOnce node type ExprIncludeOnce struct { - Node + Position *position.Position IncludeTkn *token.Token Expr Vertex } @@ -1152,9 +1461,13 @@ func (n *ExprIncludeOnce) Accept(v NodeVisitor) { v.ExprIncludeOnce(n) } +func (n *ExprIncludeOnce) GetPosition() *position.Position { + return n.Position +} + // ExprInstanceOf node type ExprInstanceOf struct { - Node + Position *position.Position Expr Vertex InstanceOfTkn *token.Token Class Vertex @@ -1164,9 +1477,13 @@ func (n *ExprInstanceOf) Accept(v NodeVisitor) { v.ExprInstanceOf(n) } +func (n *ExprInstanceOf) GetPosition() *position.Position { + return n.Position +} + // ExprIsset node type ExprIsset struct { - Node + Position *position.Position IssetTkn *token.Token OpenParenthesisTkn *token.Token Vars []Vertex @@ -1178,9 +1495,13 @@ func (n *ExprIsset) Accept(v NodeVisitor) { v.ExprIsset(n) } +func (n *ExprIsset) GetPosition() *position.Position { + return n.Position +} + // ExprList node type ExprList struct { - Node + Position *position.Position ListTkn *token.Token OpenBracketTkn *token.Token Items []Vertex @@ -1192,9 +1513,13 @@ func (n *ExprList) Accept(v NodeVisitor) { v.ExprList(n) } +func (n *ExprList) GetPosition() *position.Position { + return n.Position +} + // ExprMethodCall node type ExprMethodCall struct { - Node + Position *position.Position Var Vertex ObjectOperatorTkn *token.Token Method Vertex @@ -1208,9 +1533,13 @@ func (n *ExprMethodCall) Accept(v NodeVisitor) { v.ExprMethodCall(n) } +func (n *ExprMethodCall) GetPosition() *position.Position { + return n.Position +} + // ExprNew node type ExprNew struct { - Node + Position *position.Position NewTkn *token.Token Class Vertex OpenParenthesisTkn *token.Token @@ -1223,53 +1552,73 @@ func (n *ExprNew) Accept(v NodeVisitor) { v.ExprNew(n) } +func (n *ExprNew) GetPosition() *position.Position { + return n.Position +} + // ExprPostDec node type ExprPostDec struct { - Node - Var Vertex - DecTkn *token.Token + Position *position.Position + Var Vertex + DecTkn *token.Token } func (n *ExprPostDec) Accept(v NodeVisitor) { v.ExprPostDec(n) } +func (n *ExprPostDec) GetPosition() *position.Position { + return n.Position +} + // ExprPostInc node type ExprPostInc struct { - Node - Var Vertex - IncTkn *token.Token + Position *position.Position + Var Vertex + IncTkn *token.Token } func (n *ExprPostInc) Accept(v NodeVisitor) { v.ExprPostInc(n) } +func (n *ExprPostInc) GetPosition() *position.Position { + return n.Position +} + // ExprPreDec node type ExprPreDec struct { - Node - DecTkn *token.Token - Var Vertex + Position *position.Position + DecTkn *token.Token + Var Vertex } func (n *ExprPreDec) Accept(v NodeVisitor) { v.ExprPreDec(n) } +func (n *ExprPreDec) GetPosition() *position.Position { + return n.Position +} + // ExprPreInc node type ExprPreInc struct { - Node - IncTkn *token.Token - Var Vertex + Position *position.Position + IncTkn *token.Token + Var Vertex } func (n *ExprPreInc) Accept(v NodeVisitor) { v.ExprPreInc(n) } +func (n *ExprPreInc) GetPosition() *position.Position { + return n.Position +} + // ExprPrint node type ExprPrint struct { - Node + Position *position.Position PrintTkn *token.Token Expr Vertex } @@ -1278,9 +1627,13 @@ func (n *ExprPrint) Accept(v NodeVisitor) { v.ExprPrint(n) } +func (n *ExprPrint) GetPosition() *position.Position { + return n.Position +} + // ExprPropertyFetch node type ExprPropertyFetch struct { - Node + Position *position.Position Var Vertex ObjectOperatorTkn *token.Token Property Vertex @@ -1290,9 +1643,13 @@ func (n *ExprPropertyFetch) Accept(v NodeVisitor) { v.ExprPropertyFetch(n) } +func (n *ExprPropertyFetch) GetPosition() *position.Position { + return n.Position +} + // ExprReference node type ExprReference struct { - Node + Position *position.Position AmpersandTkn *token.Token Var Vertex } @@ -1301,9 +1658,13 @@ func (n *ExprReference) Accept(v NodeVisitor) { v.ExprReference(n) } +func (n *ExprReference) GetPosition() *position.Position { + return n.Position +} + // ExprRequire node type ExprRequire struct { - Node + Position *position.Position RequireTkn *token.Token Expr Vertex } @@ -1312,9 +1673,13 @@ func (n *ExprRequire) Accept(v NodeVisitor) { v.ExprRequire(n) } +func (n *ExprRequire) GetPosition() *position.Position { + return n.Position +} + // ExprRequireOnce node type ExprRequireOnce struct { - Node + Position *position.Position RequireOnceTkn *token.Token Expr Vertex } @@ -1323,9 +1688,13 @@ func (n *ExprRequireOnce) Accept(v NodeVisitor) { v.ExprRequireOnce(n) } +func (n *ExprRequireOnce) GetPosition() *position.Position { + return n.Position +} + // ExprShellExec node type ExprShellExec struct { - Node + Position *position.Position OpenBacktickTkn *token.Token Parts []Vertex CloseBacktickTkn *token.Token @@ -1335,9 +1704,13 @@ func (n *ExprShellExec) Accept(v NodeVisitor) { v.ExprShellExec(n) } +func (n *ExprShellExec) GetPosition() *position.Position { + return n.Position +} + // ExprStaticCall node type ExprStaticCall struct { - Node + Position *position.Position Class Vertex DoubleColonTkn *token.Token Call Vertex @@ -1351,9 +1724,13 @@ func (n *ExprStaticCall) Accept(v NodeVisitor) { v.ExprStaticCall(n) } +func (n *ExprStaticCall) GetPosition() *position.Position { + return n.Position +} + // ExprStaticPropertyFetch node type ExprStaticPropertyFetch struct { - Node + Position *position.Position Class Vertex DoubleColonTkn *token.Token Property Vertex @@ -1363,9 +1740,13 @@ func (n *ExprStaticPropertyFetch) Accept(v NodeVisitor) { v.ExprStaticPropertyFetch(n) } +func (n *ExprStaticPropertyFetch) GetPosition() *position.Position { + return n.Position +} + // ExprTernary node type ExprTernary struct { - Node + Position *position.Position Condition Vertex QuestionTkn *token.Token IfTrue Vertex @@ -1377,9 +1758,13 @@ func (n *ExprTernary) Accept(v NodeVisitor) { v.ExprTernary(n) } +func (n *ExprTernary) GetPosition() *position.Position { + return n.Position +} + // ExprUnaryMinus node type ExprUnaryMinus struct { - Node + Position *position.Position MinusTkn *token.Token Expr Vertex } @@ -1388,20 +1773,28 @@ func (n *ExprUnaryMinus) Accept(v NodeVisitor) { v.ExprUnaryMinus(n) } +func (n *ExprUnaryMinus) GetPosition() *position.Position { + return n.Position +} + // ExprUnaryPlus node type ExprUnaryPlus struct { - Node - PlusTkn *token.Token - Expr Vertex + Position *position.Position + PlusTkn *token.Token + Expr Vertex } func (n *ExprUnaryPlus) Accept(v NodeVisitor) { v.ExprUnaryPlus(n) } +func (n *ExprUnaryPlus) GetPosition() *position.Position { + return n.Position +} + // ExprVariable node type ExprVariable struct { - Node + Position *position.Position DollarTkn *token.Token VarName Vertex } @@ -1410,9 +1803,13 @@ func (n *ExprVariable) Accept(v NodeVisitor) { v.ExprVariable(n) } +func (n *ExprVariable) GetPosition() *position.Position { + return n.Position +} + // ExprYield node type ExprYield struct { - Node + Position *position.Position YieldTkn *token.Token Key Vertex DoubleArrowTkn *token.Token @@ -1423,9 +1820,13 @@ func (n *ExprYield) Accept(v NodeVisitor) { v.ExprYield(n) } +func (n *ExprYield) GetPosition() *position.Position { + return n.Position +} + // ExprYieldFrom node type ExprYieldFrom struct { - Node + Position *position.Position YieldFromTkn *token.Token Expr Vertex } @@ -1434,86 +1835,118 @@ func (n *ExprYieldFrom) Accept(v NodeVisitor) { v.ExprYieldFrom(n) } +func (n *ExprYieldFrom) GetPosition() *position.Position { + return n.Position +} + // ExprCastArray node type ExprCastArray struct { - Node - CastTkn *token.Token - Expr Vertex + Position *position.Position + CastTkn *token.Token + Expr Vertex } func (n *ExprCastArray) Accept(v NodeVisitor) { v.ExprCastArray(n) } +func (n *ExprCastArray) GetPosition() *position.Position { + return n.Position +} + // ExprCastBool node type ExprCastBool struct { - Node - CastTkn *token.Token - Expr Vertex + Position *position.Position + CastTkn *token.Token + Expr Vertex } func (n *ExprCastBool) Accept(v NodeVisitor) { v.ExprCastBool(n) } +func (n *ExprCastBool) GetPosition() *position.Position { + return n.Position +} + // ExprCastDouble node type ExprCastDouble struct { - Node - CastTkn *token.Token - Expr Vertex + Position *position.Position + CastTkn *token.Token + Expr Vertex } func (n *ExprCastDouble) Accept(v NodeVisitor) { v.ExprCastDouble(n) } +func (n *ExprCastDouble) GetPosition() *position.Position { + return n.Position +} + // ExprCastInt node type ExprCastInt struct { - Node - CastTkn *token.Token - Expr Vertex + Position *position.Position + CastTkn *token.Token + Expr Vertex } func (n *ExprCastInt) Accept(v NodeVisitor) { v.ExprCastInt(n) } +func (n *ExprCastInt) GetPosition() *position.Position { + return n.Position +} + // ExprCastObject node type ExprCastObject struct { - Node - CastTkn *token.Token - Expr Vertex + Position *position.Position + CastTkn *token.Token + Expr Vertex } func (n *ExprCastObject) Accept(v NodeVisitor) { v.ExprCastObject(n) } +func (n *ExprCastObject) GetPosition() *position.Position { + return n.Position +} + // ExprCastString node type ExprCastString struct { - Node - CastTkn *token.Token - Expr Vertex + Position *position.Position + CastTkn *token.Token + Expr Vertex } func (n *ExprCastString) Accept(v NodeVisitor) { v.ExprCastString(n) } +func (n *ExprCastString) GetPosition() *position.Position { + return n.Position +} + // ExprCastUnset node type ExprCastUnset struct { - Node - CastTkn *token.Token - Expr Vertex + Position *position.Position + CastTkn *token.Token + Expr Vertex } func (n *ExprCastUnset) Accept(v NodeVisitor) { v.ExprCastUnset(n) } +func (n *ExprCastUnset) GetPosition() *position.Position { + return n.Position +} + // ExprAssign node type ExprAssign struct { - Node + Position *position.Position Var Vertex EqualTkn *token.Token Expr Vertex @@ -1523,9 +1956,13 @@ func (n *ExprAssign) Accept(v NodeVisitor) { v.ExprAssign(n) } +func (n *ExprAssign) GetPosition() *position.Position { + return n.Position +} + // ExprAssignReference node type ExprAssignReference struct { - Node + Position *position.Position Var Vertex EqualTkn *token.Token AmpersandTkn *token.Token @@ -1536,9 +1973,13 @@ func (n *ExprAssignReference) Accept(v NodeVisitor) { v.ExprAssignReference(n) } +func (n *ExprAssignReference) GetPosition() *position.Position { + return n.Position +} + // ExprAssignBitwiseAnd node type ExprAssignBitwiseAnd struct { - Node + Position *position.Position Var Vertex EqualTkn *token.Token Expr Vertex @@ -1548,9 +1989,13 @@ func (n *ExprAssignBitwiseAnd) Accept(v NodeVisitor) { v.ExprAssignBitwiseAnd(n) } +func (n *ExprAssignBitwiseAnd) GetPosition() *position.Position { + return n.Position +} + // ExprAssignBitwiseOr node type ExprAssignBitwiseOr struct { - Node + Position *position.Position Var Vertex EqualTkn *token.Token Expr Vertex @@ -1560,9 +2005,13 @@ func (n *ExprAssignBitwiseOr) Accept(v NodeVisitor) { v.ExprAssignBitwiseOr(n) } +func (n *ExprAssignBitwiseOr) GetPosition() *position.Position { + return n.Position +} + // ExprAssignBitwiseXor node type ExprAssignBitwiseXor struct { - Node + Position *position.Position Var Vertex EqualTkn *token.Token Expr Vertex @@ -1572,9 +2021,13 @@ func (n *ExprAssignBitwiseXor) Accept(v NodeVisitor) { v.ExprAssignBitwiseXor(n) } +func (n *ExprAssignBitwiseXor) GetPosition() *position.Position { + return n.Position +} + // ExprAssignCoalesce node type ExprAssignCoalesce struct { - Node + Position *position.Position Var Vertex EqualTkn *token.Token Expr Vertex @@ -1584,9 +2037,13 @@ func (n *ExprAssignCoalesce) Accept(v NodeVisitor) { v.ExprAssignCoalesce(n) } +func (n *ExprAssignCoalesce) GetPosition() *position.Position { + return n.Position +} + // ExprAssignConcat node type ExprAssignConcat struct { - Node + Position *position.Position Var Vertex EqualTkn *token.Token Expr Vertex @@ -1596,9 +2053,13 @@ func (n *ExprAssignConcat) Accept(v NodeVisitor) { v.ExprAssignConcat(n) } +func (n *ExprAssignConcat) GetPosition() *position.Position { + return n.Position +} + // ExprAssignDiv node type ExprAssignDiv struct { - Node + Position *position.Position Var Vertex EqualTkn *token.Token Expr Vertex @@ -1608,9 +2069,13 @@ func (n *ExprAssignDiv) Accept(v NodeVisitor) { v.ExprAssignDiv(n) } +func (n *ExprAssignDiv) GetPosition() *position.Position { + return n.Position +} + // ExprAssignMinus node type ExprAssignMinus struct { - Node + Position *position.Position Var Vertex EqualTkn *token.Token Expr Vertex @@ -1620,9 +2085,13 @@ func (n *ExprAssignMinus) Accept(v NodeVisitor) { v.ExprAssignMinus(n) } +func (n *ExprAssignMinus) GetPosition() *position.Position { + return n.Position +} + // ExprAssignMod node type ExprAssignMod struct { - Node + Position *position.Position Var Vertex EqualTkn *token.Token Expr Vertex @@ -1632,9 +2101,13 @@ func (n *ExprAssignMod) Accept(v NodeVisitor) { v.ExprAssignMod(n) } +func (n *ExprAssignMod) GetPosition() *position.Position { + return n.Position +} + // ExprAssignMul node type ExprAssignMul struct { - Node + Position *position.Position Var Vertex EqualTkn *token.Token Expr Vertex @@ -1644,9 +2117,13 @@ func (n *ExprAssignMul) Accept(v NodeVisitor) { v.ExprAssignMul(n) } +func (n *ExprAssignMul) GetPosition() *position.Position { + return n.Position +} + // ExprAssignPlus node type ExprAssignPlus struct { - Node + Position *position.Position Var Vertex EqualTkn *token.Token Expr Vertex @@ -1656,9 +2133,13 @@ func (n *ExprAssignPlus) Accept(v NodeVisitor) { v.ExprAssignPlus(n) } +func (n *ExprAssignPlus) GetPosition() *position.Position { + return n.Position +} + // ExprAssignPow node type ExprAssignPow struct { - Node + Position *position.Position Var Vertex EqualTkn *token.Token Expr Vertex @@ -1668,9 +2149,13 @@ func (n *ExprAssignPow) Accept(v NodeVisitor) { v.ExprAssignPow(n) } +func (n *ExprAssignPow) GetPosition() *position.Position { + return n.Position +} + // ExprAssignShiftLeft node type ExprAssignShiftLeft struct { - Node + Position *position.Position Var Vertex EqualTkn *token.Token Expr Vertex @@ -1680,9 +2165,13 @@ func (n *ExprAssignShiftLeft) Accept(v NodeVisitor) { v.ExprAssignShiftLeft(n) } +func (n *ExprAssignShiftLeft) GetPosition() *position.Position { + return n.Position +} + // ExprAssignShiftRight node type ExprAssignShiftRight struct { - Node + Position *position.Position Var Vertex EqualTkn *token.Token Expr Vertex @@ -1692,332 +2181,444 @@ func (n *ExprAssignShiftRight) Accept(v NodeVisitor) { v.ExprAssignShiftRight(n) } +func (n *ExprAssignShiftRight) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryBitwiseAnd node type ExprBinaryBitwiseAnd struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryBitwiseAnd) Accept(v NodeVisitor) { v.ExprBinaryBitwiseAnd(n) } +func (n *ExprBinaryBitwiseAnd) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryBitwiseOr node type ExprBinaryBitwiseOr struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryBitwiseOr) Accept(v NodeVisitor) { v.ExprBinaryBitwiseOr(n) } +func (n *ExprBinaryBitwiseOr) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryBitwiseXor node type ExprBinaryBitwiseXor struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryBitwiseXor) Accept(v NodeVisitor) { v.ExprBinaryBitwiseXor(n) } +func (n *ExprBinaryBitwiseXor) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryBooleanAnd node type ExprBinaryBooleanAnd struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryBooleanAnd) Accept(v NodeVisitor) { v.ExprBinaryBooleanAnd(n) } +func (n *ExprBinaryBooleanAnd) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryBooleanOr node type ExprBinaryBooleanOr struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryBooleanOr) Accept(v NodeVisitor) { v.ExprBinaryBooleanOr(n) } +func (n *ExprBinaryBooleanOr) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryCoalesce node type ExprBinaryCoalesce struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryCoalesce) Accept(v NodeVisitor) { v.ExprBinaryCoalesce(n) } +func (n *ExprBinaryCoalesce) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryConcat node type ExprBinaryConcat struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryConcat) Accept(v NodeVisitor) { v.ExprBinaryConcat(n) } +func (n *ExprBinaryConcat) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryDiv node type ExprBinaryDiv struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryDiv) Accept(v NodeVisitor) { v.ExprBinaryDiv(n) } +func (n *ExprBinaryDiv) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryEqual node type ExprBinaryEqual struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryEqual) Accept(v NodeVisitor) { v.ExprBinaryEqual(n) } +func (n *ExprBinaryEqual) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryGreater node type ExprBinaryGreater struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryGreater) Accept(v NodeVisitor) { v.ExprBinaryGreater(n) } +func (n *ExprBinaryGreater) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryGreaterOrEqual node type ExprBinaryGreaterOrEqual struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryGreaterOrEqual) Accept(v NodeVisitor) { v.ExprBinaryGreaterOrEqual(n) } +func (n *ExprBinaryGreaterOrEqual) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryIdentical node type ExprBinaryIdentical struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryIdentical) Accept(v NodeVisitor) { v.ExprBinaryIdentical(n) } +func (n *ExprBinaryIdentical) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryLogicalAnd node type ExprBinaryLogicalAnd struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryLogicalAnd) Accept(v NodeVisitor) { v.ExprBinaryLogicalAnd(n) } +func (n *ExprBinaryLogicalAnd) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryLogicalOr node type ExprBinaryLogicalOr struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryLogicalOr) Accept(v NodeVisitor) { v.ExprBinaryLogicalOr(n) } +func (n *ExprBinaryLogicalOr) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryLogicalXor node type ExprBinaryLogicalXor struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryLogicalXor) Accept(v NodeVisitor) { v.ExprBinaryLogicalXor(n) } +func (n *ExprBinaryLogicalXor) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryMinus node type ExprBinaryMinus struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryMinus) Accept(v NodeVisitor) { v.ExprBinaryMinus(n) } +func (n *ExprBinaryMinus) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryMod node type ExprBinaryMod struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryMod) Accept(v NodeVisitor) { v.ExprBinaryMod(n) } +func (n *ExprBinaryMod) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryMul node type ExprBinaryMul struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryMul) Accept(v NodeVisitor) { v.ExprBinaryMul(n) } +func (n *ExprBinaryMul) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryNotEqual node type ExprBinaryNotEqual struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryNotEqual) Accept(v NodeVisitor) { v.ExprBinaryNotEqual(n) } +func (n *ExprBinaryNotEqual) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryNotIdentical node type ExprBinaryNotIdentical struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryNotIdentical) Accept(v NodeVisitor) { v.ExprBinaryNotIdentical(n) } +func (n *ExprBinaryNotIdentical) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryPlus node type ExprBinaryPlus struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryPlus) Accept(v NodeVisitor) { v.ExprBinaryPlus(n) } +func (n *ExprBinaryPlus) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryPow node type ExprBinaryPow struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryPow) Accept(v NodeVisitor) { v.ExprBinaryPow(n) } +func (n *ExprBinaryPow) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryShiftLeft node type ExprBinaryShiftLeft struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryShiftLeft) Accept(v NodeVisitor) { v.ExprBinaryShiftLeft(n) } +func (n *ExprBinaryShiftLeft) GetPosition() *position.Position { + return n.Position +} + // ExprBinaryShiftRight node type ExprBinaryShiftRight struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinaryShiftRight) Accept(v NodeVisitor) { v.ExprBinaryShiftRight(n) } +func (n *ExprBinaryShiftRight) GetPosition() *position.Position { + return n.Position +} + // ExprBinarySmaller node type ExprBinarySmaller struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinarySmaller) Accept(v NodeVisitor) { v.ExprBinarySmaller(n) } +func (n *ExprBinarySmaller) GetPosition() *position.Position { + return n.Position +} + // ExprBinarySmallerOrEqual node type ExprBinarySmallerOrEqual struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinarySmallerOrEqual) Accept(v NodeVisitor) { v.ExprBinarySmallerOrEqual(n) } +func (n *ExprBinarySmallerOrEqual) GetPosition() *position.Position { + return n.Position +} + // ExprBinarySpaceship node type ExprBinarySpaceship struct { - Node - Left Vertex - OpTkn *token.Token - Right Vertex + Position *position.Position + Left Vertex + OpTkn *token.Token + Right Vertex } func (n *ExprBinarySpaceship) Accept(v NodeVisitor) { v.ExprBinarySpaceship(n) } +func (n *ExprBinarySpaceship) GetPosition() *position.Position { + return n.Position +} + type NameName struct { - Node + Position *position.Position Parts []Vertex SeparatorTkns []*token.Token } @@ -2026,8 +2627,12 @@ func (n *NameName) Accept(v NodeVisitor) { v.NameName(n) } +func (n *NameName) GetPosition() *position.Position { + return n.Position +} + type NameFullyQualified struct { - Node + Position *position.Position NsSeparatorTkn *token.Token Parts []Vertex SeparatorTkns []*token.Token @@ -2037,8 +2642,12 @@ func (n *NameFullyQualified) Accept(v NodeVisitor) { v.NameFullyQualified(n) } +func (n *NameFullyQualified) GetPosition() *position.Position { + return n.Position +} + type NameRelative struct { - Node + Position *position.Position NsTkn *token.Token NsSeparatorTkn *token.Token Parts []Vertex @@ -2049,8 +2658,12 @@ func (n *NameRelative) Accept(v NodeVisitor) { v.NameRelative(n) } +func (n *NameRelative) GetPosition() *position.Position { + return n.Position +} + type NameNamePart struct { - Node + Position *position.Position StringTkn *token.Token Value []byte } @@ -2059,10 +2672,14 @@ func (n *NameNamePart) Accept(v NodeVisitor) { v.NameNamePart(n) } +func (n *NameNamePart) GetPosition() *position.Position { + return n.Position +} + // TODO: move to private section type ParserBrackets struct { - Node + Position *position.Position OpenBracketTkn *token.Token Child Vertex CloseBracketTkn *token.Token @@ -2072,8 +2689,12 @@ func (n *ParserBrackets) Accept(v NodeVisitor) { v.ParserBrackets(n) } +func (n *ParserBrackets) GetPosition() *position.Position { + return n.Position +} + type ParserSeparatedList struct { - Node + Position *position.Position Items []Vertex SeparatorTkns []*token.Token } @@ -2082,9 +2703,13 @@ func (n *ParserSeparatedList) Accept(v NodeVisitor) { v.ParserSeparatedList(n) } +func (n *ParserSeparatedList) GetPosition() *position.Position { + return n.Position +} + // ArgumentList node type ArgumentList struct { - Node + Position *position.Position OpenParenthesisTkn *token.Token Arguments []Vertex SeparatorTkns []*token.Token @@ -2095,8 +2720,12 @@ func (n *ArgumentList) Accept(v NodeVisitor) { // do nothing } +func (n *ArgumentList) GetPosition() *position.Position { + return n.Position +} + type ReturnType struct { - Node + Position *position.Position ColonTkn *token.Token Type Vertex } @@ -2104,3 +2733,7 @@ type ReturnType struct { func (n *ReturnType) Accept(v NodeVisitor) { // do nothing } + +func (n *ReturnType) GetPosition() *position.Position { + return n.Position +} diff --git a/pkg/ast/visitor/dump.go b/pkg/ast/visitor/dump.go index abcf932..771ac0c 100644 --- a/pkg/ast/visitor/dump.go +++ b/pkg/ast/visitor/dump.go @@ -5,7 +5,6 @@ import ( "github.com/z7zmey/php-parser/pkg/ast" "github.com/z7zmey/php-parser/pkg/token" "io" - "sort" "strconv" "strings" ) @@ -99,76 +98,6 @@ func (v *Dump) LeaveNode(_ ast.Vertex) { v.print("\n") } -func (v *Dump) printNode(n *ast.Node) { - if n.Position == nil && n.Tokens == nil { - return - } - - v.printIndent(v.indent) - v.print("Node: ast.Node{\n") - - if n.Tokens != nil { - v.printIndent(v.indent + 1) - v.print("Tokens: token.Collection{\n") - - keys := make([]int, 0, len(n.Tokens)) - for k := range n.Tokens { - keys = append(keys, int(k)) - } - sort.Ints(keys) - - for _, k := range keys { - key := token.Position(k) - - v.printIndent(v.indent + 2) - v.print("token." + key.String() + ": []*token.Token{\n") - - for _, tkn := range n.Tokens[key] { - v.printIndent(v.indent + 3) - v.print("{\n") - - v.printIndent(v.indent + 4) - v.print("ID: token." + tkn.ID.String() + ",\n") - - v.printIndent(v.indent + 4) - v.print("Value: []byte(" + strconv.Quote(string(tkn.Value)) + "),\n") - - v.printIndent(v.indent + 3) - v.print("},\n") - } - - v.printIndent(v.indent + 2) - v.print("},\n") - } - - v.printIndent(v.indent + 1) - v.print("},\n") - } - - if n.Position != nil { - v.printIndent(v.indent + 1) - v.print("Position: &position.Position{\n") - - v.printIndent(v.indent + 2) - v.print("StartLine: " + strconv.Itoa(n.Position.StartLine) + ",\n") - - v.printIndent(v.indent + 2) - v.print("EndLine: " + strconv.Itoa(n.Position.EndLine) + ",\n") - - v.printIndent(v.indent + 2) - v.print("StartPos: " + strconv.Itoa(n.Position.StartPos) + ",\n") - - v.printIndent(v.indent + 2) - v.print("EndPos: " + strconv.Itoa(n.Position.EndPos) + ",\n") - - v.printIndent(v.indent + 1) - v.print("},\n") - } - - v.printIndent(v.indent) - v.print("},\n") -} - func (v *Dump) printToken(key string, t *token.Token) { if t == nil { return @@ -194,25 +123,21 @@ func (v *Dump) printToken(key string, t *token.Token) { func (v *Dump) Root(n *ast.Root) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.Root{\n") - v.printNode(n.GetNode()) } func (v *Dump) Nullable(n *ast.Nullable) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.Nullable{\n") - v.printNode(n.GetNode()) } func (v *Dump) Parameter(n *ast.Parameter) { v.printIndent(v.indent - 1) v.print("&ast.Parameter{\n") - v.printNode(n.GetNode()) } func (v *Dump) Identifier(n *ast.Identifier) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.Identifier{\n") - v.printNode(n.GetNode()) v.printIndent(v.indent) v.print(fmt.Sprintf("Value: []byte(%q),\n", n.Value)) @@ -221,79 +146,66 @@ func (v *Dump) Identifier(n *ast.Identifier) { func (v *Dump) Argument(n *ast.Argument) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.Argument{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtBreak(n *ast.StmtBreak) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtBreak{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtCase(n *ast.StmtCase) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtCase{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtCatch(n *ast.StmtCatch) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtCatch{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtClass(n *ast.StmtClass) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtClass{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtClassConstList(n *ast.StmtClassConstList) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtClassConstList{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtClassExtends(n *ast.StmtClassExtends) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtClassExtends{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtClassImplements(n *ast.StmtClassImplements) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtClassImplements{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtClassMethod(n *ast.StmtClassMethod) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtClassMethod{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtConstList(n *ast.StmtConstList) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtConstList{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtConstant(n *ast.StmtConstant) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtConstant{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtContinue(n *ast.StmtContinue) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtContinue{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtDeclare(n *ast.StmtDeclare) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtDeclare{\n") - v.printNode(n.GetNode()) if n.Alt { v.printIndent(v.indent) @@ -304,25 +216,21 @@ func (v *Dump) StmtDeclare(n *ast.StmtDeclare) { func (v *Dump) StmtDefault(n *ast.StmtDefault) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtDefault{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtDo(n *ast.StmtDo) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtDo{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtEcho(n *ast.StmtEcho) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtEcho{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtElse(n *ast.StmtElse) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtElse{\n") - v.printNode(n.GetNode()) if n.Alt { v.printIndent(v.indent) @@ -333,7 +241,6 @@ func (v *Dump) StmtElse(n *ast.StmtElse) { func (v *Dump) StmtElseIf(n *ast.StmtElseIf) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtElseIf{\n") - v.printNode(n.GetNode()) if n.Alt { v.printIndent(v.indent) @@ -344,19 +251,16 @@ func (v *Dump) StmtElseIf(n *ast.StmtElseIf) { func (v *Dump) StmtExpression(n *ast.StmtExpression) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtExpression{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtFinally(n *ast.StmtFinally) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtFinally{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtFor(n *ast.StmtFor) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtFor{\n") - v.printNode(n.GetNode()) if n.Alt { v.printIndent(v.indent) @@ -367,37 +271,31 @@ func (v *Dump) StmtFor(n *ast.StmtFor) { func (v *Dump) StmtForeach(n *ast.StmtForeach) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtForeach{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtFunction(n *ast.StmtFunction) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtFunction{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtGlobal(n *ast.StmtGlobal) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtGlobal{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtGoto(n *ast.StmtGoto) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtGoto{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtHaltCompiler(n *ast.StmtHaltCompiler) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtHaltCompiler{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtIf(n *ast.StmtIf) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtIf{\n") - v.printNode(n.GetNode()) if n.Alt { v.printIndent(v.indent) @@ -408,7 +306,6 @@ func (v *Dump) StmtIf(n *ast.StmtIf) { func (v *Dump) StmtInlineHtml(n *ast.StmtInlineHtml) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtInlineHtml{\n") - v.printNode(n.GetNode()) v.printIndent(v.indent) v.print(fmt.Sprintf("Value: []byte(%q),\n", n.Value)) @@ -417,73 +314,61 @@ func (v *Dump) StmtInlineHtml(n *ast.StmtInlineHtml) { func (v *Dump) StmtInterface(n *ast.StmtInterface) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtInterface{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtInterfaceExtends(n *ast.StmtInterfaceExtends) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtInterfaceExtends{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtLabel(n *ast.StmtLabel) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtLabel{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtNamespace(n *ast.StmtNamespace) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtNamespace{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtNop(n *ast.StmtNop) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtNop{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtProperty(n *ast.StmtProperty) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtProperty{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtPropertyList(n *ast.StmtPropertyList) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtPropertyList{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtReturn(n *ast.StmtReturn) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtReturn{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtStatic(n *ast.StmtStatic) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtStatic{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtStaticVar(n *ast.StmtStaticVar) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtStaticVar{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtStmtList(n *ast.StmtStmtList) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtStmtList{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtSwitch(n *ast.StmtSwitch) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtSwitch{\n") - v.printNode(n.GetNode()) if n.Alt { v.printIndent(v.indent) @@ -494,61 +379,51 @@ func (v *Dump) StmtSwitch(n *ast.StmtSwitch) { func (v *Dump) StmtThrow(n *ast.StmtThrow) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtThrow{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtTrait(n *ast.StmtTrait) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtTrait{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtTraitAdaptationList(n *ast.StmtTraitAdaptationList) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtTraitAdaptationList{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtTraitMethodRef(n *ast.StmtTraitMethodRef) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtTraitMethodRef{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtTraitUse(n *ast.StmtTraitUse) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtTraitUse{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtTraitUseAlias(n *ast.StmtTraitUseAlias) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtTraitUseAlias{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtTraitUsePrecedence(n *ast.StmtTraitUsePrecedence) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtTraitUsePrecedence{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtTry(n *ast.StmtTry) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtTry{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtUnset(n *ast.StmtUnset) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtUnset{\n") - v.printNode(n.GetNode()) } func (v *Dump) StmtUse(n *ast.StmtUse) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtUse{\n") - v.printNode(n.GetNode()) v.printToken("UseTkn", n.UseTkn) v.printToken("SemiColonTkn", n.SemiColonTkn) @@ -557,7 +432,6 @@ func (v *Dump) StmtUse(n *ast.StmtUse) { func (v *Dump) StmtGroupUse(n *ast.StmtGroupUse) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtGroupUse{\n") - v.printNode(n.GetNode()) v.printToken("UseTkn", n.UseTkn) v.printToken("LeadingNsSeparatorTkn", n.LeadingNsSeparatorTkn) v.printToken("NsSeparatorTkn", n.NsSeparatorTkn) @@ -569,7 +443,6 @@ func (v *Dump) StmtGroupUse(n *ast.StmtGroupUse) { func (v *Dump) StmtUseDeclaration(n *ast.StmtUseDeclaration) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtUseDeclaration{\n") - v.printNode(n.GetNode()) v.printToken("NsSeparatorTkn", n.NsSeparatorTkn) v.printToken("AsTkn", n.AsTkn) } @@ -577,7 +450,6 @@ func (v *Dump) StmtUseDeclaration(n *ast.StmtUseDeclaration) { func (v *Dump) StmtWhile(n *ast.StmtWhile) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.StmtWhile{\n") - v.printNode(n.GetNode()) if n.Alt { v.printIndent(v.indent) @@ -588,547 +460,456 @@ func (v *Dump) StmtWhile(n *ast.StmtWhile) { func (v *Dump) ExprArray(n *ast.ExprArray) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprArray{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprArrayDimFetch(n *ast.ExprArrayDimFetch) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprArrayDimFetch{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprArrayItem(n *ast.ExprArrayItem) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprArrayItem{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprArrowFunction(n *ast.ExprArrowFunction) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprArrowFunction{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBitwiseNot(n *ast.ExprBitwiseNot) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBitwiseNot{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBooleanNot(n *ast.ExprBooleanNot) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBooleanNot{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprClassConstFetch(n *ast.ExprClassConstFetch) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprClassConstFetch{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprClone(n *ast.ExprClone) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprClone{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprClosure(n *ast.ExprClosure) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprClosure{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprClosureUse(n *ast.ExprClosureUse) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprClosureUse{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprConstFetch(n *ast.ExprConstFetch) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprConstFetch{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprEmpty(n *ast.ExprEmpty) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprEmpty{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprErrorSuppress(n *ast.ExprErrorSuppress) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprErrorSuppress{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprEval(n *ast.ExprEval) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprEval{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprExit(n *ast.ExprExit) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprExit{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprFunctionCall(n *ast.ExprFunctionCall) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprFunctionCall{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprInclude(n *ast.ExprInclude) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprInclude{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprIncludeOnce(n *ast.ExprIncludeOnce) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprIncludeOnce{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprInstanceOf(n *ast.ExprInstanceOf) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprInstanceOf{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprIsset(n *ast.ExprIsset) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprIsset{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprList(n *ast.ExprList) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprList{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprMethodCall(n *ast.ExprMethodCall) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprMethodCall{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprNew(n *ast.ExprNew) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprNew{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprPostDec(n *ast.ExprPostDec) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprPostDec{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprPostInc(n *ast.ExprPostInc) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprPostInc{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprPreDec(n *ast.ExprPreDec) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprPreDec{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprPreInc(n *ast.ExprPreInc) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprPreInc{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprPrint(n *ast.ExprPrint) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprPrint{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprPropertyFetch(n *ast.ExprPropertyFetch) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprPropertyFetch{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprReference(n *ast.ExprReference) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprReference{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprRequire(n *ast.ExprRequire) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprRequire{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprRequireOnce(n *ast.ExprRequireOnce) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprRequireOnce{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprShellExec(n *ast.ExprShellExec) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprShellExec{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprStaticCall(n *ast.ExprStaticCall) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprStaticCall{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprStaticPropertyFetch(n *ast.ExprStaticPropertyFetch) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprStaticPropertyFetch{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprTernary(n *ast.ExprTernary) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprTernary{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprUnaryMinus(n *ast.ExprUnaryMinus) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprUnaryMinus{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprUnaryPlus(n *ast.ExprUnaryPlus) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprUnaryPlus{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprVariable(n *ast.ExprVariable) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprVariable{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprYield(n *ast.ExprYield) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprYield{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprYieldFrom(n *ast.ExprYieldFrom) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprYieldFrom{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprAssign(n *ast.ExprAssign) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprAssign{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprAssignReference(n *ast.ExprAssignReference) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprAssignReference{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprAssignBitwiseAnd(n *ast.ExprAssignBitwiseAnd) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprAssignBitwiseAnd{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprAssignBitwiseOr(n *ast.ExprAssignBitwiseOr) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprAssignBitwiseOr{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprAssignBitwiseXor(n *ast.ExprAssignBitwiseXor) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprAssignBitwiseXor{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprAssignCoalesce(n *ast.ExprAssignCoalesce) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprAssignCoalesce{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprAssignConcat(n *ast.ExprAssignConcat) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprAssignConcat{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprAssignDiv(n *ast.ExprAssignDiv) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprAssignDiv{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprAssignMinus(n *ast.ExprAssignMinus) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprAssignMinus{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprAssignMod(n *ast.ExprAssignMod) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprAssignMod{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprAssignMul(n *ast.ExprAssignMul) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprAssignMul{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprAssignPlus(n *ast.ExprAssignPlus) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprAssignPlus{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprAssignPow(n *ast.ExprAssignPow) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprAssignPow{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprAssignShiftLeft(n *ast.ExprAssignShiftLeft) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprAssignShiftLeft{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprAssignShiftRight(n *ast.ExprAssignShiftRight) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprAssignShiftRight{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryBitwiseAnd(n *ast.ExprBinaryBitwiseAnd) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryBitwiseAnd{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryBitwiseOr(n *ast.ExprBinaryBitwiseOr) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryBitwiseOr{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryBitwiseXor(n *ast.ExprBinaryBitwiseXor) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryBitwiseXor{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryBooleanAnd(n *ast.ExprBinaryBooleanAnd) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryBooleanAnd{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryBooleanOr(n *ast.ExprBinaryBooleanOr) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryBooleanOr{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryCoalesce(n *ast.ExprBinaryCoalesce) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryCoalesce{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryConcat(n *ast.ExprBinaryConcat) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryConcat{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryDiv(n *ast.ExprBinaryDiv) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryDiv{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryEqual(n *ast.ExprBinaryEqual) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryEqual{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryGreater(n *ast.ExprBinaryGreater) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryGreater{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryGreaterOrEqual(n *ast.ExprBinaryGreaterOrEqual) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryGreaterOrEqual{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryIdentical(n *ast.ExprBinaryIdentical) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryIdentical{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryLogicalAnd(n *ast.ExprBinaryLogicalAnd) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryLogicalAnd{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryLogicalOr(n *ast.ExprBinaryLogicalOr) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryLogicalOr{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryLogicalXor(n *ast.ExprBinaryLogicalXor) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryLogicalXor{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryMinus(n *ast.ExprBinaryMinus) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryMinus{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryMod(n *ast.ExprBinaryMod) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryMod{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryMul(n *ast.ExprBinaryMul) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryMul{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryNotEqual(n *ast.ExprBinaryNotEqual) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryNotEqual{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryNotIdentical(n *ast.ExprBinaryNotIdentical) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryNotIdentical{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryPlus(n *ast.ExprBinaryPlus) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryPlus{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryPow(n *ast.ExprBinaryPow) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryPow{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryShiftLeft(n *ast.ExprBinaryShiftLeft) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryShiftLeft{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinaryShiftRight(n *ast.ExprBinaryShiftRight) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinaryShiftRight{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinarySmaller(n *ast.ExprBinarySmaller) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinarySmaller{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinarySmallerOrEqual(n *ast.ExprBinarySmallerOrEqual) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinarySmallerOrEqual{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprBinarySpaceship(n *ast.ExprBinarySpaceship) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprBinarySpaceship{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprCastArray(n *ast.ExprCastArray) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprCastArray{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprCastBool(n *ast.ExprCastBool) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprCastBool{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprCastDouble(n *ast.ExprCastDouble) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprCastDouble{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprCastInt(n *ast.ExprCastInt) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprCastInt{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprCastObject(n *ast.ExprCastObject) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprCastObject{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprCastString(n *ast.ExprCastString) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprCastString{\n") - v.printNode(n.GetNode()) } func (v *Dump) ExprCastUnset(n *ast.ExprCastUnset) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ExprCastUnset{\n") - v.printNode(n.GetNode()) } func (v *Dump) ScalarDnumber(n *ast.ScalarDnumber) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ScalarDnumber{\n") - v.printNode(n.GetNode()) v.printIndent(v.indent) v.print(fmt.Sprintf("Value: []byte(%q),\n", n.Value)) @@ -1137,13 +918,11 @@ func (v *Dump) ScalarDnumber(n *ast.ScalarDnumber) { func (v *Dump) ScalarEncapsed(n *ast.ScalarEncapsed) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ScalarEncapsed{\n") - v.printNode(n.GetNode()) } func (v *Dump) ScalarEncapsedStringPart(n *ast.ScalarEncapsedStringPart) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ScalarEncapsedStringPart{\n") - v.printNode(n.GetNode()) v.printIndent(v.indent) v.print(fmt.Sprintf("Value: []byte(%q),\n", n.Value)) @@ -1152,13 +931,11 @@ func (v *Dump) ScalarEncapsedStringPart(n *ast.ScalarEncapsedStringPart) { func (v *Dump) ScalarHeredoc(n *ast.ScalarHeredoc) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ScalarHeredoc{\n") - v.printNode(n.GetNode()) } func (v *Dump) ScalarLnumber(n *ast.ScalarLnumber) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ScalarLnumber{\n") - v.printNode(n.GetNode()) v.printIndent(v.indent) v.print(fmt.Sprintf("Value: []byte(%q),\n", n.Value)) @@ -1167,7 +944,6 @@ func (v *Dump) ScalarLnumber(n *ast.ScalarLnumber) { func (v *Dump) ScalarMagicConstant(n *ast.ScalarMagicConstant) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ScalarMagicConstant{\n") - v.printNode(n.GetNode()) v.printIndent(v.indent) v.print(fmt.Sprintf("Value: []byte(%q),\n", n.Value)) @@ -1176,7 +952,6 @@ func (v *Dump) ScalarMagicConstant(n *ast.ScalarMagicConstant) { func (v *Dump) ScalarString(n *ast.ScalarString) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ScalarString{\n") - v.printNode(n.GetNode()) v.printIndent(v.indent) v.print(fmt.Sprintf("Value: []byte(%q),\n", n.Value)) @@ -1185,25 +960,21 @@ func (v *Dump) ScalarString(n *ast.ScalarString) { func (v *Dump) NameName(n *ast.NameName) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.NameName{\n") - v.printNode(n.GetNode()) } func (v *Dump) NameFullyQualified(n *ast.NameFullyQualified) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.NameFullyQualified{\n") - v.printNode(n.GetNode()) } func (v *Dump) NameRelative(n *ast.NameRelative) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.NameRelative{\n") - v.printNode(n.GetNode()) } func (v *Dump) NameNamePart(n *ast.NameNamePart) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.NameNamePart{\n") - v.printNode(n.GetNode()) v.printIndent(v.indent) v.print(fmt.Sprintf("Value: []byte(%q),\n", n.Value)) @@ -1212,7 +983,6 @@ func (v *Dump) NameNamePart(n *ast.NameNamePart) { func (v *Dump) ParserBrackets(n *ast.ParserBrackets) { v.printIndentIfNotSingle(v.indent - 1) v.print("&ast.ParserBrackets{\n") - v.printNode(n.GetNode()) } func (v *Dump) ParserSeparatedList(n *ast.ParserSeparatedList) { diff --git a/pkg/ast/visitor/dump_test.go b/pkg/ast/visitor/dump_test.go index 0ccdc27..3bcdad0 100644 --- a/pkg/ast/visitor/dump_test.go +++ b/pkg/ast/visitor/dump_test.go @@ -20,12 +20,6 @@ func ExampleDump() { }, }, }, - Position: &position.Position{ - StartLine: 1, - EndLine: 1, - StartPos: 0, - EndPos: 1, - }, }, Stmts: []ast.Vertex{ &ast.Identifier{}, diff --git a/pkg/token/position.go b/pkg/token/position.go deleted file mode 100644 index cd76285..0000000 --- a/pkg/token/position.go +++ /dev/null @@ -1,74 +0,0 @@ -package token - -type Position int - -//go:generate stringer -type=Position -output ./position_string.go -const ( - Start Position = iota - End - SemiColon - AltEnd - Ampersand - Name - Key - Var - ReturnType - CaseSeparator - LexicalVars - Params - Ref - Cast - Expr - InitExpr - CondExpr - IncExpr - True - Cond - - Namespace - Static - Use - For - Foreach - Declare - Label - Finally - List - Default - Function - Alias - Equal - Array - Isset - Echo - Try - Catch - Unset - - Stmts - VarList - ConstList - NameList - ParamList - ModifierList - ArrayPairList - CaseListStart - CaseListEnd - PropertyList - ParameterList - AdaptationList - LexicalVarList - - CloseParenthesisToken -) - -type Collection map[Position][]*Token - -func (c Collection) IsEmpty() bool { - for _, v := range c { - if len(v) > 0 { - return false - } - } - return true -} diff --git a/pkg/token/position_string.go b/pkg/token/position_string.go deleted file mode 100644 index ac7c7b5..0000000 --- a/pkg/token/position_string.go +++ /dev/null @@ -1,75 +0,0 @@ -// Code generated by "stringer -type=Position -output ./position_string.go"; DO NOT EDIT. - -package token - -import "strconv" - -func _() { - // An "invalid array index" compiler error signifies that the constant values have changed. - // Re-run the stringer command to generate them again. - var x [1]struct{} - _ = x[Start-0] - _ = x[End-1] - _ = x[SemiColon-2] - _ = x[AltEnd-3] - _ = x[Ampersand-4] - _ = x[Name-5] - _ = x[Key-6] - _ = x[Var-7] - _ = x[ReturnType-8] - _ = x[CaseSeparator-9] - _ = x[LexicalVars-10] - _ = x[Params-11] - _ = x[Ref-12] - _ = x[Cast-13] - _ = x[Expr-14] - _ = x[InitExpr-15] - _ = x[CondExpr-16] - _ = x[IncExpr-17] - _ = x[True-18] - _ = x[Cond-19] - _ = x[Namespace-20] - _ = x[Static-21] - _ = x[Use-22] - _ = x[For-23] - _ = x[Foreach-24] - _ = x[Declare-25] - _ = x[Label-26] - _ = x[Finally-27] - _ = x[List-28] - _ = x[Default-29] - _ = x[Function-30] - _ = x[Alias-31] - _ = x[Equal-32] - _ = x[Array-33] - _ = x[Isset-34] - _ = x[Echo-35] - _ = x[Try-36] - _ = x[Catch-37] - _ = x[Unset-38] - _ = x[Stmts-39] - _ = x[VarList-40] - _ = x[ConstList-41] - _ = x[NameList-42] - _ = x[ParamList-43] - _ = x[ModifierList-44] - _ = x[ArrayPairList-45] - _ = x[CaseListStart-46] - _ = x[CaseListEnd-47] - _ = x[PropertyList-48] - _ = x[ParameterList-49] - _ = x[AdaptationList-50] - _ = x[LexicalVarList-51] - _ = x[CloseParenthesisToken-52] -} - -const _Position_name = "StartEndSemiColonAltEndAmpersandNameKeyVarReturnTypeCaseSeparatorLexicalVarsParamsRefCastExprInitExprCondExprIncExprTrueCondNamespaceStaticUseForForeachDeclareLabelFinallyListDefaultFunctionAliasEqualArrayIssetEchoTryCatchUnsetStmtsVarListConstListNameListParamListModifierListArrayPairListCaseListStartCaseListEndPropertyListParameterListAdaptationListLexicalVarListCloseParenthesisToken" - -var _Position_index = [...]uint16{0, 5, 8, 17, 23, 32, 36, 39, 42, 52, 65, 76, 82, 85, 89, 93, 101, 109, 116, 120, 124, 133, 139, 142, 145, 152, 159, 164, 171, 175, 182, 190, 195, 200, 205, 210, 214, 217, 222, 227, 232, 239, 248, 256, 265, 277, 290, 303, 314, 326, 339, 353, 367, 388} - -func (i Position) String() string { - if i < 0 || i >= Position(len(_Position_index)-1) { - return "Position(" + strconv.FormatInt(int64(i), 10) + ")" - } - return _Position_name[_Position_index[i]:_Position_index[i+1]] -}